diff --git a/.github/ISSUE_TEMPLATE/i-have-a-question.md b/.github/ISSUE_TEMPLATE/i-have-a-question.md new file mode 100644 index 000000000..712997630 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/i-have-a-question.md @@ -0,0 +1,10 @@ +--- +name: I have a question +about: I have a question and don't see a clear answer in documentation +title: How do I ... +labels: Question +assignees: '' + +--- + +When asking a question please also include where you looked for an answer (so we can update the documentation if needed). diff --git a/.github/ISSUE_TEMPLATE/other-type-of-bug-report.md b/.github/ISSUE_TEMPLATE/other-type-of-bug-report.md new file mode 100644 index 000000000..85c296745 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/other-type-of-bug-report.md @@ -0,0 +1,31 @@ +--- +name: Other type of bug report +about: Let us know about an issues that does not fit into any of the other issues + types +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Environment** +- OS: [e.g. Windows/Linux etc...] +- Compiler: revision + +**To Reproduce** +Steps to reproduce the behavior: +1. ./vcpkg install xxxx +2. See error +Repro code when + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Failure logs** +-(please attached failure logs) + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/report-package-build-failure.md b/.github/ISSUE_TEMPLATE/report-package-build-failure.md new file mode 100644 index 000000000..e42ff43f8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/report-package-build-failure.md @@ -0,0 +1,23 @@ +--- +name: Report package build failure +about: Let us know about build failures in ports. +title: "[] build failure" +labels: port bug +assignees: '' + +--- + +**Host Environment** +- OS: [e.g. Windows/Linux etc...] +- Compiler: revision + +**To Reproduce** +Steps to reproduce the behavior: +`./vcpkg install xxxx` + +**Failure logs** +-Cut and past the appropriate build messages from the console output. +-Please attach any additional failure logs mentioned in the console output. + +**Additional context** +Add any other context about the problem here, such as what you have already tried to resolve the issue. diff --git a/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement-to-a-port.md b/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement-to-a-port.md new file mode 100644 index 000000000..a40036f95 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement-to-a-port.md @@ -0,0 +1,22 @@ +--- +name: Request a feature or improvement to a port +about: Suggest an improvement to one the the ports/libraries in vcpkg +title: "[] " +labels: port feature +assignees: '' + +--- + +**** + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Proposed solution** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered if applicable. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement.md b/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement.md new file mode 100644 index 000000000..55d06b16a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/request-a-feature-or-improvement.md @@ -0,0 +1,22 @@ +--- +name: Request a feature or improvement +about: Suggest an improvement to vcpkg +title: '' +labels: vcpkg feature +assignees: '' + +--- + +**** + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Proposed solution** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/request-a-new-port.md b/.github/ISSUE_TEMPLATE/request-a-new-port.md new file mode 100644 index 000000000..65c9bf01c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/request-a-new-port.md @@ -0,0 +1,18 @@ +--- +name: Request a new port +about: Request a new port/library that vcpkg should support +title: "[New Port Request] " +labels: new port request - consider making a PR! +assignees: '' + +--- + +Library name: + +Library description: + +Source repository URL: + +Project homepage (if different from the source repository): + +Anything else that is useful to know when adding (such as optional features the library may have that should be included): diff --git a/.github/ISSUE_TEMPLATE/request-an-update-to-an-existing-port.md b/.github/ISSUE_TEMPLATE/request-an-update-to-an-existing-port.md new file mode 100644 index 000000000..f1689b097 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/request-an-update-to-an-existing-port.md @@ -0,0 +1,14 @@ +--- +name: Request an update to an existing port +about: Let us know about a new version of a library we should pick up. +title: "[] update to " +labels: port feature +assignees: '' + +--- + +Library name: + +New version number: + +Other information that may be useful (release notes, etc...) diff --git a/.gitignore b/.gitignore index f38bc90a9..dbc801901 100644 --- a/.gitignore +++ b/.gitignore @@ -11,7 +11,7 @@ *.userosscache *.sln.docstates -toolsrc/out +toolsrc/out* toolsrc/CMakeSettings.json # User-specific files (MonoDevelop/Xamarin Studio) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed5dbbe5a..0c2cba9eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,4218 @@ +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 + +
+The following 24 ports have been added: + +|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 +
+ +
+The following 151 ports have been updated: + +- 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 + +
+ +-- vcpkg team vcpkg@microsoft.com FRI, 01 Nov 08:30:00 -0800 + +vcpkg (2019.09.30) +--- +#### Total port count: 1225 +#### Total port count per triplet (tested): +|triplet|ports available| +|---|---| +|**x64-windows**|1151| +|x86-windows|1136| +|x64-windows-static|1061| +|**x64-linux**|980| +|**x64-osx**|939| +|arm64-windows|766| +|x64-uwp|624| +|arm-uwp|594| + +#### The following commands and options have been updated: +- `x-history` ***[NEW COMMAND]*** + - Shows the full history of CONTROL version of a port, including the vcpkg commit hash, CONTROL version, and date of vcpkg commit + - [(#7377)](https://github.com/microsoft/vcpkg/pull/7377) [x-history] Prints CONTROL version history of a port 👻 + - [(#8101)](https://github.com/microsoft/vcpkg/pull/8101) fix x-history help desc. +- `depend-info` + - Constrain argument count to single port name as usage intends + - [(#8135)](https://github.com/microsoft/vcpkg/pull/8135) [vcpkg] Fix `depend-info` command arguments arity + +#### The following documentation has been updated: +- [Frequently Asked Questions](docs/about/faq.md) + - [(#8258)](https://github.com/microsoft/vcpkg/pull/8258) Add detailed instructions for custom configurations +- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) + - [(#8383)](https://github.com/microsoft/vcpkg/pull/8383) Fix a typo in maintainer-guide.md + +#### The following *remarkable* changes have been made to vcpkg's infrastructure: +- Add port features to CI test result XML as the first step in testing them in CI system + - [(#8342)](https://github.com/microsoft/vcpkg/pull/8342) [CI system] Add features to test result xml + +#### The following *additional* changes have been made to vcpkg's infrastructure: +- [(#8048)](https://github.com/microsoft/vcpkg/pull/8048) Add August changelog +- [(#8082)](https://github.com/microsoft/vcpkg/pull/8082) [vcpkg] remove text from license +- [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 +- [(#7954)](https://github.com/microsoft/vcpkg/pull/7954) Fix bug in `.vcpkg-root` detection that breaks `--overlay-triplets` +- [(#8131)](https://github.com/microsoft/vcpkg/pull/8131) [vcpkg] add missing implib definitions, fix shared lib extension on mac +- [(#8129)](https://github.com/microsoft/vcpkg/pull/8129) [vcpkg] Continue on malformed paths in PATH +- [(#8200)](https://github.com/microsoft/vcpkg/pull/8200) [vcpkg] Fix missing VCPKG_ROOT_PATH in create command +- [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats +- [(#5180)](https://github.com/microsoft/vcpkg/pull/5180) Use CMAKE_TRY_COMPILE_PLATFORM_VARIABLES to propagate values +- [(#8032)](https://github.com/microsoft/vcpkg/pull/8032) [vcpkg] Avoid RENAME usage to prevent cross-device link problems (#4245) +- [(#8304)](https://github.com/microsoft/vcpkg/pull/8304) [ports.cmake] Fixup capitalization inconsistencies of Windows drive letter + +
+The following 55 ports have been added: + +|port|version| +|---|---| +|[dmlc](https://github.com/microsoft/vcpkg/pull/7549)| 2019-08-12 +|[anyrpc](https://github.com/microsoft/vcpkg/pull/7438)| 2017-12-01 +|[imgui-sfml](https://github.com/microsoft/vcpkg/pull/7429)[#8004](https://github.com/microsoft/vcpkg/pull/8004) | 2.1 +|[ignition-cmake0](https://github.com/microsoft/vcpkg/pull/7781)[#8044](https://github.com/microsoft/vcpkg/pull/8044) [#8136](https://github.com/microsoft/vcpkg/pull/8136) | 0.6.2-1 +|[ignition-math4](https://github.com/microsoft/vcpkg/pull/7781)| 4.0.0 +|[ignition-modularscripts](https://github.com/microsoft/vcpkg/pull/7781)[#8136](https://github.com/microsoft/vcpkg/pull/8136) | 2019-09-11 +|[volk](https://github.com/microsoft/vcpkg/pull/8035)[#8364](https://github.com/microsoft/vcpkg/pull/8364) | 2019-09-26 +|[cppkafka](https://github.com/microsoft/vcpkg/pull/7987)[#8073](https://github.com/microsoft/vcpkg/pull/8073) | 0.3.1-1 +|[nativefiledialog](https://github.com/microsoft/vcpkg/pull/7944)| 2019-08-28 +|[cello](https://github.com/microsoft/vcpkg/pull/7386)| 2019-07-23 +|[libhydrogen](https://github.com/microsoft/vcpkg/pull/7436)| 2019-08-11 +|[quantlib](https://github.com/microsoft/vcpkg/pull/7283)| 2019-09-02 +|[magic-get](https://github.com/microsoft/vcpkg/pull/8072)| 2019-09-02 +|[cityhash](https://github.com/microsoft/vcpkg/pull/7879)| 2013-01-08 +|[ignition-common1](https://github.com/microsoft/vcpkg/pull/8111)| 1.1.1 +|[wampcc](https://github.com/microsoft/vcpkg/pull/7929)| 2019-09-04 +|[hidapi](https://github.com/microsoft/vcpkg/pull/8113)| 2019-08-30 +|[sokol](https://github.com/microsoft/vcpkg/pull/8107)| 2019-09-09 +|[parallelstl](https://github.com/microsoft/vcpkg/pull/8039)| 20190522-1 +|[marl](https://github.com/microsoft/vcpkg/pull/8132)[#8161](https://github.com/microsoft/vcpkg/pull/8161) | 2019-09-13 +|[vectorclass](https://github.com/microsoft/vcpkg/pull/7573)| 2.00.01 +|[wren](https://github.com/microsoft/vcpkg/pull/7242)| 2019-07-01 +|[libsrtp](https://github.com/microsoft/vcpkg/pull/8046)| 2.2.0 +|[ignition-msgs1](https://github.com/microsoft/vcpkg/pull/8044)| 1.0.0 +|[ignition-transport4](https://github.com/microsoft/vcpkg/pull/8044)| 4.0.0 +|[argtable3](https://github.com/microsoft/vcpkg/pull/7815)| 2019-08-21 +|[llgl](https://github.com/microsoft/vcpkg/pull/7701)| 2019-08-15 +|[sdformat6](https://github.com/microsoft/vcpkg/pull/8137)| 6.2.0 +|[grppi](https://github.com/microsoft/vcpkg/pull/8125)| 0.4.0 +|[opencolorio](https://github.com/microsoft/vcpkg/pull/8006)| 1.1.1 +|[cpputest](https://github.com/microsoft/vcpkg/pull/8188)| 2019-9-16 +|[winreg](https://github.com/microsoft/vcpkg/pull/8190)[#8371](https://github.com/microsoft/vcpkg/pull/8371) | 1.2.1-1 +|[zfp](https://github.com/microsoft/vcpkg/pull/7955)| 0.5.5-1 +|[libyuv](https://github.com/microsoft/vcpkg/pull/7486)| fec9121 +|[foonathan-memory](https://github.com/microsoft/vcpkg/pull/7350)[#8266](https://github.com/microsoft/vcpkg/pull/8266) | 2019-07-21-1 +|[jinja2cpplight](https://github.com/microsoft/vcpkg/pull/8207)| 2018-05-08 +|[liblbfgs](https://github.com/microsoft/vcpkg/pull/8186)| 1.10 +|[sigslot](https://github.com/microsoft/vcpkg/pull/8262)| 1.0.0 +|[cute-headers](https://github.com/microsoft/vcpkg/pull/8277)| 2019-09-20 +|[libsoundio](https://github.com/microsoft/vcpkg/pull/8273)| 2.0.0 +|[matplotlib-cpp](https://github.com/microsoft/vcpkg/pull/8313)| 2019-09-24 +|[asynch](https://github.com/microsoft/vcpkg/pull/8317)[#8371](https://github.com/microsoft/vcpkg/pull/8371) | 2019-09-21-1 +|[minimp3](https://github.com/microsoft/vcpkg/pull/8319)[#8371](https://github.com/microsoft/vcpkg/pull/8371) | 2019-07-24-1 +|[crfsuite](https://github.com/microsoft/vcpkg/pull/8233)| 2019-07-21 +|[cudnn](https://github.com/microsoft/vcpkg/pull/7536)| 7.6 +|[libosip2](https://github.com/microsoft/vcpkg/pull/8261)| 5.1.0 +|[portable-snippets](https://github.com/microsoft/vcpkg/pull/7783)| 2019-09-20 +|[ignition-fuel-tools1](https://github.com/microsoft/vcpkg/pull/8136)| 1.2.0 +|[clickhouse-cpp](https://github.com/microsoft/vcpkg/pull/7880)| 2019-05-22 +|[tweeny](https://github.com/microsoft/vcpkg/pull/8341)| 3.0 +|[nanogui](https://github.com/microsoft/vcpkg/pull/8302)| 2019-09-23 +|[wepoll](https://github.com/microsoft/vcpkg/pull/8280)| 1.5.5 +|[tcl](https://github.com/microsoft/vcpkg/pull/8026)| 8.6.5 +|[cpuinfo](https://github.com/microsoft/vcpkg/pull/7449)| 2019-07-28 +|[mathc](https://github.com/microsoft/vcpkg/pull/8394)| 2019-09-29 +
+ +
+The following 220 ports have been updated: + +- breakpad `2019-07-11` -> `2019-07-11-1` + - [(#7938)](https://github.com/microsoft/vcpkg/pull/7938) [breakpad] Fix build failed with Visual Studio 2019 + +- gtest `2019-08-14-1` -> `2019-08-14-2` + - [(#7887)](https://github.com/microsoft/vcpkg/pull/7887) [gtest]Re-fix gmock target. + +- libxslt `1.1.33` -> `1.1.33-2` + - [(#7451)](https://github.com/microsoft/vcpkg/pull/7451) [libxslt]Fix dependent ports in static builds. + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- pcre2 `10.30-4` -> `10.30-5` + - [(#7948)](https://github.com/microsoft/vcpkg/pull/7948) Fix build with Emscripten/WASM + +- entt `3.0.0-1` -> `3.1.1` + - [(#7984)](https://github.com/microsoft/vcpkg/pull/7984) [entt] Update to 3.1.0 + - [(#8098)](https://github.com/microsoft/vcpkg/pull/8098) [entt] Update to 3.1.1 + +- raylib `2019-04-27-2` -> `2.5.0` + - [(#7848)](https://github.com/microsoft/vcpkg/pull/7848) [raylib] update to 2.5.0 + +- jsoncons `0.132.1` -> `0.136.0` + - [(#8034)](https://github.com/microsoft/vcpkg/pull/8034) [jsoncons] Update to version 0.133.0 + - [(#8221)](https://github.com/microsoft/vcpkg/pull/8221) [jsoncons] Update to v0.134.0 + - [(#8348)](https://github.com/microsoft/vcpkg/pull/8348) [jsoncons] Update jsoncons to v0.135.0 + - [(#8382)](https://github.com/microsoft/vcpkg/pull/8382) [jsoncons] Update jsoncons to v0.136.0 + +- exiv2 `0.27.1-1` -> `0.27.2-1` + - [(#7992)](https://github.com/microsoft/vcpkg/pull/7992) [exiv2] Update library to 0.27.2 + +- gettext `0.19-10` -> `0.19-11` + - [(#7990)](https://github.com/microsoft/vcpkg/pull/7990) [gettext]Improve gettext on Linux. + +- wtl `10.0-2` -> `10.0-3` + - [(#8005)](https://github.com/microsoft/vcpkg/pull/8005) Update WTL to 10.0.9163. + +- aixlog `1.2.1` -> `1.2.1-1` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- chaiscript `6.1.0` -> `6.1.0-1` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- dlfcn-win32 `1.1.1-2` -> `1.1.1-3` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- enet `1.3.13` -> `1.3.13-1` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- fltk `1.3.4-6` -> `1.3.4-7` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- fmi4cpp `0.7.0-1` -> `0.7.0-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- fmilib `2.0.3-1` -> `2.0.3-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- freetds `1.1.6` -> `1.1.6-1` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- gainput `1.0.0-1` -> `1.0.0-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- geographiclib `1.47-patch1-7` -> `1.47-patch1-9` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + - [(#8115)](https://github.com/microsoft/vcpkg/pull/8115) [geographiclib]Fix usage error and cmake path in Linux. + +- glog `0.4.0-1` -> `0.4.0-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- irrlicht `1.8.4-1` -> `1.8.4-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- libmikmod `3.3.11.1-4` -> `3.3.11.1-5` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- libodb-mysql `2.4.0-3` -> `2.4.0-4` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- libodb-sqlite `2.4.0-4` -> `2.4.0-5` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- libodb `2.4.0-5` -> `2.4.0-6` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- libsquish `1.15-1` -> `1.15-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- lzo `2.10-2` -> `2.10-3` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- nanovg `master` -> `2019-8-30-1` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + - [(#8302)](https://github.com/microsoft/vcpkg/pull/8302) [nanogui] Add new port + +- ode `0.15.1-1` -> `0.15.1-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- opencsg `1.4.2` -> `1.4.2-1` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- orocos-kdl `1.4-1` -> `1.4-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- pangomm `2.40.1` -> `2.40.1-1` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- pcre `8.41-2` -> `8.41-3` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- qt5-gamepad `5.12.3-1` -> `5.12.5-1` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- wavpack `5.1.0-00d9a4a-1` -> `5.1.0-2` + - [(#7986)](https://github.com/microsoft/vcpkg/pull/7986) modernize many ports + +- tensorflow-cc `1.14` -> `1.14-1` + - [(#8023)](https://github.com/microsoft/vcpkg/pull/8023) [tensorflow-cc]Fix build error and add warning message. + +- glew `2.1.0-5` -> `2.1.0-6` + - [(#7967)](https://github.com/microsoft/vcpkg/pull/7967) [VTK/GLEW] Fix Regression of VTK with newer CMake Versions + +- libpq `9.6.1-7` -> `9.6.1-8` + - [(#8076)](https://github.com/microsoft/vcpkg/pull/8076) libpq requires HAVE_CRYPTO_LOCK for thread safety with openssl <1.1.0 + - [(#8080)](https://github.com/microsoft/vcpkg/pull/8080) [libpq] #undef int128 type if compiling for 32 bit architecture + - [(#8090)](https://github.com/microsoft/vcpkg/pull/8090) [libpq] Bump version number + +- sobjectizer `5.6.0.2` -> `5.6.1` + - [(#8052)](https://github.com/microsoft/vcpkg/pull/8052) [sobjectizer] updated to 5.6.1 + +- unrar `5.5.8-2` -> `5.8.1` + - [(#8053)](https://github.com/microsoft/vcpkg/pull/8053) [unrar] Don't use a custom struct member alignment + - [(#8108)](https://github.com/microsoft/vcpkg/pull/8108) [unrar] Update to 5.8.1 + +- xalan-c `1.11-7` -> `1.11-8` + - [(#7795)](https://github.com/microsoft/vcpkg/pull/7795) [xalan-c] fixed cmake files location + +- re2 `2019-08-01` -> `2019-09-01` + - [(#8089)](https://github.com/microsoft/vcpkg/pull/8089) [re2] Update library to 2019-09-01 + +- libvpx `1.7.0-3` -> `1.8.1` + - [(#8086)](https://github.com/microsoft/vcpkg/pull/8086) [libvpx] Update to 1.8.1. + - [(#8100)](https://github.com/microsoft/vcpkg/pull/8100) [libvpx] Fix build when VCPKG_BUILD_TYPE is set. + +- grpc `1.22.0` -> `1.23.0` + - [(#8109)](https://github.com/microsoft/vcpkg/pull/8109) [grpc] Update grpc to 1.23.0 + +- egl-registry `2018-06-30-1` -> `2019-08-08` + - [(#8095)](https://github.com/microsoft/vcpkg/pull/8095) Update egl-registry to 2019-08-08 and opengl-registry to 2019-08-22. + +- opengl-registry `2018-06-30-1` -> `2019-08-22` + - [(#8095)](https://github.com/microsoft/vcpkg/pull/8095) Update egl-registry to 2019-08-08 and opengl-registry to 2019-08-22. + +- dimcli `5.0.0` -> `5.0.1` + - [(#8024)](https://github.com/microsoft/vcpkg/pull/8024) [dimcli] Upgrade to version 5.0.1 + +- libwebsockets `3.1.0-3` -> `3.2.0` + - [(#8017)](https://github.com/microsoft/vcpkg/pull/8017) Update libwebsockets to v3.2.0 + +- mongo-c-driver `1.14.0-3-1` -> `1.14.0-4` + - [(#7974)](https://github.com/microsoft/vcpkg/pull/7974) [mongo-c-driver] fix debug linkage under linux + +- qwt `6.1.3-7` -> `6.1.3-8` + - [(#8030)](https://github.com/microsoft/vcpkg/pull/8030) [qwt]make qwt support unix + +- ixwebsocket `5.0.4` -> `6.1.0` + - [(#7839)](https://github.com/microsoft/vcpkg/pull/7839) [ixwebsocket] update to 6.1.0 to fix Windows problem + +- cpp-httplib `0.2.1` -> `0.2.4` + - [(#8054)](https://github.com/microsoft/vcpkg/pull/8054) [cpp-httplib] Update library to 0.2.2 + - [(#8172)](https://github.com/microsoft/vcpkg/pull/8172) [cpp-httplib] Update library to 0.2.4 + +- blend2d `beta_2019-07-16` -> `beta_2019-10-09` + - [(#8120)](https://github.com/microsoft/vcpkg/pull/8120) [blend2d] Port update beta_2019-10-09 + +- json-c `2019-05-31` -> `2019-09-10` + - [(#8121)](https://github.com/microsoft/vcpkg/pull/8121) [json-c] Add dynamic library support + +- glfw3 `3.3-1` -> `3.3-2` + - [(#7592)](https://github.com/microsoft/vcpkg/pull/7592) [glfw3] fix cmake config + +- google-cloud-cpp `0.12.0` -> `0.13.0` + - [(#8077)](https://github.com/microsoft/vcpkg/pull/8077) Update google-cloud-cpp and googleapis. + +- googleapis `0.1.3` -> `0.1.5` + - [(#8077)](https://github.com/microsoft/vcpkg/pull/8077) Update google-cloud-cpp and googleapis. + +- tbb `2019_U8` -> `2019_U8-1` + - [(#8018)](https://github.com/microsoft/vcpkg/pull/8018) [tbb]Fix static build. + +- openxr-loader `1.0.0-2` -> `2019-09-25` + - [(#8123)](https://github.com/microsoft/vcpkg/pull/8123) [openxr-loader] Update to 1.0.2 + - [(#8255)](https://github.com/microsoft/vcpkg/pull/8255) [openxr-loader] Add openxr C++ bindings + +- sdl1 `1.2.15-6` -> `1.2.15-8` + - [(#8070)](https://github.com/microsoft/vcpkg/pull/8070) [sdl1]Support linux build. + - [(#8327)](https://github.com/microsoft/vcpkg/pull/8327) [sdl1] fix windows sdk 18362 build failure + +- glslang `2019-03-05` -> `2019-03-05-1` + - [(#8051)](https://github.com/microsoft/vcpkg/pull/8051) [glslang]Fix generated cmake files. + +- opencl `2.2 (2017.07.18)-1` -> `2.2 (2018.08.31)` + - [(#4204)](https://github.com/microsoft/vcpkg/pull/4204) Linux support for the OpenCL SDK package + +- libspatialite `4.3.0a-3` -> `4.3.0a-4` + - [(#8025)](https://github.com/microsoft/vcpkg/pull/8025) [libspatialite]make libspatialite support linux and osx + +- libqrencode `4.0.2` -> `4.0.2-1` + - [(#8099)](https://github.com/microsoft/vcpkg/pull/8099) [libqrencode] Add tool feature; Remove unnecessary patch + +- sdl2-mixer `2.0.4-3` -> `2.0.4-6` + - [(#7720)](https://github.com/microsoft/vcpkg/pull/7720) [sdl2-mixer]Remove useless dependency link libraries. + - [(#8208)](https://github.com/microsoft/vcpkg/pull/8208) [sdl2-mixer] Fix features dependency link. + - [(#8335)](https://github.com/microsoft/vcpkg/pull/8335) [sdl2-mixer]Re-fix dynamic call. + +- evpp `0.7.0` -> `0.7.0-1` + - [(#8050)](https://github.com/microsoft/vcpkg/pull/8050) [evpp]Fix linux build. + +- libogg `1.3.3-4` -> `1.3.4` + - [(#8094)](https://github.com/microsoft/vcpkg/pull/8094) [libogg] Update to 1.3.4-1 + +- otl `4.0.442` -> `4.0.443` + - [(#8139)](https://github.com/microsoft/vcpkg/pull/8139) [otl] fix hash and update version + +- speexdsp `1.2rc3-3` -> `1.2.0` + - [(#8140)](https://github.com/microsoft/vcpkg/pull/8140) [speexdsp] update to 1.2.0 + +- pcl `1.9.1-8` -> `1.9.1-9` + - [(#8154)](https://github.com/microsoft/vcpkg/pull/8154) [pcl] Fix problem with link-type keywords in linked libraries + +- libqglviewer `2.7.0` -> `2.7.0-2` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-3d `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-activeqt `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-base `5.12.3-4` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + - [(#8212)](https://github.com/microsoft/vcpkg/pull/8212) [Qt] feature latest to build 5.13.1 + +- qt5-charts `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-connectivity `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-datavis3d `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-declarative `5.12.3-2` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-graphicaleffects `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-imageformats `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-location `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-macextras `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-modularscripts `2019-04-30-1` -> `deprecated` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + +- qt5-mqtt `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-multimedia `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-networkauth `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-purchasing `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-quickcontrols `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-quickcontrols2 `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-remoteobjects `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-script `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-scxml `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-sensors `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-serialport `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-speech `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-svg `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + +- qt5-tools `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-virtualkeyboard `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-webchannel `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-websockets `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-webview `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-winextras `5.12.3-1` -> `5.12.5-1` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5-xmlpatterns `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8222)](https://github.com/microsoft/vcpkg/pull/8222) [Qt] Fix static builds of qt5-imageformats + +- qt5 `5.12.3-1` -> `5.12.5` + - [(#7667)](https://github.com/microsoft/vcpkg/pull/7667) [Qt] Update to 5.12.4 + - [(#8159)](https://github.com/microsoft/vcpkg/pull/8159) [Qt] update to 5.12.5 + - [(#8212)](https://github.com/microsoft/vcpkg/pull/8212) [Qt] feature latest to build 5.13.1 + +- mathgl `2.4.3-1` -> `2.4.3-2` + - [(#8145)](https://github.com/microsoft/vcpkg/pull/8145) [mathgl]Fix build failure on x86-windows. + +- libpng `1.6.37-3` -> `1.6.37-4` + - [(#8079)](https://github.com/microsoft/vcpkg/pull/8079) [libpng] Replace find_library() with a simple set() for linking libm on UNIX + +- chakracore `1.11.12` -> `1.11.13` + - [(#8171)](https://github.com/microsoft/vcpkg/pull/8171) [chakracore] Update library to 1.11.13 + +- fastcdr `1.0.10` -> `1.0.11` + - [(#8173)](https://github.com/microsoft/vcpkg/pull/8173) [fastcdr] Update library to 1.0.11 + +- yara `e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-2` -> `3.10.0` + - [(#8194)](https://github.com/microsoft/vcpkg/pull/8194) [yara] Update to 3.10.0 + +- rabit `0.1` -> `0.1-2` + - [(#8042)](https://github.com/microsoft/vcpkg/pull/8042) [rabit] Fix file conflict with dmlc + - [(#8206)](https://github.com/microsoft/vcpkg/pull/8206) [rabit] Fix cmake files path + +- gdcm `3.0.0-4` -> `3.0.0-5` + - [(#7852)](https://github.com/microsoft/vcpkg/pull/7852) [gdcm] Fix file UseGDCM.cmake path name + +- libyaml `0.2.2-1` -> `0.2.2-2` + - [(#8177)](https://github.com/microsoft/vcpkg/pull/8177) Fix libyaml CMake package and CMake targets + +- clapack `3.2.1-10` -> `3.2.1-12` + - [(#8191)](https://github.com/microsoft/vcpkg/pull/8191) [clapack] Fix clapack-targets.cmake path in clpack-config.cmake + - [(#8388)](https://github.com/microsoft/vcpkg/pull/8388) [clapack] fix clapack install + +- embree3 `3.5.2-1` -> `3.5.2-2` + - [(#8192)](https://github.com/microsoft/vcpkg/pull/8192) [embree3]Fix static build and cmake path. + +- llvm `8.0.0` -> `8.0.0-2` + - [(#7919)](https://github.com/microsoft/vcpkg/pull/7919) [llvm]Fix build error on Linux: cannot find -lxml2. + - [(#8102)](https://github.com/microsoft/vcpkg/pull/8102) [halide]Upgrade to release_2019_08_27. + +- vtk `8.2.0-5` -> `8.2.0-8` + - [(#7933)](https://github.com/microsoft/vcpkg/pull/7933) [VTK] VTK links with release version of LMZA in debug build instead of debu… + - [(#8345)](https://github.com/microsoft/vcpkg/pull/8345) [vtk] Fix vtk[python] build failure + - [(#8403)](https://github.com/microsoft/vcpkg/pull/8403) [vtk] fix typo in lzma and lz4 patch + +- dcmtk `3.6.4-1` -> `3.6.4-2` + - [(#8202)](https://github.com/microsoft/vcpkg/pull/8202) [dcmtk] Fix build error on Linux + +- openimageio `2019-08-08-2` -> `2019-08-08-4` + - [(#8210)](https://github.com/microsoft/vcpkg/pull/8210) [openimageio] Add opencolorio as feature + - [(#8230)](https://github.com/microsoft/vcpkg/pull/8230) [openimageio]Re-fix find openexr issue. + - [(#8379)](https://github.com/microsoft/vcpkg/pull/8379) [alembic,geogram,openimageio]: openexr and libraw debug linkage, minor fix for geogram + +- cli `1.1-1` -> `1.1.1` + - [(#8209)](https://github.com/microsoft/vcpkg/pull/8209) [cli] Update the version to 1.1.1 + +- libepoxy `1.5.3` -> `1.5.3-1` + - [(#7985)](https://github.com/microsoft/vcpkg/pull/7985) [libepoxy]Add support with unix. + +- atk `2.24.0-3` -> `2.24.0-4` + - [(#7991)](https://github.com/microsoft/vcpkg/pull/7991) [atk]Support UNIX. + +- date `2019-05-18-1` -> `2019-09-09` + - [(#8151)](https://github.com/microsoft/vcpkg/pull/8151) [date] Add official CMake targets support + +- riffcpp `2.2.2` -> `2.2.4` + - [(#8153)](https://github.com/microsoft/vcpkg/pull/8153) [riffcpp] Update to 2.2.4 + +- duktape `2.4.0-3` -> `2.4.0-4` + - [(#8144)](https://github.com/microsoft/vcpkg/pull/8144) [duktape] Change download path of pip. + +- cgicc `3.2.19-2` -> `3.2.19-3` + - [(#8232)](https://github.com/microsoft/vcpkg/pull/8232) [cgicc]Fix linux build. + +- graphicsmagick `1.3.32-1` -> `1.3.33` + - [(#8256)](https://github.com/microsoft/vcpkg/pull/8256) [graphicsmagick] updated to 1.3.33 + +- ecsutil `1.0.7.2` -> `1.0.7.3` + - [(#8253)](https://github.com/microsoft/vcpkg/pull/8253) update for ECSUtil 1.0.7.3 + +- cpp-redis `4.3.1-1` -> `4.3.1-2` + - [(#8245)](https://github.com/microsoft/vcpkg/pull/8245) [simpleini cpp-redis tacopie] ports update + +- simpleini `2018-08-31-1` -> `2018-08-31-2` + - [(#8245)](https://github.com/microsoft/vcpkg/pull/8245) [simpleini cpp-redis tacopie] ports update + +- tacopie `3.2.0-1` -> `3.2.0-2` + - [(#8245)](https://github.com/microsoft/vcpkg/pull/8245) [simpleini cpp-redis tacopie] ports update + +- cairo `1.16.0-1` -> `1.16.0-2` + - [(#8249)](https://github.com/microsoft/vcpkg/pull/8249) [cairo]Add feature X11. + +- tinynpy `1.0.0-2` -> `1.0.0-3` + - [(#8274)](https://github.com/microsoft/vcpkg/pull/8274) [tinynpy] update + +- io2d `2019-07-11` -> `2019-07-11-1` + - [(#8251)](https://github.com/microsoft/vcpkg/pull/8251) [io2d]Fix linux build: add dependency cairo[x11]. + +- linenoise-ng `4754bee2d8eb3` -> `4754bee2d8eb3-1` + - [(#8276)](https://github.com/microsoft/vcpkg/pull/8276) [linenoise-ng] Fix flaky config + +- zeromq `2019-07-09-1` -> `2019-09-20` + - [(#8119)](https://github.com/microsoft/vcpkg/pull/8119) [zeromq] Update to 2019-09-13 + +- basisu `1.11-1` -> `1.11-2` + - [(#8289)](https://github.com/microsoft/vcpkg/pull/8289) [basisu] Updating with latest upstream changes + +- doctest `2.3.4` -> `2.3.5` + - [(#8295)](https://github.com/microsoft/vcpkg/pull/8295) [doctest] Update library to 2.3.5 + +- mbedtls `2.16.2` -> `2.16.3` + - [(#8296)](https://github.com/microsoft/vcpkg/pull/8296) [mbedtls] Update library to 2.16.3 + +- pugixml `1.9-3` -> `1.10` + - [(#8297)](https://github.com/microsoft/vcpkg/pull/8297) [pugixml] Update library to 1.10 + +- armadillo `2019-04-16-4` -> `2019-04-16-5` + - [(#8299)](https://github.com/microsoft/vcpkg/pull/8299) [armadillo] Fix configure_file failed + +- parallel-hashmap `1.23` -> `1.24` + - [(#8301)](https://github.com/microsoft/vcpkg/pull/8301) [parallel-hashmap] Update library to 1.24 + +- realsense2 `2.22.0-1` -> `2.22.0-2` + - [(#8303)](https://github.com/microsoft/vcpkg/pull/8303) [realsense2] fix dependency glfw3 and mismatching number of debug and release binaries + +- ffmpeg `4.1-11` -> `4.2` + - [(#8021)](https://github.com/microsoft/vcpkg/pull/8021) [ffmpeg] update to 4.2 + +- open62541 `0.3.0-3` -> `0.3.0-4` + - [(#8252)](https://github.com/microsoft/vcpkg/pull/8252) [open62541] fix dynamic build + +- librdkafka `1.1.0-1` -> `1.2.0-2` + - [(#8307)](https://github.com/microsoft/vcpkg/pull/8307) [librdkafka] Update library to 1.2.0 + - [(#8355)](https://github.com/microsoft/vcpkg/pull/8355) [librdkafka] Add vcpkg-cmake-wrapper.cmake + +- chartdir `6.3.1` -> `6.3.1-1` + - [(#8308)](https://github.com/microsoft/vcpkg/pull/8308) [chartdir] fix hash for osx + +- mpfr `4.0.1` -> `4.0.2-1` + - [(#8324)](https://github.com/microsoft/vcpkg/pull/8324) update mpfr to 4.0.2 and fix build on osx + +- cuda `9.0` -> `10.1` + - [(#7536)](https://github.com/microsoft/vcpkg/pull/7536) [cudnn] add port and enable it in darknet + +- darknet `0.2.5-6` -> `0.2.5.1` + - [(#7536)](https://github.com/microsoft/vcpkg/pull/7536) [cudnn] add port and enable it in darknet + +- opencv4 `4.1.1-1` -> `4.1.1-2` + - [(#7536)](https://github.com/microsoft/vcpkg/pull/7536) [cudnn] add port and enable it in darknet + +- libiconv `1.15-5` -> `1.15-6` + - [(#8312)](https://github.com/microsoft/vcpkg/pull/8312) [libiconv] Guard imported targets in non-Windows + +- gsoap `2.8.87-1` -> `2.8.93-1` + - [(#8338)](https://github.com/microsoft/vcpkg/pull/8338) [gSoap] Update to 2.8.93 + +- arrow `0.14.1` -> `0.14.1-1` + - [(#8263)](https://github.com/microsoft/vcpkg/pull/8263) [arrow]Fix build error on Visual Studio 2019. + +- sol2 `3.0.3` -> `3.0.3-1` + - [(#8243)](https://github.com/microsoft/vcpkg/pull/8243) [sol2]Fix using namespace. + +- alembic `1.7.11-4` -> `1.7.11-5` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + - [(#8379)](https://github.com/microsoft/vcpkg/pull/8379) [alembic,geogram,openimageio]: openexr and libraw debug linkage, minor fix for geogram + +- avro-c `1.8.2-2` -> `1.8.2-3` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- aws-sdk-cpp `1.7.142` -> `1.7.142-1` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- boost-system `1.70.0` -> `1.70.0-1` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- cgal `4.14-2` -> `4.14-3` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- eigen3 `3.3.7-2` -> `3.3.7-3` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- itk `5.0.1` -> `5.0.1-1` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- kinectsdk2 `2.0-1` -> `2.0-2` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- ompl `1.4.2-1` -> `1.4.2-2` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- openmvg `1.4-5` -> `1.4-6` + - [(#8331)](https://github.com/microsoft/vcpkg/pull/8331) [many ports] Warning to VCPKG long build path + +- curl `7.65.2-1` -> `7.66.0` + - [(#7331)](https://github.com/microsoft/vcpkg/pull/7331) [curl] Update to 7.66.0 + +- halide `release_2018_02_15-1` -> `release_2019_08_27` + - [(#8102)](https://github.com/microsoft/vcpkg/pull/8102) [halide]Upgrade to release_2019_08_27. + +- boost-accumulators `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-algorithm `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-align `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-any `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-array `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-asio `1.70.0-2` -> `1.71.0-1` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-assert `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-assign `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-atomic `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-beast `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-bimap `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-bind `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-callable-traits `2.3.2` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-chrono `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-circular-buffer `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-compatibility `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-compute `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-concept-check `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-config `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-container-hash `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-container `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-context `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-contract `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-conversion `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-convert `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-core `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-coroutine `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-coroutine2 `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-crc `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-date-time `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-detail `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-disjoint-sets `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-dll `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-dynamic-bitset `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-endian `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-exception `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-fiber `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-filesystem `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-flyweight `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-foreach `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-format `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-function-types `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-function `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-functional `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-fusion `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-geometry `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-gil `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-graph-parallel `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-graph `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- boost-hana `1.70.0` -> `1.71.0` + - [(#7959)](https://github.com/microsoft/vcpkg/pull/7959) [boost] Update to 1.71.0 + +- hpx `1.3.0-1` -> `1.3.0-2` + - [(#8259)](https://github.com/microsoft/vcpkg/pull/8259) [hpx] Redirect --head to `stable` + +- assimp `4.1.0-8` -> `5.0.0` + - [(#8370)](https://github.com/microsoft/vcpkg/pull/8370) [assimp] Update the version to 5.0.0 + - [(#8381)](https://github.com/microsoft/vcpkg/pull/8381) [assimp] Update the version + +- angle `2019-06-13` -> `2019-07-19-2` + - [(#7329)](https://github.com/microsoft/vcpkg/pull/7329) [angle] Update to the latest commit. + - [(#8395)](https://github.com/microsoft/vcpkg/pull/8395) drop useless patch + +
+ +-- vcpkg team vcpkg@microsoft.com TUE, 01 Oct 22:00:00 -0800 + +vcpkg (2019.08.31) +--- +#### Total port count: 1169 +#### Total port count per triplet (tested): +|triplet|ports available| +|---|---| +|**x64-windows**|1099| +|x86-windows|1085| +|x64-windows-static|987| +|**x64-linux**|930| +|**x64-osx**|876| +|arm64-windows|726| +|x64-uwp|595| +|arm-uwp|571| + +#### The following commands and options have been updated: +- `depend-info` + - `--max-recurse` ***[NEW OPTION]***: Set the max depth of recursion for listing dependencies + - `--sort` ***[NEW OPTION]***: Sort the list of dependencies by `lexicographical`, `topological`, and `reverse` (topological) order + - `--show-depth` ***[NEW OPTION]***: Display the depth of each dependency in the list + - [(#7643)](https://github.com/microsoft/vcpkg/pull/7643) [depend-info] Fix bugs, add `--sort`, `--show-depth` and `--max-recurse` options +- `install --only-downloads` ***[NEW OPTION]*** + - Download sources for a package and its dependencies and don't build them + - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ + +#### The following documentation has been updated: +- [Index](docs/index.md) + - [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation! + - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! 🐱‍👤 +- [Tool maintainers: Testing](docs/tool-maintainers/testing.md) ***[NEW]*** + - [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation! + - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! 🐱‍👤 +- [Examples: Overlay triplets example +](docs/examples/overlay-triplets-linux-dynamic.md) + - [(#7502)](https://github.com/microsoft/vcpkg/pull/7502) [vcpkg-docs] Reword and reorganize overlay-triplets-linux-dynamic.md +- [Portfile helper functions](docs/maintainers/portfile-functions.md) + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ +- [`vcpkg_check_features`](docs/maintainers/vcpkg_check_features.md) + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check +- [`vcpkg_configure_cmake`](docs/maintainers/vcpkg_configure_cmake.md) + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check +- [`vcpkg_pretiffy_command`](docs/maintainers/vcpkg_prettify_command.md) ***[NEW]*** + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check +- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) + - [(#7751)](https://github.com/microsoft/vcpkg/pull/7751) Add guideline for overriding `VCPKG_` +- [Tool maintainers: Benchmarking](docs/tool-maintainers/benchmarking.md) ***[NEW]*** + - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! 🐱‍👤 +- [Tool maintainers: Layout of the vcpkg source tree](docs/tool-maintainers/layout.md) ***[NEW]*** + - [(#7821)](https://github.com/microsoft/vcpkg/pull/7821) [vcpkg docs] More tool maintainer docs! 🐱‍👤 +- [`vcpkg_common_definitions`](docs/maintainers/vcpkg_common_definitions.md) ***[NEW]*** + - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ +- [`vcpkg_execute_required_process`](docs/maintainers/vcpkg_execute_required_process.md) + - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ +- [`vcpkg_fail_port_install`](docs/maintainers/vcpkg_fail_port_install.md) ***[NEW]*** + - [(#7950)](https://github.com/microsoft/vcpkg/pull/7950) [vcpkg install] Enable Download Mode ⏬ + +#### The following *remarkable* changes have been made to vcpkg's infrastructure: +- CONTROL files extended syntax + - The `Build-Depends` field now supports logical expressions as well as line breaks + - [(#7508)](https://github.com/microsoft/vcpkg/pull/7508) Improve logical evaluation of dependency qualifiers + - [(#7863)](https://github.com/microsoft/vcpkg/pull/7863) Fix list parsing logic and add error messages +- Quality-of-Life improvements for portfile maintainers + - [(#7601)](https://github.com/microsoft/vcpkg/pull/7601) [vcpkg/cmake] Added a function to fail from portfiles in a default way + - [(#7600)](https://github.com/microsoft/vcpkg/pull/7600) [vcpkg] QoL: add target dependent library prefix/suffix variables and enable find_library for portfiles + - [(#7773)](https://github.com/microsoft/vcpkg/pull/7773) [vcpkg] QoL: Make find_library useable without errors to console. + - [(#7599)](https://github.com/microsoft/vcpkg/pull/7599) [vcpkg] QoL: add host/target dependent variables for executable suffixes + +#### The following *additional* changes have been made to vcpkg's infrastructure: +- [(#4572)](https://github.com/microsoft/vcpkg/pull/4572) Change CMakeLists.txt in toolsrc to allow compiling with llvm toolset +- [(#7305)](https://github.com/microsoft/vcpkg/pull/7305) [vcpkg] Public ABI override option +- [(#7307)](https://github.com/microsoft/vcpkg/pull/7307) [vcpkg] Always calculate ABI tags +- [(#7491)](https://github.com/microsoft/vcpkg/pull/7491) Handle response files with Windows line-endings properly +- [(#7501)](https://github.com/microsoft/vcpkg/pull/7501) Add July changelog +- [(#7506)](https://github.com/microsoft/vcpkg/pull/7506) Update tests, and add documentation! +- [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check +- [(#7568)](https://github.com/microsoft/vcpkg/pull/7568) [tensorflow] Add new port for linux +- [(#7570)](https://github.com/microsoft/vcpkg/pull/7570) [vcpkg] Make `RealFilesystem::remove_all` much, much faster, and start benchmarking +- [(#7587)](https://github.com/microsoft/vcpkg/pull/7587) [vcpkg] Revert accidental removal of powershell-core usage in bb3a9ddb6ec917f54 +- [(#7619)](https://github.com/microsoft/vcpkg/pull/7619) [vcpkg] Fix `.vcpkg-root` detection issue +- [(#7620)](https://github.com/microsoft/vcpkg/pull/7620) [vcpkg] Fix warnings in `files.{h,cpp}` build under /W4 +- [(#7623)](https://github.com/microsoft/vcpkg/pull/7623) Fix VS 2019 detection bug +- [(#7637)](https://github.com/microsoft/vcpkg/pull/7637) [vcpkg] Fix the build on VS2015 debug +- [(#7638)](https://github.com/microsoft/vcpkg/pull/7638) [vcpkg] Make CMakelists nicer 😁 +- [(#7687)](https://github.com/microsoft/vcpkg/pull/7687) [vcpkg] Port toolchains +- [(#7754)](https://github.com/microsoft/vcpkg/pull/7754) [vcpkg] Allow multiple spaces in a comma list +- [(#7757)](https://github.com/microsoft/vcpkg/pull/7757) [vcpkg] Switch to internal hash algorithms 🐱‍💻 +- [(#7793)](https://github.com/microsoft/vcpkg/pull/7793) Allow redirection of the scripts folder +- [(#7798)](https://github.com/microsoft/vcpkg/pull/7798) [vcpkg] Fix build on FreeBSD 😈 +- [(#7816)](https://github.com/microsoft/vcpkg/pull/7816) [vcpkg] Fix gcc-9 warning +- [(#7864)](https://github.com/microsoft/vcpkg/pull/7864) [vcpkg] Move `do_build_package_and_clean_buildtrees()` above generating vcpkg_abi_info.txt so it will be included in the package. +- [(#7930)](https://github.com/microsoft/vcpkg/pull/7930) [vcpkg] fix bug in StringView::operator== 😱 +
+The following 63 ports have been added: + +|port|version| +|---|---| +|[riffcpp](https://github.com/microsoft/vcpkg/pull/7509) [#7541](https://github.com/microsoft/vcpkg/pull/7541) [#7859](https://github.com/microsoft/vcpkg/pull/7859) | 2.2.2 +|[easyhook](https://github.com/microsoft/vcpkg/pull/7487)| 2.7.6789.0 +|[brigand](https://github.com/microsoft/vcpkg/pull/7518)| 1.3.0 +|[ctbignum](https://github.com/microsoft/vcpkg/pull/7512)| 2019-08-02 +|[gaussianlib](https://github.com/microsoft/vcpkg/pull/7542)| 2019-08-04 +|[tinycthread](https://github.com/microsoft/vcpkg/pull/7565)| 2019-08-06 +|[libcerf](https://github.com/microsoft/vcpkg/pull/7320)| 1.13 +|[tinynpy](https://github.com/microsoft/vcpkg/pull/7393)| 1.0.0-2 +|[googleapis](https://github.com/microsoft/vcpkg/pull/7557) [#7703](https://github.com/microsoft/vcpkg/pull/7703) | 0.1.3 +|[pdqsort](https://github.com/microsoft/vcpkg/pull/7464)| 2019-07-30 +|[discount](https://github.com/microsoft/vcpkg/pull/7400)| 2.2.6 +|[duckx](https://github.com/microsoft/vcpkg/pull/7561)| 2019-08-06 +|[opencv3](https://github.com/microsoft/vcpkg/pull/5169) [#7581](https://github.com/microsoft/vcpkg/pull/7581) [#7658](https://github.com/microsoft/vcpkg/pull/7658) [#7925](https://github.com/microsoft/vcpkg/pull/7925) | 3.4.7-1 +|[opencv4](https://github.com/microsoft/vcpkg/pull/5169) [#7558](https://github.com/microsoft/vcpkg/pull/7558) [#7581](https://github.com/microsoft/vcpkg/pull/7581) [#7658](https://github.com/microsoft/vcpkg/pull/7658) | 4.1.1-1 +|[tiny-bignum-c](https://github.com/microsoft/vcpkg/pull/7531)| 2019-07-31 +|[tgc](https://github.com/microsoft/vcpkg/pull/7644)| 2019-08-11 +|[bento4](https://github.com/microsoft/vcpkg/pull/7595)| 1.5.1-628 +|[dbow2](https://github.com/microsoft/vcpkg/pull/7552)| 2019-08-05 +|[tiny-aes-c](https://github.com/microsoft/vcpkg/pull/7530)| 2019-07-31 +|[drlibs](https://github.com/microsoft/vcpkg/pull/7656)| 2019-08-12 +|[nt-wrapper](https://github.com/microsoft/vcpkg/pull/7633)| 2019-08-10 +|[xorstr](https://github.com/microsoft/vcpkg/pull/7631)| 2019-08-10 +|[lazy-importer](https://github.com/microsoft/vcpkg/pull/7630)| 2019-08-10 +|[plf-colony](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10 +|[plf-list](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10 +|[plf-nanotimer](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10 +|[plf-stack](https://github.com/microsoft/vcpkg/pull/7627)| 2019-08-10 +|[tiny-regex-c](https://github.com/microsoft/vcpkg/pull/7626)| 2019-07-31 +|[hayai](https://github.com/microsoft/vcpkg/pull/7624)| 2019-08-10 +|[yasm](https://github.com/microsoft/vcpkg/pull/7478)| 1.3.0 +|[fast-cpp-csv-parser](https://github.com/microsoft/vcpkg/pull/7681)| 2019-08-14 +|[wg21-sg14](https://github.com/microsoft/vcpkg/pull/7663)| 2019-08-13 +|[pistache](https://github.com/microsoft/vcpkg/pull/7547)| 2019-08-05 +|[hfsm2](https://github.com/microsoft/vcpkg/pull/7516)| beta7 +|[mpmcqueue](https://github.com/microsoft/vcpkg/pull/7437)| 2019-07-26 +|[spscqueue](https://github.com/microsoft/vcpkg/pull/7437)| 2019-07-26 +|[tinkerforge](https://github.com/microsoft/vcpkg/pull/7523)| 2.1.25 +|[field3d](https://github.com/microsoft/vcpkg/pull/7594)| 1.7.2 +|[libsvm](https://github.com/microsoft/vcpkg/pull/7664)| 323 +|[nanort](https://github.com/microsoft/vcpkg/pull/7778)| 2019-08-20 +|[libspatialindex](https://github.com/microsoft/vcpkg/pull/7762)| 1.9.0 +|[qtkeychain](https://github.com/microsoft/vcpkg/pull/7760)| v0.9.1 +|[sparsehash](https://github.com/microsoft/vcpkg/pull/7772)| 2.0.3 +|[tensorflow-cc](https://github.com/microsoft/vcpkg/pull/7568)| 1.14 +|[qt-advanced-docking-system](https://github.com/microsoft/vcpkg/pull/7621)| 2019-08-14 +|[quickfast](https://github.com/microsoft/vcpkg/pull/7814)| 1.5 +|[mp3lame](https://github.com/microsoft/vcpkg/pull/7830)| 3.100 +|[quickfix](https://github.com/microsoft/vcpkg/pull/7796)| 1.15.1 +|[fplus](https://github.com/microsoft/vcpkg/pull/7883)| 0.2.3-p0 +|[json5-parser](https://github.com/microsoft/vcpkg/pull/7915)| 1.0.0 +|[gppanel](https://github.com/microsoft/vcpkg/pull/7868)| 2018-04-06 +|[libguarded](https://github.com/microsoft/vcpkg/pull/7924)| 2019-08-27 +|[cgl](https://github.com/microsoft/vcpkg/pull/7810)| 0.60.2-1 +|[minifb](https://github.com/microsoft/vcpkg/pull/7766)| 2019-08-20-1 +|[log4cpp](https://github.com/microsoft/vcpkg/pull/7433)| 2.9.1-1 +|[chartdir](https://github.com/microsoft/vcpkg/pull/7912)| 6.3.1 +|[outcome](https://github.com/microsoft/vcpkg/pull/7940)| 2.1 +|[libP7Client](https://github.com/microsoft/vcpkg/pull/7605)| 5.2 +|[clue](https://github.com/microsoft/vcpkg/pull/7564)| 1.0.0-alpha.7 +|[status-value-lite](https://github.com/microsoft/vcpkg/pull/7563)| 1.1.0 +|[type-lite](https://github.com/microsoft/vcpkg/pull/7563)| 0.1.0 +|[value-ptr-lite](https://github.com/microsoft/vcpkg/pull/7563)| 0.2.1 +|[kvasir-mpl](https://github.com/microsoft/vcpkg/pull/7562)| 2019-08-06 +
+ +
+The following 199 ports have been updated: + +- pcl `1.9.1-5` -> `1.9.1-8` + - [(#7413)](https://github.com/microsoft/vcpkg/pull/7413) [pcl] Fix Build failure in linux + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + - [(#7700)](https://github.com/microsoft/vcpkg/pull/7700) [czmq/pcl] Fix judgment feature condition. + +- xalan-c `1.11-5` -> `1.11-7` + - [(#7496)](https://github.com/microsoft/vcpkg/pull/7496) [xalan-c] Bump version number + - [(#7505)](https://github.com/microsoft/vcpkg/pull/7505) [xalan-c] switch to https://github.com/apache/xalan-c (#7489) + +- catch2 `2.7.2-2` -> `2.9.2` + - [(#7497)](https://github.com/microsoft/vcpkg/pull/7497) [Catch2] Update to v2.9.1 + - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version + +- ade `0.1.1d` -> `0.1.1f` + - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version + - [(#7628)](https://github.com/microsoft/vcpkg/pull/7628) [ade] Update library to 0.1.1f + +- harfbuzz `2.5.1-1` -> `2.5.3` + - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version + +- libpmemobj-cpp `1.6-1` -> `1.7` + - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version + +- msgpack `3.1.1` -> `3.2.0` + - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version + +- protobuf `3.8.0-1` -> `3.9.1` + - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version + - [(#7671)](https://github.com/microsoft/vcpkg/pull/7671) [protobuf] Update from 3.9.0 to 3.9.1 + +- string-theory `2.1-1` -> `2.2` + - [(#7494)](https://github.com/microsoft/vcpkg/pull/7494) Update some ports version + +- ccfits `2.5-2` -> `2.5-3` + - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. + +- itpp `4.3.1` -> `4.3.1-1` + - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. + +- mpg123 `1.25.8-5` -> `1.25.8-6` + - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. + +- qwt `6.1.3-6` -> `6.1.3-7` + - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. + +- sdl1 `1.2.15-5` -> `1.2.15-6` + - [(#7484)](https://github.com/microsoft/vcpkg/pull/7484) [manyports] Regenerate patches and modify how the patches are used. + +- gdal `2.4.1-5` -> `2.4.1-8` + - [(#7520)](https://github.com/microsoft/vcpkg/pull/7520) [gdal] Fix duplicate pdb file + - [(#7434)](https://github.com/microsoft/vcpkg/pull/7434) [gdal] Fix dependent ports in static builds. + +- blosc `1.16.3-2` -> `1.17.0-1` + - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version + - [(#7649)](https://github.com/microsoft/vcpkg/pull/7649) [blosc] enable dependent ports to use debug builds + +- boost-callable-traits `1.70.0` -> `2.3.2` + - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version + +- cjson `1.7.10-1` -> `1.7.12` + - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version + +- cppzmq `4.3.0-1` -> `4.4.1` + - [(#7525)](https://github.com/microsoft/vcpkg/pull/7525) Update some ports version + +- restinio `0.5.1-1` -> `0.6.0` + - [(#7514)](https://github.com/microsoft/vcpkg/pull/7514) [RESTinio] updated to v.0.5.1.1 + - [(#7962)](https://github.com/microsoft/vcpkg/pull/7962) RESTinio updated to v.0.6.0 + +- argh `2018-12-18` -> `2018-12-18-1` + - [(#7527)](https://github.com/microsoft/vcpkg/pull/7527) [argh] fix flaky cmake config + +- libusb `1.0.22-3` -> `1.0.22-4` + - [(#7465)](https://github.com/microsoft/vcpkg/pull/7465) [libusb] Fix using mismatched CRT_linkage/library_linkage issue. + +- casclib `1.50` -> `1.50b-1` + - [(#7522)](https://github.com/microsoft/vcpkg/pull/7522) [casclib] Added CMake targets + - [(#7907)](https://github.com/microsoft/vcpkg/pull/7907) [casclib] Update library to 1.50b + +- opencv `3.4.3-9` -> `4.1.1-1` + - [(#7499)](https://github.com/microsoft/vcpkg/pull/7499) Add feature halide to OpenCV. + - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 + - [(#7659)](https://github.com/microsoft/vcpkg/pull/7659) [opencv] Expose all features from `opencv4` in meta-package + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + +- openxr-loader `1.0.0-1` -> `1.0.0-2` + - [(#7560)](https://github.com/microsoft/vcpkg/pull/7560) [Openxr-loader] Remove the invalid patch + +- simdjson `2019-03-09` -> `2019-08-05` + - [(#7546)](https://github.com/microsoft/vcpkg/pull/7546) [simdjson] Update to 0.2.1 + +- alembic `1.7.11-3` -> `1.7.11-4` + - [(#7551)](https://github.com/microsoft/vcpkg/pull/7551) [alembic] fix hdf5 linkage + +- xerces-c `3.2.2-10` -> `3.2.2-11` + - [(#7500)](https://github.com/microsoft/vcpkg/pull/7500) [xercec-c] no symlinks in static build (#7490) + - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies + +- sol2 `3.0.2` -> `3.0.3` + - [(#7545)](https://github.com/microsoft/vcpkg/pull/7545) Update sol2 portfile to 579908 + - [(#7804)](https://github.com/microsoft/vcpkg/pull/7804) [sol2] Update library to 3.0.3 + +- cpprestsdk `2.10.14` -> `2.10.14-1` + - [(#7472)](https://github.com/microsoft/vcpkg/pull/7472) Repair compression dependency bugs in cpprestsdk + - [(#7863)](https://github.com/microsoft/vcpkg/pull/7863) fix list parsing logic and add error messages + +- libevent `2.1.10` -> `2.1.11` + - [(#7515)](https://github.com/microsoft/vcpkg/pull/7515) [libevent] update to 2.1.11 + +- imgui `1.70-1` -> `1.72b` + - [(#7534)](https://github.com/microsoft/vcpkg/pull/7534) Update some ports version + +- mbedtls `2.15.1` -> `2.16.2` + - [(#7534)](https://github.com/microsoft/vcpkg/pull/7534) Update some ports version + +- ffmpeg `4.1-8` -> `4.1-9` + - [(#7476)](https://github.com/microsoft/vcpkg/pull/7476) [ffmpeg] Fix debug build in Windows. + - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 + - [(#7608)](https://github.com/microsoft/vcpkg/pull/7608) [ffmpeg] Add feature avresample. + - [(#7739)](https://github.com/microsoft/vcpkg/pull/7739) [ffmpeg] Fix static linking on Windows, FindFFMPEG + +- kangaru `4.1.3-2` -> `4.2.0` + - [(#7567)](https://github.com/microsoft/vcpkg/pull/7567) Updated kangaru version + +- cpp-taskflow `2018-11-30` -> `2.2.0` + - [(#7554)](https://github.com/microsoft/vcpkg/pull/7554) [cpp-taskflow] update to 2.2.0 + +- jsoncons `0.125.0` -> `0.132.1` + - [(#7529)](https://github.com/microsoft/vcpkg/pull/7529) Update jsoncons to v0.131.2 + - [(#7718)](https://github.com/microsoft/vcpkg/pull/7718) [jsoncons] Update library to 0.132.1 + +- tinyexif `1.0.2-5` -> `1.0.2-6` + - [(#7575)](https://github.com/microsoft/vcpkg/pull/7575) [TinyEXIF] fix linux/mac + +- itk `5.0.0-2` -> `5.0.1` + - [(#7241)](https://github.com/microsoft/vcpkg/pull/7241) ITK portfile support legacy user code by default + - [(#7586)](https://github.com/microsoft/vcpkg/pull/7586) [itk] Update library from 5.0.0 to 5.0.1 + +- stxxl `2018-11-15-1` -> `2018-11-15-2` + - [(#7330)](https://github.com/microsoft/vcpkg/pull/7330) [stxxl] compilation fix + +- chakracore `1.11.9` -> `1.11.12` + - [(#7576)](https://github.com/microsoft/vcpkg/pull/7576) [chakracore] Update library to 1.11.11 + - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version + +- qhull `7.3.2` -> `7.3.2-1` + - [(#7370)](https://github.com/microsoft/vcpkg/pull/7370) [Qhulluwp] fix uwp building + +- netcdf-c `4.7.0-3` -> `4.7.0-4` + - [(#7578)](https://github.com/microsoft/vcpkg/pull/7578) [netcdf-c] correctly fix hdf5 linkage + +- google-cloud-cpp `0.11.0` -> `0.12.0` + - [(#7557)](https://github.com/microsoft/vcpkg/pull/7557) Update google-cloud-cpp to 0.12.0. + +- stormlib `9.22` -> `2019-05-10` + - [(#7409)](https://github.com/microsoft/vcpkg/pull/7409) [stormlib] Add targets and streamline build + +- openimageio `2.0.8` -> `2019-08-08-2` + - [(#7419)](https://github.com/microsoft/vcpkg/pull/7419) [openimageio] Fix feature libraw build errors + - [(#7588)](https://github.com/microsoft/vcpkg/pull/7588) [openimageio] find_package support + - [(#7747)](https://github.com/microsoft/vcpkg/pull/7747) [openimageio] Fix find correct debug/release openexr libraries. + +- librdkafka `1.1.0` -> `1.1.0-1` + - [(#7469)](https://github.com/microsoft/vcpkg/pull/7469) Librdkafka snappy + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + +- open62541 `0.3.0-2` -> `0.3.0-3` + - [(#7607)](https://github.com/microsoft/vcpkg/pull/7607) [open62541] Fix flakiness/bugginess + +- jsonnet `2019-05-08` -> `2019-05-08-1` + - [(#7587)](https://github.com/microsoft/vcpkg/pull/7587) [vcpkg] Revert accidental removal of powershell-core usage in bb3a9ddb6ec917f54 + - [(#7374)](https://github.com/microsoft/vcpkg/pull/7374) [jsonnet] Upgrade version to 0.13.0 + +- expat `2.2.6` -> `2.2.7` + - [(#7596)](https://github.com/microsoft/vcpkg/pull/7596) [expat] Update library to 2.2.7 + +- aws-lambda-cpp `0.1.0-1` -> `0.1.0-2` + - [(#7601)](https://github.com/microsoft/vcpkg/pull/7601) [vcpkg/cmake] Added a function to fail from portfiles in a default way + +- rocksdb `6.1.2` -> `6.1.2-1` + - [(#7452)](https://github.com/microsoft/vcpkg/pull/7452) [rocksdb] Change linkage type to static. + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- freeimage `3.18.0-6` -> `3.18.0-7` + - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 + +- gdcm `3.0.0-3` -> `3.0.0-4` + - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 + +- ogre `1.12.0-1` -> `1.12.1` + - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- pthreads `3.0.0-2` -> `3.0.0-3` + - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 + +- qt5 `5.12.3` -> `5.12.3-1` + - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 + - [(#7642)](https://github.com/microsoft/vcpkg/pull/7642) [qt5] Only build qt5-activeqt on windows + +- zxing-cpp `3.3.3-5` -> `3.3.3-6` + - [(#5169)](https://github.com/microsoft/vcpkg/pull/5169) [OpenCV] Update to v4.1.1 + +- tesseract `4.1.0-1` -> `4.1.0-2` + - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies + +- tiff `4.0.10-6` -> `4.0.10-7` + - [(#7622)](https://github.com/microsoft/vcpkg/pull/7622) [tiff][tesseract][xerces-c] Disable unmanaged optional dependencies + +- osg `3.6.3-1` -> `3.6.4` + - [(#7653)](https://github.com/microsoft/vcpkg/pull/7653) [osg] Update osg version to 3.6.4 + - [(#7677)](https://github.com/microsoft/vcpkg/pull/7677) [osg] Fix Applying patch failed + +- cppgraphqlgen `3.0.0` -> `3.0.2` + - [(#7639)](https://github.com/microsoft/vcpkg/pull/7639) [cppgraphqlgen] Update with matching PEGTL + +- pegtl `3.0.0-pre` -> `3.0.0-pre-697aaa0` + - [(#7639)](https://github.com/microsoft/vcpkg/pull/7639) [cppgraphqlgen] Update with matching PEGTL + +- monkeys-audio `4.3.3-1` -> `4.8.3` + - [(#7634)](https://github.com/microsoft/vcpkg/pull/7634) [monkeys-audio] Update library to 4.8.3 + +- directxmesh `apr2019` -> `jun2019-1` + - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support + - [(#7869)](https://github.com/microsoft/vcpkg/pull/7869) [directxmesh] Update library to aug2019 + +- directxtex `apr2019` -> `jun2019-1` + - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support + - [(#7870)](https://github.com/microsoft/vcpkg/pull/7870) [directxtex] Update library to aug2019 + +- directxtk `apr2019-1` -> `jun2019-1` + - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support + - [(#7871)](https://github.com/microsoft/vcpkg/pull/7871) [directxtk] Update library to aug2019 + +- directxtk12 `dec2016-1` -> `jun2019-1` + - [(#7665)](https://github.com/microsoft/vcpkg/pull/7665) [directxtk][directxtk12][directxmesh][directxtex] Updated to June version and improved platform toolset support + - [(#7872)](https://github.com/microsoft/vcpkg/pull/7872) [directxtk12] Update library to aug2019 + +- usockets `0.1.2` -> `0.3.1` + - [(#7662)](https://github.com/microsoft/vcpkg/pull/7662) [usockets] upgrade to v0.3.1 + +- dimcli `4.1.0` -> `5.0.0` + - [(#7651)](https://github.com/microsoft/vcpkg/pull/7651) [dimcli] Fix build error C2220 + - [(#7785)](https://github.com/microsoft/vcpkg/pull/7785) [dimcli] Update library to 5.0.0 + +- czmq `2019-06-10-1` -> `2019-06-10-3` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + - [(#7700)](https://github.com/microsoft/vcpkg/pull/7700) [czmq/pcl] Fix judgment feature condition. + +- darknet `0.2.5-5` -> `0.2.5-6` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + +- mimalloc `2019-06-25` -> `2019-06-25-1` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + +- mongo-c-driver `1.14.0-3` -> `1.14.0-3-1` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + +- oniguruma `6.9.2-2` -> `6.9.3` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + - [(#7721)](https://github.com/microsoft/vcpkg/pull/7721) [oniguruma] Update library 6.9.3 + +- paho-mqttpp3 `1.0.1` -> `1.0.1-2` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + - [(#7769)](https://github.com/microsoft/vcpkg/pull/7769) [paho-mqttpp3] Fix missing reference to C library headers + +- xsimd `7.2.3-1` -> `7.2.3-2` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + +- xtensor `0.20.7-1` -> `0.20.7-2` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + +- zeromq `2019-07-09` -> `2019-07-09-1` + - [(#7558)](https://github.com/microsoft/vcpkg/pull/7558) [vcpkg_check_features] Set output variable explicitly and allow reverse-logic check + +- gtest `2019-01-04-2` -> `2019-08-14-1` + - [(#7692)](https://github.com/microsoft/vcpkg/pull/7692) [gtest] update to 90a443f9c2437ca8a682a1ac625eba64e1d74a8a + - [(#7316)](https://github.com/microsoft/vcpkg/pull/7316) [gtest] Re-fix port_main/port_maind libraries path and add gmock cmake files. + +- physx `commit-624f2cb6c0392013d54b235d9072a49d01c3cb6c` -> `4.1.1-1` + - [(#7679)](https://github.com/microsoft/vcpkg/pull/7679) [physx] Update to 4.1.1 (with Visual Studio 2019 support) + +- libidn2 `2.1.1-1` -> `2.2.0` + - [(#7685)](https://github.com/microsoft/vcpkg/pull/7685) [libidn2] Update to version 2.2.0. + +- poco `2.0.0-pre-3` -> `1.9.2-1` + - [(#7698)](https://github.com/microsoft/vcpkg/pull/7698) [poco] Upgrade version to 1.9.2 release. + - [(#7892)](https://github.com/microsoft/vcpkg/pull/7892) [poco] Fix conflicts with libharu. + +- osgearth `2.10.1` -> `2.10.2` + - [(#7695)](https://github.com/microsoft/vcpkg/pull/7695) [osgearth] Fix osgearth rocksdb plugin build falied + +- spdlog `1.3.1-1` -> `1.3.1-2` + - [(#7670)](https://github.com/microsoft/vcpkg/pull/7670) [spdlog] fix cmake targets path + +- libgit2 `0.28.2` -> `0.28.3` + - [(#7669)](https://github.com/microsoft/vcpkg/pull/7669) [libgit2] Upgrade to version 0.28.3 + +- brynet `1.0.2` -> `1.0.3` + - [(#7702)](https://github.com/microsoft/vcpkg/pull/7702) [brynet, catch2, chakracore] Update some ports version + +- nghttp2 `1.35.0` -> `1.39.2` + - [(#7699)](https://github.com/microsoft/vcpkg/pull/7699) [nghttp2] Upgrade to version 1.39.2 + +- leptonica `1.76.0-1` -> `1.78.0-1` + - [(#7358)](https://github.com/microsoft/vcpkg/pull/7358) [leptonica] Upgrade to 1.78.0 + - [(#7712)](https://github.com/microsoft/vcpkg/pull/7712) [leptonica] Add dependency port libwebp and fix find libwebp in debug/release + +- libtorrent `2019-04-19` -> `1.2.1-bcb26fd6` + - [(#7708)](https://github.com/microsoft/vcpkg/pull/7708) [libtorrent] Update to 1.2.1-bcb26fd6 + +- angelscript `2.33.0-1` -> `2.33.1-1` + - [(#7650)](https://github.com/microsoft/vcpkg/pull/7650) [angelscript] Added feature to optionally install all Angelscript standard addons + +- jsoncpp `1.8.4-1` -> `1.9.1` + - [(#7719)](https://github.com/microsoft/vcpkg/pull/7719) [jsoncpp] Update library to 1.9.1 + +- robin-hood-hashing `3.2.13` -> `3.4.0` + - [(#7722)](https://github.com/microsoft/vcpkg/pull/7722) [robin-hood-hashing] Update library to 3.4.0 + +- sqlite-orm `1.3-1` -> `1.4` + - [(#7723)](https://github.com/microsoft/vcpkg/pull/7723) [sqlite-orm] Update library to 1.4 + +- doctest `2.3.3` -> `2.3.4` + - [(#7716)](https://github.com/microsoft/vcpkg/pull/7716) [doctest] Update library to 2.3.4 + +- pegtl-2 `2.8.0` -> `2.8.1` + - [(#7715)](https://github.com/microsoft/vcpkg/pull/7715) [pegtl-2] Update library to 2.8.1 + +- cpp-httplib `0.2.0` -> `0.2.1` + - [(#7714)](https://github.com/microsoft/vcpkg/pull/7714) [cpp-httplib] Update library to 0.2.1 + +- geographiclib `1.47-patch1-6` -> `1.47-patch1-7` + - [(#7697)](https://github.com/microsoft/vcpkg/pull/7697) [geographiclib] Fix build error on Linux + +- libmariadb `3.0.10-3` -> `3.0.10-4` + - [(#7710)](https://github.com/microsoft/vcpkg/pull/7710) [libmariadb] Fix usage error LNK2001. + +- irrlicht `1.8.4-2` -> `1.8.4-1` + - [(#7726)](https://github.com/microsoft/vcpkg/pull/7726) Revert "[irrlicht] use unicode path on windows (#7354)" + +- cgltf `2019-04-30` -> `1.3` + - [(#7731)](https://github.com/microsoft/vcpkg/pull/7731) [cgltf] Update library to 1.2 + - [(#7774)](https://github.com/microsoft/vcpkg/pull/7774) [cgltf] Update library to 1.3 + +- duktape `2.3.0-2` -> `2.4.0-3` + - [(#7548)](https://github.com/microsoft/vcpkg/pull/7548) [ duktape] Update hash for pip. + - [(#7873)](https://github.com/microsoft/vcpkg/pull/7873) [duktape] Update library to 2.4.0 + +- double-conversion `3.1.4` -> `3.1.5` + - [(#7717)](https://github.com/microsoft/vcpkg/pull/7717) [double-conversion] Update library to 3.1.5 + +- libmorton `2018-19-07` -> `0.2` + - [(#7738)](https://github.com/microsoft/vcpkg/pull/7738) [libmorton] Update library to 0.2 + +- clp `1.17.2-2` -> `1.17.3` + - [(#7756)](https://github.com/microsoft/vcpkg/pull/7756) [clp] Update library to 1.17.3 + +- libfabric `1.7.1-1` -> `1.8.0` + - [(#7755)](https://github.com/microsoft/vcpkg/pull/7755) [libfabric] Update library to 1.8.0 + +- leaf `0.2.1-2` -> `0.2.2` + - [(#7782)](https://github.com/microsoft/vcpkg/pull/7782) [leaf] Update library to 0.2.2 + +- inih `44` -> `45` + - [(#7780)](https://github.com/microsoft/vcpkg/pull/7780) [inih] Update library to 45 + +- clara `2019-03-29` -> `1.1.5` + - [(#7775)](https://github.com/microsoft/vcpkg/pull/7775) [clara] Update library to 1.1.5 + +- distorm `2018-08-26-16e6f435-1` -> `3.4.1` + - [(#7777)](https://github.com/microsoft/vcpkg/pull/7777) [distorm] Update library to 3.4.1 + +- libcopp `1.1.0-2` -> `1.2.0` + - [(#7770)](https://github.com/microsoft/vcpkg/pull/7770) [libcopp] Update library to 1.2.0 + +- argparse `2019-06-10` -> `1.9` + - [(#7753)](https://github.com/microsoft/vcpkg/pull/7753) [argparse] Update library to 1.9 + +- argagg `2019-01-25` -> `0.4.6` + - [(#7752)](https://github.com/microsoft/vcpkg/pull/7752) [argagg] Update library to 0.4.6 + +- eastl `3.14.00` -> `3.14.01` + - [(#7786)](https://github.com/microsoft/vcpkg/pull/7786) [eastl] Update library to 3.14.01 + +- fribidi `58c6cb3` -> `2019-02-04-1` + - [(#7768)](https://github.com/microsoft/vcpkg/pull/7768) [fribidi] Fix static library suffix in windows-static + +- luajit `2.0.5-1` -> `2.0.5-2` + - [(#7764)](https://github.com/microsoft/vcpkg/pull/7764) [luajit] Separate debug/release build path and fix generate pdbs. + +- ixwebsocket `4.0.3` -> `5.0.4` + - [(#7789)](https://github.com/microsoft/vcpkg/pull/7789) [ixwebsocket] update to 5.0.4 + +- azure-c-shared-utility `2019-05-16.1` -> `2019-08-20.1` + - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release + +- azure-iot-sdk-c `2019-07-01.1` -> `2019-08-20.1` + - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release + +- azure-macro-utils-c `2019-05-16.1` -> `2019-08-20.1` + - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release + +- azure-uamqp-c `2019-05-16.1` -> `2019-08-20.1` + - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release + +- azure-uhttp-c `2019-05-16.1` -> `2019-08-20.1` + - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release + +- azure-umqtt-c `2019-05-16.1` -> `2019-08-20.1` + - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release + +- umock-c `2019-05-16.1` -> `2019-08-20.1` + - [(#7791)](https://github.com/microsoft/vcpkg/pull/7791) [azure-iot] vcpkg update for master/public-preview release + +- embree3 `3.5.2` -> `3.5.2-1` + - [(#7767)](https://github.com/microsoft/vcpkg/pull/7767) [embree3] Fix install path + +- re2 `2019-05-07-2` -> `2019-08-01` + - [(#7808)](https://github.com/microsoft/vcpkg/pull/7808) [re2] Update library to 2019-08-01 + +- reproc `6.0.0-2` -> `8.0.1` + - [(#7807)](https://github.com/microsoft/vcpkg/pull/7807) [reproc] Update library to 8.0.1 + +- safeint `3.20.0` -> `3.21` + - [(#7806)](https://github.com/microsoft/vcpkg/pull/7806) [safeint] Update library to 3.21 + +- snowhouse `3.1.0` -> `3.1.1` + - [(#7805)](https://github.com/microsoft/vcpkg/pull/7805) [snowhouse] Update library to 3.1.1 + +- spectra `0.8.0` -> `0.8.1` + - [(#7803)](https://github.com/microsoft/vcpkg/pull/7803) [spectra] Update library to 0.8.1 + +- spirv-cross `2019-05-09` -> `2019-07-26` + - [(#7802)](https://github.com/microsoft/vcpkg/pull/7802) [spirv-cross] Update library to 2019-07-26 + +- libmodbus `3.1.4-3` -> `3.1.6` + - [(#7834)](https://github.com/microsoft/vcpkg/pull/7834) [libmodbus] Update library to 3.1.6 + +- basisu `0.0.1-1` -> `1.11-1` + - [(#7836)](https://github.com/microsoft/vcpkg/pull/7836) [basisu] fix vcpkg version, merge upstream fixes + +- range-v3 `0.5.0` -> `0.9.0-20190822` + - [(#7845)](https://github.com/microsoft/vcpkg/pull/7845) Update range-v3 reference + +- cryptopp `8.1.0-2` -> `8.2.0` + - [(#7854)](https://github.com/microsoft/vcpkg/pull/7854) [cryptopp] Update library to 8.2.0 + +- lz4 `1.9.1-2` -> `1.9.2` + - [(#7860)](https://github.com/microsoft/vcpkg/pull/7860) [lz4] Update library to 1.9.2 + +- wxwidgets `3.1.2-1` -> `3.1.2-2` + - [(#7833)](https://github.com/microsoft/vcpkg/pull/7833) [wxwidgets] Windows ARM support + +- args `2019-05-01` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- asmjit `2019-03-29` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- aws-c-common `0.3.11-1` -> `0.4.1` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- aws-sdk-cpp `1.7.116` -> `1.7.142` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- bitsery `4.6.0` -> `5.0.0` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- botan `2.9.0-2` -> `2.11.0` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- breakpad `2019-05-08` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- chipmunk `7.0.2` -> `7.0.3` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- console-bridge `0.3.2-4` -> `0.4.3-1` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- coroutine `1.4.1-1` -> `1.4.3` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- crc32c `1.0.7-1` -> `1.1.0` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- exprtk `2019-03-29` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- fastcdr `1.0.9-1` -> `1.0.10` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + - [(#7862)](https://github.com/microsoft/vcpkg/pull/7862) [fastcdr] Update library 1.0.10 + +- fizz `2019.05.20.00-1` -> `2019.07.08.00` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- folly `2019.05.20.00-1` -> `2019.06.17.00` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- glad `0.1.30` -> `0.1.31` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- gmmlib `19.1.2` -> `19.2.3` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- graphite2 `1.3.12-1` -> `1.3.13` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- grpc `1.21.1-1` -> `1.22.0` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- io2d `0.1-2` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- libarchive `3.3.3-3` -> `3.4.0` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- libpqxx `6.4.4` -> `6.4.5` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- libssh2 `1.8.2` -> `1.9.0` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- libuv `1.29.1` -> `1.30.1` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- luabridge `2.3.1` -> `2.3.2` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- matio `1.5.15` -> `1.5.16` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- mosquitto `1.6.2-2` -> `1.6.3` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- ms-gsl `2019-04-19` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- nmslib `1.7.3.6-1` -> `1.8.1` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- nuklear `2019-03-29` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- openvr `1.4.18` -> `1.5.17` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- orc `1.5.5-1` -> `1.5.6` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + - [(#7908)](https://github.com/microsoft/vcpkg/pull/7908) Add homepage for orc + +- parson `2019-04-19` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- piex `2018-03-13-1` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- ptex `2.1.28-1` -> `2.3.2` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- pybind11 `2.2.4` -> `2.3.0` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- rs-core-lib `2019-05-07` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- shogun `6.1.3-3` -> `6.1.4` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- stb `2019-05-07` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- taocpp-json `2019-05-08` -> `2019-07-11` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- tbb `2019_U7-1` -> `2019_U8` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- telnetpp `1.2.4-1` -> `2.0` + - [(#7217)](https://github.com/microsoft/vcpkg/pull/7217) [many ports] Updates 2019.07.09 + +- blaze `3.5` -> `3.6` + - [(#7878)](https://github.com/microsoft/vcpkg/pull/7878) [blaze] Update to Blaze 3.6 + +- glfw3 `3.3-1` -> `3.3-2` + - [(#7885)](https://github.com/microsoft/vcpkg/pull/7885) [glfw3] Add more information about installing dependencies. + +- fmt `5.3.0-2` -> `6.0.0` + - [(#7910)](https://github.com/microsoft/vcpkg/pull/7910) [fmt] Update to 6.0.0 + - [(#7884)](https://github.com/microsoft/vcpkg/pull/7884) [fmt] missing VCPKG_BUILD_TYPE support added + +- magic-enum `2019-06-07` -> `0.6.0` + - [(#7916)](https://github.com/microsoft/vcpkg/pull/7916) [magic-enum] Update to v0.6.0 + +- liblsl `1.13.0-b6` -> `1.13.0-b11-1` + - [(#7906)](https://github.com/microsoft/vcpkg/pull/7906) [liblsl] Update library to 1.13.0-b11 + - [(#7945)](https://github.com/microsoft/vcpkg/pull/7945) [liblsl] Fix installation + +- yaml-cpp `0.6.2-2` -> `0.6.2-3` + - [(#7847)](https://github.com/microsoft/vcpkg/pull/7847) [yaml-cpp] Fix include path in yaml-cpp-config.cmake + +- fluidsynth `2.0.5` -> `2.0.5-1` + - [(#7837)](https://github.com/microsoft/vcpkg/pull/7837) [fluidsynth] add Windows ARM support + +- nmap `7.70` -> `7.70-1` + - [(#7811)](https://github.com/microsoft/vcpkg/pull/7811) [nmap] Fix build error. + +- moos-ui `10.0.1-1` -> `10.0.1-2` + - [(#7812)](https://github.com/microsoft/vcpkg/pull/7812) [moos-ui] Fix install path + +- openni2 `2.2.0.33-9` -> `2.2.0.33-10` + - [(#7809)](https://github.com/microsoft/vcpkg/pull/7809) [openni2] Add warning message when cannot find NETFXSDK. + +- abseil `2019-05-08` -> `2019-05-08-1` + - [(#7745)](https://github.com/microsoft/vcpkg/pull/7745) [abseil] fix cmake config issue + +- libwebp `1.0.2-6` -> `1.0.2-7` + - [(#7886)](https://github.com/microsoft/vcpkg/pull/7886) [libwebp] Fix two dependent windows library link conditions. + +- wpilib `2019.5.1` -> `2019.6.1` + - [(#7927)](https://github.com/microsoft/vcpkg/pull/7927) [wpilib] Update wpilib port to allow opencv4 + +- ogdf `2018-03-28-2` -> `2019-08-23` + - [(#7846)](https://github.com/microsoft/vcpkg/pull/7846) [ogdf] Update source link + +- libp7client `5.2` -> `5.2-1` + - [(#7977)](https://github.com/microsoft/vcpkg/pull/7977) [libp7client] Rename port folder to lowercase + +- libpng `1.6.37-2` -> `1.6.37-3` + - [(#7972)](https://github.com/microsoft/vcpkg/pull/7972) [libpng] Fix find_package() in CONFIG mode (#7968) + +- openblas `0.3.6-5` -> `0.3.6-6` + - [(#7888)](https://github.com/microsoft/vcpkg/pull/7888) [openblas] Enable x86 build and fix usage errors. + +- qt5-base `5.12.3-3` -> `5.12.3-4` + - [(#7973)](https://github.com/microsoft/vcpkg/pull/7973) [Qt5] Fix libpq linkage in wrapper + +- liblas `1.8.1` -> `1.8.1-2` + - [(#7975)](https://github.com/microsoft/vcpkg/pull/7975) [liblas] Fix Geotiff linkage + +- glib `2.52.3-14-2` -> `2.52.3-14-3` + - [(#7963)](https://github.com/microsoft/vcpkg/pull/7963) [glib] Fix install config.h + +
+ +-- vcpkg team vcpkg@microsoft.com THU, 04 Sept 14:00:00 -0800 + +vcpkg (2019.7.31) +--- +#### Total port count: 1105 +#### Total port count per triplet (tested): +|triplet|ports available| +|---|---| +|**x64-windows**|1039| +|x86-windows|1009| +|x64-windows-static|928| +|**x64-linux**|866| +|**x64-osx**|788| +|arm64-windows|678| +|x64-uwp|546| +|arm-uwp|522| + +#### The following commands and options have been updated: +- --scripts-root ***[NEW OPTION]*** + - Specify a directory to use in place of `/scripts`. Enables a shared script directory for those using a single vcpkg instance to manage distributed port directories + - [(#6552)](https://github.com/microsoft/vcpkg/pull/6552) Allow redirection of the scripts folder. +- depend-info + - Allow `vcpkg depend-info port[feature]` to display port-dependency information for a given port and the specified feature. + - [(#6797)](https://github.com/microsoft/vcpkg/pull/6797) Make `depend-info` subcommand able to handle features + +#### The following documentation has been updated: +- [Overlay triplets example: build dynamic libraries on Linux](docs/examples/overlay-triplets-linux-dynamic.md) ***[NEW]*** + - [(#7291)](https://github.com/microsoft/vcpkg/pull/7291) Example: Building dynamic libraries on Linux using overlay triplets +- [vcpkg_from_git](docs/maintainers/vcpkg_from_git.md) + - [(#7082)](https://github.com/microsoft/vcpkg/pull/7082) Fix vcpkg_from_git +- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) + - [(#7390)](https://github.com/microsoft/vcpkg/pull/7390) [docs] add notes about manual-link + +#### The following *remarkable* changes have been made to vcpkg's infrastructure: +- `VCPKG_ENV_PASSTHROUGH` triplet variable and `environment-overrides.cmake` + - Port authors can add an `environment-overrides.cmake` file to a port to override triplet settings globally or to define behavior of the vpckg binary on a per port basis + - [(#7290)](https://github.com/microsoft/vcpkg/pull/7290) [vcpkg] Environment Variable Passthrough + - [(#7292)](https://github.com/microsoft/vcpkg/pull/7292) [vcpkg] Portfile Settings +- Testing overhaul + - Tests have been migrated from the Visual Studio unit testing framework to the cross-platform [Catch2](https://github.com/catchorg/Catch2) + - [(#7315)](https://github.com/microsoft/vcpkg/pull/7315) Rewrite the tests! now they're cross-platform! + +#### The following *additional* changes have been made to vcpkg's infrastructure: +- [(#7080)](https://github.com/microsoft/vcpkg/pull/7080) [vcpkg] Use spaces instead of semicolons in the output +- [(#6791)](https://github.com/microsoft/vcpkg/pull/6791) Update python2, python3, perl, aria2, ninja, ruby, 7z +- [(#7082)](https://github.com/microsoft/vcpkg/pull/7082) Fix vcpkg_from_git +- [(#7117)](https://github.com/microsoft/vcpkg/pull/7117) Revert Visual Studio projects versions +- [(#7051)](https://github.com/microsoft/vcpkg/pull/7051) Fix Python3 tool on Windows +- [(#7135)](https://github.com/microsoft/vcpkg/pull/7135) revert ninja update +- [(#7136)](https://github.com/microsoft/vcpkg/pull/7136) Bump version to warn of outdated vcpkg sources +- [(#7094)](https://github.com/microsoft/vcpkg/pull/7094) [vcpkg] Fix powershell font corruption bug +- [(#7158)](https://github.com/microsoft/vcpkg/pull/7158) [vcpkg] Fix incorrect setting of FEATURE_OPTIONS +- [(#6792)](https://github.com/microsoft/vcpkg/pull/6792) Cleanup vcpkg_configure_cmake.cmake +- [(#7175)](https://github.com/microsoft/vcpkg/pull/7175) Added nasm mirror as nasm.us is down again +- [(#7216)](https://github.com/microsoft/vcpkg/pull/7216) [vcpkg] allow spaces in pathname on linux +- [(#7243)](https://github.com/microsoft/vcpkg/pull/7243) Testing for --overlay-ports and --overlay-triplets args +- [(#7294)](https://github.com/microsoft/vcpkg/pull/7294) Add June changelog +- [(#7229)](https://github.com/microsoft/vcpkg/pull/7229) Better error message when VCPKG_ROOT is independently defined +- [(#7336)](https://github.com/microsoft/vcpkg/pull/7336) Create issue templates +- [(#7322)](https://github.com/microsoft/vcpkg/pull/7322) Resolves "project is never up-to-date" problem (issue 6179) +- [(#7228)](https://github.com/microsoft/vcpkg/pull/7228) Parallel file operations +- [(#7403)](https://github.com/microsoft/vcpkg/pull/7403) Add third party notices -- copied from chakracore +- [(#7407)](https://github.com/microsoft/vcpkg/pull/7407) Modify CMakeLists to split up vcpkglib +- [(#7430)](https://github.com/microsoft/vcpkg/pull/7430) [vcpkg] Fix RealFilesystem::remove_all + +
+The following 37 ports have been added: + +|port|version| +|---|---| +|[septag-sx](https://github.com/microsoft/vcpkg/pull/6327)| 2019-05-07-1 +|[librdkafka](https://github.com/microsoft/vcpkg/pull/5921)| 1.1.0 +|[soxr](https://github.com/microsoft/vcpkg/pull/6478)| 0.1.3. +|[czmq](https://github.com/microsoft/vcpkg/pull/4979)[#7186](https://github.com/microsoft/vcpkg/pull/7186) | 2019-06-10-1 +|[cppmicroservices](https://github.com/microsoft/vcpkg/pull/6388)| 4.0.0-pre1 +|[zookeeper](https://github.com/microsoft/vcpkg/pull/7000)| 3.5.5 +|[xmlsec](https://github.com/microsoft/vcpkg/pull/7196)| 1.2.28 +|[librsvg](https://github.com/microsoft/vcpkg/pull/6807)| 2.40.20 +|[7zip](https://github.com/microsoft/vcpkg/pull/6920)| 19.00 +|[genann](https://github.com/microsoft/vcpkg/pull/7195)| 2019-07-10 +|[offscale-libetcd-cpp](https://github.com/microsoft/vcpkg/pull/6999)| 2019-07-10 +|[rabit](https://github.com/microsoft/vcpkg/pull/7234)| 0.1 +|[zyre](https://github.com/microsoft/vcpkg/pull/7189)| 2019-07-07 +|[cpp-peglib](https://github.com/microsoft/vcpkg/pull/7254)| 0.1.0 +|[paho-mqttpp3](https://github.com/microsoft/vcpkg/pull/7033)| 1.0.1 +|[openxr-loader](https://github.com/microsoft/vcpkg/pull/6339)[#7376](https://github.com/microsoft/vcpkg/pull/7376) [#7488](https://github.com/microsoft/vcpkg/pull/7488) | 1.0.0-1 +|[wintoast](https://github.com/microsoft/vcpkg/pull/7006)| 1.2.0 +|[scnlib](https://github.com/microsoft/vcpkg/pull/7014)| 0.1.2 +|[mongoose](https://github.com/microsoft/vcpkg/pull/7089)| 6.15-1 +|[nameof](https://github.com/microsoft/vcpkg/pull/7250)| 2019-07-13 +|[leaf](https://github.com/microsoft/vcpkg/pull/7319)[#7468](https://github.com/microsoft/vcpkg/pull/7468) | 0.2.1-2 +|[otl](https://github.com/microsoft/vcpkg/pull/7272)| 4.0.442 +|[dbg-macro](https://github.com/microsoft/vcpkg/pull/7237)| 2019-07-11 +|[p-ranav-csv](https://github.com/microsoft/vcpkg/pull/7236)| 2019-07-11 +|[lastools](https://github.com/microsoft/vcpkg/pull/7220)| 2019-07-10 +|[basisu](https://github.com/microsoft/vcpkg/pull/6995)[#7468](https://github.com/microsoft/vcpkg/pull/7468) | 0.0.1-1 +|[cmcstl2](https://github.com/microsoft/vcpkg/pull/7348)| 2019-07-20 +|[libconfuse](https://github.com/microsoft/vcpkg/pull/7252)| 2019-07-14 +|[boolinq](https://github.com/microsoft/vcpkg/pull/7362)| 2019-07-22 +|[libzippp](https://github.com/microsoft/vcpkg/pull/6801)| 2019-07-22 +|[mimalloc](https://github.com/microsoft/vcpkg/pull/7011)| 2019-06-25 +|[liblas](https://github.com/microsoft/vcpkg/pull/6746)| 1.8.1 +|[xtensor-io](https://github.com/microsoft/vcpkg/pull/7398)| 0.7.0 +|[easycl](https://github.com/microsoft/vcpkg/pull/7387)| 0.3 +|[nngpp](https://github.com/microsoft/vcpkg/pull/7417)| 2019-07-25 +|[mpi](https://github.com/microsoft/vcpkg/pull/7142)| 1 +|[openmpi](https://github.com/microsoft/vcpkg/pull/7142)| 4.0.1 +
+ +
+The following 160 ports have been updated: + +- openssl-unix `1.0.2q` -> `1.0.2s-1` + - [(#6854)](https://github.com/microsoft/vcpkg/pull/6854) Openssl version bump 1.0.2s + - [(#6512)](https://github.com/microsoft/vcpkg/pull/6512) [openssl-unix] Shared library support + +- openssl-windows `1.0.2q-2` -> `1.0.2s-1` + - [(#6854)](https://github.com/microsoft/vcpkg/pull/6854) Openssl version bump 1.0.2s + +- mongo-cxx-driver `3.4.0-2` -> `3.4.0-3` + - [(#7050)](https://github.com/microsoft/vcpkg/pull/7050) [mongo-cxx-driver] Do not delete the third_party include folder when building with mnmlstc + +- fdlibm `5.3-3` -> `5.3-4` + - [(#7082)](https://github.com/microsoft/vcpkg/pull/7082) Fix vcpkg_from_git + +- azure-iot-sdk-c `2019-05-16.1` -> `2019-07-01.1` + - [(#7123)](https://github.com/microsoft/vcpkg/pull/7123) [azure] Update azure-iot-sdk-c for public-preview release of 2019-07-01 + +- open62541 `0.3.0-1` -> `0.3.0-2` + - [(#7051)](https://github.com/microsoft/vcpkg/pull/7051) Fix Python3 tool on Windows + +- lua `5.3.5-1` -> `5.3.5-2` + - [(#7101)](https://github.com/microsoft/vcpkg/pull/7101) [lua] Add [cpp] feature to additionally build lua-c++ + +- flann `1.9.1-1` -> `2019-04-07-1` + - [(#7125)](https://github.com/microsoft/vcpkg/pull/7125) [flann]Change the version tag to the corresponding time of commit id. + +- tbb `2019_U7` -> `2019_U7-1` + - [(#6510)](https://github.com/microsoft/vcpkg/pull/6510) [tbb] Add shared library support for Linux and OSX + +- dcmtk `3.6.4` -> `3.6.4-1` + - [(#7059)](https://github.com/microsoft/vcpkg/pull/7059) [dcmtk] support wchar_t* filename + +- libmupdf `1.15.0` -> `1.15.0-1` + - [(#7107)](https://github.com/microsoft/vcpkg/pull/7107) [libmupdf] Enable the old patch for fixing C2169 + +- mongo-c-driver `1.14.0-2` -> `1.14.0-3` + - [(#7048)](https://github.com/microsoft/vcpkg/pull/7048) [mongo-c-driver] Add usage + - [(#7338)](https://github.com/microsoft/vcpkg/pull/7338) [mongo-c-driver] Disable snappy auto-detection + +- openimageio `1.8.16` -> `2.0.8` + - [(#7173)](https://github.com/microsoft/vcpkg/pull/7173) [openimageio] Upgrade to version 2.0.8 + +- duktape `2.3.0` -> `2.3.0-2` + - [(#7170)](https://github.com/microsoft/vcpkg/pull/7170) [duktape] Fix package not found by find_package. + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- poco `2.0.0-pre-2` -> `2.0.0-pre-3` + - [(#7169)](https://github.com/microsoft/vcpkg/pull/7169) [Poco] Add missing ipjlpapi.lib to foundation library + +- gsoap `2.8.84-1` -> `2.8.87-1` + - [(#7145)](https://github.com/microsoft/vcpkg/pull/7145) [gsoap] Update to 2.8.87 + +- qt5-mqtt `5.12.3` -> `5.12.3-1` + - [(#7130)](https://github.com/microsoft/vcpkg/pull/7130) [qt5-mqtt] crossplatform add to path + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- botan `2.9.0-1` -> `2.9.0-2` + - [(#7140)](https://github.com/microsoft/vcpkg/pull/7140) [botan] Fix build error C2039 with Visual Studio 2019 and C++17 + - [(#7303)](https://github.com/microsoft/vcpkg/pull/7303) [botan] Fix parallel build + +- kinectsdk2 `2.0` -> `2.0-1` + - [(#7143)](https://github.com/microsoft/vcpkg/pull/7143) kinectsdk2: fix missing header files + +- civetweb `1.11-1` -> `2019-07-05` + - [(#7166)](https://github.com/microsoft/vcpkg/pull/7166) [civetweb] Upgrade and enable feature websocket + +- curl `7.65.0-2` -> `7.65.2-1` + - [(#7156)](https://github.com/microsoft/vcpkg/pull/7156) [curl] Add features. + - [(#7093)](https://github.com/microsoft/vcpkg/pull/7093) [curl] Update to 7.65.2 + +- aws-checksums `0.1.2` -> `0.1.3` + - [(#7154)](https://github.com/microsoft/vcpkg/pull/7154) [aws-checksums]Upgrade version to 0.1.3 + +- rapidjson `1.1.0-3` -> `d87b698-1` + - [(#7152)](https://github.com/microsoft/vcpkg/pull/7152) [rapidjson] Update to the latest commit and also fix #3401. + - [(#7273)](https://github.com/microsoft/vcpkg/pull/7273) [rapidjson] Fix path RapidJSON_INCLUDE_DIRS + +- freetype `2.10.0` -> `2.10.1-1` + - [(#7141)](https://github.com/microsoft/vcpkg/pull/7141) [freetype]Re-fixed the issue of exporting symbols when building dynamic library. + - [(#7341)](https://github.com/microsoft/vcpkg/pull/7341) [freetype] Update to 2.10.1 + +- llvm `7.0.0-3` -> `8.0.0` + - [(#7209)](https://github.com/microsoft/vcpkg/pull/7209) [llvm] Update to 8.0.0 + +- reproc `6.0.0-1` -> `6.0.0-2` + - [(#7208)](https://github.com/microsoft/vcpkg/pull/7208) [reproc] Fix reproc++ installation path + +- wil `2019-06-10` -> `2019-07-16` + - [(#7215)](https://github.com/microsoft/vcpkg/pull/7215) [wil] Update + - [(#7285)](https://github.com/microsoft/vcpkg/pull/7285) Update wil port to match the commit used for NuGet package 1.0.190716.2 + +- tesseract `4.0.0-3` -> `4.1.0-1` + - [(#7144)](https://github.com/microsoft/vcpkg/pull/7144) [tesseract] Fix Port. Making it crossplatform + - [(#7227)](https://github.com/microsoft/vcpkg/pull/7227) [tesseract] port update to 4.1.0 release + - [(#7360)](https://github.com/microsoft/vcpkg/pull/7360) [tesseract[training_tools]] Fix build error + +- zeromq `2019-05-07` -> `2019-07-09` + - [(#7203)](https://github.com/microsoft/vcpkg/pull/7203) [zeromq] Update to 4.3.2 + +- spirv-tools `2019.3-dev` -> `2019.3-dev-1` + - [(#7204)](https://github.com/microsoft/vcpkg/pull/7204) [spirv-tools] Fix removed patch + +- libraqm `0.6.0` -> `0.7.0` + - [(#7149)](https://github.com/microsoft/vcpkg/pull/7149) [libraqm] Update libraqm to 0.7.0 + - [(#7263)](https://github.com/microsoft/vcpkg/pull/7263) [libraqm] Fix copying raqm-version.h to include directory + +- pthreads `3.0.0-1` -> `3.0.0-2` + - [(#7178)](https://github.com/microsoft/vcpkg/pull/7178) [pthreads4W] vcpkg wrapper fixes + +- libkml `1.3.0-2` -> `1.3.0-3` + - [(#7194)](https://github.com/microsoft/vcpkg/pull/7194) [libkml] Fix install path + - [(#7282)](https://github.com/microsoft/vcpkg/pull/7282) [minizip] Make BZip2 an optional feature + +- gherkin-c `4.1.2` -> `2019-10-07-1` + - [(#7231)](https://github.com/microsoft/vcpkg/pull/7231) [gherkin-b] update to latest + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- google-cloud-cpp `0.10.0` -> `0.11.0` + - [(#7134)](https://github.com/microsoft/vcpkg/pull/7134) Upgrade google-cloud-cpp to v0.11.0. + +- sqlite3 `3.28.0-1` -> `3.29.0-1` + - [(#7202)](https://github.com/microsoft/vcpkg/pull/7202) [sqlite3-tool]Fix build error on arm/uwp platform. + - [(#7342)](https://github.com/microsoft/vcpkg/pull/7342) [sqlite3] Update to 3.29.0 + +- nonius `2019-04-20` -> `2019-04-20-1` + - [(#7258)](https://github.com/microsoft/vcpkg/pull/7258) [nonius] properly install noniusConfig.cmake + +- leveldb `1.22` -> `1.22-1` + - [(#7245)](https://github.com/microsoft/vcpkg/pull/7245) [leveldb] Fix cmake config + +- bond `8.1.0` -> `8.1.0-2` + - [(#7273)](https://github.com/microsoft/vcpkg/pull/7273) [rapidjson] Fix path RapidJSON_INCLUDE_DIRS + - [(#7306)](https://github.com/microsoft/vcpkg/pull/7306) [bond] make haskell an external dependency + - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port + +- cpprestsdk `2.10.13-1` -> `2.10.14` + - [(#7286)](https://github.com/microsoft/vcpkg/pull/7286) Update cpprestsdk to v2.10.14. + +- qt5-base `5.12.3-1` -> `5.12.3-3` + - [(#6983)](https://github.com/microsoft/vcpkg/pull/6983) [qt5-base]Add a print message to inform the user to install the dependency package. + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-3d `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-activeqt `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-charts `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-connectivity `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-datavis3d `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-declarative `5.12.3-1` -> `5.12.3-2` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-gamepad `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-graphicaleffects `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-imageformats `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-location `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-macextras `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-modularscripts `2019-04-30` -> `2019-04-30-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-multimedia `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-networkauth `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-purchasing `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-quickcontrols `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-quickcontrols2 `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-remoteobjects `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-script `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-scxml `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-sensors `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-serialport `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-speech `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-svg `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-tools `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-virtualkeyboard `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-webchannel `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-websockets `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-webview `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- qt5-winextras `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + - [(#7298)](https://github.com/microsoft/vcpkg/pull/7298) [qt5-winextras, ecsutil, soundtouch] Fix build-depends + +- qt5-xmlpatterns `5.12.3` -> `5.12.3-1` + - [(#7230)](https://github.com/microsoft/vcpkg/pull/7230) [qt5]Fix build failure in linux + +- rocksdb `6.0.2` -> `6.1.2` + - [(#7304)](https://github.com/microsoft/vcpkg/pull/7304) [rocksdb] Update rocksdb to 6.1.2, adds optional zstd feature + +- metis `5.1.0-3` -> `5.1.0-5` + - [(#7299)](https://github.com/microsoft/vcpkg/pull/7299) [metis] Fix linux build error. + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- ecsutil `1.0.6.1` -> `1.0.7.2` + - [(#7298)](https://github.com/microsoft/vcpkg/pull/7298) [qt5-winextras, ecsutil, soundtouch] Fix build-depends + - [(#7427)](https://github.com/microsoft/vcpkg/pull/7427) [ECSUtil] update library to v1.0.7.2 + +- soundtouch `2.0.0-2` -> `2.0.0-3` + - [(#7298)](https://github.com/microsoft/vcpkg/pull/7298) [qt5-winextras, ecsutil, soundtouch] Fix build-depends + +- libsodium `1.0.18` -> `1.0.18-1` + - [(#7297)](https://github.com/microsoft/vcpkg/pull/7297) [libsodium] Fix Linux build error. + +- irrlicht `1.8.4` -> `1.8.4-2` + - [(#7296)](https://github.com/microsoft/vcpkg/pull/7296) [irrlicht] add vcpkg-cmake-wrapper + - [(#7354)](https://github.com/microsoft/vcpkg/pull/7354) [irrlicht] use unicode path on windows + +- libyaml `0.2.2` -> `0.2.2-1` + - [(#7277)](https://github.com/microsoft/vcpkg/pull/7277) [libyaml] Fix build error + +- eastl `3.13.05-1` -> `3.14.00` + - [(#7276)](https://github.com/microsoft/vcpkg/pull/7276) [eastl] Upgrade to 3.14 + +- boost-asio `1.70.0-1` -> `1.70.0-2` + - [(#7267)](https://github.com/microsoft/vcpkg/pull/7267) Fixed boost-asio on Windows + +- minizip `1.2.11-4` -> `1.2.11-5` + - [(#7282)](https://github.com/microsoft/vcpkg/pull/7282) [minizip] Make BZip2 an optional feature + +- blend2d `beta_2019-04-30` -> `beta_2019-07-16` + - [(#7239)](https://github.com/microsoft/vcpkg/pull/7239) [blend2d] Port update + +- so5extra `1.2.3-1` -> `1.3.1` + - [(#7238)](https://github.com/microsoft/vcpkg/pull/7238) [sobjectizer, so5extra] updates + +- sobjectizer `5.5.24.4-1` -> `5.6.0.2` + - [(#7238)](https://github.com/microsoft/vcpkg/pull/7238) [sobjectizer, so5extra] updates + +- directxtk `apr2019` -> `apr2019-1` + - [(#7233)](https://github.com/microsoft/vcpkg/pull/7233) [DirectXTK] Fix UWP build error + +- restbed `4.16-07-28-2018` -> `4.16-07-28-2018-1` + - [(#7232)](https://github.com/microsoft/vcpkg/pull/7232) [restbed] Add openssl feature + +- clapack `3.2.1-9` -> `3.2.1-10` + - [(#6786)](https://github.com/microsoft/vcpkg/pull/6786) [openblas/clapack] FindLapack/FindBLAS was not working. + +- geogram `1.6.9-6` -> `1.6.9-7` + - [(#6786)](https://github.com/microsoft/vcpkg/pull/6786) [openblas/clapack] FindLapack/FindBLAS was not working. + +- mlpack `3.1.1` -> `3.1.1-1` + - [(#6786)](https://github.com/microsoft/vcpkg/pull/6786) [openblas/clapack] FindLapack/FindBLAS was not working. + +- openblas `0.3.6-4` -> `0.3.6-5` + - [(#6786)](https://github.com/microsoft/vcpkg/pull/6786) [openblas/clapack] FindLapack/FindBLAS was not working. + +- pprint `2019-06-01` -> `2019-07-19` + - [(#7317)](https://github.com/microsoft/vcpkg/pull/7317) [pprint] Fix #7301 + +- boost-type-erasure `1.70.0` -> `1.70.0-1` + - [(#7325)](https://github.com/microsoft/vcpkg/pull/7325) [boost-type-erasure] fix depends on arm + +- armadillo `2019-04-16-3` -> `2019-04-16-4` + - [(#7041)](https://github.com/microsoft/vcpkg/pull/7041) [armadillo] Fix installation path + +- cutelyst2 `2.7.0` -> `2.8.0` + - [(#7327)](https://github.com/microsoft/vcpkg/pull/7327) [cutelyst2]Upgrade version to 2.8.0 + +- sdl2-image `2.0.4-3` -> `2.0.5` + - [(#7355)](https://github.com/microsoft/vcpkg/pull/7355) [sdl2-image] Updated to 2.0.5 + +- qhull `7.2.1-3` -> `7.3.2` + - [(#7340)](https://github.com/microsoft/vcpkg/pull/7340) [qhull] Update to 7.3.2 and fix postbuild validation + +- libexif `0.6.21-1` -> `0.6.21-2` + - [(#7344)](https://github.com/microsoft/vcpkg/pull/7344) [Libexif] update download location + +- arrow `0.13.0-4` -> `0.14.1` + - [(#7211)](https://github.com/microsoft/vcpkg/pull/7211) [Arrow] Update to Arrow v0.14.1 + +- date `ed0368f` -> `2019-05-18-1` + - [(#7399)](https://github.com/microsoft/vcpkg/pull/7399) [date] Fix issue with feature remote-api + +- libmariadb `3.0.10-1` -> `3.0.10-3` + - [(#7396)](https://github.com/microsoft/vcpkg/pull/7396) [libmariadb] Fix build library type and install path + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- inja `2.1.0` -> `2.1.0-1` + - [(#7402)](https://github.com/microsoft/vcpkg/pull/7402) [inja] Use inja CMakeLists.txt + +- pcl `1.9.1-4` -> `1.9.1-5` + - [(#7388)](https://github.com/microsoft/vcpkg/pull/7388) [pcl] Fix cuda building compatability issues with cuda 10.1 + +- thrift `2019-05-07-2` -> `2019-05-07-3` + - [(#7302)](https://github.com/microsoft/vcpkg/pull/7302) [Thrift] Make Thrift static again + +- forest `12.0.0` -> `12.0.3` + - [(#7410)](https://github.com/microsoft/vcpkg/pull/7410) [forest] Update to Version 12.0.3 + +- nlohmann-json `3.6.1` -> `3.7.0` + - [(#7459)](https://github.com/microsoft/vcpkg/pull/7459) [nlohmann-json] Update to 3.7.0 + +- ecm `5.58.0` -> `5.60.0-1` + - [(#7457)](https://github.com/microsoft/vcpkg/pull/7457) [ecm] Update library to v5.60.0 + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- gl2ps `1.4.0-1` -> `1.4.0-3` + - [(#7453)](https://github.com/microsoft/vcpkg/pull/7453) [gl2ps]Update to use vcpkg new functions(vcpkg_from_gitlab). + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- darknet `0.2.5-4` -> `0.2.5-5` + - [(#7450)](https://github.com/microsoft/vcpkg/pull/7450) [darknet] add training feature + +- g3log `2019-05-14-1` -> `2019-07-29` + - [(#7448)](https://github.com/microsoft/vcpkg/pull/7448) [g3log] Fix https://github.com/KjellKod/g3log/issues/319 + +- azure-storage-cpp `6.1.0` -> `6.1.0-2` + - [(#7404)](https://github.com/microsoft/vcpkg/pull/7404) [azure-storage-cpp] Removed gcov dependency in debug Linux build (#7311) + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- ace `6.5.5-1` -> `6.5.6` + - [(#7466)](https://github.com/microsoft/vcpkg/pull/7466) [ace] ace 6.5.6 + +- bullet3 `2.88` -> `2.88-1` + - [(#7474)](https://github.com/microsoft/vcpkg/pull/7474) [Bullet3] feature for multithreading + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- alembic `1.7.11-2` -> `1.7.11-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- ampl-mp `2019-03-21` -> `2019-03-21-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- anax `2.1.0-5` -> `2.1.0-6` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- apr `1.6.5-1` -> `1.6.5-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- blosc `1.16.3-1` -> `1.16.3-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- capnproto `0.7.0-2` -> `0.7.0-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- cgicc `3.2.19-1` -> `3.2.19-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- charls `2.0.0-1` -> `2.0.0-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- collada-dom `2.5.0-1` -> `2.5.0-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- ctemplate `2017-06-23-44b7c5-3` -> `2017-06-23-44b7c5-4` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- dlfcn-win32 `1.1.1-1` -> `1.1.1-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- easyloggingpp `9.96.7` -> `9.96.7-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- fastfeat `391d5e9` -> `391d5e9-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- fastlz `1.0-2` -> `1.0-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- freeglut `3.0.0-6` -> `3.0.0-7` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- glbinding `3.1.0-1` -> `3.1.0-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- glew `2.1.0-4` -> `2.1.0-5` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- glfw3 `3.3` -> `3.3-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- graphicsmagick `1.3.32` -> `1.3.32-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- hypre `2.11.2-1` -> `2.11.2-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port + +- jack2 `1.9.12-1` -> `1.9.12-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- jxrlib `1.1-7` -> `1.1-8` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- kangaru `4.1.3-1` -> `4.1.3-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libconfig `1.7.2` -> `1.7.2-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libfreenect2 `0.2.0-2` -> `0.2.0-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libmad `0.15.1-2` -> `0.15.1-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libmspack `0.10.1` -> `0.10.1-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libnice `0.1.15` -> `0.1.15-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libodb-boost `2.4.0-2` -> `2.4.0-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libodb-mysql `2.4.0-2` -> `2.4.0-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libodb-pgsql `2.4.0-2` -> `2.4.0-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libodb-sqlite `2.4.0-3` -> `2.4.0-4` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libodb `2.4.0-4` -> `2.4.0-5` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- librabbitmq `0.9.0` -> `0.9.0-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libsamplerate `0.1.9.0` -> `0.1.9.0-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- libwebsockets `3.1.0-2` -> `3.1.0-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- lmdb `0.9.23-1` -> `0.9.23-2` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- mozjpeg `3.2-2` -> `3.2-3` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- nanodbc `2.12.4-3` -> `2.12.4-4` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- nmslib `1.7.3.6` -> `1.7.3.6-1` + - [(#7468)](https://github.com/microsoft/vcpkg/pull/7468) Add PREFER_NINJA to many ports + +- amqpcpp `4.1.4` -> `4.1.5` + - [(#7475)](https://github.com/microsoft/vcpkg/pull/7475) [amqpcpp] Update library to v4.1.5 + +- cxxopts `2.1.2-1` -> `2.2.0` + - [(#7473)](https://github.com/microsoft/vcpkg/pull/7473) [cxxopts] Bumped to v2.2.0 + +- boost-mpi `1.70.0-1` -> `1.70.0-2` + - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port + +- hdf5 `1.10.5-7` -> `1.10.5-8` + - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port + +- kealib `1.4.11` -> `1.4.11-1` + - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port + +- parmetis `4.0.3-2` -> `4.0.3-3` + - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port + +- vtk `8.2.0-4` -> `8.2.0-5` + - [(#7142)](https://github.com/microsoft/vcpkg/pull/7142) [OpenMPI] add a new port + +
+ +-- vcpkg team vcpkg@microsoft.com THU, 01 Aug 07:00:00 -0800 + +vcpkg (2019.6.30) +--- +#### Total port count: 1068 +#### Total port count per triplet (tested): +|triplet|ports available| +|---|---| +|**x64-windows**|1006| +|x86-windows|977| +|x64-windows-static|895| +|**x64-osx**|755| +|**x64-linux**|823| +|arm64-windows|654| +|x64-uwp|532| +|arm-uwp|504| + +#### The following commands and options have been updated: +- [--overlay-ports](docs/specifications/ports-overlay.md) ***[NEW OPTION]*** + - Specify directories to be used when searching for ports + - [(#6981)](https://github.com/Microsoft/vcpkg/pull/6981) Ports Overlay partial implementation + - [(#7002)](https://github.com/Microsoft/vcpkg/pull/7002) [--overlay-ports] Show location of overriden ports during install plan +- --overlay-triplets ***[NEW OPTION]*** + - Specify directories containing triplets files + - [(#7053)](https://github.com/Microsoft/vcpkg/pull/7053) Triplets Overlay Implementation +- integrate + - [(#7095)](https://github.com/Microsoft/vcpkg/pull/7095) [vcpkg-integrate] Improve spelling, help, and autocomplete. + +#### The following documentation has been updated: +- [Maintainer Guidelines and Policies](docs/maintainers/maintainer-guide.md) ***[NEW]*** + - [(#6871)](https://github.com/Microsoft/vcpkg/pull/6871) [docs] Add maintainer guidelines +- [Ports Overlay](docs/specifications/ports-overlay.md) ***[NEW]*** + - [(#6981)](https://github.com/Microsoft/vcpkg/pull/6981) Ports Overlay partial implementation +- [vcpkg_check_features](docs/maintainers/vcpkg_check_features.md) ***[NEW]*** + - [(#6958)](https://github.com/Microsoft/vcpkg/pull/6958) [vcpkg] Add vcpkg_check_features + - [(#7091)](https://github.com/Microsoft/vcpkg/pull/7091) [vcpkg] Update vcpkg_check_features document +- [vcpkg_execute_build_process](docs/maintainers/vcpkg_execute_build_process.md) ***[NEW]*** + - [(#7039)](https://github.com/Microsoft/vcpkg/pull/7039) [docs]Update cmake docs +- [CONTROL files](docs/maintainers/control-files.md#Homepage) + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + - [(#6871)](https://github.com/Microsoft/vcpkg/pull/6871) [docs] Add maintainer guidelines +- [index](docs/index.md) + - [(#6871)](https://github.com/Microsoft/vcpkg/pull/6871) [docs] Add maintainer guidelines +- [Portfile helper functions](docs/maintainers/portfile-functions.md) + - [(#7039)](https://github.com/Microsoft/vcpkg/pull/7039) [docs]Update cmake docs +- [vcpkg_configure_cmake](docs/maintainers/vcpkg_configure_cmake.md) + - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option + +#### The following *remarkable* changes have been made to vcpkg's infrastructure: +- [vcpkg_check_features.cmake](docs/maintainers/vcpkg_check_features.md) + - New portfile.cmake function for vcpkg contributors; Check if one or more features are a part of the package installation + - [(#6958)](https://github.com/Microsoft/vcpkg/pull/6958) [vcpkg] Add vcpkg_check_features + - [(#7091)](https://github.com/Microsoft/vcpkg/pull/7091) [vcpkg] Update vcpkg_check_features document +- [CONTROL file Homepage field](docs/maintainers/control-files.md#Homepage) + - CONTROL files may now contain a 'Homepage' field which links to the port's official website + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +#### The following *additional* changes have been made to vcpkg's infrastructure: +- [(#4942)](https://github.com/Microsoft/vcpkg/pull/4942) Update applocal.ps1 +- [(#5630)](https://github.com/Microsoft/vcpkg/pull/5630) [scripts] Fix vcpkg_fixup_cmake on non Windows platforms +- [(#6383)](https://github.com/Microsoft/vcpkg/pull/6383) [vcpkg] update python3 to 3.7.3 on windows +- [(#6590)](https://github.com/Microsoft/vcpkg/pull/6590) ffmpeg: enable arm/arm64 windows support +- [(#6653)](https://github.com/Microsoft/vcpkg/pull/6653) [vcpkg] Fix install from head when no-downloads +- [(#6667)](https://github.com/Microsoft/vcpkg/pull/6667) make meson not download things +- [(#6695)](https://github.com/Microsoft/vcpkg/pull/6695) [icu] Enable parallel builds +- [(#6704)](https://github.com/Microsoft/vcpkg/pull/6704) [DOXYGEN]Upgrade doxygen to 1.8.15. +- [(#6788)](https://github.com/Microsoft/vcpkg/pull/6788) [vcpkg] Bootstrap should use Get-CimInstance instead of Get-WmiObject. +- [(#6826)](https://github.com/Microsoft/vcpkg/pull/6826) [vcpkg] Apply clang format +- [(#6846)](https://github.com/Microsoft/vcpkg/pull/6846) Introduce an easier way to identify target systems... +- [(#6867)](https://github.com/Microsoft/vcpkg/pull/6867) Protect #pragma comment(lib, "foo") with _WIN32 checks +- [(#6872)](https://github.com/Microsoft/vcpkg/pull/6872) set CMAKE_SYSTEM_PROCESSOR in Linux +- [(#6880)](https://github.com/Microsoft/vcpkg/pull/6880) retry on flaky linker +- [(#6919)](https://github.com/Microsoft/vcpkg/pull/6919) [vcpkg] Improve vcpkg::Files::Filesystem error handling +- [(#6943)](https://github.com/Microsoft/vcpkg/pull/6943) address qhull flaky build with msvc linker +- [(#6952)](https://github.com/Microsoft/vcpkg/pull/6952) bootstrap.sh: Retry up to 3 times for transient download errors +- [(#6960)](https://github.com/Microsoft/vcpkg/pull/6960) Use correct path separators for each platform +- [(#6968)](https://github.com/Microsoft/vcpkg/pull/6968) VS 2019 16.3 deprecates . +- [(#6987)](https://github.com/Microsoft/vcpkg/pull/6987) Bump version to 2019.06.21 +- [(#7038)](https://github.com/Microsoft/vcpkg/pull/7038) #5248 make vcpkg buildable as 'system' user +- [(#7039)](https://github.com/Microsoft/vcpkg/pull/7039) [docs]Update cmake docs +- [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option +- [(#7086)](https://github.com/Microsoft/vcpkg/pull/7086) [vcpkg] fail archived port install when decompression fails + +
+The following 44 ports have been added: + +| port | version | +|---|---| +|[any-lite](https://github.com/Microsoft/vcpkg/pull/6629) | 0.2.0 +|[argparse](https://github.com/Microsoft/vcpkg/pull/6866) | 2019-06-10 +|[bdwgc](https://github.com/Microsoft/vcpkg/pull/6405) | 8.0.4-1 +|[byte-lite](https://github.com/Microsoft/vcpkg/pull/6630) | 0.2.0 +|[casclib](https://github.com/Microsoft/vcpkg/pull/6744) | 1.50 +|[cjson](https://github.com/Microsoft/vcpkg/pull/6081) | 1.7.10-1 +|[cpp-httplib](https://github.com/Microsoft/vcpkg/pull/7037) | 0.2.0 +|[cppcodec](https://github.com/Microsoft/vcpkg/pull/6651) | 0.2 +|[expected-lite](https://github.com/Microsoft/vcpkg/pull/6642) | 0.3.0 +|[greatest](https://github.com/Microsoft/vcpkg/pull/6934) | 1.4.2 +|[hedley](https://github.com/Microsoft/vcpkg/pull/6776) | 2019-05-08-1 +|[immer](https://github.com/Microsoft/vcpkg/pull/6814) | 2019-06-07 +|[itpp](https://github.com/Microsoft/vcpkg/pull/6672) | 4.3.1 +|[ixwebsocket](https://github.com/Microsoft/vcpkg/pull/6835) | 4.0.3 +|[json-c](https://github.com/Microsoft/vcpkg/pull/6446) | 2019-05-31 +|[libfabric](https://github.com/Microsoft/vcpkg/pull/4740)[(#7036)](https://github.com/Microsoft/vcpkg/pull/7036) | 1.7.1-1 +|[libftdi](https://github.com/Microsoft/vcpkg/pull/6843)[(#7015)](https://github.com/Microsoft/vcpkg/pull/7015) [(#7055)](https://github.com/Microsoft/vcpkg/pull/7055) | 0.20-1 +|[libftdi1](https://github.com/Microsoft/vcpkg/pull/6843) | 1.4 +|[libpmemobj-cpp](https://github.com/Microsoft/vcpkg/pull/7020)[(#7097)](https://github.com/Microsoft/vcpkg/pull/7095) | 1.6-1 +|[libraqm](https://github.com/Microsoft/vcpkg/pull/6659) | 0.6.0 +|[libu2f-server](https://github.com/Microsoft/vcpkg/pull/6781) | 1.1.0 +|[libzen](https://github.com/Microsoft/vcpkg/pull/7004) | 0.4.37 +|[magic-enum](https://github.com/Microsoft/vcpkg/pull/6817) | 2019-06-07 +|[networkdirect-sdk](https://github.com/Microsoft/vcpkg/pull/4740) | 2.0.1 +|[observer-ptr-lite](https://github.com/Microsoft/vcpkg/pull/6652) | 0.4.0 +|[openigtlink](https://github.com/Microsoft/vcpkg/pull/6769) | 3.0 +|[optional-bare](https://github.com/Microsoft/vcpkg/pull/6654) | 1.1.0 +|[optional-lite](https://github.com/Microsoft/vcpkg/pull/6655) | 3.2.0 +|[polyclipping](https://github.com/Microsoft/vcpkg/pull/6769) | 6.4.2 +|[ppconsul](https://github.com/Microsoft/vcpkg/pull/6911)[(#6967)](https://github.com/Microsoft/vcpkg/pull/6967) | 0.3-1 +|[pprint](https://github.com/Microsoft/vcpkg/pull/6678) | 2019-06-01 +|[restclient-cpp](https://github.com/Microsoft/vcpkg/pull/6936)[(#7054)](https://github.com/Microsoft/vcpkg/pull/7054) | 0.5.1-2 +|[ring-span-lite](https://github.com/Microsoft/vcpkg/pull/6696) | 0.3.0 +|[robin-hood-hashing](https://github.com/Microsoft/vcpkg/pull/6709) | 3.2.13 +|[simde](https://github.com/Microsoft/vcpkg/pull/6777) | 2019-06-05 +|[span-lite](https://github.com/Microsoft/vcpkg/pull/6703) | 0.5.0 +|[sprout](https://github.com/Microsoft/vcpkg/pull/6997) | 2019-06-20 +|[stormlib](https://github.com/Microsoft/vcpkg/pull/6428) | 9.22 +|[string-view-lite](https://github.com/Microsoft/vcpkg/pull/6758) | 1.3.0 +|[tl-function-ref](https://github.com/Microsoft/vcpkg/pull/7028) | 1.0.0-1 +|[variant-lite](https://github.com/Microsoft/vcpkg/pull/6720) | 1.2.2 +|[wpilib](https://github.com/Microsoft/vcpkg/pull/6716)[(#7087)](https://github.com/Microsoft/vcpkg/pull/7087) | 2019.5.1 +|[zstr](https://github.com/Microsoft/vcpkg/pull/6773) | 1.0.1 +|[zydis](https://github.com/Microsoft/vcpkg/pull/6861) | 2.0.3 +
+ +
+The following 291 ports have been updated: + +- alembic `1.7.11` -> `1.7.11-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- angelscript `2.33.0` -> `2.33.0-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- angle `2019-03-13-c2ee2cc-3` -> `2019-06-13` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6892)](https://github.com/Microsoft/vcpkg/pull/6892) [angle] Update to latest master + +- arb `2.11.1-2` -> `2.16.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6763)](https://github.com/Microsoft/vcpkg/pull/6763) [arb]Upgrade version to 2.16.0 and fix build error. + +- armadillo `2019-04-16-f00d3225` -> `2019-04-16-3` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#7022)](https://github.com/Microsoft/vcpkg/pull/7022) [armadillo] Fix build error in Linux + +- arrow `0.13.0-3` -> `0.13.0-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6757)](https://github.com/Microsoft/vcpkg/pull/6757) [arrow] fix findzstd patch + +- asio `1.12.2` -> `1.12.2-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6751)](https://github.com/Microsoft/vcpkg/pull/6751) [asio] Add cmake target + - [(#7083)](https://github.com/Microsoft/vcpkg/pull/7083) [asio] fix flaky build + +- assimp `4.1.0-4` -> `4.1.0-8` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6593)](https://github.com/Microsoft/vcpkg/pull/6593) [assimp]Fix lrrXML library dependencies. + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6887)](https://github.com/Microsoft/vcpkg/pull/6887) [assimp] Fix install assimp when passing --head + +- avro-c `1.8.2-1` -> `1.8.2-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- aws-c-common `0.3.0` -> `0.3.11-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6747)](https://github.com/Microsoft/vcpkg/pull/6747) [aws-c-common]Upgrade version to 0.3.11 + +- aws-sdk-cpp `1.7.106` -> `1.7.116` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6932)](https://github.com/Microsoft/vcpkg/pull/6932) [aws-sdk-cpp]Upgrade to 1.7.116 + +- azure-c-shared-utility `2019-05-16` -> `2019-05-16.1` + - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 + +- azure-iot-sdk-c `2019-05-16` -> `2019-05-16.1` + - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 + +- azure-macro-utils-c `2019-05-16` -> `2019-05-16.1` + - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 + +- azure-uamqp-c `2019-05-16` -> `2019-05-16.1` + - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 + +- azure-uhttp-c `2019-05-16` -> `2019-05-16.1` + - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 + +- azure-umqtt-c `2019-05-16` -> `2019-05-16.1` + - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 + +- blosc `1.16.3` -> `1.16.3-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6928)](https://github.com/Microsoft/vcpkg/pull/6928) [blosc] Fix the bug when building release-only. + +- bond `7.0.2-2` -> `8.1.0` + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + - [(#6954)](https://github.com/Microsoft/vcpkg/pull/6954) [bond]Upgrade version to 8.1.0 and add Linux/OSX support. + +- boost-thread `1.70.0` -> `1.70.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6840)](https://github.com/Microsoft/vcpkg/pull/6840) [boost-thread] Fix old patches + +- boost-variant `1.69.0` -> `1.70.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#7047)](https://github.com/Microsoft/vcpkg/pull/7047) [Boost-variant] Upgrade to 1.70.0 + +- botan `2.9.0` -> `2.9.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- c-ares `2019-5-2` -> `2019-5-2-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- cairo `1.16.0` -> `1.16.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6806)](https://github.com/Microsoft/vcpkg/pull/6806) [cairo] Fix linker errors on Linux and MacOS + +- capnproto `0.7.0-1` -> `0.7.0-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + - [(#7024)](https://github.com/Microsoft/vcpkg/pull/7024) [capnproto] Enable Linux and OSX support + +- cartographer `1.0.0` -> `1.0.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- catch2 `2.7.2` -> `2.7.2-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- ccd `2.1` -> `2.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- celero `2.4.0-1` -> `2.5.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6845)](https://github.com/Microsoft/vcpkg/pull/6845) Celero: Update to v2.5.0 release + +- cereal `1.2.2-1` -> `1.2.2-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- ceres `1.14.0-3` -> `1.14.0-6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- clapack `3.2.1-4` -> `3.2.1-9` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- clblas `2.12-1` -> `2.12-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- clfft `2.12.2` -> `2.12.2-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- cli `1.1` -> `1.1-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- clp `1.17.2` -> `1.17.2-2` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- cnl `2019-01-09` -> `2019-06-23` + - [(#7031)](https://github.com/Microsoft/vcpkg/pull/7031) [cnl] Update cnl to latest + +- coinutils `2.11.2` -> `2.11.2-2` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- collada-dom `2.5.0` -> `2.5.0-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- console-bridge `0.3.2-3` -> `0.3.2-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- cpp-netlib `0.13.0-final` -> `0.13.0-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- cppcms `1.1.0-2` -> `1.2.1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- cpr `1.3.0-6` -> `1.3.0-7` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6429)](https://github.com/Microsoft/vcpkg/pull/6429) [Curl] Upgrades 2019.05.08 + +- crc32c `1.0.7` -> `1.0.7-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- cryptopp `8.1.0` -> `8.1.0-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6821)](https://github.com/Microsoft/vcpkg/pull/6821) [cryptopp] fix build by disabling assembly on osx + +- curl `7.61.1-7` -> `7.65.0-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6429)](https://github.com/Microsoft/vcpkg/pull/6429) [Curl] Upgrades 2019.05.08 + - [(#6649)](https://github.com/Microsoft/vcpkg/pull/6649) [Curl] Fix cmake target name + - [(#6698)](https://github.com/Microsoft/vcpkg/pull/6698) [curl] Revert revert of `-imp` suffix removal. + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- cxxopts `2.1.2` -> `2.1.2-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- darknet `0.2.5-1` -> `0.2.5-4` + - [(#6787)](https://github.com/Microsoft/vcpkg/pull/6787) [darknet] update to latest release + - [(#7064)](https://github.com/Microsoft/vcpkg/pull/7064) [darknet] enable ninja + +- darts-clone `1767ab87cffe` -> `1767ab87cffe-1` + - [(#6875)](https://github.com/Microsoft/vcpkg/pull/6875) [libsodium/darts-clone] remove conflicting makefile + +- dcmtk `3.6.3-1` -> `3.6.4` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- dlib `19.17` -> `19.17-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + +- doctest `2.3.2` -> `2.3.3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6998)](https://github.com/Microsoft/vcpkg/pull/6998) [doctest] Update to 2.3.3 + +- draco `1.3.3-2` -> `1.3.5` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6796)](https://github.com/Microsoft/vcpkg/pull/6796) [draco, flatbuffers, forge] Update to new version + +- duilib `2019-4-28-1` -> `2019-4-28-2` + - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option + +- ebml `1.3.8` -> `1.3.9` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6662)](https://github.com/Microsoft/vcpkg/pull/6662) [ebml, matroska] Upgrade ebml to v1.3.9 and matroska to v1.5.2 + +- eigen3 `3.3.7-1` -> `3.3.7-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- ensmallen `1.15.0` -> `1.15.1` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- entityx `1.3.0` -> `1.3.0-1` + - [(#6736)](https://github.com/Microsoft/vcpkg/pull/6736) [entityx][entt] Disable parallel configure + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- entt `3.0.0` -> `3.0.0-1` + - [(#6736)](https://github.com/Microsoft/vcpkg/pull/6736) [entityx][entt] Disable parallel configure + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- exiv2 `0.27` -> `0.27.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + - [(#6905)](https://github.com/Microsoft/vcpkg/pull/6905) [Exiv2] update to 0.27.1 + +- fastcdr `1.0.6-2` -> `1.0.9-1` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- fcl `0.5.0-5` -> `0.5.0-6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- ffmpeg `4.1-5` -> `4.1-8` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6590)](https://github.com/Microsoft/vcpkg/pull/6590) ffmpeg: enable arm/arm64 windows support + - [(#6694)](https://github.com/Microsoft/vcpkg/pull/6694) [ffmpeg] Correctly set environment variables for gcc/clang/icc + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6743)](https://github.com/Microsoft/vcpkg/pull/6743) [ffmpeg] Fix regression on windows + - [(#6784)](https://github.com/Microsoft/vcpkg/pull/6784) [FFmpeg] Add 'vpx' feature. + +- fizz `2019.05.13.00` -> `2019.05.20.00-1` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6969)](https://github.com/Microsoft/vcpkg/pull/6969) [libevent] Upgrade to version 2.1.10 + +- flann `jan2019` -> `1.9.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6931)](https://github.com/Microsoft/vcpkg/pull/6931) [flann]Upgrade version to 1.9.1 and fix build error. + - [(#7073)](https://github.com/Microsoft/vcpkg/pull/7073) [flann] fix flaky config + +- flatbuffers `1.10.0-1` -> `1.11.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6796)](https://github.com/Microsoft/vcpkg/pull/6796) [draco, flatbuffers, forge] Update to new version + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- fmi4cpp `0.7.0` -> `0.7.0-1` + - [(#7021)](https://github.com/Microsoft/vcpkg/pull/7021) [nana, fmi4cpp] Fix Visual Studio 2019 deprecates . + +- folly `2019.05.13.00` -> `2019.05.20.00-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6974)](https://github.com/Microsoft/vcpkg/pull/6974) [Folly] define _CRT_INTERNAL_NONSTDC_NAMES to 0 to disable non-underscore posix names on windows + +- fontconfig `2.12.4-8` -> `2.12.4-9` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + +- forest `11.0.1` -> `12.0.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6938)](https://github.com/Microsoft/vcpkg/pull/6938) [forest] move to 12.0.0 + +- forge `1.0.3-1` -> `1.0.4-1` + - [(#6796)](https://github.com/Microsoft/vcpkg/pull/6796) [draco, flatbuffers, forge] Update to new version + +- freeimage `3.18.0-5` -> `3.18.0-6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- freerdp `2.0.0-rc4-1` -> `2.0.0-rc4-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- freetype `2.9.1-1` -> `2.10.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6754)](https://github.com/Microsoft/vcpkg/pull/6754) Fix freetype cmake config files + - [(#7057)](https://github.com/Microsoft/vcpkg/pull/7057) [freetype] Upgrade to version 2.10.0 + +- freexl `1.0.4-1` -> `1.0.4-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6813)](https://github.com/Microsoft/vcpkg/pull/6813) [freexl]: Linux build support + +- ftgl `2.3.1` -> `2.4.0-1` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- g2o `20170730_git-4` -> `20170730_git-5` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- gdcm `3.0.0` -> `3.0.0-3` + - [(#6710)](https://github.com/Microsoft/vcpkg/pull/6710) [gdcm,jbig2dec] move patches from #5169 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- gdk-pixbuf `2.36.9-2` -> `2.36.9-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6663)](https://github.com/Microsoft/vcpkg/pull/6663) [gdk-pixbuf] Fix Linux compilation. + +- geogram `1.6.9-3` -> `1.6.9-6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- geographiclib `1.47-patch1-5` -> `1.47-patch1-6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- gherkin-c `c-libs-e63e83104b` -> `4.1.2` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- gl3w `99ed3211` -> `2018-05-31-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- glad `0.1.29` -> `0.1.30` + - [(#6819)](https://github.com/Microsoft/vcpkg/pull/6819) [glad] update to 0.1.30 + +- glbinding `3.1.0` -> `3.1.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6872)](https://github.com/Microsoft/vcpkg/pull/6872) set CMAKE_SYSTEM_PROCESSOR in Linux + - [(#6876)](https://github.com/Microsoft/vcpkg/pull/6876) [glbinding] remove conflict with other opengl ports + +- glew `2.1.0-3` -> `2.1.0-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6853)](https://github.com/Microsoft/vcpkg/pull/6853) [glew] Disable the link option /nodefaultlib and /noentry + +- glib `2.52.3-14-1` -> `2.52.3-14-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6663)](https://github.com/Microsoft/vcpkg/pull/6663) [gdk-pixbuf] Fix Linux compilation. + +- glibmm `2.52.1-8` -> `2.52.1-9` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6550)](https://github.com/Microsoft/vcpkg/pull/6550) [glibmm] Reintroduce CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- globjects `1.1.0-2018-09-19-1` -> `1.1.0-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- glog `0.4.0` -> `0.4.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- glslang `2018-03-02-2` -> `2019-03-05` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6689)](https://github.com/Microsoft/vcpkg/pull/6689) [shaderc] update + +- google-cloud-cpp `0.9.0` -> `0.10.0` + - [(#6785)](https://github.com/Microsoft/vcpkg/pull/6785) Upgrade google-cloud-cpp to 0.10.0. + +- graphicsmagick `1.3.31-1` -> `1.3.32` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6947)](https://github.com/Microsoft/vcpkg/pull/6947) Graphicsmagick 1.3.32 + +- graphite2 `1.3.12` -> `1.3.12-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- grpc `1.20.1-1` -> `1.21.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#5630)](https://github.com/Microsoft/vcpkg/pull/5630) [scripts] Fix vcpkg_fixup_cmake on non Windows platforms + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- gsoap `2.8.82-2` -> `2.8.84-1` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6756)](https://github.com/Microsoft/vcpkg/pull/6756) update to 2.8.84 + +- gtk `3.22.19-2` -> `3.22.19-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6671)](https://github.com/Microsoft/vcpkg/pull/6671) [pango/gtk]Fix build error C2001. + +- harfbuzz `2.4.0` -> `2.5.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6659)](https://github.com/Microsoft/vcpkg/pull/6659) [libraqm] Add new port (0.6.0) + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6761)](https://github.com/Microsoft/vcpkg/pull/6761) [harfbuzz]Upgrade version to 2.5.1 and fix patches. + - [(#6879)](https://github.com/Microsoft/vcpkg/pull/6879) [harfbuzz] Propagate dependency on glib downstream + +- hdf5 `1.10.5-5` -> `1.10.5-7` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6771)](https://github.com/Microsoft/vcpkg/pull/6771) [netcdf-c/hdf5] improve/correct linkage + +- hpx `1.2.1-1` -> `1.3.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6755)](https://github.com/Microsoft/vcpkg/pull/6755) Updating HPX to V1.3.0 + +- http-parser `2.9.2` -> `2.9.2-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- icu `61.1-6` -> `61.1-7` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6695)](https://github.com/Microsoft/vcpkg/pull/6695) [icu] Enable parallel builds + +- idevicerestore `1.0.12-2` -> `1.0.12-3` + - [(#6698)](https://github.com/Microsoft/vcpkg/pull/6698) [curl] Revert revert of `-imp` suffix removal. + +- imgui `1.70` -> `1.70-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- inih `43` -> `44` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- ismrmrd `1.4` -> `1.4.0-1` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- itk `4.13.0-906736bd-3` -> `5.0.0-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6767)](https://github.com/Microsoft/vcpkg/pull/6767) [itk] Upgrade to 5.0.0 + +- jansson `2.11-2` -> `2.12-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- jasper `2.0.16-1` -> `2.0.16-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- jbig2dec `0.16` -> `0.16-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6710)](https://github.com/Microsoft/vcpkg/pull/6710) [gdcm,jbig2dec] move patches from #5169 + +- json-dto `0.2.8` -> `0.2.8-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- json11 `2017-06-20-1` -> `2017-06-20-2` + - [(#6967)](https://github.com/Microsoft/vcpkg/pull/6967) [ppconsul] remove conflict with json11 + +- jxrlib `1.1-6` -> `1.1-7` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- kangaru `4.1.3` -> `4.1.3-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- kd-soap `1.7.0` -> `1.8.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6838)](https://github.com/Microsoft/vcpkg/pull/6838) [kd-soap]Upgrade version to 1.8.0 + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- lcm `1.3.95-1` -> `1.4.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6836)](https://github.com/Microsoft/vcpkg/pull/6836) [lcm]Upgrade version to 1.4.0 and fix build error. + +- leptonica `1.76.0` -> `1.76.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- leveldb `2017-10-25-8b1cd3753b184341e837b30383832645135d3d73-3` -> `1.22` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6900)](https://github.com/Microsoft/vcpkg/pull/6900) [leveldb] Port update + +- libbson `1.13.0` -> `1.14.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6862)](https://github.com/Microsoft/vcpkg/pull/6862) [libbson mongo-c-driver mongo-cxx-driver] upgrades to new revision + +- libcroco `0.6.13` -> `0.6.13-1` + - [(#6663)](https://github.com/Microsoft/vcpkg/pull/6663) [gdk-pixbuf] Fix Linux compilation. + +- libevent `2.1.8-5` -> `2.1.10` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6969)](https://github.com/Microsoft/vcpkg/pull/6969) [libevent] Upgrade to version 2.1.10 + +- libfreenect2 `0.2.0-1` -> `0.2.0-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- libgeotiff `1.4.2-8` -> `1.4.2-9` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + +- libgit2 `0.28.1` -> `0.28.2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- libharu `2017-08-15-d84867ebf9f-6` -> `2017-08-15-8` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- libics `1.6.2` -> `1.6.3` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- libideviceactivation `1.2.68` -> `1.2.68-1` + - [(#6698)](https://github.com/Microsoft/vcpkg/pull/6698) [curl] Revert revert of `-imp` suffix removal. + +- libimobiledevice `1.2.1.215-1` -> `1.2.76` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- libjpeg-turbo `2.0.1-1` -> `2.0.2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6482)](https://github.com/Microsoft/vcpkg/pull/6482) [libjpeg-turbo] Upgrades 2019.05.08 + +- liblemon `1.3.1-4` -> `2019-06-13` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6679)](https://github.com/Microsoft/vcpkg/pull/6679) [liblemon] made into a rolling-release port + +- liblsl `1.13.0-b4` -> `1.13.0-b6` + - [(#6745)](https://github.com/Microsoft/vcpkg/pull/6745) [liblsl] Update liblsl port to 1.13.0-b6 + +- liblzma `5.2.4-1` -> `5.2.4-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + +- libmikmod `3.3.11.1-2` -> `3.3.11.1-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#7035)](https://github.com/Microsoft/vcpkg/pull/7035) [libmikmod] patch cmake warning + - [(#7052)](https://github.com/Microsoft/vcpkg/pull/7052) [libmikmod] resolve ninja error (-w dupbuild=err) + +- libmodbus `3.1.4-2` -> `3.1.4-3` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- libmupdf `1.12.0-2` -> `1.15.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6710)](https://github.com/Microsoft/vcpkg/pull/6710) [gdcm,jbig2dec] move patches from #5169 + - [(#7046)](https://github.com/Microsoft/vcpkg/pull/7046) [libmupdf] Update the port to version 1.15.0 + +- libmysql `8.0.4-3` -> `8.0.4-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6442)](https://github.com/Microsoft/vcpkg/pull/6442) [libmysql]Fix build error in linux. + +- libogg `1.3.3-2` -> `1.3.3-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6588)](https://github.com/Microsoft/vcpkg/pull/6588) [libogg] Update to 1.3.3-3 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- libopusenc `0.1-1` -> `0.2.1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6748)](https://github.com/Microsoft/vcpkg/pull/6748) [libopusenc]Upgrade version to 0.2.1 + +- libpff `2018-07-14` -> `2018-07-14-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- libplist `2.0.1.197-2` -> `1.2.77` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- libpng `1.6.37-1` -> `1.6.37-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- libqglviewer `2.7.1-1` -> `2.7.0` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- libraw `0.19.2` -> `201903-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6742)](https://github.com/Microsoft/vcpkg/pull/6742) [libraw] Add include for select_library_configurations [(#6715)](https://github.com/Microsoft/vcpkg/pull/6715) + +- libressl `2.9.1` -> `2.9.1-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- libsndfile `1.0.29-6830c42-6` -> `1.0.29-8` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6896)](https://github.com/Microsoft/vcpkg/pull/6896) [sndfile/libsndfile] remove duplicate port, forward to libsndfile + +- libsodium `1.0.17-2` -> `1.0.18` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6778)](https://github.com/Microsoft/vcpkg/pull/6778) [libsodium] Update to 1.0.18 + - [(#6875)](https://github.com/Microsoft/vcpkg/pull/6875) [libsodium/darts-clone] remove conflicting makefile + +- libspatialite `4.3.0a-2` -> `4.3.0a-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + +- libsquish `1.15` -> `1.15-1` + - [(#6893)](https://github.com/Microsoft/vcpkg/pull/6893) [libsquish] fix flaky build + +- libtins `4.0-2` -> `4.2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#7008)](https://github.com/Microsoft/vcpkg/pull/7008) [libtins]Upgrade version to 4.2 and adds dependent ports to new version. + +- libunibreak `4.1` -> `4.2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- libusb `1.0.22-2` -> `1.0.22-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- libusbmuxd `1.0.107-2` -> `1.2.77` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- libuv `1.29.0` -> `1.29.1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- libwebp `1.0.2-3` -> `1.0.2-6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6648)](https://github.com/Microsoft/vcpkg/pull/6648) [libwebp]Fix static build: add dependency libraries "dxguid winmm". + +- libwebsockets `3.1.0` -> `3.1.0-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6855)](https://github.com/Microsoft/vcpkg/pull/6855) [libwebsockets] Fix build error on Linux + +- libxlsxwriter `0.8.6-1` -> `0.8.7-1` + - [(#7034)](https://github.com/Microsoft/vcpkg/pull/7034) [libxlsxwriter] upgrade to 0.8.7 + +- libxslt `1.1.29` -> `1.1.33` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#7058)](https://github.com/Microsoft/vcpkg/pull/7058) [libxslt] Update the version to 1.1.33 and change the URL. + +- libyaml `0.2.1-1` -> `0.2.2` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- llvm `7.0.0-2` -> `7.0.0-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6631)](https://github.com/Microsoft/vcpkg/pull/6631) [llvm]Fix build error on x64-windows. + +- lmdb `0.9.23` -> `0.9.23-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- log4cplus `2.0.4` -> `2.0.4-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6930)](https://github.com/Microsoft/vcpkg/pull/6930) [log4cplus]Fix lnk2019 errors when using log4cplus. + +- lz4 `1.9.1-1` -> `1.9.1-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6735)](https://github.com/Microsoft/vcpkg/pull/6735) [lz4]Fix conflict file xxhash.h + +- magnum-extras `2019.01-1` -> `2019.01-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- magnum-integration `2019.01-1` -> `2019.01-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- mathgl `2.4.3` -> `2.4.3-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- matroska `1.5.1` -> `1.5.2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6662)](https://github.com/Microsoft/vcpkg/pull/6662) [ebml, matroska] Upgrade ebml to v1.3.9 and matroska to v1.5.2 + +- miniz `2.0.8` -> `2.1.0` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- mlpack `3.1.0-1` -> `3.1.1` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6907)](https://github.com/Microsoft/vcpkg/pull/6907) [mlpack] Updated to version 3.1.1 + +- mongo-c-driver `1.13.0` -> `1.14.0-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6862)](https://github.com/Microsoft/vcpkg/pull/6862) [libbson mongo-c-driver mongo-cxx-driver] upgrades to new revision + +- mongo-cxx-driver `3.2.0-2` -> `3.4.0-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6862)](https://github.com/Microsoft/vcpkg/pull/6862) [libbson mongo-c-driver mongo-cxx-driver] upgrades to new revision + +- moos-core `10.4.0-2` -> `10.4.0-3` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- mosquitto `1.5.0-3` -> `1.6.2-2` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- ms-angle `2018-04-18-1` -> `2018-04-18-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- msix `MsixCoreInstaller-preview` -> `MsixCoreInstaller-preview-1` + - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option + +- msmpi `10.0` -> `10.0-2` + - [(#6945)](https://github.com/Microsoft/vcpkg/pull/6945) [msmpi] Fix /MD for static libs. + +- nana `1.7.1` -> `1.7.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#7021)](https://github.com/Microsoft/vcpkg/pull/7021) [nana, fmi4cpp] Fix Visual Studio 2019 deprecates . + +- nanomsg `1.1.5` -> `1.1.5-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- netcdf-c `4.7.0` -> `4.7.0-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6771)](https://github.com/Microsoft/vcpkg/pull/6771) [netcdf-c/hdf5] improve/correct linkage + - [(#6865)](https://github.com/Microsoft/vcpkg/pull/6865) [netcdf-c]Fix build error on linux. + - [(#6971)](https://github.com/Microsoft/vcpkg/pull/6971) [netcdf-c] Fix link error. + +- nlopt `2.6.1` -> `2.6.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6739)](https://github.com/Microsoft/vcpkg/pull/6739) [protobuf] Update to 3.8.0 + +- nmslib `1.7.2-1` -> `1.7.3.6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- nrf-ble-driver `4.1.0` -> `4.1.1` + +- nvtt `2.1.0-3` -> `2.1.1` + - [(#6765)](https://github.com/Microsoft/vcpkg/pull/6765) [nvtt]Upgrade version to 2.1.1 and fix build error on windows. + +- octomap `cefed0c1d79afafa5aeb05273cf1246b093b771c-6` -> `2017-03-11-7` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- ogre `1.11.3-4` -> `1.12.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- oniguruma `6.9.2` -> `6.9.2-2` + - [(#6958)](https://github.com/Microsoft/vcpkg/pull/6958) [vcpkg] Add vcpkg_check_features + - [(#7091)](https://github.com/Microsoft/vcpkg/pull/7091) [vcpkg] Update vcpkg_check_features document + +- openblas `0.3.6-2` -> `0.3.6-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- opencv `3.4.3-7` -> `3.4.3-9` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + - [(#6812)](https://github.com/Microsoft/vcpkg/pull/6812) [opencv] Fixed OpenCV versioning using wrong commit + - [(#6901)](https://github.com/Microsoft/vcpkg/pull/6901) [opencv]Fix build error with feature gdcm: cannot find openjp2. + +- openexr `2.3.0-3` -> `2.3.0-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- openmama `6.2.3` -> `6.2.3-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- openmvg `1.4-2` -> `1.4-5` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- openmvs `0.9` -> `1.0-1` + - [(#6692)](https://github.com/Microsoft/vcpkg/pull/6692) update to v1.0 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- openni2 `2.2.0.33-8` -> `2.2.0.33-9` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- openssl `0` -> `1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- opentracing `1.5.1` -> `1.5.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- openvdb `6.0.0-2` -> `6.1.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6864)](https://github.com/Microsoft/vcpkg/pull/6864) [openvdb]Upgrade version to 6.1.0, regenerate patches and fix build errors. + +- openvpn3 `2018-03-21` -> `2018-03-21-1` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- openvr `1.1.3b` -> `1.4.18` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- opusfile `0.11-2` -> `0.11-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- orc `1.5.5` -> `1.5.5-1` + - [(#6739)](https://github.com/Microsoft/vcpkg/pull/6739) [protobuf] Update to 3.8.0 + +- orocos-kdl `1.4` -> `1.4-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- osi `0.108.4` -> `0.108.4-2` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- paho-mqtt `1.2.1-1` -> `1.3.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6762)](https://github.com/Microsoft/vcpkg/pull/6762) [paho-mqtt] Upgrade to 1.3.0 + +- pango `1.40.11-3` -> `1.40.11-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6671)](https://github.com/Microsoft/vcpkg/pull/6671) [pango/gtk]Fix build error C2001. + +- pangolin `0.5-6` -> `0.5-7` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- parallel-hashmap `1.22` -> `1.23` + - [(#6917)](https://github.com/Microsoft/vcpkg/pull/6917) [parallel-hashmap] Update to current 1.23 version and include natvis file. + +- pcl `1.9.1-3` -> `1.9.1-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- pdal `1.7.1-4` -> `1.7.1-5` + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + - [(#6603)](https://github.com/Microsoft/vcpkg/pull/6603) [pdal] delete and replace different find modules + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- pdcurses `3.6` -> `3.8` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- poco `2.0.0-pre-1` -> `2.0.0-pre-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- podofo `0.9.6-6` -> `0.9.6-7` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + +- proj4 `4.9.3-1` -> `4.9.3-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- prometheus-cpp `0.6.0` -> `0.7.0` + - [(#6822)](https://github.com/Microsoft/vcpkg/pull/6822) [prometheus-cpp] Update to version 0.7.0 + +- protobuf `3.7.1` -> `3.8.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6739)](https://github.com/Microsoft/vcpkg/pull/6739) [protobuf] Update to 3.8.0 + +- pugixml `1.9-1` -> `1.9-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- qca `2.2.0-4` -> `2.2.1` + - [(#6839)](https://github.com/Microsoft/vcpkg/pull/6839) [qca]Upgrade version to 2.2.1 and fix build error. + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- qt5-base `5.12.3-1` -> `5.12.3-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#7019)](https://github.com/Microsoft/vcpkg/pull/7019) [qt5-base]Add execute permission when installing executables in Linux. + +- qt5-declarative `5.12.3` -> `5.12.3-1` + - [(#6927)](https://github.com/Microsoft/vcpkg/pull/6927) [qt5-declarative]Fix error when building release-only. + +- re2 `2019-05-07` -> `2019-05-07-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- realsense2 `2.16.1-2` -> `2.22.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#5275)](https://github.com/Microsoft/vcpkg/pull/5275) [realsense2] Enable OpenNI2 driver option + - [(#5777)](https://github.com/Microsoft/vcpkg/pull/5777) [realsense2] Update to v2.19.0 + +- reproc `6.0.0` -> `6.0.0-1` + - [(#6711)](https://github.com/Microsoft/vcpkg/pull/6711) [reproc] Enabled C++ target for version 6.0.0. + +- restinio `0.4.9` -> `0.5.1-1` + - [(#6669)](https://github.com/Microsoft/vcpkg/pull/6669) RESTinio updated to v.0.4.9.1 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6749)](https://github.com/Microsoft/vcpkg/pull/6749) RESTinio updated to v.0.5.0 + - [(#6933)](https://github.com/Microsoft/vcpkg/pull/6933) RESTinio updated to v.0.5.1 + +- robin-map `0.2.0` -> `0.6.1` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- rtmidi `2.1.1-2` -> `4.0.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6635)](https://github.com/Microsoft/vcpkg/pull/6635) [rtmidi] Update to version 4.0.0 + +- sdl2 `2.0.9-3` -> `2.0.9-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- sdl2-image `2.0.4-2` -> `2.0.4-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- sdl2-mixer `2.0.4-2` -> `2.0.4-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6929)](https://github.com/Microsoft/vcpkg/pull/6929) [sdl2-mixer]Fix build error with feature opusfile. + +- sdl2-net `2.0.1-6` -> `2.0.1-7` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- sdl2-ttf `2.0.15-2` -> `2.0.15-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- selene `0.3.1` -> `0.3.1-1` + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- sf2cute `0.2.0` -> `0.2.0-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- shaderc `12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-2` -> `2019-06-26` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6689)](https://github.com/Microsoft/vcpkg/pull/6689) [shaderc] update + +- shiva `1.0` -> `1.0-2` + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + - [(#6637)](https://github.com/Microsoft/vcpkg/pull/6637) [shiva] Fix build error "Could NOT find PythonInterp" + +- shogun `6.1.3-1` -> `6.1.3-3` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6739)](https://github.com/Microsoft/vcpkg/pull/6739) [protobuf] Update to 3.8.0 + - [(#6872)](https://github.com/Microsoft/vcpkg/pull/6872) set CMAKE_SYSTEM_PROCESSOR in Linux + +- sndfile `1.0.29-cebfdf2-1` -> `0` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6896)](https://github.com/Microsoft/vcpkg/pull/6896) [sndfile/libsndfile] remove duplicate port, forward to libsndfile + +- snowhouse `3.0.1` -> `3.1.0` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- so5extra `1.2.3` -> `1.2.3-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- sobjectizer `5.5.24.4` -> `5.5.24.4-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- sol2 `2.20.6` -> `3.0.2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- sophus `1.0.0-1` -> `1.0.0-6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + +- spdlog `1.3.1` -> `1.3.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6924)](https://github.com/Microsoft/vcpkg/pull/6924) [spdlog]Add feature[benchmark] + +- spirv-cross `2018-08-07-1` -> `2019-05-09` + - [(#6690)](https://github.com/Microsoft/vcpkg/pull/6690) update spirv cross + +- spirv-headers `2019-03-05` -> `2019-05-05` + - [(#6689)](https://github.com/Microsoft/vcpkg/pull/6689) [shaderc] update + +- spirv-tools `2018.1-2` -> `2019.3-dev` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6689)](https://github.com/Microsoft/vcpkg/pull/6689) [shaderc] update + +- sqlite-modern-cpp `3.2-e2248fa` -> `3.2-936cd0c8` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- sqlite-orm `1.3` -> `1.3-1` + - [(#6894)](https://github.com/Microsoft/vcpkg/pull/6894) [sqlite-orm] fix tag, update hash + +- sqlite3 `3.27.2` -> `3.28.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6856)](https://github.com/Microsoft/vcpkg/pull/6856) [sqlite3]: Switch back to CMAKE_SYSTEM_NAME checks per original PR + - [(#6856)](https://github.com/Microsoft/vcpkg/pull/6856) [sqlite3]: Shared library support for Linux + - [(#6921)](https://github.com/Microsoft/vcpkg/pull/6921) [sqlite3] Update to 3.28.0 + +- sqlitecpp `2.2-2` -> `2.3.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- strict-variant `v0.5` -> `0.5` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- string-theory `2.1` -> `2.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- suitesparse `5.1.2-2` -> `5.4.0-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- systemc `2.3.3-2` -> `2.3.3-3` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- szip `2.1.1-3` -> `2.1.1-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- taglib `1.11.1-4` -> `1.11.1-20190531` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6851)](https://github.com/Microsoft/vcpkg/pull/6851) [taglib]Upgrade version to 1.11.1-20190531. + +- tbb `2019_U6` -> `2019_U7` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- tesseract `4.0.0-1` -> `4.0.0-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- theia `0.8` -> `0.8-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + +- thor `2.0-2` -> `2.0-3` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6953)](https://github.com/Microsoft/vcpkg/pull/6953) [thor] Fix error on Linux. + +- thrift `2019-05-07` -> `2019-05-07-2` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6872)](https://github.com/Microsoft/vcpkg/pull/6872) set CMAKE_SYSTEM_PROCESSOR in Linux + - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option + +- tidy-html5 `5.6.0` -> `5.6.0-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#7074)](https://github.com/Microsoft/vcpkg/pull/7074) [vcpkg_configure_cmake] Add NO_CHARSET_FLAG option + +- tiff `4.0.10-4` -> `4.0.10-6` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6000)](https://github.com/Microsoft/vcpkg/pull/6000) [LibLZMA] automatic configuration + +- tinyexif `1.0.2-4` -> `1.0.2-5` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- tinyobjloader `1.4.1-1` -> `1.0.7-1` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- tinyxml2 `7.0.1` -> `7.0.1-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- tl-expected `0.3-1` -> `1.0.0-1` + - [(#7028)](https://github.com/Microsoft/vcpkg/pull/7028) [tl] Update tl::expected and tl::optional, add tl::function_ref + +- tl-optional `0.5-1` -> `1.0.0-1` + - [(#7028)](https://github.com/Microsoft/vcpkg/pull/7028) [tl] Update tl::expected and tl::optional, add tl::function_ref + +- tmx `1.0.0` -> `1.0.0-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- treehopper `1.11.3-2` -> `1.11.3-3` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- trompeloeil `34` -> `34-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- umock-c `2019-05-16` -> `2019-05-16.1` + - [(#6804)](https://github.com/Microsoft/vcpkg/pull/6804) [azure] Update azure-iot-sdk-c for public-preview release of 2019-05-16 + +- urdfdom `1.0.3` -> `1.0.3-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- urdfdom-headers `1.0.3` -> `1.0.4-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- usd `0.8.4` -> `0.8.4-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- uvatlas `sept2016-1` -> `apr2019` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- uvw `1.17.0_libuv-v1.29` -> `1.17.0_libuv-v1.29-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6844)](https://github.com/Microsoft/vcpkg/pull/6844) [vcpkg] Add optional 'Homepage' field to CONTROL + +- visit-struct `1.0` -> `1.0-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- vlpp `0.9.3.1-2` -> `0.10.0.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6793)](https://github.com/Microsoft/vcpkg/pull/6793) [vlpp] Upgrade to 0.10.0.0 + +- vtk `8.2.0-2` -> `8.2.0-4` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6782)](https://github.com/Microsoft/vcpkg/pull/6782) [vtk] fix static hdf5 linkage. + +- vxl `v1.18.0-3` -> `v1.18.0-4` + - [(#6657)](https://github.com/Microsoft/vcpkg/pull/6657) [vxl] move problematic feature to optional one + +- wangle `2019.05.13.00` -> `2019.05.20.00-1` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- wil `2019-05-08` -> `2019-06-10` + - [(#6847)](https://github.com/Microsoft/vcpkg/pull/6847) Update commit for WIL + +- wt `4.0.5` -> `4.0.5-1` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6925)](https://github.com/Microsoft/vcpkg/pull/6925) [wt] Fix XML file installation path + +- xerces-c `3.2.2-9` -> `3.2.2-10` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6970)](https://github.com/Microsoft/vcpkg/pull/6970) [xerces-c]Replace the macro DLL_EXPORT with the macro XERCES_DLL_EXPORT + +- xeus `0.19.1-1` -> `0.19.2` + - [(#6618)](https://github.com/Microsoft/vcpkg/pull/6618) [many ports] Updates 2019.05.24 + +- xsimd `7.2.3` -> `7.2.3-1` + - [(#7091)](https://github.com/Microsoft/vcpkg/pull/7091) [vcpkg] Update vcpkg_check_features document + +- xtensor `0.20.7` -> `0.20.7-1` + - [(#6958)](https://github.com/Microsoft/vcpkg/pull/6958) [vcpkg] Add vcpkg_check_features + +- xxhash `0.6.4-1` -> `0.7.0` + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports + - [(#6750)](https://github.com/Microsoft/vcpkg/pull/6750) [xxhash]Upgrade version to 0.7.0 and fix arm/uwp build errors. + +- z3 `4.8.4-1` -> `4.8.5-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6803)](https://github.com/Microsoft/vcpkg/pull/6803) [z3] bump version to 4.8.5 + +- zopfli `2019-01-19` -> `2019-01-19-1` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- zserge-webview `2019-04-27-1` -> `2019-04-27-2` + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + +- zxing-cpp `3.3.3-3` -> `3.3.3-5` + - [(#6371)](https://github.com/Microsoft/vcpkg/pull/6371) [openexr,openimageio,suitesparse,theia] updates for non-win32 + - [(#6730)](https://github.com/Microsoft/vcpkg/pull/6730) [many ports] improvements for linux/wsl + - [(#6779)](https://github.com/Microsoft/vcpkg/pull/6779) [zxing-cpp] Fixed renaming zxing` -> `zxing-cpp` + +- zziplib `0.13.69-3` -> `0.13.69-4` + - [(#7090)](https://github.com/Microsoft/vcpkg/pull/7090) [zziplib] fix flaky build + - [(#2933)](https://github.com/Microsoft/vcpkg/pull/2933) [WIP] Add a Homepage URL entry for vcpkg ports +
+ +-- vcpkg team vcpkg@microsoft.com WED, 16 Jul 2019 05:17:00 -0800 + vcpkg (2018.11.23) -------------- * Add ports: diff --git a/LICENSE.txt b/LICENSE.txt index 375184eaf..2e4eac826 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,3 @@ -Port Tree - Copyright (c) Microsoft Corporation All rights reserved. diff --git a/NOTICE.txt b/NOTICE.txt new file mode 100644 index 000000000..0e2e96048 --- /dev/null +++ b/NOTICE.txt @@ -0,0 +1,46 @@ +vcpkg uses third party material from the projects listed below. +The original copyright notice and the license under which Microsoft +received such third party material are set forth below. Microsoft +reserves all other rights not expressly granted, whether by +implication, estoppel or otherwise. + +In the event that we accidentally failed to list a required notice, please +bring it to our attention by posting an issue. + +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do Not Translate or Localize + +vcpkg incorporates third party material from the projects listed below. +The original copyright notice and the license under which Microsoft received +such third party materials are set forth below. Microsoft reserved all other +rights not expressly granted, whether by implication, estoppel or otherwise. + +1. Catch2 + +%% Catch2 NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +========================================= +END OF Catch2 NOTICES, INFORMATION, AND LICENSE diff --git a/README.md b/README.md index c3f42aa0a..dc0d1d031 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,14 @@ 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 | +| ------------- | ------------- | ------------- | +| [![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/vcpkg-Windows-master-CI?branchName=master)](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=9&branchName=master) | [![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/vcpkg-osx-master-CI?branchName=master)](https://dev.azure.com/vcpkg/public/_build/latest?definitionId=11&branchName=master) | [![Build Status](https://dev.azure.com/vcpkg/public/_apis/build/status/vcpkg-Linux-master-CI?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 diff --git a/README_zh_CN.md b/README_zh_CN.md new file mode 100644 index 000000000..ab53d7180 --- /dev/null +++ b/README_zh_CN.md @@ -0,0 +1,72 @@ +# Vcpkg + +## 概要 +Vcpkg 可帮助您在 Windows、Linux 和 MacOS 上管理 C 和 C++ 库。这个工具和生态系统正在不断发展,您的参与对它的成功至关重要! + +如需获取有关可用命令的简短描述, 请执行 `vcpkg help`。 + +## 快速开始 +需求: +- Windows 10、8.1、7、Linux、或 MacOS +- Visual Studio 2015 Update 3 或更新的版本 (Windows 中) +- Git +- *可选:* CMake 3.12.4 + +如何开始: +``` +> git clone https://github.com/Microsoft/vcpkg.git +> cd vcpkg + +PS> .\bootstrap-vcpkg.bat +Linux:~/$ ./bootstrap-vcpkg.sh +``` + +然后,[集成](docs/users/integration.md)至本机环境中,执行 (注意: 首次启动需要管理员权限) +``` +PS> .\vcpkg integrate install +Linux:~/$ ./vcpkg integrate install +``` + +使用以下命令安装任意包 +``` +PS> .\vcpkg install sdl2 curl +Linux:~/$ ./vcpkg install sdl2 curl +``` + +与CMake一起使用已安装库的最佳方法是通过工具链文件 `scripts\buildsystems\vcpkg.cmake`。要使用此文件,您只需将 `-DCMAKE_TOOLCHAIN_FILE=[vcpkg root]\scripts\buildsystems\vcpkg.cmake` 作为参数添加到CMake命令行中。 + +在Visual Studio中,您可以创建一个新项目(或打开一个已有项目)。所有已安装的库都可以使用 `#include` 在您的项目中使用,而无需进行其他配置。 + +若需获取更多信息,请查看[使用一个包](docs/examples/installing-and-using-packages.md)具体示例。 若您需要使用的库不在vcpkg中,请[在GitHub上创建一个issue](https://github.com/microsoft/vcpkg/issues) ,开发团队和贡献者会看到它,并有可能为此库创建端口文件。 + +有关 macOS 和 Linux 支持的其他说明,请参见[官方公告](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/)。 + +## Tab补全/自动补全 +`vcpkg`支持在 Powershell 和 bash 中自动补全命令、程序包名称、选项等。如需启用自动补全功能,请使用以下命令: +``` +PS> .\vcpkg integrate powershell +Linux:~/$ ./vcpkg integrate bash +``` +并重启您的控制台。 + + +## 示例 +请查看[文档](docs/index.md)获取具体示例,其包含[安装并使用包](docs/examples/installing-and-using-packages.md),[使用压缩文件添加包](docs/examples/packaging-zipfiles.md),和[从GitHub源中添加一个包](docs/examples/packaging-github-repos.md)。 + +我们的文档现在也可以从[ReadTheDocs](https://vcpkg.readthedocs.io/)在线获取。 + +观看4分钟[demo视频](https://www.youtube.com/watch?v=y41WFKbQFTw)。 + +## 贡献者 +Vcpkg通过您的贡献不断发展。下面是一些您可以贡献的方式: + +* 创建一个关于vcpkg或已支持包的[新issue](https://github.com/Microsoft/vcpkg/issues) +* [创建修复PR和创建新包](https://github.com/Microsoft/vcpkg/pulls) + +请参阅我们的[贡献准则](CONTRIBUTING.md)了解更多详细信息。 + +该项目采用了[Microsoft开源行为准则](https://opensource.microsoft.com/codeofconduct/)。获取更多信息请查看 [行为准则FAQ](https://opensource.microsoft.com/codeofconduct/faq/)或联系[opencode@microsoft.com](mailto:opencode@microsoft.com)提出其他问题或意见。 + +## License + +使用的代码 License 为[MIT License](LICENSE.txt)。 diff --git a/docs/about/faq.md b/docs/about/faq.md index 504738479..6517774cf 100644 --- a/docs/about/faq.md +++ b/docs/about/faq.md @@ -52,11 +52,12 @@ Yes. While Vcpkg will only produce the standard "Release" and "Debug" configurat First of all, Vcpkg will automatically assume any custom configuration starting with "Release" (resp. "Debug") as a configuration that is compatible with the standard "Release" (resp. "Debug") configuration and will act accordingly. -For other configurations, you only need to override the MSBuild `$(VcpkgConfiguration)` macro in your project file (.vcxproj) to declare the compatibility between your configuration, and the target standard configuration. +For other configurations, you only need to override the MSBuild `$(VcpkgConfiguration)` macro in your project file (.vcxproj) to declare the compatibility between your configuration, and the target standard configuration. Unfortunately, due to the sequential nature of MSBuild, you'll need to add those settings much higher in your vcxproj so that it is declared before the Vcpk integration is loaded. It is recommend that the `$(VcpkgConfiguration)` macro is added to the "Globals" PropertyGroup. For example, you can add support for your "MyRelease" configuration by adding in your project file: ``` - + + ... Release ``` diff --git a/docs/examples/overlay-triplets-linux-dynamic.md b/docs/examples/overlay-triplets-linux-dynamic.md new file mode 100644 index 000000000..b2868e2fd --- /dev/null +++ b/docs/examples/overlay-triplets-linux-dynamic.md @@ -0,0 +1,126 @@ +# Overlay triplets example + +## Building dynamic libraries on Linux + +Using **vcpkg** you can build libraries for many configurations out of the box. However, this doesn't currently include shared libraries on Linux and Mac OS. + +This doesn't mean that you cannot use **vcpkg** to build your dynamic libraries on these platforms! This document will guide you through creating your own custom triplets with `--overlay-triplets` to easily build dynamic libraries on Linux. + +### Step 1: Create the custom triplet files + +To save time, copy the existing `x64-linux.cmake` triplet file. + +```sh +~/git$ mkdir custom-triplets +~/git$ cp vcpkg/triplets/x64-linux.cmake custom-triplets/x64-linux-dynamic.cmake +``` + +And modify `custom-triplets/x64-linux-dynamic.cmake` to match the contents below: +```cmake +# ~/git/custom-triplets/x64-linux-dynamic.cmake +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) # This changed from static to dynamic + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) +``` + +### Step 2: Use `--overlay-triplets` to build dynamic libraries + +Use the `--overlay-triplets` option to include the triplets in the `custom-triplets` directory. + +``` +~/git$ vcpkg/vcpkg install sqlite3:x64-linux-dynamic --overlay-triplets=custom-triplets +The following packages will be built and installed: + sqlite3[core]:x64-linux-dynamic +Starting package 1/1: sqlite3:x64-linux-dynamic +Building package sqlite3[core]:x64-linux-dynamic... +-- Loading triplet configuration from: /home/victor/git/custom-triplets/x64-linux-dynamic.cmake +-- Downloading https://sqlite.org/2019/sqlite-amalgamation-3280000.zip... +-- Extracting source /home/victor/git/vcpkg/downloads/sqlite-amalgamation-3280000.zip +-- Applying patch fix-arm-uwp.patch +-- Using source at /home/victor/git/vcpkg/buildtrees/sqlite3/src/3280000-6a3ff7ce92 +-- Configuring x64-linux-dynamic-dbg +-- Configuring x64-linux-dynamic-rel +-- Building x64-linux-dynamic-dbg +-- Building x64-linux-dynamic-rel +-- Performing post-build validation +-- Performing post-build validation done +Building package sqlite3[core]:x64-linux-dynamic... done +Installing package sqlite3[core]:x64-linux-dynamic... +Installing package sqlite3[core]:x64-linux-dynamic... done +Elapsed time for package sqlite3:x64-linux-dynamic: 44.82 s + +Total elapsed time: 44.82 s + +The package sqlite3:x64-linux-dynamic provides CMake targets: + + find_package(sqlite3 CONFIG REQUIRED) + target_link_libraries(main PRIVATE sqlite3) +``` + +Overlay triplets enables your custom triplet files when using `vcpkg install`, `vcpkg update`, `vcpkg upgrade`, and `vcpkg remove`. + +When using the `--overlay-triplets` option, a message like the following lets you know that a custom triplet is being used: + +``` +-- Loading triplet configuration from: /home/custom-triplets/x64-linux-dynamic.cmake +``` + +## Overriding default triplets + +As you may have noticed, the default triplets for Windows (`x86-windows` and `x64-windows`) install dynamic libraries, while a suffix (`-static`) is needed for static libraries. This is different with Linux and Mac OS where static libraries are built by `x64-linux` and `x64-osx`. + +Using `--overlay-ports` it is possible to override the default triplets to accomplish the same behavior on Linux: + +* `x64-linux`: Builds dynamic libraries, +* `x64-linux-static`: Builds static libraries. + +### Step 1: Create the overlay triplets + +Using the custom triplet created in the previous example, rename `custom-triplets/x64-linux-dynamic.cmake` to `custom-triplets/x64-linux.cmake`. Then, copy the default `x64-linux` triplet (which builds static libraries) in your `custom-triplets` folder and rename it to `x64-linux-static.cmake`. + +```sh +~/git$ mv custom-triplets/x64-linux-dynamic.cmake custom-triplets/x64-linux.cmake +~/git$ cp vcpkg/triplets/x64-linux.cmake custom-triplets/x64-linux-static.cmake +``` + +### Step 2: Use `--overlay-ports` to override default triplets + +Use the `--overlay-triplets` option to include the triplets in the `custom-triplets` directory. + +``` +~/git$ vcpkg/vcpkg install sqlite3:x64-linux --overlay-triplets=custom-triplets +The following packages will be built and installed: + sqlite3[core]:x64-linux +Starting package 1/1: sqlite3:x64-linux +Building package sqlite3[core]:x64-linux... +-- Loading triplet configuration from: /home/victor/git/custom-triplets/x64-linux.cmake +-- Downloading https://sqlite.org/2019/sqlite-amalgamation-3280000.zip... +-- Extracting source /home/victor/git/vcpkg/downloads/sqlite-amalgamation-3280000.zip +-- Applying patch fix-arm-uwp.patch +-- Using source at /home/victor/git/vcpkg/buildtrees/sqlite3/src/3280000-6a3ff7ce92 +-- Configuring x64-linux-dbg +-- Configuring x64-linux-rel +-- Building x64-linux-dbg +-- Building x64-linux-rel +-- Performing post-build validation +-- Performing post-build validation done +Building package sqlite3[core]:x64-linux... done +Installing package sqlite3[core]:x64-linux... +Installing package sqlite3[core]:x64-linux... done +Elapsed time for package sqlite3:x64-linux: 44.82 s + +Total elapsed time: 44.82 s + +The package sqlite3:x64-linux provides CMake targets: + + find_package(sqlite3 CONFIG REQUIRED) + target_link_libraries(main PRIVATE sqlite3) +``` + +Note that the default triplet is masked by your custom triplet: + +``` +-- Loading triplet configuration from: /home/victor/git/custom-triplets/x64-linux.cmake +``` diff --git a/docs/index.md b/docs/index.md index cde241e92..579b0e4c8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,6 +19,14 @@ Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This too - [Control files](maintainers/control-files.md) - [Portfile functions](maintainers/portfile-functions.md) +- [Maintainer Guidelines](maintainers/maintainer-guide.md) + +### Tool Maintainer Help + +- [Testing](tool-maintainers/testing.md) +- [Benchmarking](tool-maintainers/benchmarking.md) +- [Layout of the vcpkg source tree](tool-maintainers/layout.md) +- [Maintainer Guidelines](maintainers/maintainer-guide.md) ### Specifications diff --git a/docs/maintainers/control-files.md b/docs/maintainers/control-files.md index ac4afa265..03bfa113a 100644 --- a/docs/maintainers/control-files.md +++ b/docs/maintainers/control-files.md @@ -43,16 +43,27 @@ The port version. This field is an alphanumeric string that may also contain `.`, `_`, or `-`. No attempt at ordering versions is made; all versions are treated as bit strings and are only evaluated for equality. -By convention, if a portfile is modified without incrementing the "upstream" version, a `-#` is appended to create a unique version string. +For tagged-release ports, we follow the following convention: -Some projects do not have named releases. In these cases use the date of the version do not have labeled releases, in these cases use the date of the last commit in `YYYY-MM-DD` format. See the `abseil` port as an example. +1. If the port follows a scheme like `va.b.c`, we remove the leading `v`. In this case, it becomes `a.b.c`. +2. If the port includes its own name in the version like `curl-7_65_1`, we remove the leading name: `7_65_1` +3. If the port has been modified, we append a `-N` to distinguish the versions: `1.2.1-4` + +For rolling-release ports, we use the date that the _commit was accessed by you_, formatted as `YYYY-MM-DD`. Stated another way: if someone had a time machine and went to that date, they would see this commit as the latest master. + +For example, given: +1. The latest commit was made on 2019-04-19 +2. The current version string is `2019-02-14-1` +3. Today's date is 2019-06-01. + +Then if you update the source version today, you should give it version `2019-06-01`. If you need to make a change which doesn't adjust the source version, you should give it version `2019-02-14-2`. Example: ```no-highlight Version: 1.0.5-2 ``` ```no-highlight -Version: 2019-3-21 +Version: 2019-03-21 ``` #### Description diff --git a/docs/maintainers/execute_process.md b/docs/maintainers/execute_process.md new file mode 100644 index 000000000..cbb339509 --- /dev/null +++ b/docs/maintainers/execute_process.md @@ -0,0 +1,10 @@ +# execute_process + +Intercepts all calls to execute_process() inside portfiles and fails when Download Mode +is enabled. + +In order to execute a process in Download Mode call `_execute_process()` instead. + + +## Source +[scripts/cmake/execute_process.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/execute_process.cmake) diff --git a/docs/maintainers/maintainer-guide.md b/docs/maintainers/maintainer-guide.md new file mode 100644 index 000000000..624aa46d3 --- /dev/null +++ b/docs/maintainers/maintainer-guide.md @@ -0,0 +1,236 @@ +# Maintainer Guidelines and Policies + +This document lists a set of policies that you should apply when adding or updating a port recipe. +It is intended to serve the role of +[Debian's Policy Manual](https://www.debian.org/doc/debian-policy/), +[Homebrew's Maintainer Guidelines](https://docs.brew.sh/Maintainer-Guidelines), and +[Homebrew's Formula Cookbook](https://docs.brew.sh/Formula-Cookbook). + +## PR Structure + +### Make separate Pull Requests per port + +Whenever possible, separate changes into multiple PRs. +This makes them significantly easier to review and prevents issues with one set of changes from holding up every other change. + +### Avoid trivial changes in untouched files + +For example, avoid reformatting or renaming variables in portfiles that otherwise have no reason to be modified for the issue at hand. +However, if you need to modify the file for the primary purpose of the PR (updating the library), +then obviously beneficial changes like fixing typos are appreciated! + +### Check names against other repositories + +A good service to check many at once is [Repology](https://repology.org/). +If the library you are adding could be confused with another one, +consider renaming to make it clear. + +### Use GitHub Draft PRs + +GitHub Draft PRs are a great way to get CI or human feedback on work that isn't yet ready to merge. +Most new PRs should be opened as drafts and converted to normal PRs once the CI passes. + +More information about GitHub Draft PRs: +https://github.blog/2019-02-14-introducing-draft-pull-requests/ + +## Portfiles + +### Avoid deprecated helper functions + +At this time, the following helpers are deprecated: + +1. `vcpkg_extract_source_archive()` should be replaced by [`vcpkg_extract_source_archive_ex()`](vcpkg_extract_source_archive_ex.md) +2. `vcpkg_apply_patches()` should be replaced by the `PATCHES` arguments to the "extract" helpers (e.g. [`vcpkg_from_github()`](vcpkg_from_github.md)) +3. `vcpkg_build_msbuild()` should be replaced by [`vcpkg_install_msbuild()`](vcpkg_install_msbuild.md) + +### Avoid excessive comments in portfiles + +Ideally, portfiles should be short, simple, and as declarative as possible. +Remove any boiler plate comments introduced by the `create` command before submitting a PR. + +## Build Techniques + +### Do not use vendored dependencies + +Do not use embedded copies of libraries. +All dependencies should be split out and packaged separately so they can be updated and maintained. + +### Prefer using CMake + +When multiple buildsystems are available, prefer using CMake. +Additionally, when appropriate, it can be easier and more maintainable to rewrite alternative buildsystems into CMake using `file(GLOB)` directives. + +Examples: [abseil](../../ports/abseil/portfile.cmake) + +### Choose either static or shared binaries + +By default, `vcpkg_configure_cmake()` will pass in the appropriate setting for `BUILD_SHARED_LIBS`, +however for libraries that don't respect that variable, you can switch on `VCPKG_LIBRARY_LINKAGE`: + +```cmake +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" KEYSTONE_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" KEYSTONE_BUILD_SHARED) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DKEYSTONE_BUILD_STATIC=${KEYSTONE_BUILD_STATIC} + -DKEYSTONE_BUILD_SHARED=${KEYSTONE_BUILD_SHARED} +) +``` + +### When defining features, explicitly control dependencies + +When defining a feature that captures an optional dependency, +ensure that the dependency will not be used accidentally when the feature is not explicitly enabled. + +```cmake +if ("zlib" IN_LIST FEATURES) + set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB OFF) +else() + set(CMAKE_DISABLE_FIND_PACKAGE_ZLIB ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -CMAKE_DISABLE_FIND_PACKAGE_ZLIB=${CMAKE_DISABLE_FIND_PACKAGE_ZLIB} +) +``` + +The snippet below using `vcpkg_check_features()` is equivalent, [see the documentation](vcpkg_check_features.md). + +```cmake +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + "zlib" CMAKE_DISABLE_FIND_PACKAGE_ZLIB +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + ${FEATURE_OPTIONS} +) +``` + +Note that `ZLIB` in the above is case-sensitive. See the [cmake documentation](https://cmake.org/cmake/help/v3.15/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html) for more details. + +### Place conflicting libs in a `manual-link` directory + +A lib is considered conflicting if it does any of the following: ++ Define `main` ++ Define malloc ++ Define symbols that are also declared in other libraries + +Conflicting libs are typically by design and not considered a defect. Because some build systems link against everything in the lib directory, these should be moved into a subdirectory named `manual-link`. + +## Versioning + +### Follow common conventions for the `Version:` field + +See our [CONTROL files document](control-files.md#version) for a full explanation of our conventions. + +### Update the `Version:` field in the `CONTROL` file of any modified ports + +Vcpkg uses this field to determine whether a given port is out-of-date and should be changed whenever the port's behavior changes. + +Our convention for this field is to append a `-N` to the upstream version when changes need to be made. + +For Example: + +- Zlib's package version is currently `1.2.1`. +- You've discovered that the wrong copyright file has been deployed, and fixed that in the portfile. +- You should update the `Version:` field in the control file to `1.2.1-1`. + +See our [CONTROL files document](control-files.md#version) for a full explanation of our conventions. + +## Patching + +### Prefer options over patching + +It is preferable to set options in a call to `vcpkg_configure_xyz()` over patching the settings directly. + +Common options that allow avoiding patching: +1. [MSBUILD] `` settings inside the project file can be overridden via `/p:` parameters +2. [CMAKE] Calls to `find_package(XYz)` in CMake scripts can be disabled via [`-DCMAKE_DISABLE_FIND_PACKAGE_XYz=ON`](https://cmake.org/cmake/help/v3.15/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html) +3. [CMAKE] Cache variables (declared as `set(VAR "value" CACHE STRING "Documentation")` or `option(VAR "Documentation" "Default Value")`) can be overridden by just passing them in on the command line as `-DVAR:STRING=Foo`. One notable exception is if the `FORCE` parameter is passed to `set()`. See also the [CMake `set` documentation](https://cmake.org/cmake/help/v3.15/command/set.html) + +### Prefer patching over overriding `VCPKG_` values + +Some variables prefixed with `VCPKG_` have an equivalent `CMAKE_`. +However, not all of them are passed to the internal package build [(see implementation: Windows toolchain)](../../scripts/toolchains/windows.cmake). + +Consider the following example: + +```cmake +set(VCPKG_C_FLAGS "-O2 ${VCPKG_C_FLAGS}") +set(VCPKG_CXX_FLAGS "-O2 ${VCPKG_CXX_FLAGS}") +``` + +Using `vcpkg`'s built-in toolchains this works, because the value of `VCPKG__FLAGS` is forwarded to the appropriate `CMAKE_LANG_FLAGS` variable. But, a custom toolchain that is not aware of `vcpkg`'s variables will not forward them. + +Because of this, it is preferable to patch the buildsystem directly when setting `CMAKE__FLAGS`. + +### Minimize patches + +When making changes to a library, strive to minimize the final diff. This means you should _not_ reformat the upstream source code when making changes that affect a region. Also, when disabling a conditional, it is better to add a `AND FALSE` or `&& 0` to the condition than to delete every line of the conditional. + +This helps to keep the size of the vcpkg repository down as well as improves the likelihood that the patch will apply to future code versions. + +### Do not implement features in patches + +The purpose of patching in vcpkg is to enable compatibility with compilers, libraries, and platforms. It is not to implement new features in lieu of following proper Open Source procedure (submitting an Issue/PR/etc). + +## Do not build tests/docs/examples by default + +When submitting a new port, check for any options like `BUILD_TESTS` or `WITH_TESTS` or `POCO_ENABLE_SAMPLES` and ensure the additional binaries are disabled. This minimizes build times and dependencies for the average user. + +Optionally, you can add a `test` feature which enables building the tests, however this should not be in the `Default-Features` list. + +## Enable existing users of the library to switch to vcpkg + +### Do not add `CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS` + +Unless the author of the library is already using it, we should not use this CMake functionality because it interacts poorly with C++ templates and breaks certain compiler features. Libraries that don't provide a .def file and do not use __declspec() declarations simply do not support shared builds for Windows and should be marked as such with `vcpkg_check_linkage(ONLY_STATIC_LIBRARY)`. + +### Do not rename binaries outside the names given by upstream + +This means that if the upstream library has different names in release and debug (libx versus libxd), then the debug library should not be renamed to `libx`. Vice versa, if the upstream library has the same name in release and debug, we should not introduce a new name. + +Important caveat: +- Static and shared variants often should be renamed to a common scheme. This enables consumers to use a common name and be ignorant of the downstream linkage. This is safe because we only make one at a time available. + +Note that if a library generates CMake integration files (`foo-config.cmake`), renaming must be done through patching the CMake build itself instead of simply calling `file(RENAME)` on the output archives/LIBs. + +Finally, DLL files on Windows should never be renamed post-build because it breaks the generated LIBs. + +## Useful implementation notes + +### Portfiles are run in Script Mode + +While `portfile.cmake`'s and `CMakeLists.txt`'s share a common syntax and core CMake language constructs, portfiles run in "Script Mode", whereas `CMakeLists.txt` files run in "Build Mode" (unofficial term). The most important difference between these two modes is that "Script Mode" does not have a concept of "Target" -- any behaviors that depend on the "target" machine (`CMAKE_CXX_COMPILER`, `CMAKE_EXECUTABLE_SUFFIX`, `CMAKE_SYSTEM_NAME`, etc) will not be correct. + +Portfiles have direct access to variables set in the triplet file, but `CMakeLists.txt`s do not (though there is often a translation that happens -- `VCPKG_LIBRARY_LINKAGE` versus `BUILD_SHARED_LIBS`). + +Portfiles and CMake builds invoked by portfiles are run in different processes. Conceptually: + +```no-highlight ++----------------------------+ +------------------------------------+ +| CMake.exe | | CMake.exe | ++----------------------------+ +------------------------------------+ +| Triplet file | ====> | Toolchain file | +| (x64-windows.cmake) | | (scripts/buildsystems/vcpkg.cmake) | ++----------------------------+ +------------------------------------+ +| Portfile | ====> | CMakeLists.txt | +| (ports/foo/portfile.cmake) | | (buildtrees/../CMakeLists.txt) | ++----------------------------+ +------------------------------------+ +``` + +To determine the host in a portfile, the standard CMake variables are fine (`CMAKE_HOST_WIN32`). + +To determine the target in a portfile, the vcpkg triplet variables should be used (`VCPKG_CMAKE_SYSTEM_NAME`). + +See also our [triplet documentation](../users/triplets.md) for a full enumeration of possible settings. diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md index f159f7f64..dac417acf 100644 --- a/docs/maintainers/portfile-functions.md +++ b/docs/maintainers/portfile-functions.md @@ -1,25 +1,36 @@ # Portfile helper functions +- [execute\_process](execute_process.md) - [vcpkg\_acquire\_msys](vcpkg_acquire_msys.md) - [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\_msbuild](vcpkg_build_msbuild.md) +- [vcpkg\_build\_make](vcpkg_build_make.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\_configure\_cmake](vcpkg_configure_cmake.md) +- [vcpkg\_common\_definitions](vcpkg_common_definitions.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) - [vcpkg\_download\_distfile](vcpkg_download_distfile.md) +- [vcpkg\_execute\_build\_process](vcpkg_execute_build_process.md) - [vcpkg\_execute\_required\_process](vcpkg_execute_required_process.md) - [vcpkg\_extract\_source\_archive](vcpkg_extract_source_archive.md) - [vcpkg\_extract\_source\_archive\_ex](vcpkg_extract_source_archive_ex.md) +- [vcpkg\_fail\_port\_install](vcpkg_fail_port_install.md) - [vcpkg\_find\_acquire\_program](vcpkg_find_acquire_program.md) - [vcpkg\_from\_bitbucket](vcpkg_from_bitbucket.md) - [vcpkg\_from\_git](vcpkg_from_git.md) - [vcpkg\_from\_github](vcpkg_from_github.md) - [vcpkg\_from\_gitlab](vcpkg_from_gitlab.md) - [vcpkg\_install\_cmake](vcpkg_install_cmake.md) -- [vcpkg\_install\_msbuild](vcpkg_install_msbuild.md) +- [vcpkg\_install\_msbuild](vcpkg_install_msbuild.md) +- [vcpkg\_install\_make](vcpkg_install_make.md) +- [vcpkg\_install\_nmake](vcpkg_install_nmake.md) +- [vcpkg\_prettify\_command](vcpkg_prettify_command.md) - [vcpkg\_test\_cmake](vcpkg_test_cmake.md) diff --git a/docs/maintainers/vcpkg_build_make.md b/docs/maintainers/vcpkg_build_make.md new file mode 100644 index 000000000..5161ba3ce --- /dev/null +++ b/docs/maintainers/vcpkg_build_make.md @@ -0,0 +1,30 @@ +# vcpkg_build_make + +Build a linux makefile project. + +## Usage: +```cmake +vcpkg_build_make([TARGET ]) +``` + +### TARGET +The target passed to the configure/make build command (`./configure/make/make install`). If not specified, no target will +be passed. + +### ADD_BIN_TO_PATH +Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. + +## Notes: +This command should be preceeded by a call to [`vcpkg_configure_make()`](vcpkg_configure_make.md). +You can use the alias [`vcpkg_install_make()`](vcpkg_configure_make.md) function if your CMake script supports the +"install" target + +## Examples + +* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) +* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) +* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) +* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_build_make.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_make.cmake) diff --git a/docs/maintainers/vcpkg_build_nmake.md b/docs/maintainers/vcpkg_build_nmake.md new file mode 100644 index 000000000..e5c177b1b --- /dev/null +++ b/docs/maintainers/vcpkg_build_nmake.md @@ -0,0 +1,75 @@ +# vcpkg_build_nmake + +Build a msvc makefile project. + +## Usage: +```cmake +vcpkg_build_nmake( + SOURCE_PATH <${SOURCE_PATH}> + [NO_DEBUG] + PROJECT_SUBPATH <${SUBPATH}> + PROJECT_NAME <${MAKEFILE_NAME}> + [PRERUN_SHELL <${SHELL_PATH}>] + [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] + [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] + [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] + [OPTIONS_RELEASE <-DOPTIMIZE=1>...] + [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] + [TARGET ]) +``` + +## Parameters +### SOURCE_PATH +Specifies the directory containing the source files. +By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. + +### PROJECT_SUBPATH +Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile. + +### PROJECT_NAME +Specifies the name of msvc makefile name. +Default is `makefile.vc` + +### NO_DEBUG +This port doesn't support debug mode. + +### ENABLE_INSTALL +Install binaries after build. + +### PRERUN_SHELL +Script that needs to be called before build + +### PRERUN_SHELL_DEBUG +Script that needs to be called before debug build + +### PRERUN_SHELL_RELEASE +Script that needs to be called before release build + +### OPTIONS +Additional options passed to generate during the generation. + +### OPTIONS_RELEASE +Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`. + +### OPTIONS_DEBUG +Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`. + +### TARGET +The target passed to the nmake build command (`nmake/nmake install`). If not specified, no target will +be passed. + +### ADD_BIN_TO_PATH +Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. + +## Notes: +This command should be preceeded by a call to [`vcpkg_configure_nmake()`](vcpkg_configure_nmake.md). +You can use the alias [`vcpkg_install_nmake()`](vcpkg_configure_nmake.md) function if your CMake script supports the +"install" target + +## 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_build_nmake.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_build_nmake.cmake) diff --git a/docs/maintainers/vcpkg_check_features.md b/docs/maintainers/vcpkg_check_features.md new file mode 100644 index 000000000..cec01dde2 --- /dev/null +++ b/docs/maintainers/vcpkg_check_features.md @@ -0,0 +1,148 @@ +# vcpkg_check_features +Check if one or more features are a part of a package installation. + +## Usage +```cmake +vcpkg_check_features( + OUT_FEATURE_OPTIONS + [FEATURES + + [ ] + ...] + [INVERTED_FEATURES + + [ ] + ...] +) +``` +`vcpkg_check_features()` accepts these parameters: + +* `OUT_FEATURE_OPTIONS`: + An output variable, the function will clear the variable passed to `OUT_FEATURE_OPTIONS` + and then set it to contain a list of option definitions (`-D=ON|OFF`). + + This should be set to `FEATURE_OPTIONS` by convention. + +* `FEATURES`: + A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs. + For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of: + + * `-D=ON`, if a feature is specified for installation, + * `-D=OFF`, otherwise. + +* `INVERTED_FEATURES`: + A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs, uses reversed logic from `FEATURES`. + For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of: + + * `-D=OFF`, if a feature is specified for installation, + * `-D=ON`, otherwise. + + +## Notes + +The `FEATURES` name parameter can be omitted if no `INVERTED_FEATURES` are used. + +At least one (`FEATURE_NAME`, `OPTION_NAME`) pair must be passed to the function call. + +Arguments passed to `FEATURES` and `INVERTED_FEATURES` are not validated to prevent duplication. +If the same (`FEATURE_NAME`, `OPTION_NAME`) pair is passed to both lists, +two conflicting definitions are added to `OUT_FEATURE_OPTIONS`. + + +## Examples + +### Example 1: Regular features + +```cmake +$ ./vcpkg install mimalloc[asm,secure] + +# ports/mimalloc/portfile.cmake +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + # Keyword FEATURES is optional if INVERTED_FEATURES are not used + asm MI_SEE_ASM + override MI_OVERRIDE + secure MI_SECURE +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + # Expands to "-DMI_SEE_ASM=ON; -DMI_OVERRIDE=OFF; -DMI_SECURE=ON" + ${FEATURE_OPTIONS} +) +``` + +### Example 2: Inverted features + +```cmake +$ ./vcpkg install cpprestsdk[websockets] + +# ports/cpprestsdk/portfile.cmake +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES # <- Keyword INVERTED_FEATURES required + brotli CPPREST_EXCLUDE_BROTLI + websockets CPPREST_EXCLUDE_WEBSOCKETS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + # Expands to "-DCPPREST_EXCLUDE_BROTLI=ON; -DCPPREST_EXCLUDE_WEBSOCKETS=OFF" + ${FEATURE_OPTIONS} +) +``` + +### Example 3: Set multiple options for same feature + +```cmake +$ ./vcpkg install pcl[cuda] + +# ports/pcl/portfile.cmake +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + cuda WITH_CUDA + cuda BUILD_CUDA + cuda BUILD_GPU +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + # Expands to "-DWITH_CUDA=ON; -DBUILD_CUDA=ON; -DBUILD_GPU=ON" + ${FEATURE_OPTIONS} +) +``` + +### Example 4: Use regular and inverted features + +```cmake +$ ./vcpkg install rocksdb[tbb] + +# ports/rocksdb/portfile.cmake +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used + tbb WITH_TBB + INVERTED_FEATURES + tbb ROCKSDB_IGNORE_PACKAGE_TBB +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + # Expands to "-DWITH_TBB=ON; -DROCKSDB_IGNORE_PACKAGE_TBB=OFF" + ${FEATURE_OPTIONS} +) +``` + +## Examples in portfiles + +* [cpprestsdk](https://github.com/microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) +* [pcl](https://github.com/microsoft/vcpkg/blob/master/ports/pcl/portfile.cmake) +* [rocksdb](https://github.com/microsoft/vcpkg/blob/master/ports/rocksdb/portfile.cmake) + + +## Source +[scripts/cmake/vcpkg_check_features.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_check_features.cmake) diff --git a/docs/maintainers/vcpkg_common_definitions.md b/docs/maintainers/vcpkg_common_definitions.md new file mode 100644 index 000000000..3bb922b17 --- /dev/null +++ b/docs/maintainers/vcpkg_common_definitions.md @@ -0,0 +1,19 @@ +# vcpkg_common_definitions + +File contains helpful variabls for portfiles which are commonly needed or used. + +## The following variables are available: +```cmake +VCPKG_TARGET_IS_ with being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if +VCPKG_TARGET_STATIC_LIBRARY_PREFIX static library prefix for target (same as CMAKE_STATIC_LIBRARY_PREFIX) +VCPKG_TARGET_STATIC_LIBRARY_SUFFIX static library suffix for target (same as CMAKE_STATIC_LIBRARY_SUFFIX) +VCPKG_TARGET_SHARED_LIBRARY_PREFIX shared library prefix for target (same as CMAKE_SHARED_LIBRARY_PREFIX) +VCPKG_TARGET_SHARED_LIBRARY_SUFFIX shared library suffix for target (same as CMAKE_SHARED_LIBRARY_SUFFIX) +``` + +CMAKE_STATIC_LIBRARY_PREFIX, CMAKE_STATIC_LIBRARY_SUFFIX, CMAKE_SHARED_LIBRARY_PREFIX, CMAKE_SHARED_LIBRARY_SUFFIX are defined for the target so that +portfiles are able to use find_library calls to discover dependent libraries within the current triplet for ports. + + +## Source +[scripts/cmake/vcpkg_common_definitions.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_common_definitions.cmake) diff --git a/docs/maintainers/vcpkg_configure_cmake.md b/docs/maintainers/vcpkg_configure_cmake.md index 200d358ae..ebbd92ed1 100644 --- a/docs/maintainers/vcpkg_configure_cmake.md +++ b/docs/maintainers/vcpkg_configure_cmake.md @@ -7,6 +7,8 @@ Configure CMake for Debug and Release builds of a project. vcpkg_configure_cmake( SOURCE_PATH <${SOURCE_PATH}> [PREFER_NINJA] + [DISABLE_PARALLEL_CONFIGURE] + [NO_CHARSET_FLAG] [GENERATOR <"NMake Makefiles">] [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] [OPTIONS_RELEASE <-DOPTIMIZE=1>...] @@ -16,20 +18,27 @@ vcpkg_configure_cmake( ## Parameters ### SOURCE_PATH -Specifies the directory containing the `CMakeLists.txt`. By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. +Specifies the directory containing the `CMakeLists.txt`. +By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. ### PREFER_NINJA -Indicates that, when available, Vcpkg should use Ninja to perform the build. This should be specified unless the port is known to not work under Ninja. +Indicates that, when available, Vcpkg should use Ninja to perform the build. +This should be specified unless the port is known to not work under Ninja. ### DISABLE_PARALLEL_CONFIGURE Disables running the CMake configure step in parallel. - This is needed for libraries which write back into their source directory during configure. +### NO_CHARSET_FLAG +Disables passing `utf-8` as the default character set to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS`. + +This is needed for libraries that set their own source code's character set. + ### GENERATOR Specifies the precise generator to use. -This is useful if some project-specific buildsystem has been wrapped in a cmake script that won't perform an actual build. If used for this purpose, it should be set to "NMake Makefiles". +This is useful if some project-specific buildsystem has been wrapped in a cmake script that won't perform an actual build. +If used for this purpose, it should be set to "NMake Makefiles". ### OPTIONS Additional options passed to CMake during the configuration. diff --git a/docs/maintainers/vcpkg_configure_make.md b/docs/maintainers/vcpkg_configure_make.md new file mode 100644 index 000000000..73b46bafc --- /dev/null +++ b/docs/maintainers/vcpkg_configure_make.md @@ -0,0 +1,78 @@ +# vcpkg_configure_make + +Configure `configure` for Debug and Release builds of a project. + +## Usage +```cmake +vcpkg_configure_make( + SOURCE_PATH <${SOURCE_PATH}> + [AUTOCONFIG] + [DISABLE_AUTO_HOST] + [DISABLE_AUTO_DST] + [GENERATOR] + [NO_DEBUG] + [SKIP_CONFIGURE] + [PROJECT_SUBPATH <${PROJ_SUBPATH}>] + [PRERUN_SHELL <${SHELL_PATH}>] + [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] + [OPTIONS_RELEASE <-DOPTIMIZE=1>...] + [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] +) +``` + +## Parameters +### SOURCE_PATH +Specifies the directory containing the `configure`/`configure.ac`. +By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. + +### PROJECT_SUBPATH +Specifies the directory containing the ``configure`/`configure.ac`. +By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. +Should use `GENERATOR NMake` first. + +### NO_DEBUG +This port doesn't support debug mode. + +### SKIP_CONFIGURE +Skip configure process + +### AUTOCONFIG +Need to use autoconfig to generate configure file. + +### DISABLE_AUTO_HOST +Don't set host automatically, the default value is `i686`. +If use this option, you will need to set host manually. + +### DISABLE_AUTO_DST +Don't set installation path automatically, the default value is `${CURRENT_PACKAGES_DIR}` and `${CURRENT_PACKAGES_DIR}/debug` +If use this option, you will need to set dst path manually. + +### GENERATOR +Specifies the precise generator to use. +NMake: nmake(windows) make(unix) +MAKE: make(windows) make(unix) + +### PRERUN_SHELL +Script that needs to be called before configuration + +### OPTIONS +Additional options passed to configure during the configuration. + +### OPTIONS_RELEASE +Additional options passed to configure during the Release configuration. These are in addition to `OPTIONS`. + +### OPTIONS_DEBUG +Additional options passed to configure during the Debug configuration. These are in addition to `OPTIONS`. + +## Notes +This command supplies many common arguments to configure. To see the full list, examine the source. + +## Examples + +* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) +* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) +* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) +* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_configure_make.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_configure_make.cmake) diff --git a/docs/maintainers/vcpkg_execute_build_process.md b/docs/maintainers/vcpkg_execute_build_process.md new file mode 100644 index 000000000..d5b3593d9 --- /dev/null +++ b/docs/maintainers/vcpkg_execute_build_process.md @@ -0,0 +1,36 @@ +# vcpkg_execute_build_process + +Execute a required build process + +## Usage +```cmake +vcpkg_execute_build_process( + COMMAND [...] + [NO_PARALLEL_COMMAND [...]] + WORKING_DIRECTORY + LOGNAME ) +) +``` +## Parameters +### COMMAND +The command to be executed, along with its arguments. + +### NO_PARALLEL_COMMAND +Optional parameter which specifies a non-parallel command to attempt if a +failure potentially due to parallelism is detected. + +### WORKING_DIRECTORY +The directory to execute the command in. + +### LOGNAME +The prefix to use for the log files. + +This should be a unique name for different triplets so that the logs don't +conflict when building multiple at once. + +## Examples + +* [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_execute_build_process.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_execute_build_process.cmake) diff --git a/docs/maintainers/vcpkg_execute_required_process.md b/docs/maintainers/vcpkg_execute_required_process.md index 4b1a7e081..26a116782 100644 --- a/docs/maintainers/vcpkg_execute_required_process.md +++ b/docs/maintainers/vcpkg_execute_required_process.md @@ -11,6 +11,10 @@ vcpkg_execute_required_process( ) ``` ## Parameters +### ALLOW_IN_DOWNLOAD_MODE +Allows the command to execute in Download Mode. +[See execute_process() override](../../scripts/cmake/execute_process.cmake). + ### COMMAND The command to be executed, along with its arguments. diff --git a/docs/maintainers/vcpkg_extract_source_archive_ex.md b/docs/maintainers/vcpkg_extract_source_archive_ex.md index 92c90b296..8f525c3ce 100644 --- a/docs/maintainers/vcpkg_extract_source_archive_ex.md +++ b/docs/maintainers/vcpkg_extract_source_archive_ex.md @@ -25,7 +25,7 @@ The full path to the archive to be extracted. This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md). ### REF -A friendly name that will be used instead of the filename of the archive. +A friendly name that will be used instead of the filename of the archive. If more than 10 characters it will be truncated. By convention, this is set to the version number or tag fetched diff --git a/docs/maintainers/vcpkg_fail_port_install.md b/docs/maintainers/vcpkg_fail_port_install.md new file mode 100644 index 000000000..b3b48ad5e --- /dev/null +++ b/docs/maintainers/vcpkg_fail_port_install.md @@ -0,0 +1,34 @@ +# vcpkg_fail_port_install + +Fails the current portfile with a (default) error message + +## Usage +```cmake +vcpkg_fail_port_install([MESSAGE ] [ON_TARGET [ ...]] +``` + +## Parameters +### MESSAGE +Additional failure message. If non is given a default message will be displayed depending on the failure condition + +### ALWAYS +will always fail early + +### ON_TARGET +targets for which the build should fail early. Valid targets are from VCPKG_IS_TARGET_ (see vcpkg_common_definitions.cmake) + +### ON_ARCH +architecture for which the build should fail early. + +### ON_CRT_LINKAGE +CRT linkage for which the build should fail early. + +### ON_LIBRARY_LINKAGE +library linkage for which the build should fail early. + +## Examples + +* [aws-lambda-cpp](https://github.com/Microsoft/vcpkg/blob/master/ports/aws-lambda-cpp/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_fail_port_install.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fail_port_install.cmake) diff --git a/docs/maintainers/vcpkg_find_acquire_program.md b/docs/maintainers/vcpkg_find_acquire_program.md index 57a2bf75a..b868ea418 100644 --- a/docs/maintainers/vcpkg_find_acquire_program.md +++ b/docs/maintainers/vcpkg_find_acquire_program.md @@ -24,6 +24,7 @@ The current list of programs includes: - MESON - NASM - NINJA +- NUGET - YASM - ARIA2 (Downloader) diff --git a/docs/maintainers/vcpkg_fixup_cmake_targets.md b/docs/maintainers/vcpkg_fixup_cmake_targets.md new file mode 100644 index 000000000..5bad80656 --- /dev/null +++ b/docs/maintainers/vcpkg_fixup_cmake_targets.md @@ -0,0 +1,30 @@ +# vcpkg_fixup_cmake_targets + +Transforms all `/debug/share/\/\*targets-debug.cmake` files and move them to `/share/\`. +Removes all `/debug/share/\/\*targets.cmake and /debug/share/\/\*config.cmake`. + +Transforms all references matching `/bin/\*.exe tools/\/\*.exe` on Windows. +Transforms all references matching `/bin/\* to /tools/\/\*` on other platforms. + +Fixups *${_IMPORT_PREFIX}* in auto generated targets to be one folder deeper. +Replaces *${CURRENT_INSTALLED_DIR}* with *${_IMPORT_PREFIX}* in config files and targets. + + +## Usage +```cmake +vcpkg_fixup_cmake_targets(CONFIG_PATH ) +``` + +## Parameters: +### CONFIG_PATH +*.cmake files subdirectory (e.g. "lib/cmake/${PORT}" or "cmake/${PORT}). +### TARGET_PATH +Optional location to place fixup'd files. Unecessary if target is "share/${PORT}". + +## Examples: + - [Azure-uamqp-c](https://github.com/microsoft/vcpkg/blob/master/ports/azure-uamqp-c/portfile.cmake) + - [Brigand](https://github.com/microsoft/vcpkg/blob/master/ports/brigand/portfile.cmake) + - [cctz](https://github.com/microsoft/vcpkg/blob/master/ports/cctz/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_fixup_cmake_targets.cmake](https://github.com/microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_fixup_cmake_targets.cmake) diff --git a/docs/maintainers/vcpkg_from_git.md b/docs/maintainers/vcpkg_from_git.md index 6b24a558d..4b9a26c62 100644 --- a/docs/maintainers/vcpkg_from_git.md +++ b/docs/maintainers/vcpkg_from_git.md @@ -8,7 +8,6 @@ vcpkg_from_git( OUT_SOURCE_PATH URL REF <59f7335e4d...> - SHA512 [PATCHES ...] ) ``` @@ -20,17 +19,10 @@ Specifies the out-variable that will contain the extracted location. This should be set to `SOURCE_PATH` by convention. ### URL -The url of the git repository. - -### SHA512 -The SHA512 hash that should match the archive form of the commit. - -This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. +The url of the git repository. Must start with `https`. ### REF -A stable git commit-ish (ideally a tag or commit) that will not change contents. **This should not be a branch.** - -For repositories without official releases, this can be set to the full commit id of the current latest master. +The git sha of the commit to download. ### PATCHES A list of patches to be applied to the extracted sources. @@ -38,7 +30,7 @@ A list of patches to be applied to the extracted sources. Relative paths are based on the port directory. ## Notes: -`OUT_SOURCE_PATH`, `REF`, `SHA512`, and `URL` must be specified. +`OUT_SOURCE_PATH`, `REF`, and `URL` must be specified. ## Examples: diff --git a/docs/maintainers/vcpkg_install_make.md b/docs/maintainers/vcpkg_install_make.md new file mode 100644 index 000000000..3460778cc --- /dev/null +++ b/docs/maintainers/vcpkg_install_make.md @@ -0,0 +1,24 @@ +# vcpkg_install_make + +Build and install a make project. + +## Usage: +```cmake +vcpkg_install_make(...) +``` + +## Parameters: +See [`vcpkg_build_make()`](vcpkg_build_make.md). + +## Notes: +This command transparently forwards to [`vcpkg_build_make()`](vcpkg_build_make.md), adding `ENABLE_INSTALL` + +## Examples + +* [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) +* [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) +* [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) +* [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_install_make.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_install_make.cmake) diff --git a/docs/maintainers/vcpkg_install_nmake.md b/docs/maintainers/vcpkg_install_nmake.md new file mode 100644 index 000000000..3f397c195 --- /dev/null +++ b/docs/maintainers/vcpkg_install_nmake.md @@ -0,0 +1,60 @@ +# vcpkg_install_nmake + +Build and install a msvc makefile project. + +## Usage: +```cmake +vcpkg_install_nmake( + SOURCE_PATH <${SOURCE_PATH}> + [NO_DEBUG] + PROJECT_SUBPATH <${SUBPATH}> + PROJECT_NAME <${MAKEFILE_NAME}> + [PRERUN_SHELL <${SHELL_PATH}>] + [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] + [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] + [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] + [OPTIONS_RELEASE <-DOPTIMIZE=1>...] + [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] +``` + +## Parameters +### SOURCE_PATH +Specifies the directory containing the source files. +By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. + +### PROJECT_SUBPATH +Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile. + +### PROJECT_NAME +Specifies the name of msvc makefile name. +Default is makefile.vc + +### NO_DEBUG +This port doesn't support debug mode. + +### PRERUN_SHELL +Script that needs to be called before build + +### PRERUN_SHELL_DEBUG +Script that needs to be called before debug build + +### PRERUN_SHELL_RELEASE +Script that needs to be called before release build + +### OPTIONS +Additional options passed to generate during the generation. + +### OPTIONS_RELEASE +Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`. + +### OPTIONS_DEBUG +Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`. + +## Parameters: +See [`vcpkg_build_nmake()`](vcpkg_build_nmake.md). + +## Notes: +This command transparently forwards to [`vcpkg_build_nmake()`](vcpkg_build_nmake.md), adding `ENABLE_INSTALL` + +## 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_prettify_command.md b/docs/maintainers/vcpkg_prettify_command.md new file mode 100644 index 000000000..1856e06b4 --- /dev/null +++ b/docs/maintainers/vcpkg_prettify_command.md @@ -0,0 +1,17 @@ +# vcpkg_prettify_command + +Turns list of command arguments into a formatted string. + +## Usage +```cmake +vcpkg_prettify_command() +``` + +## Examples + +* `scripts/cmake/vcpkg_execute_build_process.cmake` +* `scripts/cmake/vcpkg_execute_required_process.cmake` +* `scripts/cmake/vcpkg_execute_required_process_repeat.cmake` + +## Source +[scripts/cmake/vcpkg_prettify_command.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_prettify_command.cmake) diff --git a/docs/specifications/ports-overlay.md b/docs/specifications/ports-overlay.md new file mode 100644 index 000000000..d486cfe19 --- /dev/null +++ b/docs/specifications/ports-overlay.md @@ -0,0 +1,182 @@ +# Ports Overlay (Jun 19, 2019) + + +## 1. Motivation + +### A. Allow users to override ports with alternate versions + +It's a common scenario for `vcpkg` users to keep specific versions of libraries to use in their own projects. The current recommendation for users is to fork `vcpkg`'s repository and create tags for commits containing the specific versions of the ports they want to use. + +This proposal adds an alternative to solve this problem. By allowing `vcpkg` users to specify additional locations in their file system containing ports for: + + * older or newer versions of libraries, + * modified libraries, or + * libraries not available in `vcpkg`. + +These locations will be searched when resolving port names during package installation, and override ports in `/ports`. + +### B. Allow users to keep unmodified upstream ports + +Users will be able to keep unmodified versions of the ports shipped with `vcpkg` and update them via `vcpkg update` and `vcpkg upgrade` without having to solve merge conflicts. + + +## 2. Other design concerns + +* Allow a set of `vcpkg` commands to optionally accept additional paths to be used when searching for ports. +* Additional paths must take precedence when resolving names of ports to install. +* Allow users to specify multiple additional paths. +* Provide a simple disambiguation mechanism to resolve ambiguous port names. +* After resolving a port name, the installation process has to work the same as for ports shipped by `vcpkg`. +* This **DOES NOT ENABLE MULTIPLE VERSIONS** of a same library to be **INSTALLED SIDE-BY-SIDE**. + + +## 3. Proposed solution + +This document proposes allowing additional locations to search for ports during package installation that will override and complement the set of ports provided by `vcpkg` (ports under the `/ports` directory).` + +A new option `--overlay-ports` will be added to the `vcpkg install`, `vcpkg update`, `vcpkg upgrade`, `vcpkg export`, and `vcpkg depend-info` commands to specify additional paths containing ports. + +From a user experience perspective, a user expresses interest in adding additional lookup locations by passing the `--overlay-ports` option followed by a path to: + +* an individual port (directory containing a `CONTROL` file), + * `vcpkg install sqlite3 --overlay-ports="C:\custom-ports\sqlite3"` + +* a directory containing ports, + * `vcpkg install sqlite3 --overlay-ports=\\share\org\custom-ports` + +* a file listing paths to the former two. + > NOTE: Reading paths from a text file is not available in the current implementation, some revisions to this part of the specification are being made and will be implemented in a future date. + + * `vcpkg install sqlite3 --overlay-ports=..\port-repos.txt` + + _port-repos.txt_ + + ``` + .\experimental-ports\sqlite3 + C:\custom-ports + \\share\team\custom-ports + \\share\org\custom-ports + ``` + *Relative paths inside this file are resolved relatively to the file's location. In this case a `experimental-ports` directory should exist at the same level as the `port-repos.txt` file.* + +_NOTE: It is not the goal of this document to discuss library versioning or project dependency management solutions, which require the ability to install multiple versions of a same library side-by-side._ + +### Multiple additional paths + +Users can provide multiple additional paths by repeating the `--overlay-ports` option. + +``` +vcpkg install sqlite3 + --overlay-ports="..\experimental-ports\sqlite3" + --overlay-ports="C:\custom-ports" + --overlay-ports="\\share\team\custom-ports +``` + +### Overlaying ports + +Port name resolution follows the order in which additional paths are specified, with the first match being selected for installation, and falling back to `/ports` if the port is not found in any of the additional paths. + +No effort is made to compare version numbers inside the `CONTROL` files, or to determine which port contains newer or older files. + +### Examples + +Given the following directory structure: + + ``` + team-ports/ + |-- sqlite3/ + |---- CONTROL + |-- rapidjson/ + |---- CONTROL + |-- curl/ + |---- CONTROL + + my-ports/ + |-- sqlite3/ + |---- CONTROL + |-- rapidjson/ + |---- CONTROL + + vcpkg + |-- ports/ + |---- + |-- vcpkg.exe + |-- preferred-ports.txt + ``` +* #### Example #1: + + Running: + + ``` + vcpkg/vcpkg.exe install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports + ``` + + Results in `my-ports/sqlite3` getting installed as that location appears first in the command line arguments. + +* #### Example #2: + + A specific version of a port can be given priority by adding its path first in the list of arguments: + + ``` + vcpkg/vcpkg.exe install sqlite3 rapidjson curl + --overlay-ports=my-ports/rapidjson + --overlay-ports=vcpkg/ports/curl + --overlay-ports=team-ports + ``` + + Installs: + * `sqlite3` from `team-ports/sqlite3` + * `rapidjson` from `my-ports/rapidjson` + * `curl` from `vcpkg/ports/curl` + +* #### Example #3: + + > NOTE: Reading paths from a text file is not available in the current implementation, some revisions to this part of the specification are being made and will be implemented in a future date. + + Given the content of `preferred-ports.txt` as: + + ``` + ./ports/curl + /my-ports/rapidjson + /team-ports + ``` + + A location can be appended or prepended to those included in `preferred-ports.txt` via the command line, like this: + + ``` + vcpkg/vcpkg.exe install sqlite3 curl --overlay-ports=my-ports --overlay-ports=vcpkg/preferred-ports.txt + ``` + + Which results in `my-ports/sqlite3` and `vcpkg/ports/curl` getting installed. + + +## 4. Proposed User experience + +### i. User wants to preserve an older version of a port + +Developer Alice and her team use `vcpkg` to acquire **OpenCV** and some other packages. She has even contributed many patches to add features to the **OpenCV 3** port in `vcpkg`. But, one day, she notices that a PR to update **OpenCV** to the next major version has been merged. + +Alice wants to update some packages available in `vcpkg`. Unfortunately, updating her project to use the latest **OpenCV** is not immediately possible. + +Alice creates a private GitHub repository and checks in the set of ports that she wants to preserve. Then provides her teammates with the link to clone her private ports repository. + +``` +mkdir vcpkg-custom-ports +cd vcpkg-custom-ports +git init +cp -r %VCPKG_ROOT%/ports/opencv . +git add . +git commit -m "[opencv] Add OpenCV 3 port" +git remote add origin https://github.com//vcpkg-custom-ports.git +git push -u origin master +``` + +Now her team is able to use: + +``` +git clone https://github.com//vcpkg-custom-ports.git +vcpkg update --overlay-ports=./vcpkg-custom-ports +vcpkg upgrade --no-dry-run --overlay-ports=./vcpkg-custom-ports +``` + +to upgrade their packages and preserve the old version of **OpenCV** they require. diff --git a/docs/tool-maintainers/benchmarking.md b/docs/tool-maintainers/benchmarking.md new file mode 100644 index 000000000..e0295be50 --- /dev/null +++ b/docs/tool-maintainers/benchmarking.md @@ -0,0 +1,195 @@ +# Benchmarking + +Benchmarking new code against old code is extremely important whenever making +large changes to how something works. If you are attempting to make something +faster, and you end up slowing it down, you'll never know if you don't +benchmark! We have benchmarks in the `toolsrc/src/vcpkg-test` directory, just +like the tests -- they're treated as a special kind of test. + +## Running Benchmarks + +Unlike normal tests, benchmarks are hidden behind a special define -- `CATCH_CONFIG_ENABLE_BENCHMARKING` -- so that you never try to run benchmarks +unless you specifically want to. This is because benchmarks actually take quite +a long time! However, if you want to run benchmarks (and I recommend running +only specific benchmarks at a time), you can do so by passing the +`VCPKG_ENABLE_BENCHMARKING` option at cmake configure time. + +```sh +$ cmake -B toolsrc/out -S toolsrc -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DVCPKG_BUILD_BENCHMARKING=On + +-- The C compiler identification is MSVC 19.22.27905.0 +-- The CXX compiler identification is MSVC 19.22.27905.0 +-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe +-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe -- works +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Detecting C compile features +-- Detecting C compile features - done +-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe +-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.22.27905/bin/Hostx64/x64/cl.exe -- works +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Looking for pthread.h +-- Looking for pthread.h - not found +-- Found Threads: TRUE +-- Configuring done +-- Generating done +-- Build files have been written to: C:/Users/t-nimaz/src/vcpkg/toolsrc/out + +$ cmake --build toolsrc/out + +[0/2] Re-checking globbed directories... +[80/80] Linking CXX executable vcpkg-test.exe +``` + +You can then run benchmarks easily with the following command (which run the +files benchmarks): + +```sh +$ ./toolsrc/out/vcpkg-test [!benchmark][file] +``` + +You can switch out `[file]` for a different set -- `[hash]`, for example. + +## Writing Benchmarks + +First, before anything else, I recommend reading the +[benchmarking documentation] at Catch2's repository. + +Now, after that, let's say that you wanted to benchmark, say, our ASCII +case-insensitive string compare against your new implementation. We place +benchmarks for code in the same file as their tests, so open +`vcpkg-test/strings.cpp`, and add the following at the bottom: + +```cpp +#if defined(CATCH_CONFIG_ENABLE_BENCHMARKING) +TEST_CASE ("case insensitive ascii equals: benchmark", "[strings][!benchmark]") +{ + BENCHMARK("qwertyuiop") { + return vcpkg::Strings::case_insensitive_ascii_equals("qwertyuiop", "QWERTYUIOP"); + }; +} +#endif +``` + +Remember the `;` at the end of the benchmark -- it's not required for +`TEST_CASE`s, but is for `BENCHMARK`s. + +Now, let's rebuild and run: + +```sh +$ cmake --build toolsrc/out +[0/2] Re-checking globbed directories... +[2/2] Linking CXX executable vcpkg-test.exe +$ ./toolsrc/out/vcpkg-test [strings][!benchmark] +Filters: [strings][!benchmark] + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +vcpkg-test.exe is a Catch v2.9.1 host application. +Run with -? for options + +------------------------------------------------------------------------------- +case insensitive ascii equals: benchmark +------------------------------------------------------------------------------- +C:\Users\t-nimaz\src\vcpkg\toolsrc\src\vcpkg-test\strings.cpp(36) +............................................................................... + +benchmark name samples iterations estimated + mean low mean high mean + std dev low std dev high std dev +------------------------------------------------------------------------------- +qwertyuiop 100 2088 3.9672 ms + 25 ns 24 ns 26 ns + 6 ns 5 ns 8 ns + + +=============================================================================== +test cases: 1 | 1 passed +assertions: - none - +``` + +You've now written your first benchmark! + +But wait. This seems kind of silly. Benchmarking the comparison of literal +strings is great and all, but could we make it a little more realistic? + +This is where `BENCHMARK_ADVANCED` comes in. `BENCHMARK_ADVANCED` allows one to +write a benchmark that has a little setup to it without screwing up the numbers. +Let's try it now: + +```cpp +TEST_CASE ("case insensitive ascii equals: benchmark", "[strings][!benchmark]") +{ + BENCHMARK_ADVANCED("equal strings")(Catch::Benchmark::Chronometer meter) + { + std::vector strings; + strings.resize(meter.runs()); + std::mt19937_64 urbg; + std::uniform_int_distribution data_generator; + + std::generate(strings.begin(), strings.end(), [&] { + std::string result; + for (std::size_t i = 0; i < 1000; ++i) + { + result += vcpkg::Strings::b32_encode(data_generator(urbg)); + } + + return result; + }); + + meter.measure( + [&](int run) { return vcpkg::Strings::case_insensitive_ascii_equals(strings[run], strings[run]); }); + }; +} +``` + +Then, run it again! + +```sh +$ cmake --build toolsrc/out +[0/2] Re-checking globbed directories... +[2/2] Linking CXX executable vcpkg-test.exe +$ toolsrc/out/vcpkg-test [strings][!benchmark] +Filters: [strings][!benchmark] + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +vcpkg-test.exe is a Catch v2.9.1 host application. +Run with -? for options + +------------------------------------------------------------------------------- +case insensitive ascii equals: benchmark +------------------------------------------------------------------------------- +C:\Users\t-nimaz\src\vcpkg\toolsrc\src\vcpkg-test\strings.cpp(36) +............................................................................... + +benchmark name samples iterations estimated + mean low mean high mean + std dev low std dev high std dev +------------------------------------------------------------------------------- +equal strings 100 2 5.4806 ms + 22.098 us 21.569 us 23.295 us + 3.842 us 2.115 us 7.41 us + + +=============================================================================== +test cases: 1 | 1 passed +assertions: - none - +``` + +And now you have a working benchmark to test the speed of the existing code, and +of new code! + +If you're writing a lot of benchmarks that follow the same sort of pattern, with +some differences in constants, look into `vcpkg-test/files.cpp`'s benchmarks -- +there are a lot of things one can do to make writing new benchmarks really easy. + +If you wish to add a benchmark for a piece of code that has not yet been tested, +please read the [testing documentation], and please write some unit tests. +The speed of your code isn't very important if it doesn't work at all! + +[benchmarking documentation]: https://github.com/catchorg/Catch2/blob/master/docs/benchmarks.md#top +[testing documentation]: ./testing.md#adding-new-test-files diff --git a/docs/tool-maintainers/layout.md b/docs/tool-maintainers/layout.md new file mode 100644 index 000000000..9779b0434 --- /dev/null +++ b/docs/tool-maintainers/layout.md @@ -0,0 +1,85 @@ +# Layout of the vcpkg source tree + +All vcpkg sources and build systems are in `toolsrc`. If you'd like to +contribute to the vcpkg tool itself, most of your time will be spent in here. + +## Build Files + +These are the files used to build and configure the project. In order to build +with CMake, the only files you should be interested in are `CMakeLists.txt`, and +`.clang-format`; in order to build with msbuild or the Visual Studio IDE, you +will be interested in `dirs.proj` or `vcpkg.sln`. However, if you add or remove +files, you will need to edit the MSBuild project files in the `vcpkg*` +directories no matter what system you use. + +### Top Level + +We have six files in this directory -- one `.clang-format` file, one +`CMakeLists.txt` file, three Visual Studio files, and `VERSION.txt`. + + - `.clang-format`: This is where we store the formatting settings of the + project. If you want to format the project, you can use the `format` target + with the CMake build system. + - `CMakeLists.txt`: This is where the CMake build system definition lives. If + you want to modify how one builds the project, or add a target, you can do + it here. + - `VERSION.txt`: This is a file which tells `vcpkg` to tell the user to + rebuild. If this version is different from the version when the user built + the binary (for example, after a `git pull` or a `vcpkg update`), then + `vcpkg` will print a message to re-bootstrap. This is updated whenever major + changes are made to the `vcpkg` tool. + - The Visual Studio files: + - `vcpkg.natvis`: NATVIS files allow one to visualize objects of user + defined type in the debugger -- this one contains the definitions for + `vcpkg`'s types. + - `dirs.proj`: This is how one builds with `msbuild` without calling into + the IDE. + - `vcpkg.sln`: The solution file is how one opens the project in the VS IDE. + +### `vcpkg`, `vcpkglib`, `vcpkgmetricsuploader`, and `vcpkgtest` + +These four contain exactly one `.vcxproj` and one +`.vcxproj.filters`. The `.vcxproj` file contains the source files +and the `.vcxproj.filters` contains information on how Visual Studio +should lay out the project's source files in the IDE's project view. + +`vcpkgtest` should not be touched. It's likely that it will be deleted soon. If +you want to test your code, use the cmake build system. + +## Source Files + +If you're modifying the project, it's likely that these are the directories that +you're going to deal with. + +### `include` + +There's one file in here -- `pch.h`. This contains most of the C++ standard +library, and acts as a [precompiled header]. You can read more at the link. + +There are three directories: + + - `catch2` -- This contains the single-header library [catch2]. We use this + library for both [testing] and [benchmarking]. + - `vcpkg` -- This contains the header files for the `vcpkg` project. All of + the interfaces for building, installing, and generally "port stuff" live + here. + - `vcpkg/base` -- This contains the interfaces for the + "vcpkg standard library" -- file handling, hashing, strings, + `Span`, printing, etc. + - `vcpkg-test` -- This contains the interfaces for any common utilities + required by the tests. + +### `src` + +The source files live here. `pch.cpp` is the source file for the +[precompiled header]; `vcpkg.cpp` is where the `vcpkg` binary lives; and +`vcpkgmetricsuploader.cpp` is where the metrics uploader lives. + +The interesting files live in the `vcpkg` and `vcpkg-test` directories. In +`vcpkg`, you have the implementation for the interfaces that live in +`include/vcpkg`; and in `vcpkg-test`, you have the tests and benchmarks. + +[precompiled header]: https://en.wikipedia.org/wiki/Precompiled_header +[catch2]: https://github.com/catchorg/Catch2 +[testing]: ./testing.md +[benchmarking]: ./benchmarking.md diff --git a/docs/tool-maintainers/testing.md b/docs/tool-maintainers/testing.md new file mode 100644 index 000000000..0284a2650 --- /dev/null +++ b/docs/tool-maintainers/testing.md @@ -0,0 +1,152 @@ +# Testing + +Testing vcpkg is important whenever one makes changes to the tool itself, and +writing new tests and keeping them up to date is also very important. If one's +code is subtly broken, we'd rather find it out right away than a few weeks down +the line when someone complains! + +## Running Tests + +Before anything else, we should know whether you can actually run the tests! +All you should need is a way to build vcpkg -- anything will do! All you have to +do is follow the guide 😄 + +With `$VCPKG_DIRECTORY` being the directory where you have cloned vcpkg, create +a build directory in `$VCPKG_DIRECTORY/toolsrc` (commonly named `out`), and +`cd` into it. Make sure to clean it out if it already exists! + +```sh +$ cmake .. -DCMAKE_BUILD_TYPE=Debug -G Ninja +$ cmake --build . +$ ./vcpkg-test # ./vcpkg-test [$SPECIFIC_TEST] for a specific set of tests +$ # i.e., ./vcpkg-test [arguments] +``` + +If you make any modifications to `vcpkg`, you'll have to do the +`cmake --build .` step again. + +## Writing Tests + +In your journey to write new tests, and to modify existing tests, reading the +[Catch2 documentation] will be very helpful! Come back after reading those 😀 + +You'll want to place your tests in one of the existing files, or, if it doesn't +belong in any of those, in a [new file](#adding-new-test-files). + +The layout of these tests is as follows: + +```cpp +// ... includes + +TEST_CASE("Name of test", "[filename without the .cpp]") { + // setup and the like + REQUIRE(some boolean expression); +} + +// etc. +``` + +You want to give these test cases good, descriptive, unique names, like +`SourceParagraph construct minimum` -- it doesn't need to be extremely clear +english, and shorthand is good, but make sure it's clear what the test is from +the name. For the latter parameter, known as "tags", you should at least put the +name of the file which the test case is in -- e.g., in `arguments.cpp`, you'd +tag all of the test cases with `[arguments]`. + +If you wish to add helper functions, make sure to place them in an anonymous +namespace -- this will ensure that they don't trample over anybody else's +space. Additionally, there are a few helper functions that live in +`` and `src/vcpkg-test/util.cpp` -- make sure to look into +them so that you're not rewriting functionality. + +That should be all you need to know to start writing your own tests! +Remember to check out the [Catch2 documentation] +if you'd like to get more advanced with your tests, +and good luck on your testing journey! + +## Adding New Test Files + +Adding new test files should be easy and straightforward. All it requires is +creating a new source file in `toolsrc/src/vcpkg-test`. + +### Example + +Let's try writing a new test file called `example` (very creative, I know). + +First, we should create a file, `example.cpp`, in `toolsrc/src/vcpkg-test`: + +```cpp +// vcpkg-test/example.cpp +#include +``` + +This is the minimum file needed for tests; let's rebuild! + +```sh +$ cmake --build . +[80/80] Linking CXX executable vcpkg.exe +``` + +Okay, now let's make sure this worked; add a test case to `example.cpp`: + +```cpp +TEST_CASE("Example 1 - fail", "[example]") { + REQUIRE(false); +} +``` + +Now build the tests again, and run them: + +```sh +$ cmake --build . +[2/2] Linking CXX executable vcpkg-test.exe +$ ./vcpkg-test + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +vcpkg-test.exe is a Catch v2.9.1 host application. +Run with -? for options + +------------------------------------------------------------------------------- +Example 1 - fail +------------------------------------------------------------------------------- +$VCPKG_DIRECTORY/toolsrc/src/vcpkg-test/example.cpp(3) +............................................................................... + +$VCPKG_DIRECTORY/toolsrc/src/vcpkg-test/example.cpp(14): FAILED: + REQUIRE( false ) + +=============================================================================== +test cases: 102 | 101 passed | 1 failed +assertions: 3611 | 3610 passed | 1 failed +``` + +Hopefully, that worked! It should compile correctly, and have one failing test. +Now let's try a more complex test, after deleting the old one; + +```cpp +// add #include to the top of the file +namespace Strings = vcpkg::Strings; + +TEST_CASE("Example 2 - success", "[example]") { + std::string hello = "Hello"; + REQUIRE(Strings::case_insensitive_ascii_equals(hello, "hELLo")); + REQUIRE_FALSE(Strings::case_insensitive_ascii_starts_with(hello, "E")); +} +``` + +Now compile and build the tests, and this time let's only run our example tests: + +```sh +$ cmake --build . +[2/2] Linking CXX executable vcpkg-test.exe +$ ./vcpkg-test [example] +Filters: [example] +=============================================================================== +All tests passed (2 assertions in 1 test case) +``` + +Hopefully you have one test running and succeeding! If you have that, you have +succeeded at adding a new file to vcpkg's tests. Congratulations! Have fun on +the rest of your journey 🐱‍👤😁 + +[Catch2 documentation]: https://github.com/catchorg/Catch2/blob/master/docs/tutorial.md#top diff --git a/ports/7zip/CMakeLists.txt b/ports/7zip/CMakeLists.txt new file mode 100644 index 000000000..7e93a3bf0 --- /dev/null +++ b/ports/7zip/CMakeLists.txt @@ -0,0 +1,374 @@ +# Created from 7-zip v19.00 - 7zip/CPP/7zip/Bundles/Format7zF + +cmake_minimum_required(VERSION 3.11) +cmake_policy(VERSION 3.11) + +project(7zip LANGUAGES C CXX ASM_MASM) + +set(SRC_ASM + Asm/x86/AesOpt.asm + Asm/x86/7zCrcOpt.asm + Asm/x86/XzCrc64Opt.asm +) + +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set_source_files_properties(${SRC_ASM} PROPERTIES COMPILE_FLAGS "-Dx64") +else() + set_source_files_properties(${SRC_ASM} PROPERTIES COMPILE_FLAGS "-safeseh") +endif() + +set(SRC_COMPRESS + CPP/7zip/Compress/Bcj2Coder.cpp + CPP/7zip/Compress/Bcj2Register.cpp + CPP/7zip/Compress/BcjCoder.cpp + CPP/7zip/Compress/BcjRegister.cpp + CPP/7zip/Compress/BitlDecoder.cpp + CPP/7zip/Compress/BranchMisc.cpp + CPP/7zip/Compress/BranchRegister.cpp + CPP/7zip/Compress/ByteSwap.cpp + CPP/7zip/Compress/BZip2Crc.cpp + CPP/7zip/Compress/BZip2Decoder.cpp + CPP/7zip/Compress/BZip2Encoder.cpp + CPP/7zip/Compress/BZip2Register.cpp + CPP/7zip/Compress/CopyCoder.cpp + CPP/7zip/Compress/CopyRegister.cpp + CPP/7zip/Compress/Deflate64Register.cpp + CPP/7zip/Compress/DeflateDecoder.cpp + CPP/7zip/Compress/DeflateEncoder.cpp + CPP/7zip/Compress/DeflateRegister.cpp + CPP/7zip/Compress/DeltaFilter.cpp + CPP/7zip/Compress/ImplodeDecoder.cpp + CPP/7zip/Compress/LzfseDecoder.cpp + CPP/7zip/Compress/LzhDecoder.cpp + CPP/7zip/Compress/Lzma2Decoder.cpp + CPP/7zip/Compress/Lzma2Encoder.cpp + CPP/7zip/Compress/Lzma2Register.cpp + CPP/7zip/Compress/LzmaDecoder.cpp + CPP/7zip/Compress/LzmaEncoder.cpp + CPP/7zip/Compress/LzmaRegister.cpp + CPP/7zip/Compress/LzmsDecoder.cpp + CPP/7zip/Compress/LzOutWindow.cpp + CPP/7zip/Compress/LzxDecoder.cpp + CPP/7zip/Compress/PpmdDecoder.cpp + CPP/7zip/Compress/PpmdEncoder.cpp + CPP/7zip/Compress/PpmdRegister.cpp + CPP/7zip/Compress/PpmdZip.cpp + CPP/7zip/Compress/QuantumDecoder.cpp + CPP/7zip/Compress/Rar1Decoder.cpp + CPP/7zip/Compress/Rar2Decoder.cpp + CPP/7zip/Compress/Rar3Decoder.cpp + CPP/7zip/Compress/Rar3Vm.cpp + CPP/7zip/Compress/Rar5Decoder.cpp + CPP/7zip/Compress/RarCodecsRegister.cpp + CPP/7zip/Compress/ShrinkDecoder.cpp + CPP/7zip/Compress/XpressDecoder.cpp + CPP/7zip/Compress/XzDecoder.cpp + CPP/7zip/Compress/XzEncoder.cpp + CPP/7zip/Compress/ZlibDecoder.cpp + CPP/7zip/Compress/ZlibEncoder.cpp + CPP/7zip/Compress/ZDecoder.cpp + CPP/7zip/Compress/CodecExports.cpp +) + +set(SRC_CRYPTO + CPP/7zip/Crypto/7zAes.cpp + CPP/7zip/Crypto/7zAesRegister.cpp + CPP/7zip/Crypto/HmacSha1.cpp + CPP/7zip/Crypto/HmacSha256.cpp + CPP/7zip/Crypto/MyAes.cpp + CPP/7zip/Crypto/MyAesReg.cpp + CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp + CPP/7zip/Crypto/RandGen.cpp + CPP/7zip/Crypto/Rar20Crypto.cpp + CPP/7zip/Crypto/Rar5Aes.cpp + CPP/7zip/Crypto/RarAes.cpp + CPP/7zip/Crypto/WzAes.cpp + CPP/7zip/Crypto/ZipCrypto.cpp + CPP/7zip/Crypto/ZipStrong.cpp +) + +set(SRC_C + C/7zBuf2.c + C/7zStream.c + C/Alloc.c + C/Bcj2.c + C/Bcj2Enc.c + C/Blake2s.c + C/Bra.c + C/Bra86.c + C/BraIA64.c + C/BwtSort.c + C/CpuArch.c + C/Delta.c + C/HuffEnc.c + C/LzFind.c + C/LzFindMt.c + C/Lzma2Dec.c + C/Lzma2DecMt.c + C/Lzma2Enc.c + C/LzmaDec.c + C/LzmaEnc.c + C/MtCoder.c + C/MtDec.c + C/Ppmd7.c + C/Ppmd7Dec.c + C/Ppmd7Enc.c + C/Ppmd8.c + C/Ppmd8Dec.c + C/Ppmd8Enc.c + C/Sha1.c + C/Sha256.c + C/Sort.c + C/Threads.c + C/Xz.c + C/XzDec.c + C/XzEnc.c + C/XzIn.c + C/Aes.c + C/7zCrc.c + C/XzCrc64.c +) + +set_source_files_properties( + ${SRC_COMPRESS} + ${SRC_CRYPTO} + ${SRC_C} + PROPERTIES + COMPILE_FLAGS $<$:"/O2"> +) + +set(SRC_OTHER + CPP/Common/CRC.cpp + CPP/Common/CrcReg.cpp + CPP/Common/DynLimBuf.cpp + CPP/Common/IntToString.cpp + CPP/Common/MyMap.cpp + CPP/Common/MyString.cpp + CPP/Common/MyVector.cpp + CPP/Common/MyXml.cpp + CPP/Common/NewHandler.cpp + CPP/Common/Sha1Reg.cpp + CPP/Common/Sha256Reg.cpp + CPP/Common/StringConvert.cpp + CPP/Common/StringToInt.cpp + CPP/Common/UTFConvert.cpp + CPP/Common/Wildcard.cpp + CPP/Common/XzCrc64Init.cpp + CPP/Common/XzCrc64Reg.cpp + + CPP/Windows/FileDir.cpp + CPP/Windows/FileFind.cpp + CPP/Windows/FileIO.cpp + CPP/Windows/FileName.cpp + CPP/Windows/PropVariant.cpp + CPP/Windows/PropVariantUtils.cpp + CPP/Windows/Synchronization.cpp + CPP/Windows/System.cpp + CPP/Windows/TimeUtils.cpp + + CPP/7zip/Common/CreateCoder.cpp + CPP/7zip/Common/CWrappers.cpp + CPP/7zip/Common/InBuffer.cpp + CPP/7zip/Common/InOutTempBuffer.cpp + CPP/7zip/Common/FilterCoder.cpp + CPP/7zip/Common/LimitedStreams.cpp + CPP/7zip/Common/LockedStream.cpp + CPP/7zip/Common/MemBlocks.cpp + CPP/7zip/Common/MethodId.cpp + CPP/7zip/Common/MethodProps.cpp + CPP/7zip/Common/OffsetStream.cpp + CPP/7zip/Common/OutBuffer.cpp + CPP/7zip/Common/OutMemStream.cpp + CPP/7zip/Common/ProgressMt.cpp + CPP/7zip/Common/ProgressUtils.cpp + CPP/7zip/Common/PropId.cpp + CPP/7zip/Common/StreamBinder.cpp + CPP/7zip/Common/StreamObjects.cpp + CPP/7zip/Common/StreamUtils.cpp + CPP/7zip/Common/UniqBlocks.cpp + CPP/7zip/Common/VirtThread.cpp + + CPP/7zip/Archive/ApmHandler.cpp + CPP/7zip/Archive/ArHandler.cpp + CPP/7zip/Archive/ArjHandler.cpp + CPP/7zip/Archive/Bz2Handler.cpp + CPP/7zip/Archive/ComHandler.cpp + CPP/7zip/Archive/CpioHandler.cpp + CPP/7zip/Archive/CramfsHandler.cpp + CPP/7zip/Archive/DeflateProps.cpp + CPP/7zip/Archive/DmgHandler.cpp + CPP/7zip/Archive/ElfHandler.cpp + CPP/7zip/Archive/ExtHandler.cpp + CPP/7zip/Archive/FatHandler.cpp + CPP/7zip/Archive/FlvHandler.cpp + CPP/7zip/Archive/GzHandler.cpp + CPP/7zip/Archive/GptHandler.cpp + CPP/7zip/Archive/HandlerCont.cpp + CPP/7zip/Archive/HfsHandler.cpp + CPP/7zip/Archive/IhexHandler.cpp + CPP/7zip/Archive/LzhHandler.cpp + CPP/7zip/Archive/LzmaHandler.cpp + CPP/7zip/Archive/MachoHandler.cpp + CPP/7zip/Archive/MbrHandler.cpp + CPP/7zip/Archive/MslzHandler.cpp + CPP/7zip/Archive/MubHandler.cpp + CPP/7zip/Archive/NtfsHandler.cpp + CPP/7zip/Archive/PeHandler.cpp + CPP/7zip/Archive/PpmdHandler.cpp + CPP/7zip/Archive/QcowHandler.cpp + CPP/7zip/Archive/RpmHandler.cpp + CPP/7zip/Archive/SplitHandler.cpp + CPP/7zip/Archive/SquashfsHandler.cpp + CPP/7zip/Archive/SwfHandler.cpp + CPP/7zip/Archive/UefiHandler.cpp + CPP/7zip/Archive/VdiHandler.cpp + CPP/7zip/Archive/VhdHandler.cpp + CPP/7zip/Archive/VmdkHandler.cpp + CPP/7zip/Archive/XarHandler.cpp + CPP/7zip/Archive/XzHandler.cpp + CPP/7zip/Archive/ZHandler.cpp + CPP/7zip/Archive/ArchiveExports.cpp + CPP/7zip/Archive/DllExports2.cpp + + CPP/7zip/Archive/Common/CoderMixer2.cpp + CPP/7zip/Archive/Common/DummyOutStream.cpp + CPP/7zip/Archive/Common/FindSignature.cpp + CPP/7zip/Archive/Common/InStreamWithCRC.cpp + CPP/7zip/Archive/Common/ItemNameUtils.cpp + CPP/7zip/Archive/Common/MultiStream.cpp + CPP/7zip/Archive/Common/OutStreamWithCRC.cpp + CPP/7zip/Archive/Common/OutStreamWithSha1.cpp + CPP/7zip/Archive/Common/HandlerOut.cpp + CPP/7zip/Archive/Common/ParseProperties.cpp + + CPP/7zip/Archive/7z/7zCompressionMode.cpp + CPP/7zip/Archive/7z/7zDecode.cpp + CPP/7zip/Archive/7z/7zEncode.cpp + CPP/7zip/Archive/7z/7zExtract.cpp + CPP/7zip/Archive/7z/7zFolderInStream.cpp + CPP/7zip/Archive/7z/7zHandler.cpp + CPP/7zip/Archive/7z/7zHandlerOut.cpp + CPP/7zip/Archive/7z/7zHeader.cpp + CPP/7zip/Archive/7z/7zIn.cpp + CPP/7zip/Archive/7z/7zOut.cpp + CPP/7zip/Archive/7z/7zProperties.cpp + CPP/7zip/Archive/7z/7zSpecStream.cpp + CPP/7zip/Archive/7z/7zUpdate.cpp + CPP/7zip/Archive/7z/7zRegister.cpp + + CPP/7zip/Archive/Cab/CabBlockInStream.cpp + CPP/7zip/Archive/Cab/CabHandler.cpp + CPP/7zip/Archive/Cab/CabHeader.cpp + CPP/7zip/Archive/Cab/CabIn.cpp + CPP/7zip/Archive/Cab/CabRegister.cpp + + CPP/7zip/Archive/Chm/ChmHandler.cpp + CPP/7zip/Archive/Chm/ChmIn.cpp + + CPP/7zip/Archive/Iso/IsoHandler.cpp + CPP/7zip/Archive/Iso/IsoHeader.cpp + CPP/7zip/Archive/Iso/IsoIn.cpp + CPP/7zip/Archive/Iso/IsoRegister.cpp + + CPP/7zip/Archive/Nsis/NsisDecode.cpp + CPP/7zip/Archive/Nsis/NsisHandler.cpp + CPP/7zip/Archive/Nsis/NsisIn.cpp + CPP/7zip/Archive/Nsis/NsisRegister.cpp + + CPP/7zip/Archive/Rar/RarHandler.cpp + CPP/7zip/Archive/Rar/Rar5Handler.cpp + + CPP/7zip/Archive/Tar/TarHandler.cpp + CPP/7zip/Archive/Tar/TarHandlerOut.cpp + CPP/7zip/Archive/Tar/TarHeader.cpp + CPP/7zip/Archive/Tar/TarIn.cpp + CPP/7zip/Archive/Tar/TarOut.cpp + CPP/7zip/Archive/Tar/TarUpdate.cpp + CPP/7zip/Archive/Tar/TarRegister.cpp + + CPP/7zip/Archive/Udf/UdfHandler.cpp + CPP/7zip/Archive/Udf/UdfIn.cpp + + CPP/7zip/Archive/Wim/WimHandler.cpp + CPP/7zip/Archive/Wim/WimHandlerOut.cpp + CPP/7zip/Archive/Wim/WimIn.cpp + CPP/7zip/Archive/Wim/WimRegister.cpp + + CPP/7zip/Archive/Zip/ZipAddCommon.cpp + CPP/7zip/Archive/Zip/ZipHandler.cpp + CPP/7zip/Archive/Zip/ZipHandlerOut.cpp + CPP/7zip/Archive/Zip/ZipIn.cpp + CPP/7zip/Archive/Zip/ZipItem.cpp + CPP/7zip/Archive/Zip/ZipOut.cpp + CPP/7zip/Archive/Zip/ZipUpdate.cpp + CPP/7zip/Archive/Zip/ZipRegister.cpp +) + +add_library(7zip + ${SRC_ASM} + ${SRC_OTHER} + ${SRC_COMPRESS} + ${SRC_CRYPTO} + ${SRC_C} + CPP/7zip/Archive/Archive2.def +) + +target_compile_definitions(7zip + PUBLIC + -DEXTERNAL_CODECS + -D_7ZIP_LARGE_PAGES + -DUNICODE + -D_UNICODE +) + +target_compile_options(7zip + PRIVATE + /wd5043 + $<$:/guard:cf> +) + +target_include_directories(7zip + INTERFACE + $/7zip/CPP +) + +set(PUBLIC_HEADERS + C/7zTypes.h + CPP/7zip/Archive/IArchive.h + CPP/7zip/ICoder.h + CPP/7zip/IDecl.h + CPP/7zip/IPassword.h + CPP/7zip/IProgress.h + CPP/7zip/IStream.h + CPP/7zip/PropID.h + CPP/Common/Defs.h + CPP/Common/MyTypes.h + CPP/Common/MyUnknown.h + CPP/Common/MyWindows.h +) + +install( + TARGETS 7zip + EXPORT 7zip + 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} + CONFIGURATIONS Release + DESTINATION include/7zip/${HEADER_DIR} + ) +endforeach() + +install( + EXPORT 7zip + DESTINATION share/7zip + FILE 7zipConfig.cmake + NAMESPACE 7zip:: + CONFIGURATIONS Release +) diff --git a/ports/7zip/CONTROL b/ports/7zip/CONTROL new file mode 100644 index 000000000..42cb47b34 --- /dev/null +++ b/ports/7zip/CONTROL @@ -0,0 +1,3 @@ +Source: 7zip +Version: 19.00 +Description: Library for archiving file with a high compression ratio. diff --git a/ports/7zip/License.txt b/ports/7zip/License.txt new file mode 100644 index 000000000..e9113842c --- /dev/null +++ b/ports/7zip/License.txt @@ -0,0 +1,90 @@ + 7-Zip source code + ~~~~~~~~~~~~~~~~~ + License for use and distribution + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + 7-Zip Copyright (C) 1999-2019 Igor Pavlov. + + The licenses for files are: + + 1) CPP/7zip/Compress/Rar* files: the "GNU LGPL" with "unRAR license restriction" + 2) CPP/7zip/Compress/LzfseDecoder.cpp: the "BSD 3-clause License" + 3) Some files are "public domain" files, if "public domain" status is stated in source file. + 4) the "GNU LGPL" for all other files. If there is no license information in + some source file, that file is under the "GNU LGPL". + + The "GNU LGPL" with "unRAR license restriction" means that you must follow both + "GNU LGPL" rules and "unRAR license restriction" rules. + + + + + GNU LGPL information + -------------------- + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + + + BSD 3-clause License + -------------------- + + The "BSD 3-clause License" is used for the code in LzfseDecoder.cpp that implements LZFSE data decompression. + That code was derived from the code in the "LZFSE compression library" developed by Apple Inc, + that also uses the "BSD 3-clause License": + + ---- + Copyright (c) 2015-2016, Apple Inc. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder(s) nor the names of any 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 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ---- + + + + + unRAR license restriction + ------------------------- + + The decompression engine for RAR archives was developed using source + code of unRAR program. + All copyrights to original unRAR code are owned by Alexander Roshal. + + The license for original unRAR code has the following restriction: + + The unRAR sources cannot be used to re-create the RAR compression algorithm, + which is proprietary. Distribution of modified unRAR sources in separate form + or as a part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + + + -- + Igor Pavlov diff --git a/ports/7zip/portfile.cmake b/ports/7zip/portfile.cmake new file mode 100644 index 000000000..83515438c --- /dev/null +++ b/ports/7zip/portfile.cmake @@ -0,0 +1,34 @@ +include(vcpkg_common_functions) + +set(7ZIP_VERSION 19.00) +vcpkg_download_distfile(ARCHIVE + URLS "https://www.7-zip.org/a/7z1900-src.7z" + FILENAME "7z1900-src.7z" + SHA512 d68b308e175224770adc8b1495f1ba3cf3e7f67168a7355000643d3d32560ae01aa34266f0002395181ed91fb5e682b86e0f79c20625b42d6e2c62dd24a5df93 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${7ZIP_VERSION} + NO_REMOVE_ONE_LEVEL +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file( + INSTALL ${CMAKE_CURRENT_LIST_DIR}/License.txt + DESTINATION ${CURRENT_PACKAGES_DIR}/share/7zip + RENAME copyright +) + +vcpkg_test_cmake(PACKAGE_NAME 7zip) diff --git a/ports/7zip/unRarLicense.txt b/ports/7zip/unRarLicense.txt new file mode 100644 index 000000000..5f78b728d --- /dev/null +++ b/ports/7zip/unRarLicense.txt @@ -0,0 +1,41 @@ + ****** ***** ****** unRAR - free utility for RAR archives + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ****** ******* ****** License for use and distribution of + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ** ** ** ** ** ** FREE portable version + ~~~~~~~~~~~~~~~~~~~~~ + + The source code of unRAR utility is freeware. This means: + + 1. All copyrights to RAR and the utility unRAR are exclusively + owned by the author - Alexander Roshal. + + 2. The unRAR sources may be used in any software to handle RAR + archives without limitations free of charge, but cannot be used + to re-create the RAR compression algorithm, which is proprietary. + Distribution of modified unRAR sources in separate form or as a + part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + + 3. The unRAR utility may be freely distributed. No person or company + may charge a fee for the distribution of unRAR without written + permission from the copyright holder. + + 4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS". + NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT + YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, + DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING + OR MISUSING THIS SOFTWARE. + + 5. Installing and using the unRAR utility signifies acceptance of + these terms and conditions of the license. + + 6. If you don't agree with terms of the license you must remove + unRAR files from your storage devices and cease to use the + utility. + + Thank you for your interest in RAR and unRAR. + + + Alexander L. Roshal \ No newline at end of file diff --git a/ports/abseil/CMakeLists.txt b/ports/abseil/CMakeLists.txt deleted file mode 100644 index b4147266f..000000000 --- a/ports/abseil/CMakeLists.txt +++ /dev/null @@ -1,93 +0,0 @@ -cmake_minimum_required(VERSION 3.8) -project(abseil CXX) - -add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN) - -set(CMAKE_CXX_STANDARD 14) - -set(CMAKE_DEBUG_POSTFIX d) - -if(CMAKE_BUILD_TYPE STREQUAL "Release") - option(INSTALL_HEADERS "Install header files" ON) -else() - option(INSTALL_HEADERS "Install header files" OFF) -endif() - -function(add_sublibrary LIB) - file(GLOB_RECURSE SOURCES "absl/${LIB}/*.cc") - list(FILTER SOURCES EXCLUDE REGEX "_test(ing)?(_.+)?.cc$|_nonprod.cc$|test_util.cc$|_benchmark.cc$") - file(GLOB_RECURSE HEADERS "absl/${LIB}/*.h" "absl/${LIB}/*.inc") - - if(SOURCES) - if("STATIC" IN_LIST ARGN) - add_library(${LIB} STATIC ${SOURCES}) - else() - add_library(${LIB} ${SOURCES}) - endif() - set_target_properties(${LIB} PROPERTIES OUTPUT_NAME "absl_${LIB}") - target_include_directories(${LIB} PUBLIC $ $) - else() - add_library(${LIB} INTERFACE) - target_include_directories(${LIB} INTERFACE $ $) - endif() - - install(TARGETS ${LIB} EXPORT unofficial-abseil-targets - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ) - - if(INSTALL_HEADERS) - if(HEADERS) - foreach(file IN LISTS HEADERS) - get_filename_component(dir ${file} DIRECTORY) - file(RELATIVE_PATH rel_dir ${CMAKE_SOURCE_DIR}/absl/${LIB} ${dir}) - install(FILES ${file} DESTINATION "include/absl/${LIB}/${rel_dir}") - endforeach() - endif() - endif() -endfunction() - -function(target_link_public_libraries A) - get_target_property(A_TYPE ${A} TYPE) - if(A_TYPE STREQUAL INTERFACE_LIBRARY) - target_link_libraries(${A} INTERFACE ${ARGN}) - else() - target_link_libraries(${A} PUBLIC ${ARGN}) - endif() -endfunction() - -add_sublibrary(algorithm) -add_sublibrary(base) -add_sublibrary(container STATIC) -add_sublibrary(debugging) -add_sublibrary(hash) -add_sublibrary(memory) -add_sublibrary(meta) -add_sublibrary(numeric) -add_sublibrary(strings) -add_sublibrary(synchronization STATIC) -# Time must be static because there are global variables intended for export -add_sublibrary(time STATIC) -add_sublibrary(types) -add_sublibrary(utility) - -target_link_public_libraries(algorithm base meta) -target_link_public_libraries(container algorithm base memory time) -target_link_public_libraries(debugging base) -target_link_public_libraries(hash base) -target_link_public_libraries(memory meta) -target_link_public_libraries(meta base) -target_link_public_libraries(numeric base) -target_link_public_libraries(strings base memory meta numeric) -target_link_public_libraries(types base utility meta algorithm strings) -target_link_public_libraries(utility base meta) -target_link_public_libraries(time base numeric) -target_link_public_libraries(synchronization base time) - -install( - EXPORT unofficial-abseil-targets - FILE unofficial-abseil-config.cmake - NAMESPACE unofficial::abseil:: - DESTINATION share/unofficial-abseil -) diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index b611fe9e7..63d5e26f0 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,5 +1,5 @@ Source: abseil -Version: 2019-05-08 +Version: 2019-05-08-1 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 new file mode 100644 index 000000000..daa5dd3a4 --- /dev/null +++ b/ports/abseil/fix-config.patch @@ -0,0 +1,26 @@ +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/portfile.cmake b/ports/abseil/portfile.cmake index b14618229..22f3bc349 100644 --- a/ports/abseil/portfile.cmake +++ b/ports/abseil/portfile.cmake @@ -12,20 +12,24 @@ vcpkg_from_github( REF aa468ad75539619b47979911297efbb629c52e44 SHA512 4254d8599103d8f06b03f60a0386eba07f314184217d0bca404d41fc0bd0a8df287fe6d07158d10cde096af3097aff2ecc1a5e8f7c3046ecf956b5fde709ad1d HEAD_REF master - PATCHES fix-usage-lnk-error.patch + PATCHES + fix-usage-lnk-error.patch + fix-config.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-abseil TARGET_PATH share/unofficial-abseil) +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(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/include/absl/copts + ${CURRENT_PACKAGES_DIR}/include/absl/strings/testdata + ${CURRENT_PACKAGES_DIR}/include/absl/time/internal/cctz/testdata) \ No newline at end of file diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 4153cdc48..456088aa6 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,5 +1,5 @@ Source: ace -Version: 6.5.5-1 +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 264829dfb..88be59462 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -1,3 +1,21 @@ +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_7/ACE-src-6.5.7.zip" + FILENAME ACE-src-6.5.7.zip + SHA512 6ce6954941521b34ae8913dfe053d0f066632c55adf4091dae6bc180c79963d6f4ddfec7796cd6d9fc8ff59037ee162d20b017c4c296828913498bdbac2fc8a7 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) + +set(ACE_ROOT ${SOURCE_PATH}) +set(ENV{ACE_ROOT} ${ACE_ROOT}) +set(ACE_SOURCE_PATH ${ACE_ROOT}/ace) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "${PORT} does not currently support UWP") endif() @@ -23,16 +41,6 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() set(MPC_STATIC_FLAG -static) endif() -include(vcpkg_common_functions) -set(ACE_ROOT ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers) -set(ENV{ACE_ROOT} ${ACE_ROOT}) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers/ace) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_5/ACE-src-6.5.5.zip" - FILENAME ACE-src-6.5.5.zip - SHA512 65696e6f2776fd9c015adb78a92f1c87edacde62ff11f20f88c416d4420a6fc6e5176412c5f93262d06e67b89717499f8108f68582f70fea6ce05466c53415e9 -) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_find_acquire_program(PERL) get_filename_component(PERL_PATH ${PERL} DIRECTORY) @@ -58,7 +66,7 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME) else() set(SOLUTION_TYPE vc14) endif() - file(WRITE ${SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"") + file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-windows.h\"") endif() if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") @@ -67,8 +75,8 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") set(LIB_DEBUG_SUFFIX .a) set(LIB_PREFIX lib) set(SOLUTION_TYPE gnuace) - file(WRITE ${SOURCE_PATH}/config.h "#include \"ace/config-linux.h\"") - file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)include/makeinclude/platform_linux.GNU") + file(WRITE ${ACE_SOURCE_PATH}/config.h "#include \"ace/config-linux.h\"") + file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU") endif() # Invoke mwc.pl to generate the necessary solution and project files @@ -80,7 +88,7 @@ vcpkg_execute_required_process( if(NOT VCPKG_CMAKE_SYSTEM_NAME) vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/ace.sln + PROJECT_PATH ${ACE_SOURCE_PATH}/ace.sln PLATFORM ${MSBUILD_PLATFORM} USE_VCPKG_INTEGRATION ) @@ -101,34 +109,34 @@ endif() # ACE itself does not define an install target, so it is not clear which # headers are public and which not. For the moment we install everything # that is in the source path and ends in .h, .inl -function(install_ace_headers_subdirectory SOURCE_PATH RELATIVE_PATH) - file(GLOB HEADER_FILES ${SOURCE_PATH}/${RELATIVE_PATH}/*.h ${SOURCE_PATH}/${RELATIVE_PATH}/*.inl) +function(install_ace_headers_subdirectory ORIGINAL_PATH RELATIVE_PATH) + file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.inl) file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/${RELATIVE_PATH}) endfunction() # We manually install header found in the ace directory because in that case # we are supposed to install also *cpp files, see ACE_wrappers\debian\libace-dev.install file -file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h ${SOURCE_PATH}/*.inl ${SOURCE_PATH}/*.cpp) +file(GLOB HEADER_FILES ${ACE_SOURCE_PATH}/*.h ${ACE_SOURCE_PATH}/*.inl ${ACE_SOURCE_PATH}/*.cpp) file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/) # Install headers in subdirectory -install_ace_headers_subdirectory(${SOURCE_PATH} "Compression") -install_ace_headers_subdirectory(${SOURCE_PATH} "Compression/rle") -install_ace_headers_subdirectory(${SOURCE_PATH} "ETCL") -install_ace_headers_subdirectory(${SOURCE_PATH} "QoS") -install_ace_headers_subdirectory(${SOURCE_PATH} "Monitor_Control") -install_ace_headers_subdirectory(${SOURCE_PATH} "os_include") -install_ace_headers_subdirectory(${SOURCE_PATH} "os_include/arpa") -install_ace_headers_subdirectory(${SOURCE_PATH} "os_include/net") -install_ace_headers_subdirectory(${SOURCE_PATH} "os_include/netinet") -install_ace_headers_subdirectory(${SOURCE_PATH} "os_include/sys") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression/rle") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "ETCL") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "QoS") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Monitor_Control") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/arpa") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/net") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/netinet") +install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/sys") if("ssl" IN_LIST FEATURES) - install_ace_headers_subdirectory(${SOURCE_PATH} "SSL") + install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "SSL") endif() # Install the libraries -function(install_ace_library SOURCE_PATH ACE_LIBRARY) - set(LIB_PATH ${SOURCE_PATH}/lib/) +function(install_ace_library ORIGINAL_PATH ACE_LIBRARY) + set(LIB_PATH ${ORIGINAL_PATH}/lib/) if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) # Install the DLL files file(INSTALL diff --git a/ports/activemq-cpp/CONTROL b/ports/activemq-cpp/CONTROL index ee3c4300c..5a7ade4e9 100644 --- a/ports/activemq-cpp/CONTROL +++ b/ports/activemq-cpp/CONTROL @@ -1,4 +1,4 @@ Source: activemq-cpp -Version: 3.9.5 +Version: 3.9.5-1 Build-Depends: apr Description: Apache ActiveMQ is the most popular and powerful open source messaging and Integration Patterns server. diff --git a/ports/activemq-cpp/portfile.cmake b/ports/activemq-cpp/portfile.cmake index b165efbcd..5353e5dd4 100644 --- a/ports/activemq-cpp/portfile.cmake +++ b/ports/activemq-cpp/portfile.cmake @@ -5,12 +5,11 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() set(VERSION 3.9.5) - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/activemq-cpp-library-${VERSION}) + vcpkg_download_distfile(ARCHIVE URLS "https://www.apache.org/dist/activemq/activemq-cpp/${VERSION}/activemq-cpp-library-${VERSION}-src.tar.bz2" FILENAME "activemq-cpp-library-${VERSION}-src.tar.bz2" - SHA512 83692d3dfd5ecf557fc88d204a03bf169ce6180bcff27be41b09409b8f7793368ffbeed42d98ef6374c6b6b477d9beb8a4a9ac584df9e56725ec59ceceaa6ae2 + SHA512 83692d3dfd5ecf557fc88d204a03bf169ce6180bcff27be41b09409b8f7793368ffbeed42d98ef6374c6b6b477d9beb8a4a9ac584df9e56725ec59ceceaa6ae2 ) vcpkg_extract_source_archive_ex( @@ -42,12 +41,12 @@ vcpkg_build_msbuild( ) vcpkg_copy_pdbs() - + # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/activemq-cpp) file(RENAME ${CURRENT_PACKAGES_DIR}/share/activemq-cpp/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/activemq-cpp/copyright) - + file( COPY ${SOURCE_PATH}/vs2010-build/${BUILD_ARCH}/${RELEASE_CONF}/activemq-cpp.lib diff --git a/ports/ade/CONTROL b/ports/ade/CONTROL index ccce7f1db..fd8286ecd 100644 --- a/ports/ade/CONTROL +++ b/ports/ade/CONTROL @@ -1,3 +1,3 @@ Source: ade -Version: 0.1.1d +Version: 0.1.1f Description: ADE Framework is a graph construction, manipulation, and processing framework. ADE Framework is suitable for organizing data flow processing and execution. \ No newline at end of file diff --git a/ports/ade/portfile.cmake b/ports/ade/portfile.cmake index 95d001828..83d8503b8 100644 --- a/ports/ade/portfile.cmake +++ b/ports/ade/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/ade - REF v0.1.1d - SHA512 c493cb57e59ba859ca0cbf5d48bae4233f22104dfb4a96864d07e9422bb700c27af2d53a602f2230d68b7bcc598920d0652c3d9fdf8fad94a7e5b4d21664a44e + REF v0.1.1f + SHA512 fbdec8f3d5811a573abb81f1ceb6fb8d40274439013f749645db5430c6d9cdc52227c25203f1a68177b263d648bb65197ea7c2bea7871264a06585e59892631c HEAD_REF master ) diff --git a/ports/aixlog/CONTROL b/ports/aixlog/CONTROL index 12e2a88c9..409fb2a3e 100644 --- a/ports/aixlog/CONTROL +++ b/ports/aixlog/CONTROL @@ -1,3 +1,3 @@ Source: aixlog -Version: 1.2.1 +Version: 1.2.2 Description: Header-only C++ logging library diff --git a/ports/aixlog/portfile.cmake b/ports/aixlog/portfile.cmake index 4838372d6..90c96b99d 100644 --- a/ports/aixlog/portfile.cmake +++ b/ports/aixlog/portfile.cmake @@ -1,32 +1,16 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# include(vcpkg_common_functions) vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO badaix/aixlog - REF v1.2.1 - SHA512 776558fdd911f0cc9e8d467bf8e00a1930d2e51bb8ccd5f36f95955fefecab65faf575a80fdaacfe83fd32808f8b9c2e0323b16823e0431300df7bc0c1dfde12 + OUT_SOURCE_PATH SOURCE_PATH + REPO badaix/aixlog + REF v1.2.2 + SHA512 384ffe4a40970150d7cbc64f5bd5a64486415f11487b5a432502f16e190f9a96383e65173cbb6624b4ec8bc5168addef93a895dc9b16f874e4a4c8d93be55dd6 ) - - -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) file(COPY ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) - -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aixlog) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/aixlog/LICENSE ${CURRENT_PACKAGES_DIR}/share/aixlog/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) # Post-build test for cmake libraries # vcpkg_test_cmake(PACKAGE_NAME aixlog) diff --git a/ports/alac-decoder/CONTROL b/ports/alac-decoder/CONTROL index dcbf3922e..10dfb6419 100644 --- a/ports/alac-decoder/CONTROL +++ b/ports/alac-decoder/CONTROL @@ -1,4 +1,4 @@ -Source: alac-decoder -Version: 0.2-1 -Homepage: https://distfiles.macports.org/alac_decoder -Description: ALAC C implementation of a decoder, written from reverse engineering the file format +Source: alac-decoder +Version: 0.2-3 +Homepage: https://distfiles.macports.org/alac_decoder +Description: ALAC C implementation of a decoder, written from reverse engineering the file format diff --git a/ports/alac-decoder/no-pragma-warning.patch b/ports/alac-decoder/no-pragma-warning.patch index 97e2960c8..1dc7c0687 100644 --- a/ports/alac-decoder/no-pragma-warning.patch +++ b/ports/alac-decoder/no-pragma-warning.patch @@ -1,14 +1,14 @@ -diff --git a/alac.c b/alac.c -index b829e29..8e8805f 100644 ---- a/alac.c -+++ b/alac.c -@@ -284,7 +284,9 @@ static int count_leading_zeros(int input) - return output; - } - #else -+#if !defined(_MSC_VER) - #warning using generic count leading zeroes. You may wish to write one for your CPU / compiler -+#endif - static int count_leading_zeros(int input) - { - int output = 0; +diff --git a/alac.c b/alac.c +index b829e29..8e8805f 100644 +--- a/alac.c ++++ b/alac.c +@@ -284,7 +284,9 @@ static int count_leading_zeros(int input) + return output; + } + #else ++#if !defined(_MSC_VER) + #warning using generic count leading zeroes. You may wish to write one for your CPU / compiler ++#endif + static int count_leading_zeros(int input) + { + int output = 0; diff --git a/ports/alac-decoder/portfile.cmake b/ports/alac-decoder/portfile.cmake index ee4a109d9..058179b86 100644 --- a/ports/alac-decoder/portfile.cmake +++ b/ports/alac-decoder/portfile.cmake @@ -2,33 +2,33 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/alac_decoder) vcpkg_download_distfile(ARCHIVE URLS "https://distfiles.macports.org/alac_decoder/alac_decoder-0.2.0.tgz" FILENAME "alac_decoder-0.2.0.tgz" SHA512 4b37d4fe37681bfccaa4a27fbaf11eb2a1fba5f14e77d219a6d9814ff44d1168534d05eb19443dd2fd11e6fcdf4da3a22e3f3c79314cb7a6767c152351b13e29 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + remove_stdint_headers.patch + no-pragma-warning.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/decomp.c DESTINATION ${SOURCE_PATH}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/remove_stdint_headers.patch - ${CMAKE_CURRENT_LIST_DIR}/no-pragma-warning.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON + -DDISABLE_INSTALL_TOOLS=ON ) vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/alac-decoder) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/alac-decoder RENAME copyright) +file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/alembic/CONTROL b/ports/alembic/CONTROL index 0adc152bb..e95c999d7 100644 --- a/ports/alembic/CONTROL +++ b/ports/alembic/CONTROL @@ -1,5 +1,5 @@ Source: alembic -Version: 1.7.11 +Version: 1.7.11-5 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/bypass-findhdf5.patch b/ports/alembic/bypass-findhdf5.patch deleted file mode 100644 index 91cb37fab..000000000 --- a/ports/alembic/bypass-findhdf5.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ce0a8e0..229fc77 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -226,7 +226,24 @@ INCLUDE_DIRECTORIES(${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY}) - IF (USE_HDF5) - FIND_PACKAGE(ZLIB REQUIRED) - SET(ALEMBIC_WITH_HDF5 "1") -- INCLUDE("./cmake/AlembicHDF5.cmake") -+ #INCLUDE("./cmake/AlembicHDF5.cmake") -+ FIND_LIBRARY(HDF5_LIBRARIES_RELEASE -+ NAMES hdf5 -+ PATHS ${HDF5_ROOT}/lib -+ ) -+ MESSAGE(STATUS ${HDF5_LIBRARIES_RELEASE}) -+ FIND_LIBRARY(HDF5_LIBRARIES_DEBUG -+ NAMES hdf5_D -+ PATHS ${HDF5_ROOT}/debug/lib -+ ) -+ MESSAGE(STATUS ${HDF5_LIBRARIES_DEBUG}) -+ SET(HDF5_LIBRARIES -+ optimized ${HDF5_LIBRARIES_RELEASE} -+ debug ${HDF5_LIBRARIES_DEBUG} -+ ) -+ SET(HDF5_INCLUDE_DIRS -+ ${HDF5_ROOT}/include -+ ) - INCLUDE_DIRECTORIES(${HDF5_INCLUDE_DIRS}) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DH5_USE_18_API") - ENDIF() diff --git a/ports/alembic/fix-find-openexr-ilmbase.patch b/ports/alembic/fix-find-openexr-ilmbase.patch new file mode 100644 index 000000000..fdd24249a --- /dev/null +++ b/ports/alembic/fix-find-openexr-ilmbase.patch @@ -0,0 +1,381 @@ +diff --git a/cmake/AlembicIlmBase.cmake b/cmake/AlembicIlmBase.cmake +index cd00d70..a73c8db 100644 +--- a/cmake/AlembicIlmBase.cmake ++++ b/cmake/AlembicIlmBase.cmake +@@ -33,11 +33,25 @@ + ## + ##-***************************************************************************** + +-FIND_PACKAGE(IlmBase) ++FIND_PACKAGE(OpenEXR) + +-IF (ILMBASE_FOUND) ++IF (OPENEXR_FOUND) + SET(ALEMBIC_ILMBASE_FOUND 1 CACHE STRING "Set to 1 if IlmBase is found, 0 otherwise") + ++ set(ALEMBIC_ILMBASE_INCLUDE_DIRECTORY ${OpenEXR_INCLUDE_DIRS}/OpenEXR) ++ set(ALEMBIC_ILMBASE_HALF_LIB ${OPENEXR_HALF_LIBRARY}) ++ set(ALEMBIC_ILMBASE_IEX_LIB ${OPENEXR_IEX_LIBRARY}) ++ set(ALEMBIC_ILMBASE_IEXMATH_LIB ${OpenEXR_IEXMATH_LIBRARY}) ++ set(ALEMBIC_ILMBASE_ILMTHREAD_LIB ${OPENEXR_ILMTHREAD_LIBRARY}) ++ set(ALEMBIC_ILMBASE_IMATH_LIB ${OPENEXR_IMATH_LIBRARY}) ++ ++ MESSAGE( STATUS "ILMBASE INCLUDE PATH: ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY}" ) ++ MESSAGE( STATUS "HALF LIB: ${ALEMBIC_ILMBASE_HALF_LIB}" ) ++ MESSAGE( STATUS "IEX LIB: ${ALEMBIC_ILMBASE_IEX_LIB}" ) ++ MESSAGE( STATUS "IEXMATH LIB: ${ALEMBIC_ILMBASE_IEXMATH_LIB}" ) ++ MESSAGE( STATUS "ILMTHREAD LIB: ${ALEMBIC_ILMBASE_ILMTHREAD_LIB}" ) ++ MESSAGE( STATUS "IMATH LIB: ${ALEMBIC_ILMBASE_IMATH_LIB}" ) ++ + SET(ALEMBIC_ILMBASE_LIBS + ${ALEMBIC_ILMBASE_IMATH_LIB} + ${ALEMBIC_ILMBASE_ILMTHREAD_LIB} +diff --git a/cmake/AlembicOpenEXR.cmake b/cmake/AlembicOpenEXR.cmake +index 0833b32..a9180cd 100644 +--- a/cmake/AlembicOpenEXR.cmake ++++ b/cmake/AlembicOpenEXR.cmake +@@ -38,8 +38,12 @@ + FIND_PACKAGE( OpenEXR ) + + IF( OPENEXR_FOUND ) +- SET( ALEMBIC_OPENEXR_INCLUDE_PATH ${OPENEXR_INCLUDE_PATHS} ) ++ SET( ALEMBIC_OPENEXR_INCLUDE_PATH ${OPENEXR_INCLUDE_PATHS}/OpenEXR ) + SET( ALEMBIC_OPENEXR_LIBRARIES ${OPENEXR_LIBRARIES} ) ++ ++ MESSAGE( STATUS "OPENEXR INCLUDE PATH: ${ALEMBIC_OPENEXR_INCLUDE_PATH}" ) ++ MESSAGE( STATUS "OPENEXR LIB: ${ALEMBIC_OPENEXR_LIBRARIES}" ) ++ + # SET( ALEMBIC_OPENEXR_DEFINITIONS ${OPENEXR_DEFINITIONS} ) + + SET( ALEMBIC_OPENEXR_FOUND 1 CACHE STRING "Set to 1 if OpenEXR is found, 0 otherwise" ) +diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake +deleted file mode 100644 +index 679a02f..0000000 +--- a/cmake/Modules/FindIlmBase.cmake ++++ /dev/null +@@ -1,190 +0,0 @@ +-##-***************************************************************************** +-## +-## Copyright (c) 2009-2016, +-## Sony Pictures Imageworks Inc. and +-## Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd. +-## +-## All rights reserved. +-## +-## Redistribution and use in source and binary forms, with or without +-## modification, are permitted provided that the following conditions are +-## met: +-## * Redistributions of source code must retain the above copyright +-## notice, this list of conditions and the following disclaimer. +-## * Redistributions in binary form must reproduce the above +-## copyright notice, this list of conditions and the following disclaimer +-## in the documentation and/or other materials provided with the +-## distribution. +-## * Neither the name of Industrial Light & Magic 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 DIRECT, INDIRECT, INCIDENTAL, +-## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +-## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +-## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-## +-##-***************************************************************************** +- +-#-****************************************************************************** +-#-****************************************************************************** +-# FIRST, ILMBASE STUFF +-#-****************************************************************************** +-#-****************************************************************************** +- +-# If ILMBASE_ROOT was defined in the environment, use it. +-IF(NOT ILMBASE_ROOT AND NOT $ENV{ILMBASE_ROOT} STREQUAL "") +- SET(ILMBASE_ROOT $ENV{ILMBASE_ROOT}) +-ENDIF() +- +-IF(NOT DEFINED ILMBASE_ROOT) +- MESSAGE(STATUS "ILMBASE_ROOT is undefined" ) +- IF ( ${CMAKE_HOST_UNIX} ) +- IF( ${DARWIN} ) +- # TODO: set to default install path when shipping out +- SET( ALEMBIC_ILMBASE_ROOT NOTFOUND ) +- ELSE() +- # TODO: set to default install path when shipping out +- SET( ALEMBIC_ILMBASE_ROOT "/usr/local/ilmbase-1.0.1/" ) +- ENDIF() +- ELSE() +- IF ( ${WINDOWS} ) +- # TODO: set to 32-bit or 64-bit path +- SET( ALEMBIC_ILMBASE_ROOT "C:/Program Files (x86)/ilmbase-1.0.1/" ) +- ELSE() +- SET( ALEMBIC_ILMBASE_ROOT NOTFOUND ) +- ENDIF() +- ENDIF() +-ELSE() +- SET( ALEMBIC_ILMBASE_ROOT ${ILMBASE_ROOT} ) +-ENDIF() +- +-SET(_ilmbase_FIND_COMPONENTS +- Half +- Iex +- IexMath +- IlmThread +- Imath +-) +- +-SET(_ilmbase_SEARCH_DIRS +- ${ALEMBIC_ILMBASE_ROOT} +- ~/Library/Frameworks +- /Library/Frameworks +- /usr/local +- /usr +- /sw +- /opt/local +- /opt/csw +- /opt +- /usr/freeware +-) +- +-FIND_PATH(ILMBASE_INCLUDE_DIR +- NAMES +- IlmBaseConfig.h +- HINTS +- ${_ilmbase_SEARCH_DIRS} +- PATH_SUFFIXES +- include +- include/OpenEXR +-) +- +-# If the headers were found, get the version from config file, if not already set. +-IF(ILMBASE_INCLUDE_DIR) +- SET(ALEMBIC_ILMBASE_INCLUDE_DIRECTORY ${ILMBASE_INCLUDE_DIR}) +- IF(NOT ILMBASE_VERSION) +- +- FIND_FILE(_ilmbase_CONFIG +- NAMES +- IlmBaseConfig.h +- PATHS +- "${ILMBASE_INCLUDE_DIR}" +- "${ILMBASE_INCLUDE_DIR}/OpenEXR" +- ) +- +- IF(_ilmbase_CONFIG) +- FILE(STRINGS "${_ilmbase_CONFIG}" ILMBASE_BUILD_SPECIFICATION +- REGEX "^[ \t]*#define[ \t]+(ILMBASE_VERSION_STRING|VERSION)[ \t]+\"[.0-9]+\".*$") +- ELSE() +- MESSAGE(WARNING "Could not find \"OpenEXRConfig.h\" in \"${ILMBASE_INCLUDE_DIR}\"") +- ENDIF() +- +- IF(ILMBASE_BUILD_SPECIFICATION) +- STRING(REGEX REPLACE ".*#define[ \t]+(ILMBASE_VERSION_STRING|VERSION)[ \t]+\"([.0-9]+)\".*" +- "\\2" _ilmbase_libs_ver_init ${ILMBASE_BUILD_SPECIFICATION}) +- ELSE() +- MESSAGE(WARNING "Could not determine ILMBase library version, assuming ${_ilmbase_libs_ver_init}.") +- ENDIF() +- +- UNSET(_ilmbase_CONFIG CACHE) +- +- ENDIF() +- +- SET("ILMBASE_VERSION" ${_ilmbase_libs_ver_init} CACHE STRING "Version of OpenEXR lib") +- UNSET(_ilmbase_libs_ver_init) +- +- STRING(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _ilmbase_libs_ver ${ILMBASE_VERSION}) +-ENDIF() +- +- +-SET(_ilmbase_LIBRARIES) +-FOREACH(COMPONENT ${_ilmbase_FIND_COMPONENTS}) +- STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) +- +- FIND_LIBRARY(ALEMBIC_ILMBASE_${UPPERCOMPONENT}_LIB +- NAMES +- ${COMPONENT}-${_ilmbase_libs_ver} ${COMPONENT} +- HINTS +- ${_ilmbase_SEARCH_DIRS} +- PATH_SUFFIXES +- lib64 lib +- ) +- LIST(APPEND _ilmbase_LIBRARIES "${ILMBASE_${UPPERCOMPONENT}_LIBRARY}") +-ENDFOREACH() +- +-UNSET(_ilmbase_libs_ver) +- +-IF ( ${ALEMBIC_ILMBASE_HALF_LIB} STREQUAL "ALEMBIC_ILMBASE_HALF_LIB-NOTFOUND" ) +- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IlmThread, Imath) not found, required" ) +-ENDIF() +- +-IF ( ${ALEMBIC_ILMBASE_IEX_LIB} STREQUAL "ALEMBIC_ILMBASE_IEX_LIB-NOTFOUND" ) +- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IlmThread, Imath) not found, required" ) +-ENDIF() +- +-IF ( DEFINED USE_IEXMATH AND USE_IEXMATH ) +- IF ( ${ALEMBIC_ILMBASE_IEXMATH_LIB} STREQUAL +- "ALEMBIC_ILMBASE_IEXMATH_LIB-NOTFOUND" ) +- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IexMath, IlmThread, Imath) not found, required" ) +- ENDIF() +-ENDIF() +- +-IF ( ${ALEMBIC_ILMBASE_ILMTHREAD_LIB} STREQUAL "ALEMBIC_ILMBASE_ILMTHREAD_LIB-NOTFOUND" ) +- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IlmThread, Imath) not found, required" ) +-ENDIF() +- +-IF ( ${ALEMBIC_ILMBASE_IMATH_LIB} STREQUAL "ALEMBIC_ILMBASE_IMATH_LIB-NOTFOUND" ) +- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IlmThread, Imath) not found, required" ) +-ENDIF() +- +-IF ( ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY} STREQUAL "ALEMBIC_ILMBASE_INCLUDE_DIRECTORY-NOTFOUND" ) +- MESSAGE( FATAL_ERROR "ilmbase header files not found, required: ALEMBIC_ILMBASE_ROOT: ${ALEMBIC_ILMBASE_ROOT}" ) +-ENDIF() +- +- +-MESSAGE( STATUS "ILMBASE INCLUDE PATH: ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY}" ) +-MESSAGE( STATUS "HALF LIB: ${ALEMBIC_ILMBASE_HALF_LIB}" ) +-MESSAGE( STATUS "IEX LIB: ${ALEMBIC_ILMBASE_IEX_LIB}" ) +-MESSAGE( STATUS "IEXMATH LIB: ${ALEMBIC_ILMBASE_IEXMATH_LIB}" ) +-MESSAGE( STATUS "ILMTHREAD LIB: ${ALEMBIC_ILMBASE_ILMTHREAD_LIB}" ) +-MESSAGE( STATUS "IMATH LIB: ${ALEMBIC_ILMBASE_IMATH_LIB}" ) +- +-SET( ILMBASE_FOUND TRUE ) +diff --git a/cmake/Modules/FindOpenEXR.cmake b/cmake/Modules/FindOpenEXR.cmake +deleted file mode 100644 +index 935fe6f..0000000 +--- a/cmake/Modules/FindOpenEXR.cmake ++++ /dev/null +@@ -1,129 +0,0 @@ +-##-***************************************************************************** +-## +-## Copyright (c) 2009-2011, +-## Sony Pictures Imageworks Inc. and +-## Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd. +-## +-## All rights reserved. +-## +-## Redistribution and use in source and binary forms, with or without +-## modification, are permitted provided that the following conditions are +-## met: +-## * Redistributions of source code must retain the above copyright +-## notice, this list of conditions and the following disclaimer. +-## * Redistributions in binary form must reproduce the above +-## copyright notice, this list of conditions and the following disclaimer +-## in the documentation and/or other materials provided with the +-## distribution. +-## * Neither the name of Industrial Light & Magic 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 DIRECT, INDIRECT, INCIDENTAL, +-## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +-## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +-## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +-## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +-## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +-## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +-## +-##-***************************************************************************** +- +- +-# We shall worry about windowsification later. +- +-#-****************************************************************************** +-#-****************************************************************************** +-# NOW, OPENEXR STUFF. EXR IS OPTIONAL, WHERASE ILMBASE IS NOT +-#-****************************************************************************** +-#-****************************************************************************** +- +-IF(NOT DEFINED OPENEXR_ROOT) +- IF ( ${CMAKE_HOST_UNIX} ) +- IF( ${DARWIN} ) +- # TODO: set to default install path when shipping out +- SET( ALEMBIC_OPENEXR_ROOT NOTFOUND ) +- ELSE() +- # TODO: set to default install path when shipping out +- SET( ALEMBIC_OPENEXR_ROOT "/usr/local/openexr-1.6.1/" ) +- ENDIF() +- ELSE() +- IF ( ${WINDOWS} ) +- # TODO: set to 32-bit or 64-bit path +- SET( ALEMBIC_OPENEXR_ROOT NOTFOUND ) +- ELSE() +- SET( ALEMBIC_OPENEXR_ROOT NOTFOUND ) +- ENDIF() +- ENDIF() +-ELSE() +- SET( ALEMBIC_OPENEXR_ROOT ${OPENEXR_ROOT} ) +-ENDIF() +- +-IF(NOT $ENV{OPENEXR_ROOT}x STREQUAL "x") +- SET( ALEMBIC_OPENEXR_ROOT $ENV{OPENEXR_ROOT}) +-ELSE() +- SET( ENV{OPENEXR_ROOT} ${OPENEXR_ROOT} ) +-ENDIF() +- +- +-SET(LIBRARY_PATHS +- ${ALEMBIC_OPENEXR_ROOT}/lib +- ~/Library/Frameworks +- /Library/Frameworks +- /usr/local/lib +- /usr/lib +- /sw/lib +- /opt/local/lib +- /opt/csw/lib +- /opt/lib +- /usr/freeware/lib64 +-) +- +-SET(INCLUDE_PATHS +- ${ALEMBIC_OPENEXR_ROOT}/include/OpenEXR/ +- ~/Library/Frameworks +- /Library/Frameworks +- /usr/local/include/OpenEXR/ +- /usr/local/include +- /usr/include +- /sw/include # Fink +- /opt/local/include # DarwinPorts +- /opt/csw/include # Blastwave +- /opt/include +- /usr/freeware/include +-) +- +-FIND_PATH( ALEMBIC_OPENEXR_INCLUDE_PATH ImfRgba.h +- PATHS +- ${INCLUDE_PATHS} +- DOC "The directory where ImfRgba.h resides" ) +- +-FIND_LIBRARY( ALEMBIC_OPENEXR_ILMIMF_LIB IlmImf +- PATHS +- ${LIBRARY_PATHS} +- DOC "The IlmImf library" ) +- +- +-SET( OPENEXR_FOUND TRUE ) +- +-IF ( ${ALEMBIC_OPENEXR_INCLUDE_PATH} STREQUAL "ALEMBIC_OPENEXR_INCLUDE_PATH-NOTFOUND" ) +- MESSAGE( STATUS "OpenEXR include path not found, disabling" ) +- SET( OPENEXR_FOUND FALSE ) +-ENDIF() +- +-IF ( ${ALEMBIC_OPENEXR_ILMIMF_LIB} STREQUAL "ALEMBIC_OPENEXR_ILMIMF_LIB-NOTFOUND" ) +- MESSAGE( STATUS "OpenEXR libraries not found, disabling" ) +- SET( OPENEXR_FOUND FALSE ) +- SET( ALEMBIC_OPENEXR_LIBS NOTFOUND ) +-ENDIF() +- +-IF (OPENEXR_FOUND) +- MESSAGE( STATUS "OPENEXR INCLUDE PATH: ${ALEMBIC_OPENEXR_INCLUDE_PATH}" ) +- SET( ALEMBIC_OPENEXR_LIBS ${ALEMBIC_OPENEXR_ILMIMF_LIB} ) +-ENDIF() +- +- diff --git a/ports/alembic/fix-hdf5link.patch b/ports/alembic/fix-hdf5link.patch deleted file mode 100644 index b9729f1ca..000000000 --- a/ports/alembic/fix-hdf5link.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/lib/Alembic/CMakeLists.txt b/lib/Alembic/CMakeLists.txt -index 5028c91..1f81d50 100644 ---- a/lib/Alembic/CMakeLists.txt -+++ b/lib/Alembic/CMakeLists.txt -@@ -49,6 +49,12 @@ ADD_SUBDIRECTORY(AbcMaterial) - ADD_SUBDIRECTORY(Ogawa) - - ADD_LIBRARY(Alembic ${LIB_TYPE} ${CXX_FILES}) -+IF (USE_HDF5) -+ TARGET_LINK_LIBRARIES(Alembic -+ ${HDF5_LIBRARIES} -+ ) -+ ADD_DEFINITIONS(-DH5_BUILT_AS_DYNAMIC_LIB) -+ENDIF() - - TARGET_INCLUDE_DIRECTORIES(Alembic - PUBLIC diff --git a/ports/alembic/portfile.cmake b/ports/alembic/portfile.cmake index 9e97ac89d..95e3c22ee 100644 --- a/ports/alembic/portfile.cmake +++ b/ports/alembic/portfile.cmake @@ -1,11 +1,6 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Alembic's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +vcpkg_buildpath_length_warning(37) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) @@ -16,21 +11,20 @@ vcpkg_from_github( SHA512 94b9c218a2fe6e2e24205aff4a2f6bab784851c2aa15592fb60ea91f0e8038b0c0656a118f3a5cba0d3de8917dd90b74d0e2d1c4ac034b9ee3f5d0741d9f6b70 HEAD_REF master PATCHES - fix-hdf5link.patch - bypass-findhdf5.patch fix-C1083.patch + fix-find-openexr-ilmbase.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DUSE_HDF5=ON - -DHDF5_ROOT=${CURRENT_INSTALLED_DIR} ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Alembic") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Alembic) vcpkg_copy_pdbs() diff --git a/ports/allegro5/portfile.cmake b/ports/allegro5/portfile.cmake index b8619f99b..37eea0756 100644 --- a/ports/allegro5/portfile.cmake +++ b/ports/allegro5/portfile.cmake @@ -1,44 +1,29 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO liballeg/allegro5 REF 5.2.5.0 SHA512 9b97a46f0fd146c3958a5f8333822665ae06b984b3dbedc1356afdac8fe3248203347cb08b30ebda049a7320948c7844e9d00dc055c317836c2557b5bfc2ab04 HEAD_REF master -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(ALLEGRO_USE_STATIC ON) -else() - set(ALLEGRO_USE_STATIC OFF) -endif() - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-pdb-install.patch + fix-pdb-install.patch ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja + PREFER_NINJA OPTIONS -DWANT_DOCS=OFF -DALLEGRO_SDL=OFF -DWANT_DEMO=OFF - -DSHARED=${ALLEGRO_USE_STATIC} + -DSHARED=${VCPKG_BUILD_SHARED_LIBS} -DWANT_EXAMPLES=OFF -DWANT_CURL_EXAMPLE=OFF -DWANT_TESTS=OFF @@ -81,14 +66,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/allegro5) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/allegro5/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/allegro5/copyright) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - file(GLOB PDB_GLOB ${CURRENT_BUILDTREES_DIR}-dbg/lib/*.pdb) file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}-dbg/lib/Debug) file(COPY ${PDB_GLOB} DESTINATION ${CURRENT_BUILDTREES_DIR}-dbg/lib/Debug) vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/allegro5 RENAME copyright) diff --git a/ports/ampl-mp/CONTROL b/ports/ampl-mp/CONTROL index 84523e281..d45564c4f 100644 --- a/ports/ampl-mp/CONTROL +++ b/ports/ampl-mp/CONTROL @@ -1,3 +1,3 @@ Source: ampl-mp -Version: 2019-03-21 +Version: 2019-03-21-1 Description: An open-source library for mathematical programming diff --git a/ports/ampl-mp/portfile.cmake b/ports/ampl-mp/portfile.cmake index dafdb10fd..00d577e56 100644 --- a/ports/ampl-mp/portfile.cmake +++ b/ports/ampl-mp/portfile.cmake @@ -20,6 +20,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBUILD=asl -DBUILD_TESTING=OFF diff --git a/ports/amqpcpp/CONTROL b/ports/amqpcpp/CONTROL index d0642edb4..4e8799805 100644 --- a/ports/amqpcpp/CONTROL +++ b/ports/amqpcpp/CONTROL @@ -1,4 +1,4 @@ Source: amqpcpp -Version: 4.1.4 +Version: 4.1.5 Description: AMQP-CPP is a C++ library for communicating with a RabbitMQ message broker Build-Depends: openssl (linux) diff --git a/ports/amqpcpp/portfile.cmake b/ports/amqpcpp/portfile.cmake index 697b8f802..7f4847903 100644 --- a/ports/amqpcpp/portfile.cmake +++ b/ports/amqpcpp/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CopernicaMarketingSoftware/AMQP-CPP - REF v4.1.4 - SHA512 d589756ad8e27ce6b6772128479083293c4dbb8c7aa79b7b08f0036ced9ab76ecb75e55458f04de8e2745c9732a6322f4e910f3f8611633c5cd5c35fb7dcaed1 + REF v4.1.5 + SHA512 71c54ddf43230fb3e9726257b073d117a329030052f768f985c2e9ebde5a320f0042d2ef67604b87940bfa1ed61339c334af0362238d10f30845521dff8ce43c HEAD_REF master PATCHES find-openssl.patch diff --git a/ports/anax/CONTROL b/ports/anax/CONTROL index 14b10c9af..a672637cf 100644 --- a/ports/anax/CONTROL +++ b/ports/anax/CONTROL @@ -1,4 +1,4 @@ Source: anax -Version: 2.1.0-5 +Version: 2.1.0-6 Description: An open source C++ entity system. Homepage: https://github.com/miguelmartin75/anax diff --git a/ports/anax/portfile.cmake b/ports/anax/portfile.cmake index 346e45edb..bdecbf39e 100644 --- a/ports/anax/portfile.cmake +++ b/ports/anax/portfile.cmake @@ -14,6 +14,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA DISABLE_PARALLEL_CONFIGURE ) diff --git a/ports/angelscript/CONTROL b/ports/angelscript/CONTROL index 7c12ea845..4ec91f2bb 100644 --- a/ports/angelscript/CONTROL +++ b/ports/angelscript/CONTROL @@ -1,3 +1,6 @@ -Source: angelscript -Version: 2.33.0 -Description: The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer. +Source: angelscript +Version: 2.34.0 +Description: The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer. + +Feature: addons +Description: Installs all addons for use in compiling scripts addons diff --git a/ports/angelscript/LICENSE b/ports/angelscript/LICENSE index 27105b90d..ea549c6e6 100644 --- a/ports/angelscript/LICENSE +++ b/ports/angelscript/LICENSE @@ -1,13 +1,13 @@ -AngelCode Scripting Library - -Copyright © 2003-2018 Andreas Jönsson - -This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: - - The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. - - Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. - - This notice may not be removed or altered from any source distribution. +AngelCode Scripting Library + +Copyright © 2003-2018 Andreas Jönsson + +This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: + + The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. + + Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. + + This notice may not be removed or altered from any source distribution. diff --git a/ports/angelscript/mark-threads-private.patch b/ports/angelscript/mark-threads-private.patch index 567c19aa1..aaf28b437 100644 --- a/ports/angelscript/mark-threads-private.patch +++ b/ports/angelscript/mark-threads-private.patch @@ -1,13 +1,13 @@ -diff --git a/angelscript/projects/cmake/CMakeLists.txt b/angelscript/projects/cmake/CMakeLists.txt -index 7c800c5..982ad8b 100644 ---- a/angelscript/projects/cmake/CMakeLists.txt -+++ b/angelscript/projects/cmake/CMakeLists.txt -@@ -145,7 +145,7 @@ endif() - - # Don't override the default library output path to avoid conflicts when building for multiple target platforms - #set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../lib) --target_link_libraries(${ANGELSCRIPT_LIBRARY_NAME} Threads::Threads) -+target_link_libraries(${ANGELSCRIPT_LIBRARY_NAME} PRIVATE Threads::Threads) - - set_target_properties(${ANGELSCRIPT_LIBRARY_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) - +diff --git a/angelscript/projects/cmake/CMakeLists.txt b/angelscript/projects/cmake/CMakeLists.txt +index 7c800c5..982ad8b 100644 +--- a/angelscript/projects/cmake/CMakeLists.txt ++++ b/angelscript/projects/cmake/CMakeLists.txt +@@ -145,7 +145,7 @@ endif() + + # Don't override the default library output path to avoid conflicts when building for multiple target platforms + #set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../lib) +-target_link_libraries(${ANGELSCRIPT_LIBRARY_NAME} Threads::Threads) ++target_link_libraries(${ANGELSCRIPT_LIBRARY_NAME} PRIVATE Threads::Threads) + + set_target_properties(${ANGELSCRIPT_LIBRARY_NAME} PROPERTIES VERSION ${PROJECT_VERSION}) + diff --git a/ports/angelscript/portfile.cmake b/ports/angelscript/portfile.cmake index 18128d220..c0d41d948 100644 --- a/ports/angelscript/portfile.cmake +++ b/ports/angelscript/portfile.cmake @@ -1,50 +1,31 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - -include(vcpkg_common_functions) - -vcpkg_download_distfile(ARCHIVE - URLS "https://www.angelcode.com/angelscript/sdk/files/angelscript_2.33.0.zip" - FILENAME "angelscript_2.33.0.zip" - SHA512 eaf972ecf965fe4f72e55755f5e796499018e918f93cfd835b1ca20f9338e299e8dbd707240341eef81ae920f07d2280646151f515f5990a62550689445c86f0 -) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - # (Optional) A friendly name to use instead of the filename of the archive (e.g.: a version number or tag). - # REF 1.0.0 - # (Optional) Read the docs for how to generate patches at: - # https://github.com/Microsoft/vcpkg/blob/master/docs/examples/patching.md - PATCHES - mark-threads-private.patch - # 002_more_port_fixes.patch -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH}/angelscript/projects/cmake - 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 -) - -vcpkg_install_cmake() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Angelscript") - -# Handle copyright -file(INSTALL ${CURRENT_PORT_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/angelscript RENAME copyright) - -# Post-build test for cmake libraries -# vcpkg_test_cmake(PACKAGE_NAME angelscript) +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "https://angelcode.com/angelscript/sdk/files/angelscript_2.34.0.zip" + FILENAME "angelscript_2.34.0.zip" + SHA512 c26dba452ab52c300da9c95fde8398acf4840cbc0e653ededf978d4a3e942cfe5b77292c74c49dc0279250a27cfd324c696c49d139a97c844b2a1eead9aae2f4 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + mark-threads-private.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/angelscript/projects/cmake + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Angelscript) + +# Copy the addon files +if("addons" IN_LIST FEATURES) + file(INSTALL ${SOURCE_PATH}/add_on/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/angelscript FILES_MATCHING PATTERN "*.h" PATTERN "*.cpp") +endif() + +file(INSTALL ${CURRENT_PORT_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/angle/001-fix-uwp.patch b/ports/angle/001-fix-uwp.patch index 818282ee2..36c9aad34 100644 --- a/ports/angle/001-fix-uwp.patch +++ b/ports/angle/001-fix-uwp.patch @@ -1,274 +1,262 @@ -diff --git a/src/common/system_utils_win.cpp b/src/common/system_utils_win.cpp -index e4c146091..974b1b3ba 100644 ---- a/src/common/system_utils_win.cpp -+++ b/src/common/system_utils_win.cpp -@@ -110,7 +110,7 @@ class Win32Library : public Library - int ret = snprintf(buffer, MAX_PATH, "%s.%s", libraryName, GetSharedLibraryExtension()); - if (ret > 0 && ret < MAX_PATH) - { -- mModule = LoadLibraryA(buffer); -+ // mModule = LoadLibraryA(buffer); - } - } - -diff --git a/src/libANGLE/renderer/d3d/RendererD3D.cpp b/src/libANGLE/renderer/d3d/RendererD3D.cpp -index 2a8d0221b..362c95a6f 100644 ---- a/src/libANGLE/renderer/d3d/RendererD3D.cpp -+++ b/src/libANGLE/renderer/d3d/RendererD3D.cpp -@@ -229,7 +229,6 @@ GLenum DefaultGLErrorCode(HRESULT hr) - { - switch (hr) - { -- case D3DERR_OUTOFVIDEOMEMORY: - case E_OUTOFMEMORY: - return GL_OUT_OF_MEMORY; - default: -diff --git a/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -index 9da5cfdae..6eaab6aa7 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp -@@ -14,6 +14,7 @@ - - #include "common/tls.h" - #include "common/utilities.h" -+#include "common/debug.h" - #include "libANGLE/Buffer.h" - #include "libANGLE/Context.h" - #include "libANGLE/Display.h" -@@ -1189,10 +1190,11 @@ void Renderer11::generateDisplayExtensions(egl::DisplayExtensions *outExtensions - outExtensions->robustResourceInitialization = true; - - // Compositor Native Window capabilies require WinVer >= 1803 -- if (CompositorNativeWindow11::IsSupportedWinRelease()) -- { -- outExtensions->windowsUIComposition = true; -- } -+#ifdef ANGLE_ENABLE_WINDOWS_STORE -+ outExtensions->windowsUIComposition = NativeWindow11WinRT::IsSupportedWin10Release(); -+#else -+outExtensions->windowsUIComposition = CompositorNativeWindow11::IsSupportedWinRelease(); -+#endif - } - - angle::Result Renderer11::flush(Context11 *context11) -@@ -1266,16 +1268,24 @@ NativeWindowD3D *Renderer11::createNativeWindow(EGLNativeWindowType window, - const egl::Config *config, - const egl::AttributeMap &attribs) const - { -- auto useWinUiComp = window != nullptr && !NativeWindow11Win32::IsValidNativeWindow(window); -+#ifdef ANGLE_ENABLE_WINDOWS_STORE -+ auto useWinUiComp = window != nullptr && !NativeWindow11WinRT::IsValidNativeWindow(window); -+#else -+ auto useWinUiComp = window != nullptr && !NativeWindow11Win32::IsValidNativeWindow(window); -+#endif - - if (useWinUiComp) - { -- return new CompositorNativeWindow11(window, config->alphaSize > 0); -+#ifdef ANGLE_ENABLE_WINDOWS_STORE -+ return new NativeWindow11WinRT(window, config->alphaSize > 0); -+#else -+ return new CompositorNativeWindow11(window, config->alphaSize > 0); -+#endif - } - else - { - #ifdef ANGLE_ENABLE_WINDOWS_STORE -- UNUSED_VARIABLE(attribs); -+ ANGLE_UNUSED_VARIABLE(attribs); - return new NativeWindow11WinRT(window, config->alphaSize > 0); - #else - return new NativeWindow11Win32( -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -index cb2f279e4..a8761e29c 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp -@@ -145,6 +145,7 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) - { - if (device == nullptr || factory == nullptr || swapChain == nullptr || width == 0 || -@@ -158,6 +159,7 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, - swapChainDesc.Height = height; - swapChainDesc.Format = format; - swapChainDesc.Stereo = FALSE; -+ swapChainDesc.SampleDesc.Count = samples; - swapChainDesc.SampleDesc.Count = 1; - swapChainDesc.SampleDesc.Quality = 0; - swapChainDesc.BufferUsage = -@@ -213,11 +215,9 @@ HRESULT GetCoreWindowSizeInPixels(const ComPtr displayProperties; -+ ComPtr displayProperties; - -- if (SUCCEEDED(GetActivationFactory( -- HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), -- displayProperties.GetAddressOf()))) -+ if (SUCCEEDED(GetActivationFactory(HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayInformation).Get(), displayProperties.GetAddressOf()))) - { - float dpi = 96.0f; - if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -index ae57cfb83..983a20ada 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h -@@ -36,6 +36,7 @@ class CoreWindowNativeWindow : public InspectableNativeWindow, - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) override; - - protected: -@@ -49,7 +50,7 @@ class CoreWindowNativeWindow : public InspectableNativeWindow, - ComPtr> mPropertyMap; - }; - --[uuid(7F924F66 - EBAE - 40E5 - A10B - B8F35E245190)] class CoreWindowSizeChangedHandler -+[uuid(7F924F66-EBAE-40E5-A10B-B8F35E245190)] class CoreWindowSizeChangedHandler - : public Microsoft::WRL::RuntimeClass< - Microsoft::WRL::RuntimeClassFlags, - IWindowSizeChangedEventHandler> -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -index 708e8a212..aa6c6f375 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h -@@ -53,6 +53,7 @@ class InspectableNativeWindow - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) = 0; - - bool getClientRect(RECT *rect) -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -index 8972ca227..ed3576a8c 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp -@@ -13,6 +13,8 @@ - #include "libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h" - #include "libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h" - -+#include -+ - using namespace Microsoft::WRL; - using namespace Microsoft::WRL::Wrappers; - -@@ -88,6 +90,7 @@ HRESULT NativeWindow11WinRT::createSwapChain(ID3D11Device *device, - DXGI_FORMAT format, - UINT width, - UINT height, -+ UINT samples, - IDXGISwapChain **swapChain) - { - if (mImpl) -@@ -95,7 +98,7 @@ HRESULT NativeWindow11WinRT::createSwapChain(ID3D11Device *device, - IDXGIFactory2 *factory2 = d3d11::DynamicCastComObject(factory); - IDXGISwapChain1 *swapChain1 = nullptr; - HRESULT result = -- mImpl->createSwapChain(device, factory2, format, width, height, mHasAlpha, &swapChain1); -+ mImpl->createSwapChain(device, factory2, format, width, height, mHasAlpha, samples, &swapChain1); - SafeRelease(factory2); - *swapChain = static_cast(swapChain1); - return result; -@@ -119,4 +122,44 @@ bool NativeWindow11WinRT::IsValidNativeWindow(EGLNativeWindowType window) - return IsCoreWindow(window) || IsSwapChainPanel(window) || IsEGLConfiguredPropertySet(window); - } - -+bool NativeWindow11WinRT::IsSupportedWin10Release() -+{ -+ HSTRING className, contractName; -+ HSTRING_HEADER classNameHeader, contractNameHeader; -+ boolean isSupported = false; -+ -+ const wchar_t *str = static_cast(RuntimeClass_Windows_Foundation_Metadata_ApiInformation); -+ unsigned int length; -+ SizeTToUInt32(::wcslen(str), &length); -+ HRESULT hr = WindowsCreateStringReference(RuntimeClass_Windows_Foundation_Metadata_ApiInformation, length, &classNameHeader, &className); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ Microsoft::WRL::ComPtr api; -+ -+ hr = RoGetActivationFactory(className, __uuidof(ABI::Windows::Foundation::Metadata::IApiInformationStatics), &api); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ str = static_cast(L"Windows.Foundation.UniversalApiContract"); -+ SizeTToUInt32(::wcslen(str), &length); -+ hr = WindowsCreateStringReference(L"Windows.Foundation.UniversalApiContract", length, &contractNameHeader, -+ &contractName); -+ -+ if (FAILED(hr)) -+ { -+ return isSupported; -+ } -+ -+ api->IsApiContractPresentByMajor(contractName, 6, &isSupported); -+ -+ return isSupported; -+} -+ - } // namespace rx -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -index eac5b21b7..36b20371e 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h -@@ -34,11 +34,13 @@ class NativeWindow11WinRT : public NativeWindow11 - DXGI_FORMAT format, - UINT width, - UINT height, -+ UINT samples, - IDXGISwapChain **swapChain) override; - - void commitChange() override; - - static bool IsValidNativeWindow(EGLNativeWindowType window); -+ static bool IsSupportedWin10Release(); - - private: - bool mHasAlpha; -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -index af0beb635..9f7face1b 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp -@@ -247,6 +247,7 @@ HRESULT SwapChainPanelNativeWindow::createSwapChain(ID3D11Device *device, - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) - { - if (device == nullptr || factory == nullptr || swapChain == nullptr || width == 0 || -diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -index 09642eec5..1f2c090d5 100644 ---- a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -+++ b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h -@@ -28,6 +28,7 @@ class SwapChainPanelNativeWindow : public InspectableNativeWindow, - unsigned int width, - unsigned int height, - bool containsAlpha, -+ unsigned int samples, - IDXGISwapChain1 **swapChain) override; - - protected: -@@ -43,7 +44,7 @@ class SwapChainPanelNativeWindow : public InspectableNativeWindow, - ComPtr mSwapChain; - }; - --[uuid(8ACBD974 - 8187 - 4508 - AD80 - AEC77F93CF36)] class SwapChainPanelSizeChangedHandler -+[uuid(8ACBD974-8187-4508-AD80-AEC77F93CF36)] class SwapChainPanelSizeChangedHandler - : public Microsoft::WRL::RuntimeClass< - Microsoft::WRL::RuntimeClassFlags, - ABI::Windows::UI::Xaml::ISizeChangedEventHandler> +diff --git a/src/libANGLE/renderer/d3d/RendererD3D.cpp b/src/libANGLE/renderer/d3d/RendererD3D.cpp +index fa46476..ad56164 100644 +--- a/src/libANGLE/renderer/d3d/RendererD3D.cpp ++++ b/src/libANGLE/renderer/d3d/RendererD3D.cpp +@@ -240,7 +240,6 @@ GLenum DefaultGLErrorCode(HRESULT hr) + { + switch (hr) + { +- case D3DERR_OUTOFVIDEOMEMORY: + case E_OUTOFMEMORY: + return GL_OUT_OF_MEMORY; + default: +diff --git a/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp +index 62f263b..b8efe15 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp ++++ b/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp +@@ -14,6 +14,7 @@ + + #include "common/tls.h" + #include "common/utilities.h" ++#include "common/debug.h" + #include "libANGLE/Buffer.h" + #include "libANGLE/Context.h" + #include "libANGLE/Display.h" +@@ -1142,9 +1143,11 @@ void Renderer11::generateDisplayExtensions(egl::DisplayExtensions *outExtensions + + // Compositor Native Window capabilies require WinVer >= 1803 + if (CompositorNativeWindow11::IsSupportedWinRelease()) +- { +- outExtensions->windowsUIComposition = true; +- } ++ #ifdef ANGLE_ENABLE_WINDOWS_STORE ++ outExtensions->windowsUIComposition = NativeWindow11WinRT::IsSupportedWin10Release(); ++ #else ++ outExtensions->windowsUIComposition = CompositorNativeWindow11::IsSupportedWinRelease(); ++ #endif + } + + angle::Result Renderer11::flush(Context11 *context11) +@@ -1218,16 +1221,23 @@ NativeWindowD3D *Renderer11::createNativeWindow(EGLNativeWindowType window, + const egl::Config *config, + const egl::AttributeMap &attribs) const + { +- auto useWinUiComp = window != nullptr && !NativeWindow11Win32::IsValidNativeWindow(window); +- ++#ifdef ANGLE_ENABLE_WINDOWS_STORE ++ auto useWinUiComp = window != nullptr && !NativeWindow11WinRT::IsValidNativeWindow(window); ++#else ++ auto useWinUiComp = window != nullptr && !NativeWindow11Win32::IsValidNativeWindow(window); ++#endif + if (useWinUiComp) + { +- return new CompositorNativeWindow11(window, config->alphaSize > 0); ++#ifdef ANGLE_ENABLE_WINDOWS_STORE ++ return new NativeWindow11WinRT(window, config->alphaSize > 0); ++#else ++ return new CompositorNativeWindow11(window, config->alphaSize > 0); ++#endif + } + else + { + #ifdef ANGLE_ENABLE_WINDOWS_STORE +- UNUSED_VARIABLE(attribs); ++ ANGLE_UNUSED_VARIABLE(attribs); + return new NativeWindow11WinRT(window, config->alphaSize > 0); + #else + return new NativeWindow11Win32( +diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp +index cb2f279..d76905c 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp ++++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp +@@ -145,6 +145,7 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, + unsigned int width, + unsigned int height, + bool containsAlpha, ++ unsigned int samples, + IDXGISwapChain1 **swapChain) + { + if (device == nullptr || factory == nullptr || swapChain == nullptr || width == 0 || +@@ -158,6 +159,7 @@ HRESULT CoreWindowNativeWindow::createSwapChain(ID3D11Device *device, + swapChainDesc.Height = height; + swapChainDesc.Format = format; + swapChainDesc.Stereo = FALSE; ++ swapChainDesc.SampleDesc.Count = samples; + swapChainDesc.SampleDesc.Count = 1; + swapChainDesc.SampleDesc.Quality = 0; + swapChainDesc.BufferUsage = +@@ -213,11 +215,9 @@ HRESULT GetCoreWindowSizeInPixels(const ComPtr displayProperties; +- +- if (SUCCEEDED(GetActivationFactory( +- HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayProperties).Get(), +- displayProperties.GetAddressOf()))) ++ ComPtr displayProperties; ++ if (SUCCEEDED(GetActivationFactory(HStringReference(RuntimeClass_Windows_Graphics_Display_DisplayInformation).Get(), ++ displayProperties.GetAddressOf()))) + { + float dpi = 96.0f; + if (SUCCEEDED(displayProperties->get_LogicalDpi(&dpi))) +diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h +index ae57cfb..dd77b42 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h ++++ b/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h +@@ -36,6 +36,7 @@ class CoreWindowNativeWindow : public InspectableNativeWindow, + unsigned int width, + unsigned int height, + bool containsAlpha, ++ unsigned int samples, + IDXGISwapChain1 **swapChain) override; + + protected: +@@ -49,7 +50,7 @@ class CoreWindowNativeWindow : public InspectableNativeWindow, + ComPtr> mPropertyMap; + }; + +-[uuid(7F924F66 - EBAE - 40E5 - A10B - B8F35E245190)] class CoreWindowSizeChangedHandler ++[uuid(7F924F66-EBAE-40E5-A10B-B8F35E245190)] class CoreWindowSizeChangedHandler + : public Microsoft::WRL::RuntimeClass< + Microsoft::WRL::RuntimeClassFlags, + IWindowSizeChangedEventHandler> +diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h +index 708e8a2..9bfa4c4 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h ++++ b/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h +@@ -53,6 +53,7 @@ class InspectableNativeWindow + unsigned int width, + unsigned int height, + bool containsAlpha, ++ unsigned int samples, + IDXGISwapChain1 **swapChain) = 0; + + bool getClientRect(RECT *rect) +diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp +index 8972ca2..caf2a7e 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp ++++ b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp +@@ -13,6 +13,8 @@ + #include "libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h" + #include "libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h" + ++#include ++ + using namespace Microsoft::WRL; + using namespace Microsoft::WRL::Wrappers; + +@@ -88,6 +90,7 @@ HRESULT NativeWindow11WinRT::createSwapChain(ID3D11Device *device, + DXGI_FORMAT format, + UINT width, + UINT height, ++ UINT samples, + IDXGISwapChain **swapChain) + { + if (mImpl) +@@ -95,7 +98,7 @@ HRESULT NativeWindow11WinRT::createSwapChain(ID3D11Device *device, + IDXGIFactory2 *factory2 = d3d11::DynamicCastComObject(factory); + IDXGISwapChain1 *swapChain1 = nullptr; + HRESULT result = +- mImpl->createSwapChain(device, factory2, format, width, height, mHasAlpha, &swapChain1); ++ mImpl->createSwapChain(device, factory2, format, width, height, mHasAlpha, samples, &swapChain1); + SafeRelease(factory2); + *swapChain = static_cast(swapChain1); + return result; +@@ -118,5 +121,44 @@ bool NativeWindow11WinRT::IsValidNativeWindow(EGLNativeWindowType window) + // Anything else will be rejected as an invalid IInspectable. + return IsCoreWindow(window) || IsSwapChainPanel(window) || IsEGLConfiguredPropertySet(window); + } ++bool NativeWindow11WinRT::IsSupportedWin10Release() ++{ ++ HSTRING className, contractName; ++ HSTRING_HEADER classNameHeader, contractNameHeader; ++ boolean isSupported = false; ++ ++ const wchar_t *str = static_cast(RuntimeClass_Windows_Foundation_Metadata_ApiInformation); ++ unsigned int length; ++ SizeTToUInt32(::wcslen(str), &length); ++ HRESULT hr = WindowsCreateStringReference(RuntimeClass_Windows_Foundation_Metadata_ApiInformation, length, &classNameHeader, &className); ++ ++ if (FAILED(hr)) ++ { ++ return isSupported; ++ } ++ ++ Microsoft::WRL::ComPtr api; ++ ++ hr = RoGetActivationFactory(className, __uuidof(ABI::Windows::Foundation::Metadata::IApiInformationStatics), &api); ++ ++ if (FAILED(hr)) ++ { ++ return isSupported; ++ } ++ ++ str = static_cast(L"Windows.Foundation.UniversalApiContract"); ++ SizeTToUInt32(::wcslen(str), &length); ++ hr = WindowsCreateStringReference(L"Windows.Foundation.UniversalApiContract", length, &contractNameHeader, ++ &contractName); ++ ++ if (FAILED(hr)) ++ { ++ return isSupported; ++ } ++ ++ api->IsApiContractPresentByMajor(contractName, 6, &isSupported); ++ ++ return isSupported; ++} + + } // namespace rx +diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h +index eac5b21..b9ee344 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h ++++ b/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h +@@ -34,11 +34,14 @@ class NativeWindow11WinRT : public NativeWindow11 + DXGI_FORMAT format, + UINT width, + UINT height, ++ UINT samples, + IDXGISwapChain **swapChain) override; + + void commitChange() override; + + static bool IsValidNativeWindow(EGLNativeWindowType window); ++ static bool IsSupportedWin10Release(); ++ + + private: + bool mHasAlpha; +diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp +index af0beb6..20fd632 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp ++++ b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp +@@ -246,6 +246,7 @@ HRESULT SwapChainPanelNativeWindow::createSwapChain(ID3D11Device *device, + DXGI_FORMAT format, + unsigned int width, + unsigned int height, ++ unsigned int samples, + bool containsAlpha, + IDXGISwapChain1 **swapChain) + { +diff --git a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h +index 09642ee..fc69bf4 100644 +--- a/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h ++++ b/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h +@@ -27,6 +27,7 @@ class SwapChainPanelNativeWindow : public InspectableNativeWindow, + DXGI_FORMAT format, + unsigned int width, + unsigned int height, ++ unsigned int samples, + bool containsAlpha, + IDXGISwapChain1 **swapChain) override; + +@@ -43,7 +44,7 @@ class SwapChainPanelNativeWindow : public InspectableNativeWindow, + ComPtr mSwapChain; + }; + +-[uuid(8ACBD974 - 8187 - 4508 - AD80 - AEC77F93CF36)] class SwapChainPanelSizeChangedHandler ++[uuid(8ACBD974-8187-4508-AD80-AEC77F93CF36)] class SwapChainPanelSizeChangedHandler + : public Microsoft::WRL::RuntimeClass< + Microsoft::WRL::RuntimeClassFlags, + ABI::Windows::UI::Xaml::ISizeChangedEventHandler> diff --git a/ports/angle/CMakeLists.txt b/ports/angle/CMakeLists.txt index f83f6294e..8be51c0d4 100644 --- a/ports/angle/CMakeLists.txt +++ b/ports/angle/CMakeLists.txt @@ -30,6 +30,7 @@ set(CMAKE_STATIC_LIBRARY_PREFIX "") add_definitions( -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS + -DGL_SILENCE_DEPRECATION -D_HAS_EXCEPTIONS=0 -DNOMINMAX -DANGLE_STANDALONE_BUILD @@ -49,18 +50,18 @@ elseif(APPLE) set(ANGLE_COMMON_PLATFORM_FILTER "_linux|_win") endif() file(GLOB ANGLE_COMMON_SOURCES - "src/common/*.h" - "src/common/*.inl" - "src/common/*.cpp" - "src/common/third_party/base/anglebase/*.h" - "src/common/third_party/base/anglebase/*.cc" - "src/common/third_party/base/anglebase/containers/*.h" - "src/common/third_party/base/anglebase/numerics/*.h" - "src/common/third_party/base/anglebase/numerics/*.cc" - "src/common/third_party/xxhash/*.h" - "src/common/third_party/xxhash/*.c" - "src/common/third_party/smhasher/src/*.h" - "src/common/third_party/smhasher/src/*.cpp") + "src/common/*.h" + "src/common/*.inl" + "src/common/*.cpp" + "src/common/third_party/base/anglebase/*.h" + "src/common/third_party/base/anglebase/*.cc" + "src/common/third_party/base/anglebase/containers/*.h" + "src/common/third_party/base/anglebase/numerics/*.h" + "src/common/third_party/base/anglebase/numerics/*.cc" + "src/common/third_party/xxhash/*.h" + "src/common/third_party/xxhash/*.c" + "src/common/third_party/smhasher/src/*.h" + "src/common/third_party/smhasher/src/*.cpp") list(FILTER ANGLE_COMMON_SOURCES EXCLUDE REGEX "_unittest|event_tracer|${ANGLE_COMMON_PLATFORM_FILTER}") add_library(angle_common STATIC ${ANGLE_COMMON_SOURCES}) target_include_directories(angle_common PUBLIC src/common/third_party/base) @@ -191,13 +192,43 @@ if(WIN32) add_library(angle::renderer::d3d ALIAS angle_renderer_d3d) endif() +## angle::gpu_info_util +file(GLOB ANGLE_GPU_INFO_UTIL_SOURCES + "src/gpu_info_util/SystemInfo.h" + "src/gpu_info_util/SystemInfo_internal.h" + "src/gpu_info_util/SystemInfo.cpp" +) +add_library(angle_gpu_info_util STATIC ${ANGLE_GPU_INFO_UTIL_SOURCES}) +if(WIN32) + target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_win.cpp") + target_link_libraries(angle_gpu_info_util PRIVATE setupapi.lib dxgi.lib) +elseif(APPLE) + target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_mac.mm") + find_library(IOKit IOKit) + find_library(CoreFoundation CoreFoundation) + find_library(CoreGraphics CoreGraphics) + target_link_libraries(angle_gpu_info_util PRIVATE ${IOKit} ${CoreFoundation} ${CoreGraphics}) +elseif(LINUX) + target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_linux.cpp" "src/gpu_info_util/SystemInfo_x11.cpp") + target_compile_definitions(angle_gpu_info_util PRIVATE GPU_INFO_USE_X11) + target_link_libraries(angle_gpu_info_util PRIVATE X11 Xi Xext) +elseif(ANDROID) + target_sources(angle_gpu_info_util PRIVATE "src/gpu_info_util/SystemInfo_android.cpp") +endif() +target_link_libraries(angle_gpu_info_util PRIVATE angle::common) +add_library(angle::gpu_info_util ALIAS angle_gpu_info_util) + ## Core libANGLE library if(WIN32) set(LIBANGLE_SOURCES_PLATFORM "src/third_party/systeminfo/SystemInfo.cpp" ) +elseif(APPLE) + file(GLOB LIBANGLE_SOURCES_PLATFORM + "src/libANGLE/renderer/*.mm" + ) else() - set(LIBANGLE_SOURCES_PLATFORM ) + set(LIBANGLE_SOURCES_PLATFORM) endif() file(GLOB LIBANGLE_SOURCES @@ -252,6 +283,7 @@ add_library(libANGLE STATIC ${LIBANGLE_SOURCES}) target_link_libraries(libANGLE PRIVATE angle::common angle::image_util + angle::gpu_info_util angle::translator angle::preprocessor ${LIBANGLE_RENDERER_PLATFORM} @@ -267,7 +299,35 @@ add_library(angle::libANGLE ALIAS libANGLE) ########## # libGLESv2 -file(GLOB LIBGLESV2_SOURCES "src/libGLESv2/*.h" "src/libGLESv2/*.cpp" "src/libGLESv2/libGLESv2_autogen.def") +# Modified according to the file src/libGLESv2.gni +list(APPEND LIBGLESV2_SOURCES + "src/common/angleutils.h" + "src/common/debug.h" + "src/libANGLE/entry_points_enum_autogen.h" + "src/libANGLE/entry_points_utils.h" + "src/libGLESv2/entry_points_egl.cpp" + "src/libGLESv2/entry_points_egl.h" + "src/libGLESv2/entry_points_egl_ext.cpp" + "src/libGLESv2/entry_points_egl_ext.h" + "src/libGLESv2/entry_points_gles_1_0_autogen.cpp" + "src/libGLESv2/entry_points_gles_1_0_autogen.h" + "src/libGLESv2/entry_points_gles_2_0_autogen.cpp" + "src/libGLESv2/entry_points_gles_2_0_autogen.h" + "src/libGLESv2/entry_points_gles_3_0_autogen.cpp" + "src/libGLESv2/entry_points_gles_3_0_autogen.h" + "src/libGLESv2/entry_points_gles_3_1_autogen.cpp" + "src/libGLESv2/entry_points_gles_3_1_autogen.h" + "src/libGLESv2/entry_points_gles_ext_autogen.cpp" + "src/libGLESv2/entry_points_gles_ext_autogen.h" + "src/libGLESv2/global_state.cpp" + "src/libGLESv2/global_state.h" + "src/libGLESv2/libGLESv2_autogen.cpp" + "src/libGLESv2/libGLESv2.rc" + "src/libGLESv2/proc_table_egl.h" + "src/libGLESv2/proc_table_egl_autogen.cpp" + "src/libGLESv2/resource.h" + "src/libGLESv2/libGLESv2_autogen.def" +) add_library(libGLESv2 ${LIBGLESV2_SOURCES}) target_link_libraries(libGLESv2 PRIVATE angle::common angle::libANGLE) target_compile_definitions(libGLESv2 diff --git a/ports/angle/CONTROL b/ports/angle/CONTROL index cac71fae2..e0b0a5f6d 100644 --- a/ports/angle/CONTROL +++ b/ports/angle/CONTROL @@ -1,5 +1,5 @@ Source: angle -Version: 2019-03-13-c2ee2cc-3 +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. diff --git a/ports/angle/portfile.cmake b/ports/angle/portfile.cmake index f0bda4a3d..527874d72 100644 --- a/ports/angle/portfile.cmake +++ b/ports/angle/portfile.cmake @@ -2,6 +2,10 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + message(WARNING "Building with a gcc version less than 6.1 is not supported.") +endif() + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(ANGLE_CPU_BITNESS ANGLE_IS_32_BIT_CPU) elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") @@ -15,8 +19,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/angle - REF chromium/3672 - SHA512 dd6a05f0f1f4544b8646c41ffcb4d5e3b41f5261771ada47889345a24d4e55e6370df55a26c354a7073efcde307644cec6c6064ea6fe498ed6b52c3017249f81 + REF 8f08fed925c54835c4faee4d7dd61d6ed2964ffd + SHA512 037ebe356371924088563180c4a37a31eaffa41ca21c42554391672c28e62fabc19d787516b88baa192b771e05c370c5a6cfec0863b70e08d65216f41d89923f PATCHES 001-fix-uwp.patch ) diff --git a/ports/antlr4/portfile.cmake b/ports/antlr4/portfile.cmake old mode 100755 new mode 100644 diff --git a/ports/anyrpc/CONTROL b/ports/anyrpc/CONTROL new file mode 100644 index 000000000..2e37987c3 --- /dev/null +++ b/ports/anyrpc/CONTROL @@ -0,0 +1,4 @@ +Source: anyrpc +Version: 2017-12-01-1 +Homepage: https://github.com/sgieseking/anyrpc +Description: A multiprotocol remote procedure call system for C++. diff --git a/ports/anyrpc/arm_endian_detection.patch b/ports/anyrpc/arm_endian_detection.patch new file mode 100644 index 000000000..5dfa340b0 --- /dev/null +++ b/ports/anyrpc/arm_endian_detection.patch @@ -0,0 +1,16 @@ +diff --git a/include/anyrpc/api.h b/include/anyrpc/api.h +index a67fa32..e7d74ad 100644 +--- a/include/anyrpc/api.h ++++ b/include/anyrpc/api.h +@@ -158,9 +158,9 @@ typedef int socklen_t; + # elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) + # define ANYRPC_ENDIAN ANYRPC_BIGENDIAN + // Detect with architecture macros +-# elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__) ++# elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__) || defined(__ARMEB__) || defined(__THUMBEB__) || defined(__AARCH64EB__) + # define ANYRPC_ENDIAN ANYRPC_BIGENDIAN +-# elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) ++# elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) || defined(__ARMEL__) || defined(__THUMBEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || defined(_M_ARM) + # define ANYRPC_ENDIAN ANYRPC_LITTLEENDIAN + # elif defined(ANYRPC_DOXYGEN_RUNNING) + # define ANYRPC_ENDIAN diff --git a/ports/anyrpc/portfile.cmake b/ports/anyrpc/portfile.cmake new file mode 100644 index 000000000..34102a24d --- /dev/null +++ b/ports/anyrpc/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sgieseking/anyrpc + REF bfd50aa6dd620066ed308258599127cd46be818b + SHA512 604e92a2a2936fb95e74e05dd1ac578e67e2877357443d83f8fac319ab244a27d1fac2ebd8bcd9ac8108e7a198752776974027b8f020643bb039b5f84406049b + HEAD_REF master + PATCHES "arm_endian_detection.patch" +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ANYRPC_LIB_BUILD_SHARED) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF + -DBUILD_WITH_LOG4CPLUS=OFF + -DANYRPC_LIB_BUILD_SHARED=${ANYRPC_LIB_BUILD_SHARED} +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/license DESTINATION ${CURRENT_PACKAGES_DIR}/share/anyrpc RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_copy_pdbs() diff --git a/ports/apr-util/CONTROL b/ports/apr-util/CONTROL index 8dcd5af03..206837328 100644 --- a/ports/apr-util/CONTROL +++ b/ports/apr-util/CONTROL @@ -1,5 +1,5 @@ Source: apr-util -Version: 1.6.0-3 +Version: 1.6.0-5 Homepage: https://apr.apache.org/ Description: Apache Portable Runtime (APR) project mission is to create and maintain software libraries that provide a predictable and consistent interface to underlying platform-specific implementation Build-Depends: expat, apr, openssl diff --git a/ports/apr-util/apr.patch b/ports/apr-util/apr.patch index 5a61cb9f9..581907fff 100644 --- a/ports/apr-util/apr.patch +++ b/ports/apr-util/apr.patch @@ -3,11 +3,11 @@ index 69e45541..19b86129 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ IF(NOT EXISTS "${APR_INCLUDE_DIR}/apr.h") - MESSAGE(FATAL_ERROR "APR include directory ${APR_INCLUDE_DIR} is not correct.") - ENDIF() - FOREACH(onelib ${APR_LIBRARIES}) -- IF(NOT EXISTS ${onelib}) -+ IF(${onelib} MATCHES "NOTFOUND") - MESSAGE(FATAL_ERROR "APR library ${onelib} was not found.") - ENDIF() - ENDFOREACH() + MESSAGE(FATAL_ERROR "APR include directory ${APR_INCLUDE_DIR} is not correct.") + ENDIF() + FOREACH(onelib ${APR_LIBRARIES}) +- IF(NOT EXISTS ${onelib}) ++ IF(${onelib} MATCHES "NOTFOUND") + MESSAGE(FATAL_ERROR "APR library ${onelib} was not found.") + ENDIF() + ENDFOREACH() diff --git a/ports/apr-util/portfile.cmake b/ports/apr-util/portfile.cmake index 0b1c28351..94a5ee053 100644 --- a/ports/apr-util/portfile.cmake +++ b/ports/apr-util/portfile.cmake @@ -1,37 +1,39 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/apr-util-1.6.0) + vcpkg_download_distfile(ARCHIVE URLS "https://archive.apache.org/dist/apr/apr-util-1.6.0-win32-src.zip" FILENAME "apr-util-1.6.0-win32-src.zip" SHA512 98679ea181d3132020713481703bbefa0c174e0b2a0df65dfdd176e9771935e1f9455c4242bac19dded9414abe2b9d293fcc674ab16f96d8987bcf26346fce3a ) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES use-vcpkg-expat.patch apr.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DAPU_DECLARE_EXPORT=ON - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON - ) + set(APU_DECLARE_EXPORT ON) + set(APU_DECLARE_STATIC OFF) else() - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS -DAPU_DECLARE_STATIC=ON - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON - ) + set(APU_DECLARE_EXPORT OFF) + set(APU_DECLARE_STATIC ON) endif() +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DAPU_DECLARE_EXPORT=${APU_DECLARE_EXPORT} + -DAPU_DECLARE_STATIC=${APU_DECLARE_STATIC} + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + vcpkg_install_cmake() +vcpkg_copy_pdbs() file(READ ${CURRENT_PACKAGES_DIR}/include/apu.h APU_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -41,7 +43,4 @@ else() endif() file(WRITE ${CURRENT_PACKAGES_DIR}/include/apu.h "${APU_H}") - -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/apr-util RENAME copyright) - -vcpkg_copy_pdbs() +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/apr/CONTROL b/ports/apr/CONTROL index 7a35c5b48..746583603 100644 --- a/ports/apr/CONTROL +++ b/ports/apr/CONTROL @@ -1,5 +1,5 @@ Source: apr -Version: 1.6.5-1 +Version: 1.6.5-3 Homepage: https://apr.apache.org/ Description: The Apache Portable Runtime (APR) is a C library that forms a system portability layer that covers many operating systems. diff --git a/ports/apr/portfile.cmake b/ports/apr/portfile.cmake index 1e9de7ffb..a1572077b 100644 --- a/ports/apr/portfile.cmake +++ b/ports/apr/portfile.cmake @@ -6,13 +6,16 @@ include(vcpkg_common_functions) set(VERSION 1.6.5) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/apr-${VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://www.apache.org/dist/apr/apr-${VERSION}.tar.bz2" FILENAME "apr-${VERSION}.tar.bz2" SHA512 d3511e320457b5531f565813e626e7941f6b82864852db6aa03dd298a65dbccdcdc4bd580f5314f8be45d268388edab25efe88cf8340b7d2897a4dbe9d0a41fc ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) if("private-headers" IN_LIST FEATURES) set(INSTALL_PRIVATE_H ON) @@ -22,6 +25,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DINSTALL_PDB=OFF -DMIN_WINDOWS_VER=Windows7 diff --git a/ports/arb/CONTROL b/ports/arb/CONTROL index 02baf69b8..7103a96b4 100644 --- a/ports/arb/CONTROL +++ b/ports/arb/CONTROL @@ -1,5 +1,5 @@ Source: arb -Version: 2.16.0 +Version: 2.17.0 Homepage: https://github.com/fredrik-johansson/arb Description: a C library for arbitrary-precision interval arithmetic Build-Depends: flint diff --git a/ports/arb/fix-build-error.patch b/ports/arb/fix-build-error.patch deleted file mode 100644 index 7ed2428cf..000000000 --- a/ports/arb/fix-build-error.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/acb_dirichlet/stieltjes.c b/acb_dirichlet/stieltjes.c -index ad6937b..4ca9690 100644 ---- a/acb_dirichlet/stieltjes.c -+++ b/acb_dirichlet/stieltjes.c -@@ -340,16 +340,16 @@ stieltjes_mag(double n) - return t; - } - --static double _hypot(double x, double y) { return sqrt(x * x + y * y); } -+static double __hypot(double x, double y) { return sqrt(x * x + y * y); } - - /* log2 magnitude of integrand at z = x+yi; alpha = a+bi */ - static double - integrand_mag(double n, double x, double y, double a, double b) - { - double t, u; -- t = log(_hypot(a - y, b + x)); -+ t = log(__hypot(a - y, b + x)); - u = atan2(b + x, a - y); -- t = log(_hypot(t,u)) * (n+1) - 2.0 * 3.1415926535897932 * x; -+ t = log(__hypot(t,u)) * (n+1) - 2.0 * 3.1415926535897932 * x; - return t * 1.44269504088896341; - } - diff --git a/ports/arb/portfile.cmake b/ports/arb/portfile.cmake index 3c1196283..a87ac40c1 100644 --- a/ports/arb/portfile.cmake +++ b/ports/arb/portfile.cmake @@ -1,14 +1,11 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fredrik-johansson/arb - REF 2.16.0 - SHA512 171c965aeb03cd2830df8a53990403c6da480a94d44385dadfbb2d02697f7c03e8b9a217094b0ad93f796d889a1564f4b9ae9db35ef9de90f61bb2e3220911be + REF eeef7bdd349366be4d1691da05e49dcf9c01a394 # 2.17.0 + SHA512 d4c53c0343bec32e0b6c0d3a41e92663b13f9648a08c28c56a3098dd77d71248718b414dbb70c116bd7e07648646bdb663c1b9560e41d971d5c12d2d0466e9a0 HEAD_REF master - PATCHES fix-build-error.patch ) file(REMOVE ${SOURCE_PATH}/CMakeLists.txt) @@ -26,4 +23,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/arb RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/argagg/CONTROL b/ports/argagg/CONTROL index d4265021d..d317cbe27 100644 --- a/ports/argagg/CONTROL +++ b/ports/argagg/CONTROL @@ -1,3 +1,3 @@ Source: argagg -Version: 2019-01-25 +Version: 0.4.6 Description: A simple C++11 command line argument parser diff --git a/ports/argagg/portfile.cmake b/ports/argagg/portfile.cmake index 1f7ed54de..f32855eae 100644 --- a/ports/argagg/portfile.cmake +++ b/ports/argagg/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vietjtnguyen/argagg - REF e678cebf90d8f132f5e54f19c6b95b75e655226c - SHA512 10085caaf9bfb507ae7117b61bfe6174dc2af91c347393c3cbb994fe5b824d4b439e1e0d2e2580dc34568d8046529acc211f76863be047d05d3845e9ff19ccbf + REF 0.4.6 + SHA512 7d8cf04a7c679518f01120830637c68719dd67a765457789eb4afedbead7be9efadc6bcdf640999329aaaf8659a5e5d1896f66587068cc668a7c49703aca3070 HEAD_REF master ) diff --git a/ports/argh/CONTROL b/ports/argh/CONTROL index 36c062da4..db804708f 100644 --- a/ports/argh/CONTROL +++ b/ports/argh/CONTROL @@ -1,3 +1,3 @@ Source: argh -Version: 2018-12-18 +Version: 2018-12-18-1 Description: Argh! A minimalist argument handler. diff --git a/ports/argh/portfile.cmake b/ports/argh/portfile.cmake index 5e8b8bccd..40e7fbc84 100644 --- a/ports/argh/portfile.cmake +++ b/ports/argh/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_TESTS=OFF -DBUILD_EXAMPLES=OFF diff --git a/ports/argparse/CONTROL b/ports/argparse/CONTROL index c7c33adac..58aee48ef 100644 --- a/ports/argparse/CONTROL +++ b/ports/argparse/CONTROL @@ -1,4 +1,4 @@ Source: argparse -Version: 2019-06-10 +Version: 1.9 Description: Argument parser for modern C++ Homepage: https://github.com/p-ranav/argparse diff --git a/ports/argparse/portfile.cmake b/ports/argparse/portfile.cmake index 0ad21e10a..a3d38d4b4 100644 --- a/ports/argparse/portfile.cmake +++ b/ports/argparse/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO p-ranav/argparse - REF 2c71311b5fa49b7d65e6628375f2748d58830856 - SHA512 08a28a3fb424befe7df9a428fbad8e2687a1b331d7099bfaca2c3e04d8d4b4888e99d481226407bf90bfce282388545b09e4125128215cc95dc56fb313641bf6 + REF v1.9 + SHA512 6cfc7fc274a11093fe5254f244adaacdcc81123b1d7e9b51110ffdfe9a344fb59044ec9d98017f25aa8ea417d57cfca330fdea7161226da26f1b4fc199fdc4fb HEAD_REF master ) diff --git a/ports/args/CONTROL b/ports/args/CONTROL index 8d9d88a50..3751ac06a 100644 --- a/ports/args/CONTROL +++ b/ports/args/CONTROL @@ -1,4 +1,4 @@ Source: args -Version: 2019-05-01 +Version: 2019-07-11 Homepage: https://github.com/Taywee/args Description: A simple header-only C++ argument parser library. diff --git a/ports/args/portfile.cmake b/ports/args/portfile.cmake index a05612ba8..6bab0e186 100644 --- a/ports/args/portfile.cmake +++ b/ports/args/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Taywee/args - REF 623e52cb128cfc572ad4e79de8d5f8861d13d017 - SHA512 b951caed125fd937549db6702de8615eac0f380026ea4de5937721143b0929f5aa47ecc8068b7d9689822d303b25d6350f00a8e6346a53d51a0ea40872488533 + REF 401663c1d57006566db6d8e5b37a21018fbd0bc3 + SHA512 2e0506f41ee8527e7fb67c0b926ff892fafe79db90920624c84eb603e374eb74c5640e4d0d0d88554db7a57424095b0da96238b4182ac515ae96dc202df95013 HEAD_REF master ) diff --git a/ports/argtable2/CONTROL b/ports/argtable2/CONTROL index df44602ee..69ddd4bc3 100644 --- a/ports/argtable2/CONTROL +++ b/ports/argtable2/CONTROL @@ -1,3 +1,3 @@ -Source: argtable2 -Version: 2.13-2 -Description: Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. +Source: argtable2 +Version: 2.13-4 +Description: Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. diff --git a/ports/argtable2/fix-install-dirs.patch b/ports/argtable2/fix-install-dirs.patch index cc1b92543..5a9be4d72 100644 --- a/ports/argtable2/fix-install-dirs.patch +++ b/ports/argtable2/fix-install-dirs.patch @@ -1,24 +1,24 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3427487..a9b8be0 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -1,5 +1,4 @@ --# for now, install in subdirectory of source directory by default --SET( CMAKE_INSTALL_PREFIX .. ) -+include(GNUInstallDirs) - - IF( WIN32 ) - ADD_LIBRARY( argtable2 arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c ) -@@ -7,5 +6,9 @@ ELSE( WIN32 ) - ADD_LIBRARY( argtable2 arg_date.c arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_rex.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c ) - ENDIF( WIN32 ) - --INSTALL( TARGETS argtable2 ARCHIVE DESTINATION lib) --SET_TARGET_PROPERTIES( argtable2 PROPERTIES DEBUG_POSTFIX d ) -\ No newline at end of file -+INSTALL(TARGETS argtable2 -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+) -+INSTALL(FILES argtable2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3427487..a9b8be0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,5 +1,4 @@ +-# for now, install in subdirectory of source directory by default +-SET( CMAKE_INSTALL_PREFIX .. ) ++include(GNUInstallDirs) + + IF( WIN32 ) + ADD_LIBRARY( argtable2 arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c ) +@@ -7,5 +6,9 @@ ELSE( WIN32 ) + ADD_LIBRARY( argtable2 arg_date.c arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_rex.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c ) + ENDIF( WIN32 ) + +-INSTALL( TARGETS argtable2 ARCHIVE DESTINATION lib) +-SET_TARGET_PROPERTIES( argtable2 PROPERTIES DEBUG_POSTFIX d ) +\ No newline at end of file ++INSTALL(TARGETS argtable2 ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) ++INSTALL(FILES argtable2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/ports/argtable2/portfile.cmake b/ports/argtable2/portfile.cmake index 4cbec1278..c98dfcfb5 100644 --- a/ports/argtable2/portfile.cmake +++ b/ports/argtable2/portfile.cmake @@ -1,33 +1,30 @@ -include(vcpkg_common_functions) - -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/argtable2-13) -vcpkg_download_distfile(ARCHIVE - URLS "http://prdownloads.sourceforge.net/argtable/argtable2-13.tar.gz" - FILENAME "argtable-2.13.zip" - SHA512 3d8303f3ba529e3241d918c0127a16402ece951efb964d14a06a3a7d29a252812ad3c44e96da28798871e9923e73a2cfe7ebc84139c1397817d632cae25c4585 -) - -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-install-dirs.patch" -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DCMAKE_DEBUG_POSTFIX=d -) - -vcpkg_install_cmake() -vcpkg_copy_pdbs() - -# Remove duplicate include installs -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/argtable2 RENAME copyright) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_download_distfile(ARCHIVE + URLS "http://prdownloads.sourceforge.net/argtable/argtable2-13.tar.gz" + FILENAME "argtable-2.13.zip" + SHA512 3d8303f3ba529e3241d918c0127a16402ece951efb964d14a06a3a7d29a252812ad3c44e96da28798871e9923e73a2cfe7ebc84139c1397817d632cae25c4585 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix-install-dirs.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCMAKE_DEBUG_POSTFIX=d +) + +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/argtable3/CONTROL b/ports/argtable3/CONTROL new file mode 100644 index 000000000..f894b4fc5 --- /dev/null +++ b/ports/argtable3/CONTROL @@ -0,0 +1,4 @@ +Source: argtable3 +Version: 2019-08-21 +Description: A single-file, ANSI C, command-line parsing library that parses GNU-style command-line options +Homepage: www.argtable.org diff --git a/ports/argtable3/fix-cmake.patch b/ports/argtable3/fix-cmake.patch new file mode 100644 index 000000000..320e6385e --- /dev/null +++ b/ports/argtable3/fix-cmake.patch @@ -0,0 +1,98 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 57bd7a1..e19e677 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -65,10 +65,6 @@ if(ARGTABLE3_ENABLE_CONAN AND EXISTS "${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath-link,${LINK_FLAGS}") + endif() + +-if(ARGTABLE3_ENABLE_TESTS) +- enable_testing() +-endif() +- + set(ARGTABLE3_AMALGAMATION_SRC_FILE ${PROJECT_SOURCE_DIR}/dist/argtable3.c) + set(ARGTABLE3_SRC_FILES + ${PROJECT_SOURCE_DIR}/src/arg_cmd.c +@@ -88,18 +84,11 @@ set(ARGTABLE3_SRC_FILES + ${PROJECT_SOURCE_DIR}/src/getopt_long.c + ) + +-# Platform specific settings for installation +-if(UNIX) +- include(GNUInstallDirs) +- set(ARGTABLE3_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}) +- set(ARGTABLE3_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR}) +- set(ARGTABLE3_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/argtable3) +-elseif(WIN32) +- set(ARGTABLE3_INSTALL_LIBDIR "lib") +- set(ARGTABLE3_INSTALL_INCLUDEDIR "include") +- set(ARGTABLE3_INSTALL_CMAKEDIR "cmake") +-endif(UNIX) +- + add_subdirectory(src) +-add_subdirectory(tests) ++ ++if(ARGTABLE3_ENABLE_TESTS) ++ enable_testing() ++ add_subdirectory(tests) ++endif() ++ + add_subdirectory(examples) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 429b143..f45c071 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -28,9 +28,19 @@ + # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ################################################################################ + +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c89 -Wpedantic") +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra") ++include(GNUInstallDirs) ++ ++if(UNIX) ++ set(ARGTABLE3_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/argtable3) ++elseif(WIN32) ++ set(ARGTABLE3_INSTALL_CMAKEDIR "cmake") ++endif(UNIX) ++ ++if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c89 -Wpedantic") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra") ++endif() + + add_definitions(-D_XOPEN_SOURCE=700) + +@@ -46,6 +56,7 @@ if(WIN32) + "${PROJECT_BINARY_DIR}/src/version.rc" + ) + add_library(argtable3 SHARED ${ARGTABLE3_SRC_FILES} "${PROJECT_BINARY_DIR}/src/version.rc") ++ target_compile_definitions(argtable3 INTERFACE argtable3_IMPORTS) + else() + add_library(argtable3 SHARED ${ARGTABLE3_SRC_FILES}) + endif() +@@ -57,8 +68,18 @@ target_include_directories(argtable3 PRIVATE ${PROJECT_SOURCE_DIR}/src) + set_target_properties(argtable3 argtable3_static PROPERTIES + VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} + SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}) +- +-install(TARGETS argtable3 EXPORT ${ARGTABLE3_PACKAGE_NAME}Config DESTINATION ${ARGTABLE3_INSTALL_LIBDIR}) +-install(TARGETS argtable3_static EXPORT ${ARGTABLE3_PACKAGE_NAME}Config ARCHIVE DESTINATION ${ARGTABLE3_INSTALL_LIBDIR}) +-install(FILES "${PROJECT_SOURCE_DIR}/src/argtable3.h" DESTINATION ${ARGTABLE3_INSTALL_INCLUDEDIR}) ++if(BUILD_SHARED_LIBS) ++install(TARGETS argtable3 ++ EXPORT ${ARGTABLE3_PACKAGE_NAME}Config ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++else() ++install(TARGETS argtable3_static ++ EXPORT ${ARGTABLE3_PACKAGE_NAME}Config ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++endif() ++install(FILES "${PROJECT_SOURCE_DIR}/src/argtable3.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + install(EXPORT ${ARGTABLE3_PACKAGE_NAME}Config DESTINATION ${ARGTABLE3_INSTALL_CMAKEDIR}) diff --git a/ports/argtable3/portfile.cmake b/ports/argtable3/portfile.cmake new file mode 100644 index 000000000..18d994cc5 --- /dev/null +++ b/ports/argtable3/portfile.cmake @@ -0,0 +1,53 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO argtable/argtable3 + REF bbc4ec20991e87ecf8dcf288aef777b55b78daa7 + SHA512 050f54ead2d029715d8f10e63ff555027ead61fbfa18bd955e3b99e080f9178ad5c41937c5d62477885143f27bb9e7e505a7120b95bfcd899a60719584191f1c + HEAD_REF master + PATCHES + fix-cmake.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DARGTABLE3_ENABLE_CONAN=OFF + -DARGTABLE3_ENABLE_TESTS=OFF + -DARGTABLE3_BUILD_STATIC_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +elseif(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +endif() + +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + vcpkg_replace_string( + "${CURRENT_PACKAGES_DIR}/include/argtable3.h" + "defined(argtable3_IMPORTS)" + "1 // defined(argtable3_IMPORTS)" + ) +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/argtable3/vcpkg-cmake-wrapper.cmake b/ports/argtable3/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..9000246de --- /dev/null +++ b/ports/argtable3/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) + +if(TARGET argtable3 AND NOT TARGET argtable3_static) + add_library(argtable3_static INTERFACE IMPORTED) + set_target_properties(argtable3_static PROPERTIES INTERFACE_LINK_LIBRARIES argtable3) +elseif(TARGET argtable3_static AND NOT TARGET argtable3) + add_library(argtable3 INTERFACE IMPORTED) + set_target_properties(argtable3 PROPERTIES INTERFACE_LINK_LIBRARIES argtable3_static) +endif() diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL index a162b1ced..41b52bea7 100644 --- a/ports/armadillo/CONTROL +++ b/ports/armadillo/CONTROL @@ -1,4 +1,4 @@ Source: armadillo -Version: 2019-04-16-1 +Version: 2019-04-16-6 Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use Build-Depends: openblas (!osx), clapack (!osx) diff --git a/ports/armadillo/fix-CMakePath.patch b/ports/armadillo/fix-CMakePath.patch new file mode 100644 index 000000000..58cca5c64 --- /dev/null +++ b/ports/armadillo/fix-CMakePath.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9fea721..e6a273d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -473,7 +473,7 @@ install(EXPORT ArmadilloLibraryDepends DESTINATION + # and install it + set(ARMADILLO_INCLUDE_DIRS "${CMAKE_INSTALL_FULL_INCLUDEDIR}") + set(ARMADILLO_LIB_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") +-set(ARMADILLO_CMAKE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/Armadillo/CMake") ++set(ARMADILLO_CMAKE_DIR "${CMAKE_INSTALL_FULL_DATADIR}/Armadillo") + + + message(STATUS "Generating '${PROJECT_BINARY_DIR}/InstallFiles/ArmadilloConfig.cmake'") diff --git a/ports/armadillo/portfile.cmake b/ports/armadillo/portfile.cmake index 6b9b3790a..512aa813e 100644 --- a/ports/armadillo/portfile.cmake +++ b/ports/armadillo/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_from_gitlab( HEAD_REF 9.400.x PATCHES remove_custom_modules.patch + fix-CMakePath.patch ) file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindBLAS.cmake) @@ -19,17 +20,26 @@ file(REMOVE ${SOURCE_PATH}/cmake_aux/Modules/ARMA_FindOpenBLAS.cmake) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS -DDETECT_HDF5=false ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/armadillo/CMake TARGET_PATH share/armadillo) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/Armadillo/CMake TARGET_PATH share/Armadillo) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/armadillo RENAME copyright) +file(GLOB SHARE_CONTENT ${CURRENT_PACKAGES_DIR}/share/Armadillo) +list(LENGTH SHARE_CONTENT SHARE_LEN) +if(SHARE_LEN EQUAL 0) + # On case sensitive file system there is an extra empty directory created that should be removed + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/Armadillo) +endif() + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/armadillo/usage b/ports/armadillo/usage new file mode 100644 index 000000000..58066f6a9 --- /dev/null +++ b/ports/armadillo/usage @@ -0,0 +1,4 @@ +The package armadillo provides CMake targets: + + find_package(Armadillo CONFIG REQUIRED) + target_link_libraries(main PRIVATE ${ARMADILLO_LIBRARIES}) diff --git a/ports/arrow/CONTROL b/ports/arrow/CONTROL index ada95e2d0..780568f03 100644 --- a/ports/arrow/CONTROL +++ b/ports/arrow/CONTROL @@ -1,5 +1,5 @@ Source: arrow -Version: 0.13.0-4 +Version: 0.15.1 Build-Depends: boost-system, boost-filesystem, boost-multiprecision, boost-algorithm, flatbuffers, rapidjson, zlib, lz4, brotli, zstd, snappy, gflags, thrift, double-conversion, glog, uriparser Homepage: https://github.com/apache/arrow Description: Apache Arrow is a columnar in-memory analytics layer designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple language-bindings for structure manipulation. It also provides IPC and common algorithm implementations. diff --git a/ports/arrow/all.patch b/ports/arrow/all.patch index 3257dc437..0675356ff 100644 --- a/ports/arrow/all.patch +++ b/ports/arrow/all.patch @@ -1,120 +1,21 @@ -diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt -index 52081c4..e1e13b5 100644 ---- a/cpp/CMakeLists.txt -+++ b/cpp/CMakeLists.txt -@@ -804,6 +804,9 @@ if(ARROW_USE_GLOG) - list(APPEND ARROW_LINK_LIBS GLOG::glog) - list(APPEND ARROW_STATIC_LINK_LIBS GLOG::glog) - list(APPEND ARROW_STATIC_INSTALL_INTERFACE_LIBS GLOG::glog) -+ if(ARROW_NEED_GFLAGS) -+ list(APPEND ARROW_STATIC_LINK_LIBS gflags::gflags) -+ endif() - add_definitions("-DARROW_USE_GLOG") - endif() +diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake +index 4ef2948..9c3c121 100644 +--- a/cpp/cmake_modules/BuildUtils.cmake ++++ b/cpp/cmake_modules/BuildUtils.cmake +@@ -305,7 +305,7 @@ function(ADD_ARROW_LIB LIB_NAME) + target_include_directories(${LIB_NAME}_static PRIVATE ${ARG_PRIVATE_INCLUDES}) + endif() -diff --git a/cpp/cmake_modules/FindBrotli.cmake b/cpp/cmake_modules/FindBrotli.cmake -index e1429a2..6dee036 100644 ---- a/cpp/cmake_modules/FindBrotli.cmake -+++ b/cpp/cmake_modules/FindBrotli.cmake -@@ -18,6 +18,7 @@ - # find_package(Brotli) - - pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec) -+ - if(BROTLI_PC_FOUND) - set(BROTLI_INCLUDE_DIR "${BROTLI_PC_libbrotlicommon_INCLUDEDIR}") - -@@ -25,80 +26,16 @@ if(BROTLI_PC_FOUND) - list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlicommon_LIBDIR}") - list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlienc_LIBDIR}") - list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlidec_LIBDIR}") -- -- find_library(BROTLI_COMMON_LIBRARY brotlicommon -- PATHS ${BROTLI_PC_LIBRARY_DIRS} -- NO_DEFAULT_PATH) -- find_library(BROTLI_ENC_LIBRARY brotlienc -- PATHS ${BROTLI_PC_LIBRARY_DIRS} -- NO_DEFAULT_PATH) -- find_library(BROTLI_DEC_LIBRARY brotlidec -- PATHS ${BROTLI_PC_LIBRARY_DIRS} -- NO_DEFAULT_PATH) - elseif(BROTLI_ROOT) -- find_library( -- BROTLI_COMMON_LIBRARY -- NAMES brotlicommon -- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlicommon${CMAKE_SHARED_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon-static${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon_static${CMAKE_STATIC_LIBRARY_SUFFIX} -- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library" -- PATH_SUFFIXES "lib64" "lib" "bin" -- NO_DEFAULT_PATH) -- find_library( -- BROTLI_ENC_LIBRARY -- NAMES brotlienc -- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlienc${CMAKE_SHARED_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc-static${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc_static${CMAKE_STATIC_LIBRARY_SUFFIX} -- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library" -- PATH_SUFFIXES "lib64" "lib" "bin" -- NO_DEFAULT_PATH) -- find_library( -- BROTLI_DEC_LIBRARY -- NAMES brotlidec -- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlidec${CMAKE_SHARED_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec-static${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec_static${CMAKE_STATIC_LIBRARY_SUFFIX} -- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library" -- PATH_SUFFIXES "lib64" "lib" "bin" -- NO_DEFAULT_PATH) -- find_path(BROTLI_INCLUDE_DIR -- NAMES brotli/decode.h -- PATHS ${BROTLI_ROOT} "${BROTLI_ROOT}/Library" -- NO_DEFAULT_PATH -- PATH_SUFFIXES "include") -+ find_path(BROTLI_INCLUDE_DIR NAMES brotli/decode.h PATH_SUFFIXES "include") - else() -- find_library( -- BROTLI_COMMON_LIBRARY -- NAMES brotlicommon -- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlicommon${CMAKE_SHARED_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon-static${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon_static${CMAKE_STATIC_LIBRARY_SUFFIX} -- PATH_SUFFIXES "lib64" "lib" "bin") -- find_library( -- BROTLI_ENC_LIBRARY -- NAMES brotlienc -- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlienc${CMAKE_SHARED_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc-static${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc_static${CMAKE_STATIC_LIBRARY_SUFFIX} -- PATH_SUFFIXES "lib64" "lib" "bin") -- find_library( -- BROTLI_DEC_LIBRARY -- NAMES brotlidec -- ${CMAKE_SHARED_LIBRARY_PREFIX}brotlidec${CMAKE_SHARED_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec-static${CMAKE_STATIC_LIBRARY_SUFFIX} -- ${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec_static${CMAKE_STATIC_LIBRARY_SUFFIX} -- PATH_SUFFIXES "lib64" "lib" "bin") - find_path(BROTLI_INCLUDE_DIR NAMES brotli/decode.h PATH_SUFFIXES "include") - endif() - -+find_library(BROTLI_COMMON_LIBRARY NAMES brotlicommon brotlicommon-static libbrotlicommon libbrotlicommon-static) -+find_library(BROTLI_ENC_LIBRARY NAMES libbrotlienc libbrotlienc-static brotlienc brotlienc-static) -+find_library(BROTLI_DEC_LIBRARY NAMES brotlidec libbrotlidec libbrotlidec-static brotlidec brotlidec-static) -+ - find_package_handle_standard_args(Brotli - REQUIRED_VARS - BROTLI_COMMON_LIBRARY +- if(MSVC) ++ if(MSVC AND 0) + set(LIB_NAME_STATIC ${LIB_NAME}_static) + else() + set(LIB_NAME_STATIC ${LIB_NAME}) diff --git a/cpp/cmake_modules/FindLz4.cmake b/cpp/cmake_modules/FindLz4.cmake -index 3606f5c..1d18b7c 100644 +index 8410916..a196b25 100644 --- a/cpp/cmake_modules/FindLz4.cmake +++ b/cpp/cmake_modules/FindLz4.cmake -@@ -19,24 +19,26 @@ if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX) +@@ -19,14 +19,16 @@ if(MSVC AND NOT DEFINED LZ4_MSVC_STATIC_LIB_SUFFIX) set(LZ4_MSVC_STATIC_LIB_SUFFIX "_static") endif() @@ -126,42 +27,36 @@ index 3606f5c..1d18b7c 100644 -set(LZ4_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_STATIC_LIB_SUFFIX}) +set(LZ4_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}lz4${LZ4_MSVC_STATIC_LIB_SUFFIX}${LZ4_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}) - pkg_check_modules(LZ4_PC liblz4) - if(LZ4_PC_FOUND) - set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}") + if(LZ4_ROOT) + find_library( + LZ4_LIB +- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} ++ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} + "${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATHS ${LZ4_ROOT} + PATH_SUFFIXES ${LIB_PATH_SUFFIXES} +@@ -43,14 +45,14 @@ else() + set(LZ4_INCLUDE_DIR "${LZ4_PC_INCLUDEDIR}") - list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}") -- find_library(LZ4_LIB lz4 -+ find_library(LZ4_LIB lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} - PATHS ${LZ4_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH - PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}") - elseif(LZ4_ROOT) - find_library( - LZ4_LIB -- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} -- "${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}" -+ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} -+ "${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}${LZ4_LIB_NAME_DEBUG_SUFFIX}" - PATHS ${LZ4_ROOT} "${LZ4_ROOT}/Library" - PATH_SUFFIXES "lib64" "lib" "bin" - NO_DEFAULT_PATH) -@@ -48,8 +50,8 @@ elseif(LZ4_ROOT) - else() - find_library( - LZ4_LIB -- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} -- "${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}" -+ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} -+ "${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}${LZ4_LIB_NAME_DEBUG_SUFFIX}" - PATH_SUFFIXES "lib64" "lib" "bin") - find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES "include") - endif() + list(APPEND LZ4_PC_LIBRARY_DIRS "${LZ4_PC_LIBDIR}") +- find_library(LZ4_LIB lz4 ++ find_library(LZ4_LIB lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} + PATHS ${LZ4_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH + PATH_SUFFIXES ${LIB_PATH_SUFFIXES}) + else() + find_library( + LZ4_LIB +- NAMES lz4 ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} ++ NAMES lz4${LZ4_LIB_NAME_DEBUG_SUFFIX} ${LZ4_STATIC_LIB_NAME} lib${LZ4_STATIC_LIB_NAME} + "${CMAKE_SHARED_LIBRARY_PREFIX}lz4_static${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATH_SUFFIXES ${LIB_PATH_SUFFIXES}) + find_path(LZ4_INCLUDE_DIR NAMES lz4.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES}) diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake -index a4decf7..78ec7c8 100644 +index 87cc24e..4de0760 100644 --- a/cpp/cmake_modules/FindThrift.cmake +++ b/cpp/cmake_modules/FindThrift.cmake -@@ -65,6 +65,10 @@ if(MSVC AND NOT THRIFT_MSVC_STATIC_LIB_SUFFIX) +@@ -54,6 +54,10 @@ if(MSVC AND NOT THRIFT_MSVC_STATIC_LIB_SUFFIX) set(THRIFT_MSVC_STATIC_LIB_SUFFIX md) endif() @@ -169,33 +64,33 @@ index a4decf7..78ec7c8 100644 + set(THRIFT_LIB_NAME_DEBUG_SUFFIX d) +endif() + - pkg_check_modules(THRIFT_PC thrift) + if(Thrift_ROOT) + find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX} + PATHS ${Thrift_ROOT} +@@ -71,15 +75,13 @@ else() - # THRIFT-4760: The pkgconfig files are currently only installed when using autotools. -@@ -74,15 +78,13 @@ if(THRIFT_PC_FOUND) + list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}") - list(APPEND THRIFT_PC_LIBRARY_DIRS "${THRIFT_PC_LIBDIR}") - -- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX} -- PATHS ${THRIFT_PC_LIBRARY_DIRS} -- NO_DEFAULT_PATH) -+ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX} -+ PATHS ${THRIFT_PC_LIBRARY_DIRS}) - find_program(THRIFT_COMPILER thrift - HINTS ${THRIFT_PC_PREFIX} -- NO_DEFAULT_PATH - PATH_SUFFIXES "bin") - else() -- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX} -+ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX} - HINTS ${Thrift_ROOT} - PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") - find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h +- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX} +- PATHS ${THRIFT_PC_LIBRARY_DIRS} +- NO_DEFAULT_PATH) ++ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX} ++ PATHS ${THRIFT_PC_LIBRARY_DIRS}) + find_program(THRIFT_COMPILER thrift + HINTS ${THRIFT_PC_PREFIX} +- NO_DEFAULT_PATH + PATH_SUFFIXES "bin") + else() +- find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX} ++ find_library(THRIFT_STATIC_LIB thrift${THRIFT_MSVC_STATIC_LIB_SUFFIX}${THRIFT_LIB_NAME_DEBUG_SUFFIX} + PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib") + find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h PATH_SUFFIXES "include") + find_program(THRIFT_COMPILER thrift PATH_SUFFIXES "bin") diff --git a/cpp/cmake_modules/FindZSTD.cmake b/cpp/cmake_modules/FindZSTD.cmake -index 17b58a3..fa2ab05 100644 +index 8e47086..d7ce559 100644 --- a/cpp/cmake_modules/FindZSTD.cmake +++ b/cpp/cmake_modules/FindZSTD.cmake -@@ -19,7 +19,11 @@ if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX) +@@ -19,14 +19,18 @@ if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX) set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static") endif() @@ -207,91 +102,29 @@ index 17b58a3..fa2ab05 100644 +set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") set(ZSTD_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX}) - pkg_check_modules(ZSTD_PC libzstd) -@@ -27,18 +31,15 @@ if(ZSTD_PC_FOUND) - set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}") - - list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}") -- find_library(ZSTD_LIB zstd -+ find_library(ZSTD_LIB zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} - PATHS ${ZSTD_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH - PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}") - elseif(ZSTD_ROOT) + # First, find via if specified ZTD_ROOT + if(ZSTD_ROOT) message(STATUS "Using ZSTD_ROOT: ${ZSTD_ROOT}") find_library(ZSTD_LIB - NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" -- "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}" -- PATHS ${ZSTD_ROOT} "${ZSTD_ROOT}/Library" -- PATH_SUFFIXES "lib64" "lib" "bin" -- NO_DEFAULT_PATH) + NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" -+ "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}") - find_path(ZSTD_INCLUDE_DIR - NAMES zstd.h - PATHS ${ZSTD_ROOT} "${ZSTD_ROOT}/Library" -@@ -46,9 +47,8 @@ elseif(ZSTD_ROOT) - PATH_SUFFIXES "include") - else() - find_library(ZSTD_LIB -- NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" -- "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}" -- PATH_SUFFIXES "lib64" "lib" "bin") -+ NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" -+ "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}") - find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES "include") - endif() + "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATHS ${ZSTD_ROOT} + PATH_SUFFIXES ${LIB_PATH_SUFFIXES} +@@ -44,14 +48,14 @@ else() + set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}") -diff --git a/cpp/cmake_modules/FindgflagsAlt.cmake b/cpp/cmake_modules/FindgflagsAlt.cmake -index a9b8684..fdb815a 100644 ---- a/cpp/cmake_modules/FindgflagsAlt.cmake -+++ b/cpp/cmake_modules/FindgflagsAlt.cmake -@@ -15,18 +15,13 @@ - # specific language governing permissions and limitations - # under the License. - --if(gflags_ROOT) -- find_library(gflags_LIB NAMES gflags PATHS ${gflags_ROOT} NO_DEFAULT_PATH) -- find_path(GFLAGS_INCLUDE_DIR -- NAMES gflags/gflags.h -- PATHS ${gflags_ROOT} -- NO_DEFAULT_PATH -- PATH_SUFFIXES "include") --else() -- find_library(gflags_LIB NAMES gflags) -- find_path(GFLAGS_INCLUDE_DIR NAMES gflags/gflags.h PATH_SUFFIXES "include") -+if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -+ set(GFLAGS_LIB_NAME_DEBUG_SUFFIX _debug) - endif() - -+find_library(gflags_LIB NAMES gflags${GFLAGS_LIB_NAME_DEBUG_SUFFIX} gflags_static${GFLAGS_LIB_NAME_DEBUG_SUFFIX}) -+find_path(GFLAGS_INCLUDE_DIR NAMES gflags/gflags.h PATH_SUFFIXES "include") -+ - find_package_handle_standard_args(gflagsAlt REQUIRED_VARS gflags_LIB GFLAGS_INCLUDE_DIR) - - if(gflagsAlt_FOUND) -diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake -index bdb122b..58c123e 100644 ---- a/cpp/cmake_modules/ThirdpartyToolchain.cmake -+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake -@@ -923,10 +923,7 @@ if(ARROW_NEED_GFLAGS) - elseif(gflags_SOURCE STREQUAL "SYSTEM") - # gflagsConfig.cmake is not installed on Ubuntu/Debian - # TODO: Make a bug report upstream -- find_package(gflags) -- if(NOT gflags_FOUND) -- find_package(gflagsAlt REQUIRED) -- endif() -+ find_package(gflagsAlt REQUIRED) - endif() - # TODO: Don't use global includes but rather target_include_directories - include_directories(SYSTEM ${GFLAGS_INCLUDE_DIR}) -@@ -1558,7 +1555,7 @@ if(ARROW_WITH_FLATBUFFERS) - elseif(Flatbuffers_SOURCE STREQUAL "BUNDLED") - build_flatbuffers() - elseif(Flatbuffers_SOURCE STREQUAL "SYSTEM") -- find_package(Flatbuffers QUIET) -+ #find_package(Flatbuffers QUIET) - disabled because on vcpkg this looks in the wrong place for the fb compiler and causes an error - if(NOT Flatbuffers_FOUND) - find_package(FlatbuffersAlt REQUIRED) - endif() + list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}") +- find_library(ZSTD_LIB zstd ++ find_library(ZSTD_LIB zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} + PATHS ${ZSTD_PC_LIBRARY_DIRS} + NO_DEFAULT_PATH + PATH_SUFFIXES ${LIB_PATH_SUFFIXES}) + # Third, check all other CMake paths + else() + find_library(ZSTD_LIB +- NAMES zstd "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" ++ NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" + "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${CMAKE_SHARED_LIBRARY_SUFFIX}" + PATH_SUFFIXES ${LIB_PATH_SUFFIXES}) + find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES ${INCLUDE_PATH_SUFFIXES}) diff --git a/ports/arrow/findzstd.patch b/ports/arrow/findzstd.patch deleted file mode 100644 index ac77202f9..000000000 --- a/ports/arrow/findzstd.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/cpp/cmake_modules/FindZSTD.cmake b/cpp/cmake_modules/FindZSTD.cmake -index 21b4981ec..818e4b5e1 100644 ---- a/cpp/cmake_modules/FindZSTD.cmake -+++ b/cpp/cmake_modules/FindZSTD.cmake -@@ -19,44 +19,60 @@ if(MSVC AND NOT DEFINED ZSTD_MSVC_STATIC_LIB_SUFFIX) - set(ZSTD_MSVC_STATIC_LIB_SUFFIX "_static") - endif() - --if(CMAKE_BUILD_TYPE STREQUAL "DEBUG") -- set(ZSTD_LIB_NAME_DEBUG_SUFFIX d) --endif() -- -+set(ZSTD_LIB_NAME_DEBUG_SUFFIX d) --set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") -+set(ZSTD_STATIC_LIB_SUFFIX "${ZSTD_MSVC_STATIC_LIB_SUFFIX}") - set(ZSTD_STATIC_LIB_NAME ${CMAKE_STATIC_LIBRARY_PREFIX}zstd${ZSTD_STATIC_LIB_SUFFIX}) - -+set(ZSTD_LIB_NAMES_RELEASE zstd "${ZSTD_STATIC_LIB_NAME}" -+ "${CMAKE_SHARED_LIBRARY_PREFIX}zstd") -+set(ZSTD_LIB_NAMES_DEBUG) -+foreach(_zstd_name ${ZSTD_LIB_NAMES_RELEASE}) -+ list(APPEND ZSTD_LIB_NAMES_DEBUG ${_zstd_name}${ZSTD_LIB_NAME_DEBUG_SUFFIX}) -+ if(DEFINED CMAKE_DEBUG_POSTFIX) -+ list(APPEND ZSTD_LIB_NAMES_DEBUG ${_zstd_name}${CMAKE_DEBUG_POSTFIX}) -+ endif() -+endforeach() -+ - pkg_check_modules(ZSTD_PC libzstd) - if(ZSTD_PC_FOUND) - set(ZSTD_INCLUDE_DIR "${ZSTD_PC_INCLUDEDIR}") - - list(APPEND ZSTD_PC_LIBRARY_DIRS "${ZSTD_PC_LIBDIR}") -- find_library(ZSTD_LIB zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} -+ find_library(ZSTD_LIBRARY_RELEASE ${ZSTD_LIB_NAMES_RELEASE} - PATHS ${ZSTD_PC_LIBRARY_DIRS} - NO_DEFAULT_PATH - PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}") -+ find_library(ZSTD_LIBRARY_DEBUG ${ZSTD_LIB_NAMES_DEBUG} -+ PATHS ${ZSTD_PC_LIBRARY_DIRS} -+ NO_DEFAULT_PATH -+ PATH_SUFFIXES "${CMAKE_LIBRARY_ARCHITECTURE}") -+ - elseif(ZSTD_ROOT) - message(STATUS "Using ZSTD_ROOT: ${ZSTD_ROOT}") -- find_library(ZSTD_LIB -- NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" -- "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}") -+ find_library(ZSTD_LIBRARY_RELEASE -+ NAMES ${ZSTD_LIB_NAMES_RELEASE}) -+ find_library(ZSTD_LIBRARY_DEBUG -+ NAMES ${ZSTD_LIB_NAMES_DEBUG}) - find_path(ZSTD_INCLUDE_DIR - NAMES zstd.h - PATHS ${ZSTD_ROOT} "${ZSTD_ROOT}/Library" - NO_DEFAULT_PATH - PATH_SUFFIXES "include") - else() -- find_library(ZSTD_LIB -- NAMES zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX} "${ZSTD_STATIC_LIB_NAME}" "lib${ZSTD_STATIC_LIB_NAME}" -- "${CMAKE_SHARED_LIBRARY_PREFIX}zstd${ZSTD_LIB_NAME_DEBUG_SUFFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}") -+ find_library(ZSTD_LIBRARY_RELEASE -+ NAMES ${ZSTD_LIB_NAMES_RELEASE}) -+ find_library(ZSTD_LIBRARY_DEBUG -+ NAMES ${ZSTD_LIB_NAMES_DEBUG}) - find_path(ZSTD_INCLUDE_DIR NAMES zstd.h PATH_SUFFIXES "include") - endif() -- -+select_library_configurations(ZSTD) -+set(ZSTD_LIB ${ZSTD_LIBRARY}) - find_package_handle_standard_args(ZSTD REQUIRED_VARS ZSTD_LIB ZSTD_INCLUDE_DIR) - - if(ZSTD_FOUND) - add_library(ZSTD::zstd UNKNOWN IMPORTED) - set_target_properties(ZSTD::zstd -- PROPERTIES IMPORTED_LOCATION "${ZSTD_LIB}" -+ PROPERTIES IMPORTED_LOCATION_RELEASE "${ZSTD_LIBRARY_RELEASE}" -+ IMPORTED_LOCATION_DEBUG "${ZSTD_LIBRARY_DEBUG}" - INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIR}") - endif() diff --git a/ports/arrow/fix-msvc-1900.patch b/ports/arrow/fix-msvc-1900.patch new file mode 100644 index 000000000..7c29070b7 --- /dev/null +++ b/ports/arrow/fix-msvc-1900.patch @@ -0,0 +1,31 @@ +diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake +index 496904b..887f9c4 100644 +--- a/cpp/cmake_modules/SetupCxxFlags.cmake ++++ b/cpp/cmake_modules/SetupCxxFlags.cmake +@@ -124,7 +124,9 @@ macro(arrow_add_werror_if_debug) + if("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") + # Treat all compiler warnings as errors + if("${COMPILER_FAMILY}" STREQUAL "msvc") +- set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /WX") ++ if (MSVC_VERSION VERSION_LESS 1900) ++ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} /WX") ++ endif() + else() + set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Werror") + endif() +diff --git a/cpp/src/parquet/schema.h b/cpp/src/parquet/schema.h +index 740edbc..1526c73 100644 +--- a/cpp/src/parquet/schema.h ++++ b/cpp/src/parquet/schema.h +@@ -457,7 +457,11 @@ class PARQUET_EXPORT SchemaDescriptor { + // -- -- b | + // -- -- -- c | + // -- -- -- -- d ++#if _MSC_VER >= 1900 ++ std::unordered_map leaf_to_base_; ++#else + std::unordered_map leaf_to_base_; ++#endif + + // Mapping between ColumnPath DotString to the leaf index + std::unordered_multimap leaf_to_idx_; diff --git a/ports/arrow/msvc-libname.patch b/ports/arrow/msvc-libname.patch deleted file mode 100644 index a997822d0..000000000 --- a/ports/arrow/msvc-libname.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake -index 0f014ba..fd2e7b3 100644 ---- a/cpp/cmake_modules/BuildUtils.cmake -+++ b/cpp/cmake_modules/BuildUtils.cmake -@@ -289,7 +289,7 @@ function(ADD_ARROW_LIB LIB_NAME) - target_include_directories(${LIB_NAME}_static PRIVATE ${ARG_PRIVATE_INCLUDES}) - endif() - -- if(MSVC) -+ if(MSVC AND 0) - set(LIB_NAME_STATIC ${LIB_NAME}_static) - else() - set(LIB_NAME_STATIC ${LIB_NAME}) diff --git a/ports/arrow/portfile.cmake b/ports/arrow/portfile.cmake index ed49d406e..3bf029752 100644 --- a/ports/arrow/portfile.cmake +++ b/ports/arrow/portfile.cmake @@ -7,13 +7,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/arrow - REF apache-arrow-0.13.0 - SHA512 bbb14d11abf267a6902c7c9e0215ba7c5284f07482be2de42707145265d2809c89c2d4d8f8b918fdb8c33a5ecbd650875b987a1a694cdf653e766822be67a47d + REF apache-arrow-0.15.1 + SHA512 f371c687ad8f944c3552f2111ee3c721b89fd0cea01c4ab64c22322fe1ad96f6feff851b6f5505d8522ff4a28e59f6cafa6ce1ee0bc291d83338e4297150dc9e HEAD_REF master PATCHES all.patch - msvc-libname.patch - findzstd.patch + fix-msvc-1900.patch ) string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED) @@ -42,7 +41,7 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib) message(FATAL_ERROR "Installed lib file should be named 'arrow.lib' via patching the upstream build.") endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/arrow TARGET_PATH share/arrow) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/arrow) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) @@ -50,3 +49,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/arrow RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) \ No newline at end of file diff --git a/ports/asio/CMakeLists.txt b/ports/asio/CMakeLists.txt index aa7354e76..4241b1ffc 100644 --- a/ports/asio/CMakeLists.txt +++ b/ports/asio/CMakeLists.txt @@ -3,11 +3,6 @@ project(asio) add_library(asio INTERFACE) -# Always use "ASIO_STANDALONE" to avoid boost dependency -file(READ "asio/include/asio/detail/config.hpp" _contents) -string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}") -file(WRITE "asio/include/asio/detail/config.hpp" "${_contents}") - # Export target install(TARGETS asio EXPORT asio diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL index 49a2be94c..c0da68a9b 100644 --- a/ports/asio/CONTROL +++ b/ports/asio/CONTROL @@ -1,4 +1,4 @@ Source: asio -Version: 1.12.2-1 +Version: 1.12.2-2 Homepage: https://github.com/chriskohlhoff/asio Description: Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. diff --git a/ports/asio/portfile.cmake b/ports/asio/portfile.cmake index f9b3b739d..6c6d438a1 100644 --- a/ports/asio/portfile.cmake +++ b/ports/asio/portfile.cmake @@ -9,6 +9,11 @@ vcpkg_from_github( HEAD_REF master ) +# Always use "ASIO_STANDALONE" to avoid boost dependency +file(READ "${SOURCE_PATH}/asio/include/asio/detail/config.hpp" _contents) +string(REPLACE "defined(ASIO_STANDALONE)" "!defined(VCPKG_DISABLE_ASIO_STANDALONE)" _contents "${_contents}") +file(WRITE "${SOURCE_PATH}/asio/include/asio/detail/config.hpp" "${_contents}") + # CMake install file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( diff --git a/ports/asmjit/CONTROL b/ports/asmjit/CONTROL index 5387b8a1c..68cb15787 100644 --- a/ports/asmjit/CONTROL +++ b/ports/asmjit/CONTROL @@ -1,4 +1,4 @@ Source: asmjit -Version: 2019-03-29 +Version: 2019-07-11 Homepage: https://github.com/asmjit/asmjit Description: Complete x86/x64 JIT and Remote Assembler for C++ diff --git a/ports/asmjit/portfile.cmake b/ports/asmjit/portfile.cmake index fa7a5ed77..d68bb619a 100644 --- a/ports/asmjit/portfile.cmake +++ b/ports/asmjit/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO asmjit/asmjit - REF fc251c914e77cd079e58982cdab00a47539d7fc5 - SHA512 3db4ed97ded545994ab2e75df5bb027832c3b7adf44bdabfb89a98af4cc51f5e48d4a353b9e99f205702258dfcec70257d6d6c08db78cec941019b3f8a48232a + REF 761130b1d8f32b5d3d612d285664fcfef5258149 + SHA512 a86fd58ba0c8bc81ec575e86a9acdf4a11f2acc9c2facd2a0a8512cffa9ee6fc0bd877a1f33fb52f8f510eff1de654b45cd4f5f5a18c5252ecae22a92db6e93e HEAD_REF master ) diff --git a/ports/assimp/CONTROL b/ports/assimp/CONTROL index ddc2627f0..ba4a89980 100644 --- a/ports/assimp/CONTROL +++ b/ports/assimp/CONTROL @@ -1,5 +1,5 @@ Source: assimp -Version: 4.1.0-5 +Version: 5.0.0-1 Homepage: https://github.com/assimp/assimp Description: The Open Asset import library Build-Depends: zlib, rapidjson diff --git a/ports/assimp/cmake-policy.patch b/ports/assimp/cmake-policy.patch new file mode 100644 index 000000000..e8d681ed8 --- /dev/null +++ b/ports/assimp/cmake-policy.patch @@ -0,0 +1,13 @@ +diff --git a/assimpTargets.cmake.in b/assimpTargets.cmake.in +index ab1a8d2c..4b0729be 100644 +--- a/assimpTargets.cmake.in ++++ b/assimpTargets.cmake.in +@@ -5,6 +5,8 @@ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + endif() + cmake_policy(PUSH) + cmake_policy(VERSION 2.6) ++# Required for the evaluation of "if(@BUILD_SHARED_LIBS@)" below to function ++cmake_policy(SET CMP0012 NEW) + #---------------------------------------------------------------- + # Generated CMake target import file. + #---------------------------------------------------------------- diff --git a/ports/assimp/dont-overwrite-prefix-path.patch b/ports/assimp/dont-overwrite-prefix-path.patch deleted file mode 100644 index fc58a99c5..000000000 --- a/ports/assimp/dont-overwrite-prefix-path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d781d1f..0d64d50 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -92,7 +92,6 @@ if (WIN32) - endif() - - IF(MSVC) -- set (CMAKE_PREFIX_PATH "D:\\libs\\devil") - OPTION( ASSIMP_INSTALL_PDB - "Install MSVC debug files." - ON diff --git a/ports/assimp/fix-static-build-error.patch b/ports/assimp/fix-static-build-error.patch new file mode 100644 index 000000000..39531aed1 --- /dev/null +++ b/ports/assimp/fix-static-build-error.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dcafb64..6c3d03e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -253,7 +253,7 @@ ELSEIF(MSVC) + IF(MSVC12) + ADD_COMPILE_OPTIONS(/wd4351) + ENDIF() +- SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Ob2 /DEBUG:FULL /Zi") ++# SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Ob2 /DEBUG:FULL /Zi") + ELSEIF ( "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" ) + IF(NOT HUNTER_ENABLED) + SET(CMAKE_CXX_FLAGS "-fPIC -std=c++11 ${CMAKE_CXX_FLAGS}") diff --git a/ports/assimp/portfile.cmake b/ports/assimp/portfile.cmake index 559dd249c..07c0534e8 100644 --- a/ports/assimp/portfile.cmake +++ b/ports/assimp/portfile.cmake @@ -3,13 +3,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO assimp/assimp - REF v4.1.0 - SHA512 5f1292de873ae16c9921d1d44f2871474d74c0ddfd76cc928a7d9b3e03aa6eca4cc72af0513da20a86d09c55d48646e610fd4a4f2b05364f08ad09cf27cbc67a + REF v5.0.0 + SHA512 0f73b6e961cd8455d6b6c8c10ed8b99485d846c96377b5d4fcc3b83f737647207c1306aa3dd51dad9654fbfa61bfe1119b34646f90288ae7ecab45efa6fa418a HEAD_REF master PATCHES - dont-overwrite-prefix-path.patch uninitialized-variable.patch - remove-useless-path.patch + fix-static-build-error.patch + cmake-policy.patch ) file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake) @@ -18,13 +18,19 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/contrib/zlib ${SOURCE_PATH}/contrib/gtest ${S set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS") set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DASSIMP_BUILD_TESTS=OFF -DASSIMP_BUILD_ASSIMP_VIEW=OFF -DASSIMP_BUILD_ZLIB=OFF - -DASSIMP_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DASSIMP_BUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS} -DASSIMP_BUILD_ASSIMP_TOOLS=OFF -DASSIMP_INSTALL_PDB=OFF #-DSYSTEM_IRRXML=ON # Wait for the built-in irrxml to synchronize with port irrlich, add dependencies and enable this macro @@ -46,7 +52,7 @@ file(READ ${CURRENT_PACKAGES_DIR}/share/assimp/assimp-config.cmake ASSIMP_CONFIG string(REPLACE "get_filename_component(ASSIMP_ROOT_DIR \"\${_PREFIX}\" PATH)" "set(ASSIMP_ROOT_DIR \${_PREFIX})" ASSIMP_CONFIG ${ASSIMP_CONFIG}) -if(WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) string(REPLACE "set( ASSIMP_LIBRARIES \${ASSIMP_LIBRARIES})" "set( ASSIMP_LIBRARIES optimized \${ASSIMP_LIBRARY_DIRS}/\${ASSIMP_LIBRARIES}.lib debug \${ASSIMP_LIBRARY_DIRS}/../debug/lib/\${ASSIMP_LIBRARIES}d.lib)" ASSIMP_CONFIG ${ASSIMP_CONFIG}) diff --git a/ports/assimp/remove-useless-path.patch b/ports/assimp/remove-useless-path.patch deleted file mode 100644 index d16494f98..000000000 --- a/ports/assimp/remove-useless-path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4a20cee..4fcb8dd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -108,7 +108,6 @@ if (WIN32) - endif() - - IF(MSVC) -- SET (CMAKE_PREFIX_PATH "D:\\libs\\devil") - OPTION( ASSIMP_INSTALL_PDB - "Install MSVC debug files." - ON diff --git a/ports/assimp/uninitialized-variable.patch b/ports/assimp/uninitialized-variable.patch index f7b51c143..74b2ead4d 100644 --- a/ports/assimp/uninitialized-variable.patch +++ b/ports/assimp/uninitialized-variable.patch @@ -1,13 +1,13 @@ -diff --git a/contrib/zip/src/miniz.h b/contrib/zip/src/miniz.h -index 916fb1f..a7bc178 100644 ---- a/contrib/zip/src/miniz.h -+++ b/contrib/zip/src/miniz.h -@@ -4420,7 +4420,7 @@ mz_bool mz_zip_writer_add_mem_ex(mz_zip_archive *pZip, const char *pArchive_name - #ifndef MINIZ_NO_STDIO - mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name, const char *pSrc_filename, const void *pComment, mz_uint16 comment_size, mz_uint level_and_flags) - { -- mz_uint uncomp_crc32 = MZ_CRC32_INIT, level, num_alignment_padding_bytes; -+ mz_uint uncomp_crc32 = MZ_CRC32_INIT, level = 0, num_alignment_padding_bytes; - mz_uint16 method = 0, dos_time = 0, dos_date = 0, ext_attributes = 0; - mz_uint64 local_dir_header_ofs, cur_archive_file_ofs, uncomp_size = 0, comp_size = 0; - size_t archive_name_size; +diff --git a/contrib/zip/src/miniz.h b/contrib/zip/src/miniz.h +index 2c27a94..8390dfd 100644 +--- a/contrib/zip/src/miniz.h ++++ b/contrib/zip/src/miniz.h +@@ -5944,7 +5944,7 @@ mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name, + const char *pSrc_filename, const void *pComment, + mz_uint16 comment_size, mz_uint level_and_flags, + mz_uint32 ext_attributes) { +- mz_uint uncomp_crc32 = MZ_CRC32_INIT, level, num_alignment_padding_bytes; ++ mz_uint uncomp_crc32 = MZ_CRC32_INIT, level=0, num_alignment_padding_bytes; + mz_uint16 method = 0, dos_time = 0, dos_date = 0; + time_t file_modified_time; + mz_uint64 local_dir_header_ofs, cur_archive_file_ofs, uncomp_size = 0, diff --git a/ports/asynch/CONTROL b/ports/asynch/CONTROL new file mode 100644 index 000000000..2187be407 --- /dev/null +++ b/ports/asynch/CONTROL @@ -0,0 +1,4 @@ +Source: asynch +Version: 2019-09-21-1 +Homepage: https://github.com/naasking/async.h +Description: Async.h - asynchronous, stackless subroutines. \ No newline at end of file diff --git a/ports/asynch/portfile.cmake b/ports/asynch/portfile.cmake new file mode 100644 index 000000000..7625b9528 --- /dev/null +++ b/ports/asynch/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO naasking/async.h + REF 080cbb257ab60ad06008c574d7feb94f8478efdd #Commits on Sep 21, 2019 + SHA512 4fe0229ffd8b3c6438294a419ccb213b4d28a0a04d834406b67120e9bc90d339ec91f3b3eb52d4e27c1f12add41e9347bffbea47868b0d7a1da40f784d113c71 + HEAD_REF master +) + +# Copy the single reusable library header +file(COPY ${SOURCE_PATH}/async/async.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) + +# 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/atk/CMakeLists.txt b/ports/atk/CMakeLists.txt index 41937fff9..e26d8649e 100644 --- a/ports/atk/CMakeLists.txt +++ b/ports/atk/CMakeLists.txt @@ -28,7 +28,11 @@ execute_process( OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/atk/atkmarshal.c ) -configure_file(config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY) +if (WIN32) + configure_file(config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY) +else() + configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY) +endif() add_definitions(-DHAVE_CONFIG_H) include_directories(. ./atk ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/atk) @@ -38,8 +42,14 @@ find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION}) find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION}) set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY}) -find_path(LIBINTL_INCLUDE_DIR libintl.h) -find_library(LIBINTL_LIBRARY NAMES libintl intl) +if (WIN32 OR APPLE) + find_path(LIBINTL_INCLUDE_DIR libintl.h) + find_library(LIBINTL_LIBRARY NAMES libintl intl) +else() + find_package(Intl REQUIRED) + set(LIBINTL_INCLUDE_DIR ${Intl_INCLUDE_DIRS}) + set(LIBINTL_LIBRARY ${Intl_LIBRARIES}) +endif() set(ATK_SOURCES atk/atkaction.c diff --git a/ports/atk/CONTROL b/ports/atk/CONTROL index 66890b039..0fa67bfc5 100644 --- a/ports/atk/CONTROL +++ b/ports/atk/CONTROL @@ -1,5 +1,5 @@ -Source: atk -Version: 2.24.0-3 -Homepage: https://developer.gnome.org/atk/ -Description: GNOME Accessibility Toolkit -Build-Depends: glib, gettext +Source: atk +Version: 2.24.0-5 +Homepage: https://developer.gnome.org/atk/ +Description: GNOME Accessibility Toolkit +Build-Depends: glib, gettext diff --git a/ports/atk/fix-encoding.patch b/ports/atk/fix-encoding.patch deleted file mode 100644 index 8bfb38bd0..000000000 --- a/ports/atk/fix-encoding.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/atkversion.h b/atkversion.h -index 2634b0a..c57db2c 100644 ---- a/atkversion.h -+++ b/atkversion.h -@@ -3,7 +3,7 @@ - * Copyright (C) 2012 Igalia, S.L. - * Copyright (C) 2014 Chun-wei Fan - * -- * Author: Alejandro Pieiro Iglesias -+ * Author: Alejandro Piñeiro Iglesias - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public diff --git a/ports/atk/fix-linux-config.patch b/ports/atk/fix-linux-config.patch new file mode 100644 index 000000000..ec6a37a8b --- /dev/null +++ b/ports/atk/fix-linux-config.patch @@ -0,0 +1,22 @@ +diff --git a/config.h.in b/config.h.in +index b94d23f..a26dac8 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -5,7 +5,7 @@ + #undef ENABLE_NLS + + /* Define the gettext package to be used */ +-#undef GETTEXT_PACKAGE ++#cmakedefine GETTEXT_PACKAGE "@GETTEXT_PACKAGE@" + + /* Define to 1 if you have the `bind_textdomain_codeset' function. */ + #undef HAVE_BIND_TEXTDOMAIN_CODESET +@@ -86,7 +86,7 @@ + #undef STDC_HEADERS + + /* Version number of package */ +-#undef VERSION ++#cmakedefine VERSION @VERSION@ + + /* defines how to decorate public symbols while building */ + #undef _ATK_EXTERN diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index c3edfdf74..34f639141 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -3,16 +3,19 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) set(ATK_VERSION 2.24.0) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/atk-${ATK_VERSION}) + vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/atk/2.24/atk-${ATK_VERSION}.tar.xz" FILENAME "atk-${ATK_VERSION}.tar.xz" - SHA512 3ae0a4d5f28d5619d465135c685161f690732053bcb70a47669c951fbf389b5d2ccc5c7c73d4ee8c5a3b2df14e2f5b082e812a215f10a79b27b412d077f5e962) + SHA512 3ae0a4d5f28d5619d465135c685161f690732053bcb70a47669c951fbf389b5d2ccc5c7c73d4ee8c5a3b2df14e2f5b082e812a215f10a79b27b412d077f5e962 +) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH}/atk +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-encoding.patch) + fix-linux-config.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -21,11 +24,12 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DCMAKE_PROGRAM_PATH=${CURRENT_INSTALLED_DIR}/tools/glib + -DGETTEXT_PACKAGE=atk10 + -DVERSION=10 OPTIONS_DEBUG -DATK_SKIP_HEADERS=ON) vcpkg_install_cmake() vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/atk) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/atk/COPYING ${CURRENT_PACKAGES_DIR}/share/atk/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/atkmm/CONTROL b/ports/atkmm/CONTROL index 3900e1698..caf3abb43 100644 --- a/ports/atkmm/CONTROL +++ b/ports/atkmm/CONTROL @@ -1,5 +1,5 @@ Source: atkmm -Version: 2.24.2-1 +Version: 2.24.2-2 Homepage: https://www.gtkmm.org Description: atkmm is the official C++ interface for the ATK accessibility toolkit library. It may be used, for instance, by user interfaces implemented with gtkmm. Build-Depends: glib, gettext, atk, glibmm diff --git a/ports/atkmm/README b/ports/atkmm/README deleted file mode 100644 index e3ac5c916..000000000 --- a/ports/atkmm/README +++ /dev/null @@ -1,2 +0,0 @@ -atkmm is the C++ binding for the ATK library. -This module is part of the GNOME C++ bindings effort . diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index 4bc4fd299..f8e9df294 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -2,17 +2,18 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/atkmm-2.24.2) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/atkmm/2.24/atkmm-2.24.2.tar.xz" FILENAME "atkmm-2.24.2.tar.xz" SHA512 427714cdf3b10e3f9bc36df09c4b05608d295f5895fb1e079b9bd84afdf7bf1cfdec6794ced7f1e35bd430b76f87792df4ee63c515071a2ea6e3e51e672cdbe2 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix_properties.patch ${CMAKE_CURRENT_LIST_DIR}/fix_charset.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix_properties.patch + fix_charset.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013) @@ -62,6 +63,4 @@ file( vcpkg_copy_pdbs() -# Handle copyright and readme -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/atkmm RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/atkmm RENAME readme.txt) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/aubio/CONTROL b/ports/aubio/CONTROL index 906fefe45..2c5a18e48 100644 --- a/ports/aubio/CONTROL +++ b/ports/aubio/CONTROL @@ -1,5 +1,5 @@ Source: aubio -Version: 0.4.9 +Version: 0.4.9-1 Homepage: https://github.com/aubio/aubio Description: Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio. Build-Depends: ffmpeg, libsndfile, libogg, libflac, libvorbis, bzip2, liblzma diff --git a/ports/aubio/portfile.cmake b/ports/aubio/portfile.cmake index 177e890d5..11840cc56 100644 --- a/ports/aubio/portfile.cmake +++ b/ports/aubio/portfile.cmake @@ -2,7 +2,6 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/aubio-3c230fae309e9ea3298783368dd71bae6172359a) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aubio/aubio diff --git a/ports/avro-c/CONTROL b/ports/avro-c/CONTROL index 4374814d5..6dfdb7101 100644 --- a/ports/avro-c/CONTROL +++ b/ports/avro-c/CONTROL @@ -1,5 +1,5 @@ Source: avro-c -Version: 1.8.2-2 +Version: 1.8.2-3 Homepage: https://github.com/apache/avro Description: Apache Avro is a data serialization system Build-Depends: jansson, liblzma, zlib diff --git a/ports/avro-c/portfile.cmake b/ports/avro-c/portfile.cmake index ee0b6f7ca..23be8540e 100644 --- a/ports/avro-c/portfile.cmake +++ b/ports/avro-c/portfile.cmake @@ -1,11 +1,6 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Avro-c's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/aws-c-common/CONTROL b/ports/aws-c-common/CONTROL index d80e99091..908c7e16a 100644 --- a/ports/aws-c-common/CONTROL +++ b/ports/aws-c-common/CONTROL @@ -1,3 +1,3 @@ Source: aws-c-common -Version: 0.3.11 -Description: AWS common library for C \ No newline at end of file +Version: 0.4.1 +Description: AWS common library for C diff --git a/ports/aws-c-common/disable-error-4068.patch b/ports/aws-c-common/disable-error-4068.patch new file mode 100644 index 000000000..60720cd67 --- /dev/null +++ b/ports/aws-c-common/disable-error-4068.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 263d34e..8c699b7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -122,6 +122,10 @@ if (UNIX AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} MATCHES FreeBSD) + target_compile_definitions(${CMAKE_PROJECT_NAME} PRIVATE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500) + endif() + ++if (WIN32) ++ add_compile_options(/wd4068) ++endif() ++ + aws_add_sanitizers(${CMAKE_PROJECT_NAME} BLACKLIST "sanitizer-blacklist.txt") + target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC ${PLATFORM_LIBS}) + diff --git a/ports/aws-c-common/disable-internal-crt-option.patch b/ports/aws-c-common/disable-internal-crt-option.patch index d82a00aaa..fccb607cf 100644 --- a/ports/aws-c-common/disable-internal-crt-option.patch +++ b/ports/aws-c-common/disable-internal-crt-option.patch @@ -1,11 +1,12 @@ diff --git a/cmake/AwsCFlags.cmake b/cmake/AwsCFlags.cmake -index 5ceb11c..9d0aa12 100644 +index 0f597d7..1359b8b 100644 --- a/cmake/AwsCFlags.cmake +++ b/cmake/AwsCFlags.cmake -@@ -38,15 +38,6 @@ function(aws_set_common_properties target) - # Disable unknown pragma warnings - list(APPEND AWS_C_FLAGS /wd4068) - +@@ -35,15 +35,6 @@ function(aws_set_common_properties target) + # /volatile:iso relaxes some implicit memory barriers that MSVC normally applies for volatile accesses + # Since we want to be compatible with user builds using /volatile:iso, use it for the tests. + list(APPEND AWS_C_FLAGS /volatile:iso) +- - string(TOUPPER "${CMAKE_BUILD_TYPE}" _CMAKE_BUILD_TYPE) - if(STATIC_CRT) - string(REPLACE "/MD" "/MT" _FLAGS "${CMAKE_C_FLAGS_${_CMAKE_BUILD_TYPE}}") @@ -14,7 +15,6 @@ index 5ceb11c..9d0aa12 100644 - endif() - string(REPLACE " " ";" _FLAGS "${_FLAGS}") - list(APPEND AWS_C_FLAGS "${_FLAGS}") -- + else() list(APPEND AWS_C_FLAGS -Wall -Werror -Wstrict-prototypes) - diff --git a/ports/aws-c-common/fix-dependencey-build-error.patch b/ports/aws-c-common/fix-dependencey-build-error.patch deleted file mode 100644 index cfbf2611c..000000000 --- a/ports/aws-c-common/fix-dependencey-build-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/aws/common/byte_buf.h b/include/aws/common/byte_buf.h -index 545b06d..c579c82 100644 ---- a/include/aws/common/byte_buf.h -+++ b/include/aws/common/byte_buf.h -@@ -21,6 +21,8 @@ - - #include - -+#pragma warning(disable: 4068) -+ - /** - * Represents a length-delimited binary string or buffer. If byte buffer points - * to constant memory or memory that should otherwise not be freed by this diff --git a/ports/aws-c-common/portfile.cmake b/ports/aws-c-common/portfile.cmake index 609d7269d..eed8e1d56 100644 --- a/ports/aws-c-common/portfile.cmake +++ b/ports/aws-c-common/portfile.cmake @@ -3,11 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-c-common - REF v0.3.11 - SHA512 da845f748aecfff61209f542f4eac8d46738af52ce980d5c8315397f859429dfd9e4bf989ddf2fbe938d1efb33dce9c531c92cbe53388b1d1082d5caa97e8750 + REF b2e7ca47449571beaca4a507c65ac3ee39d8eefc + SHA512 c9dc394bf3ef8eb33d36b81bae5a2002a8fccc7d876ad9c631da818aae7d06846615791c2311e8baa6efa7fcd9d565effabfec6f01767ca0099c6fa64d58e2fa HEAD_REF master PATCHES - fix-dependencey-build-error.patch # This patch fixes dependency port compilation failure + disable-error-4068.patch # This patch fixes dependency port compilation failure disable-internal-crt-option.patch # Disable internal crt option because vcpkg contains crt processing flow ) @@ -19,7 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/aws-c-common/cmake) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share/cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include @@ -34,4 +34,4 @@ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aw file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share -) \ No newline at end of file +) diff --git a/ports/aws-c-event-stream/portfile.cmake b/ports/aws-c-event-stream/portfile.cmake index c5ee56933..8d1b0ec70 100644 --- a/ports/aws-c-event-stream/portfile.cmake +++ b/ports/aws-c-event-stream/portfile.cmake @@ -12,7 +12,7 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/cmake" + "-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" ) vcpkg_install_cmake() @@ -32,4 +32,4 @@ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/aw file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share -) \ No newline at end of file +) diff --git a/ports/aws-checksums/CONTROL b/ports/aws-checksums/CONTROL index 67b14f8f5..19eb511f3 100644 --- a/ports/aws-checksums/CONTROL +++ b/ports/aws-checksums/CONTROL @@ -1,3 +1,3 @@ Source: aws-checksums -Version: 0.1.2 +Version: 0.1.3 Description: Cross-Platform HW accelerated CRC32c and CRC32 with fallback to efficient SW implementations. diff --git a/ports/aws-checksums/portfile.cmake b/ports/aws-checksums/portfile.cmake index 6a409c09e..4ac746d7f 100644 --- a/ports/aws-checksums/portfile.cmake +++ b/ports/aws-checksums/portfile.cmake @@ -3,14 +3,21 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO awslabs/aws-checksums - REF v0.1.2 - SHA512 d924918fce5179e2f42c0aeb86cb3bfda22f92bf3950e179f248a8d3e72c05a4f1015982970fd4075bb687a0a6e03120eee2134c0f017ec8ef69ae066881aa0d + REF v0.1.3 + SHA512 79bf71a6c4c268b27efe8a6a3c4b90281da4ce7f6e4c1c62fce80b11a4756ecfd4dc2b19624ace3f54137113d0cb56a517de0b91dd6338ee8ca069756bca13f4 HEAD_REF master ) +if (VCPKG_CRT_LINKAGE STREQUAL static) + set(STATIC_CRT_LNK ON) +else() + set(STATIC_CRT_LNK OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS -DSTATIC_CRT=${STATIC_CRT_LNK} ) vcpkg_install_cmake() diff --git a/ports/aws-lambda-cpp/CONTROL b/ports/aws-lambda-cpp/CONTROL index 048f28fac..53d7a917f 100644 --- a/ports/aws-lambda-cpp/CONTROL +++ b/ports/aws-lambda-cpp/CONTROL @@ -1,4 +1,4 @@ Source: aws-lambda-cpp -Version: 0.1.0-1 +Version: 0.1.0-2 Build-Depends: curl Description: C++ Runtime for AWS Lambda. diff --git a/ports/aws-lambda-cpp/portfile.cmake b/ports/aws-lambda-cpp/portfile.cmake index 4a4cddafd..7ba33e8f1 100644 --- a/ports/aws-lambda-cpp/portfile.cmake +++ b/ports/aws-lambda-cpp/portfile.cmake @@ -1,8 +1,9 @@ include(vcpkg_common_functions) -if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - message(FATAL_ERROR "aws-lambda-cpp currently only supports Linux and Mac platforms") -endif() +vcpkg_fail_port_install(MESSAGE "aws-lambda-cpp currently only supports Linux and Mac platforms" ON_TARGET "Windows") +#if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") +# message(FATAL_ERROR "aws-lambda-cpp currently only supports Linux and Mac platforms") +#endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index 81078404f..987812ea5 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,5 +1,5 @@ Source: aws-sdk-cpp -Version: 1.7.116 +Version: 1.7.142-1 Homepage: https://github.com/aws/aws-sdk-cpp Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows), aws-c-event-stream diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index c6b527816..c39e3391e 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -1,17 +1,12 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Aws-sdk-cpp's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF 1.7.116 - SHA512 2d10aebf1c10bb7e7a0efa1fd930b8743d9bce1d7d36f72c55fd13612be4fd30cf0a67ebe4f8d7c05146306084b10d8657ff26ac3bafaaa9efaa4c67707acb49 + REF d3ee022fea02e8e7e02f3cdd77904dc4c39ab79a + SHA512 6f146830f15864bb3770ad50a6ebcbc478235e9c2c59aa044353bbfc297bf26437e07b77b970974cc294782809aaa837a3407cbc846426b04e97447cd7f9e3cf HEAD_REF master ) diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL index 08223a62c..7ace5d3ac 100644 --- a/ports/azure-c-shared-utility/CONTROL +++ b/ports/azure-c-shared-utility/CONTROL @@ -1,5 +1,5 @@ Source: azure-c-shared-utility -Version: 2019-05-16.1 +Version: 2019-10-07.2 Description: Azure C SDKs common code Build-Depends: curl (linux), openssl (linux), azure-macro-utils-c, umock-c diff --git a/ports/azure-c-shared-utility/no-double-expand-cmake.patch b/ports/azure-c-shared-utility/no-double-expand-cmake.patch deleted file mode 100644 index 3775ad6b5..000000000 --- a/ports/azure-c-shared-utility/no-double-expand-cmake.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 190ea87..a434cee 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -264,7 +264,7 @@ if(${use_applessl}) - include_directories(./pal/ios-osx/) - endif() - --if (WIN32 AND (${CMAKE_SYSTEM_VERSION} VERSION_EQUAL "10.0.17763.0" OR ${CMAKE_SYSTEM_VERSION} VERSION_GREATER "10.0.17763.0")) -+if (WIN32 AND (CMAKE_SYSTEM_VERSION VERSION_EQUAL "10.0.17763.0" OR CMAKE_SYSTEM_VERSION VERSION_GREATER "10.0.17763.0")) - # Windows added support for UNIX domain sockets to the OS and SDK - # in the Oct 2018 update (10.0.17763.0, aka RS5) - add_definitions(-DAF_UNIX_ON_WINDOWS) diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake index c43bf4451..11669b71c 100644 --- a/ports/azure-c-shared-utility/portfile.cmake +++ b/ports/azure-c-shared-utility/portfile.cmake @@ -6,19 +6,17 @@ if("public-preview" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-c-shared-utility - REF f0642196af85aeb4f2717d9cc11176290f321fb8 - SHA512 fd8ee6e2be11c13f7388e57eb9c98397b6cb026ca370131db55b6118908701cdff2a1eaabb89bfe84591d6ee17163d06b7b86ad615216203bcbf0c8595d45452 + REF 42574842914591aadc77701aac72f18cc72319ad + SHA512 dfe6ccede4bebdb3a39fbfea1dc55ddca57cced0d2656ee4bed1a5e5c9c434e1f2d892eb4e29bbb424cb9a02f2374a95fb9a020442bea580d39c242efad1b789 HEAD_REF master - PATCHES no-double-expand-cmake.patch ) else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-c-shared-utility - REF f0642196af85aeb4f2717d9cc11176290f321fb8 - SHA512 fd8ee6e2be11c13f7388e57eb9c98397b6cb026ca370131db55b6118908701cdff2a1eaabb89bfe84591d6ee17163d06b7b86ad615216203bcbf0c8595d45452 + REF 42574842914591aadc77701aac72f18cc72319ad + SHA512 dfe6ccede4bebdb3a39fbfea1dc55ddca57cced0d2656ee4bed1a5e5c9c434e1f2d892eb4e29bbb424cb9a02f2374a95fb9a020442bea580d39c242efad1b789 HEAD_REF master - PATCHES no-double-expand-cmake.patch ) endif() @@ -43,4 +41,3 @@ file(COPY ${SOURCE_PATH}/configs/azure_iot_build_rules.cmake DESTINATION ${CURRE configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/azure-c-shared-utility/copyright COPYONLY) vcpkg_copy_pdbs() - diff --git a/ports/azure-iot-sdk-c/CONTROL b/ports/azure-iot-sdk-c/CONTROL index 676184078..f545665b0 100644 --- a/ports/azure-iot-sdk-c/CONTROL +++ b/ports/azure-iot-sdk-c/CONTROL @@ -1,8 +1,11 @@ Source: azure-iot-sdk-c -Version: 2019-05-16.1 +Version: 2019-11-21.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 + +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/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake index 3f3ca4f0c..83f637114 100644 --- a/ports/azure-iot-sdk-c/portfile.cmake +++ b/ports/azure-iot-sdk-c/portfile.cmake @@ -6,8 +6,8 @@ if("public-preview" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-iot-sdk-c - REF f3f9538960d9b29033e52522dd63e985ba970504 - SHA512 f8ce98d62425da4bec1c9e99b7b662a615d90a9407e03f7ce31a56fb8848f6bda1a39156bbabf351383e490dc3438d842136220dcf08efb1560e21d9ac76a0ba + REF cb2e8d390df56ffa31d08ca0a79ab58ff96160cc + SHA512 6798b17d6768b3ccbd0eb66719b50f364cd951736eb71110e2dc9deca054a1566ff88b9e8c5e9b52536e4308cad6cd3cbebff3282c123083e3afaee5535e724b HEAD_REF public-preview PATCHES improve-external-deps.patch ) @@ -15,13 +15,21 @@ else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-iot-sdk-c - REF 11d5150aeb26635862cf50484af9c7e8badd52a0 - SHA512 d2cf40bca9db2c66d78f889763af3a1d06abc0e9fce19542599daec56b092e03f01f892ff420a7b107a96e0eb533579ee7eccf249b56cf6600896c77ca619fc3 + REF f8d260df190f90c04114ca8ff7d83dd03d4dd80d + SHA512 111331293cfbdbdac4a6460d293ec8650bee31940829852c27afc88cc6e742e96f71c996aa275dc5ed1f13e9fe19452d7b2685dde47bb7d6c135ebee58c50d21 HEAD_REF master PATCHES improve-external-deps.patch ) endif() +if("use_prov_client" IN_LIST FEATURES) + message(STATUS "use prov_client") + set(USE_PROV_CLIENT 1) +else() + message(STATUS "NO prov_client") + set(USE_PROV_CLIENT 0) +endif() + file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/) file(COPY ${SOURCE_PATH}/configs/azure_iot_sdksFunctions.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/cmake/azure_iot_sdks/) @@ -34,6 +42,8 @@ vcpkg_configure_cmake( -Duse_default_uuid=ON -Dbuild_as_dynamic=OFF -Duse_edge_modules=ON + -Duse_prov_client=${USE_PROV_CLIENT} + -Dhsm_type_symm_key=${USE_PROV_CLIENT} ) vcpkg_install_cmake() diff --git a/ports/azure-macro-utils-c/CONTROL b/ports/azure-macro-utils-c/CONTROL index 40aaa75fe..152bab24b 100644 --- a/ports/azure-macro-utils-c/CONTROL +++ b/ports/azure-macro-utils-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-macro-utils-c -Version: 2019-05-16.1 +Version: 2019-10-07.2 Description: A library of macros for the Azure IoT SDK Suite Build-Depends: diff --git a/ports/azure-macro-utils-c/portfile.cmake b/ports/azure-macro-utils-c/portfile.cmake index d516e59e9..306a9e463 100644 --- a/ports/azure-macro-utils-c/portfile.cmake +++ b/ports/azure-macro-utils-c/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-macro-utils-c - REF 38729b4b7ac3ea8b7d71e394782b861ecb25193e - SHA512 c9c820e74aee403d45f257359318d3435e5d6534afe821da5679bc462e26ad256dd01ed253a80ba1c58343f850ef1026280533a152c4b0465527f6537b3092d3 + REF 7523af934fc4d9423111e358f49b19314ec9c3e3 + SHA512 b53765096654fff9c5670004e4e107bffa81dd07e63eeac687c9e2b7e5ea2e1f26b6ae025c05c45f5c28152a457922f08c7f8d3303fa4d3b9194c34ba59533d5 HEAD_REF master ) diff --git a/ports/azure-storage-cpp/CONTROL b/ports/azure-storage-cpp/CONTROL index 9eabe9faf..d1b76a4f9 100644 --- a/ports/azure-storage-cpp/CONTROL +++ b/ports/azure-storage-cpp/CONTROL @@ -1,6 +1,6 @@ Source: azure-storage-cpp -Version: 6.1.0 +Version: 7.0.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. -Homepage: https://blogs.msdn.com/b/windowsazurestorage/ \ No newline at end of file +Homepage: https://blogs.msdn.com/b/windowsazurestorage/ diff --git a/ports/azure-storage-cpp/builtin-uuid-osx.patch b/ports/azure-storage-cpp/builtin-uuid-osx.patch deleted file mode 100644 index 1e2b918cc..000000000 --- a/ports/azure-storage-cpp/builtin-uuid-osx.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindUUID.cmake b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindUUID.cmake -index 9171f8c..b2c7b93 100644 ---- a/Microsoft.WindowsAzure.Storage/cmake/Modules/FindUUID.cmake -+++ b/Microsoft.WindowsAzure.Storage/cmake/Modules/FindUUID.cmake -@@ -13,6 +13,11 @@ - # For details see the accompanying COPYING-CMAKE-SCRIPTS file. - # - -+if (APPLE) -+ set(CMAKE_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/) -+ set(CMAKE_OSX_FRAMEWORK_HEADERS ${CMAKE_OSX_SYSROOT}/System/Library/Frameworks/Kernel.framework/Headers) -+ set(UUID_LIBRARY "") -+endif() - - if (UUID_LIBRARIES AND UUID_INCLUDE_DIRS) - # in cache already -@@ -39,6 +44,7 @@ else (UUID_LIBRARIES AND UUID_INCLUDE_DIRS) - /opt/include - [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include - /usr/freeware/include -+ ${CMAKE_OSX_FRAMEWORK_HEADERS} - ) - - find_library(UUID_LIBRARY -@@ -88,13 +94,13 @@ else (UUID_LIBRARIES AND UUID_INCLUDE_DIRS) - set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR}) - set(UUID_LIBRARIES ${UUID_LIBRARY}) - -- if (UUID_INCLUDE_DIRS AND UUID_LIBRARIES) -+ if (UUID_INCLUDE_DIRS AND (UUID_LIBRARIES OR APPLE)) - set(UUID_FOUND TRUE) - endif (UUID_INCLUDE_DIRS AND UUID_LIBRARIES) - - if (UUID_FOUND) - if (NOT UUID_FIND_QUIETLY) -- message(STATUS "Found UUID : ${UUID_LIBRARIES}") -+ message(STATUS "Found UUID : ${UUID_INCLUDE_DIRS} ${UUID_LIBRARIES}") - endif (NOT UUID_FIND_QUIETLY) - else (UUID_FOUND) - if (UUID_FIND_REQUIRED) diff --git a/ports/azure-storage-cpp/portfile.cmake b/ports/azure-storage-cpp/portfile.cmake index 0a9662af3..9f7ac2162 100644 --- a/ports/azure-storage-cpp/portfile.cmake +++ b/ports/azure-storage-cpp/portfile.cmake @@ -7,16 +7,16 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-storage-cpp - REF v6.1.0 - SHA512 bc6a1da6287301b5bb5c31694d508c46447b71043d5b94a90ffe79b6dc045bc111ed0bcf3a7840e096ddc3ef6badbeef7fb905242e272a9f82f483d849a43e61 + REF v7.0.0 + SHA512 2187bd4d640ff1630f4f20d2717ea0219f7835e524b1db5b89563b5b525a34200a33693030d9e004db9cfe1df905b6c76ffd709f9e6cb2e2861ba1c1f8d062db HEAD_REF master PATCHES - # on osx use the uuid.h that is part of the osx sdk - builtin-uuid-osx.patch + remove-gcov-dependency.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/Microsoft.WindowsAzure.Storage + PREFER_NINJA OPTIONS -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_TESTS=OFF diff --git a/ports/azure-storage-cpp/remove-gcov-dependency.patch b/ports/azure-storage-cpp/remove-gcov-dependency.patch new file mode 100644 index 000000000..7083fe3fa --- /dev/null +++ b/ports/azure-storage-cpp/remove-gcov-dependency.patch @@ -0,0 +1,14 @@ +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 db9200f4c..d22373ff7 100644 --- a/ports/azure-uamqp-c/CONTROL +++ b/ports/azure-uamqp-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-uamqp-c -Version: 2019-05-16.1 +Version: 2019-10-07.2 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: AMQP library for C diff --git a/ports/azure-uamqp-c/portfile.cmake b/ports/azure-uamqp-c/portfile.cmake index 517eca19a..e40436a46 100644 --- a/ports/azure-uamqp-c/portfile.cmake +++ b/ports/azure-uamqp-c/portfile.cmake @@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uamqp-c - REF 5ceebf6ec8d1973cfa80804077c7cef23d3b36af - SHA512 6dc7ffc386339db54ff387760119ae5ffd564642cd18d0dc177e6302167cc3b40bdd0f4d9e50478db8d2760166b15058b53b9eb2d1c160f234693a59ac762a75 + REF 065ffdeeb47313ddbbc2a8e84ad52ab033e2e8d2 + SHA512 bade6fae2d5479b7690632dbcc58bda5dd871eb0aa63d6a56cb35e81630121b5148309cd3414e6339c1218ec59fc12ac318b4964d295b579f7a0cacf5593b7ba HEAD_REF master ) else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uamqp-c - REF 5ceebf6ec8d1973cfa80804077c7cef23d3b36af - SHA512 6dc7ffc386339db54ff387760119ae5ffd564642cd18d0dc177e6302167cc3b40bdd0f4d9e50478db8d2760166b15058b53b9eb2d1c160f234693a59ac762a75 + REF 065ffdeeb47313ddbbc2a8e84ad52ab033e2e8d2 + SHA512 bade6fae2d5479b7690632dbcc58bda5dd871eb0aa63d6a56cb35e81630121b5148309cd3414e6339c1218ec59fc12ac318b4964d295b579f7a0cacf5593b7ba HEAD_REF master ) endif() diff --git a/ports/azure-uhttp-c/CONTROL b/ports/azure-uhttp-c/CONTROL index f282a27f2..d9bb7460a 100644 --- a/ports/azure-uhttp-c/CONTROL +++ b/ports/azure-uhttp-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-uhttp-c -Version: 2019-05-16.1 +Version: 2019-10-07.2 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: Azure HTTP Library written in C diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake index af5afc875..3ca220822 100644 --- a/ports/azure-uhttp-c/portfile.cmake +++ b/ports/azure-uhttp-c/portfile.cmake @@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uhttp-c - REF b8976adff02e543fc00e7db59eae9ce78dd014fe - SHA512 65ddccc07831309c4f3f8546bb1a45a6eff84674013311a15c99389d4fc33eaf2ef3da6c7c8e4bb03d32955d12c978190e7badb597379a9fefda4ebcf18827ec + REF d84a20609a2b5a555920389451fb3c9a2ed3656c + SHA512 4eadd7e120082cc3bcf696d6cd16bc7ee8e1082380dd7583fba7fad1bb95109f3456890495e25ae7675e656ef721fa12eff22eeb96d8a4cf359be5c96889cbd6 HEAD_REF master ) else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uhttp-c - REF b8976adff02e543fc00e7db59eae9ce78dd014fe - SHA512 65ddccc07831309c4f3f8546bb1a45a6eff84674013311a15c99389d4fc33eaf2ef3da6c7c8e4bb03d32955d12c978190e7badb597379a9fefda4ebcf18827ec + REF d84a20609a2b5a555920389451fb3c9a2ed3656c + SHA512 4eadd7e120082cc3bcf696d6cd16bc7ee8e1082380dd7583fba7fad1bb95109f3456890495e25ae7675e656ef721fa12eff22eeb96d8a4cf359be5c96889cbd6 HEAD_REF master ) endif() diff --git a/ports/azure-umqtt-c/CONTROL b/ports/azure-umqtt-c/CONTROL index 2138a45b1..f9c1f6512 100644 --- a/ports/azure-umqtt-c/CONTROL +++ b/ports/azure-umqtt-c/CONTROL @@ -1,5 +1,5 @@ Source: azure-umqtt-c -Version: 2019-05-16.1 +Version: 2019-10-07.2 Build-Depends: azure-c-shared-utility, azure-macro-utils-c, umock-c Description: General purpose library for communication over the mqtt protocol diff --git a/ports/azure-umqtt-c/portfile.cmake b/ports/azure-umqtt-c/portfile.cmake index d64dd01d4..d55ec7d2f 100644 --- a/ports/azure-umqtt-c/portfile.cmake +++ b/ports/azure-umqtt-c/portfile.cmake @@ -6,16 +6,16 @@ if("public-preview" IN_LIST FEATURES) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-umqtt-c - REF c37883fbb05218fd940b87899a116af240f90c40 - SHA512 21bbe6dfafcc96d35775ab83a75334fbfd41a55a82a7da483d5ff179aa3792424851f250007c9603ef17c789d8b23b1a8b81580fc2cf793fd00b487c321fdba3 + REF 7557db6de094b67818d3c410dc95a3cf07cd86a6 + SHA512 f2577379f711e2576fdd6dfecbc4d8a0b26c7670a77bc468238e8dd5fa43f208db85eddd06dd570fde4219ba19304338c712f671c059c6cc10abb4892d58ae40 HEAD_REF master ) else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-umqtt-c - REF c37883fbb05218fd940b87899a116af240f90c40 - SHA512 21bbe6dfafcc96d35775ab83a75334fbfd41a55a82a7da483d5ff179aa3792424851f250007c9603ef17c789d8b23b1a8b81580fc2cf793fd00b487c321fdba3 + REF 7557db6de094b67818d3c410dc95a3cf07cd86a6 + SHA512 f2577379f711e2576fdd6dfecbc4d8a0b26c7670a77bc468238e8dd5fa43f208db85eddd06dd570fde4219ba19304338c712f671c059c6cc10abb4892d58ae40 HEAD_REF master ) endif() diff --git a/ports/basisu/CONTROL b/ports/basisu/CONTROL new file mode 100644 index 000000000..e8b19db22 --- /dev/null +++ b/ports/basisu/CONTROL @@ -0,0 +1,6 @@ +Source: basisu +Version: 1.11-2 +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 new file mode 100644 index 000000000..892026cbd --- /dev/null +++ b/ports/basisu/portfile.cmake @@ -0,0 +1,42 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jherico/basis_universal + REF b0ec54562c215b2f9ed6d54dcaaca9d762d4aff3 + SHA512 27ceb6076c79991639c16bd56a1f81f03fad6d6b4b0184f3f3b594bb163509525e03a7d5f1ba068d186f9cbba677e52972e0b364f4369eadf507fca6e6c60820 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +#vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/basisu) +if (WIN32) + set(TOOL_NAME basisu_tool.exe) +else() + set(TOOL_NAME basisu_tool) +endif() + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/basisu) +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) + +# Remove unnecessary files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/${TOOL_NAME}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/${TOOL_NAME}) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +vcpkg_copy_pdbs() diff --git a/ports/beast/CONTROL b/ports/beast/CONTROL index 0c889b941..d2f2fd896 100644 --- a/ports/beast/CONTROL +++ b/ports/beast/CONTROL @@ -1,4 +1,5 @@ Source: beast Version: 0 +Homepage: https://www.boost.org/doc/libs/release/libs/beast/ Build-Depends: boost-beast Description: HTTP/1 and WebSocket, header-only using Boost.Asio and C++11 diff --git a/ports/bento4/CONTROL b/ports/bento4/CONTROL new file mode 100644 index 000000000..eff84ed98 --- /dev/null +++ b/ports/bento4/CONTROL @@ -0,0 +1,5 @@ +Source: bento4 +Version: 1.5.1-628 +Homepage: https://github.com/axiomatic-systems/Bento4 +Description: Bento4 is a C++ class library and tools designed to read and write ISO-MP4 files. This format is defined in international specifications ISO/IEC 14496-12, 14496-14 and 14496-15. + diff --git a/ports/bento4/LICENSE b/ports/bento4/LICENSE new file mode 100644 index 000000000..c1d00b26c --- /dev/null +++ b/ports/bento4/LICENSE @@ -0,0 +1,6 @@ +Bento4 is developed by Axiomatic Systems LLC in San Francisco, California. + +This software is available under two different licenses +For applications that are entirely distributable under the terms of the GPL(https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html), the Bento4 GPL license applies. +For applications that cannot be entirely distributable under the terms of the GPL (either the application, or code modules linked with the application are not compatible with the terms of the GPL licence), a non-GPL commercial license is available from Axiomatic Systems LLC. +Contact Gilles Boccon-Gibod (licensing@axiosys.com or bok@bok.net) for more information. \ No newline at end of file diff --git a/ports/bento4/fix-install-and-c4996-error.patch b/ports/bento4/fix-install-and-c4996-error.patch new file mode 100644 index 000000000..c99fdc411 --- /dev/null +++ b/ports/bento4/fix-install-and-c4996-error.patch @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2f08b2f..fccf2a8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,6 +35,8 @@ endif() + + add_library(ap4 STATIC ${AP4_SOURCES}) + ++add_definitions(-D_CRT_SECURE_NO_WARNINGS) ++ + # Includes + include_directories( + ${SOURCE_CORE} +@@ -43,6 +45,14 @@ include_directories( + ${SOURCE_METADATA} + ) + ++# AP4 includes ++file(GLOB AP4_INCLUDES ++ ${SOURCE_CODECS}/*.h ++ ${SOURCE_CORE}/*.h ++ ${SOURCE_CRYPTO}/*.h ++ ${SOURCE_METADATA}/*.h ++) ++ + # Apps + file(GLOB BENTO4_APPS RELATIVE ${SOURCE_ROOT}/Apps ${SOURCE_ROOT}/Apps/*) + foreach(app ${BENTO4_APPS}) +@@ -50,3 +60,13 @@ foreach(app ${BENTO4_APPS}) + add_executable(${binary_name} ${SOURCE_ROOT}/Apps/${app}/${app}.cpp) + target_link_libraries(${binary_name} ap4) + endforeach() ++ ++# Install targets ++install(TARGETS ap4 ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++ ++# Install headers ++install(FILES ${AP4_INCLUDES} DESTINATION include) +\ No newline at end of file diff --git a/ports/bento4/portfile.cmake b/ports/bento4/portfile.cmake new file mode 100644 index 000000000..b485fbb19 --- /dev/null +++ b/ports/bento4/portfile.cmake @@ -0,0 +1,25 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO axiomatic-systems/Bento4 + REF v1.5.1-628 + SHA512 2bf44f55307178cc9128e323904acbfaa2f88e06beff26cf27fc0a7707875942de89778a0ee1a8315ef2c3b19754edad77d32fdb74f3d651f03c2623e7a9122d + HEAD_REF master + PATCHES fix-install-and-c4996-error.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_copy_pdbs() + +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/berkeleydb/CONTROL b/ports/berkeleydb/CONTROL index c1416e07b..7d93c230c 100644 --- a/ports/berkeleydb/CONTROL +++ b/ports/berkeleydb/CONTROL @@ -1,4 +1,4 @@ Source: berkeleydb -Version: 4.8.30-2 +Version: 4.8.30-3 Homepage: https://download.oracle.com/ Description: BDB - A high-performance embedded database for key/value data. diff --git a/ports/berkeleydb/portfile.cmake b/ports/berkeleydb/portfile.cmake index 38f383d7b..f685279dd 100644 --- a/ports/berkeleydb/portfile.cmake +++ b/ports/berkeleydb/portfile.cmake @@ -4,14 +4,16 @@ endif() include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/db-4.8.30.NC) - vcpkg_download_distfile(ARCHIVE URLS "http://download.oracle.com/berkeley-db/db-4.8.30.NC.zip" FILENAME "db-4.8.30.NC.zip" SHA512 59c1d2d5a3551f988ab1dc063900572b67ad087537e0d71760de34601f9ebd4d5c070a49b809bec4a599a62417e9a162683ce0f6442deb1a0dadb80764bf6eab ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/bfgroup-lyra/CONTROL b/ports/bfgroup-lyra/CONTROL new file mode 100644 index 000000000..c96f5ea08 --- /dev/null +++ b/ports/bfgroup-lyra/CONTROL @@ -0,0 +1,4 @@ +Source: bfgroup-lyra +Version: 1.1 +Homepage: https://bfgroup.github.io/Lyra/ +Description: A simple to use, composable, command line parser for C++ 11 and beyond diff --git a/ports/bfgroup-lyra/portfile.cmake b/ports/bfgroup-lyra/portfile.cmake new file mode 100644 index 000000000..deeddbb35 --- /dev/null +++ b/ports/bfgroup-lyra/portfile.cmake @@ -0,0 +1,11 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bfgroup/Lyra + REF 1.1 + SHA512 afb1f97a3c72697a8739019e132758db270a9271b4be8f7e593f43155761550606d63795c657c586fb885bb61d78ad0fe1517537b8338c5e05ba74be5a8dc208 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/include/lyra DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/bigint/CONTROL b/ports/bigint/CONTROL index d862b4b51..b47401c79 100644 --- a/ports/bigint/CONTROL +++ b/ports/bigint/CONTROL @@ -1,4 +1,4 @@ Source: bigint -Version: 2010.04.30-3 +Version: 2010.04.30-4 Homepage: https://mattmccutchen.net/bigint Description: C++ Big Integer Library diff --git a/ports/bigint/portfile.cmake b/ports/bigint/portfile.cmake index 61ce15816..2a0a22adb 100644 --- a/ports/bigint/portfile.cmake +++ b/ports/bigint/portfile.cmake @@ -2,13 +2,16 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bigint-2010.04.30) vcpkg_download_distfile(ARCHIVE URLS "https://mattmccutchen.net/bigint/bigint-2010.04.30.tar.bz2" FILENAME "bigint-2010.04.30.tar.bz2" SHA512 bb64380e51991f97a2489c04801ab4372f795b5e23870ad12d71087f1a2afba9b32f74dcdbdcb5228ebf0dd74a37185285bac7653dd3c62d6118d63c298689af ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/bitsery/CONTROL b/ports/bitsery/CONTROL index 3da15a785..f2f18255a 100644 --- a/ports/bitsery/CONTROL +++ b/ports/bitsery/CONTROL @@ -1,3 +1,3 @@ Source: bitsery -Version: 4.6.0 +Version: 5.0.1-1 Description: Header only C++ binary serialization library diff --git a/ports/bitsery/fix-install-paths.patch b/ports/bitsery/fix-install-paths.patch old mode 100755 new mode 100644 diff --git a/ports/bitsery/portfile.cmake b/ports/bitsery/portfile.cmake index bf3604a64..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 v4.6.0 - SHA512 519aec8730f4b6f8d26aff17d984101990ade02888664eb2c40bc1085e4dcffbbe83b08216149da234c8195d1940ec06744f16312f60e362f7005b205aa829a6 + 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/blaze/CONTROL b/ports/blaze/CONTROL index 8e91f8df6..43a218bd4 100644 --- a/ports/blaze/CONTROL +++ b/ports/blaze/CONTROL @@ -1,5 +1,5 @@ Source: blaze -Version: 3.5 +Version: 3.6-1 Build-Depends: clapack (!osx), boost-exception Homepage: https://bitbucket.org/blaze-lib/blaze Description: Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic. diff --git a/ports/blaze/avoid-src-dir-generation.patch b/ports/blaze/avoid-src-dir-generation.patch deleted file mode 100644 index c57d6a429..000000000 --- a/ports/blaze/avoid-src-dir-generation.patch +++ /dev/null @@ -1,113 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7ecc993..793ec34 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,8 +63,8 @@ endif() - #================================================================================================== - - find_package(LAPACK REQUIRED) --target_link_libraries(blaze INTERFACE ${LAPACK_LIBRARIES}) --target_compile_options(blaze INTERFACE ${LAPACK_LINKER_FLAGS}) -+target_link_libraries(blaze INTERFACE $) -+target_compile_options(blaze INTERFACE $) - - - #================================================================================================== -@@ -72,7 +72,7 @@ target_compile_options(blaze INTERFACE ${LAPACK_LINKER_FLAGS}) - #================================================================================================== - - find_package(Boost 1.54.0 REQUIRED) --target_include_directories(blaze INTERFACE ${Boost_INCLUDE_DIRS}) -+target_include_directories(blaze INTERFACE $) - - - #================================================================================================== -@@ -163,7 +163,7 @@ endif () - set(BLAZE_CACHE_SIZE ${BLAZE_CACHE_SIZE} CACHE STRING "Cache size of the CPU in bytes." FORCE) - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/CacheSize.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/CacheSize.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/CacheSize.h") - - - #================================================================================================== -@@ -216,7 +216,7 @@ else () - endif () - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/BLAS.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/BLAS.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/BLAS.h") - - - #================================================================================================== -@@ -227,7 +227,7 @@ set(BLAZE_TRANSPOSE_FLAG "columnVector" CACHE STRING "Specify the default transp - set_property(CACHE BLAZE_TRANSPOSE_FLAG PROPERTY STRINGS "columnVector;rowVector") - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/TransposeFlag.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/TransposeFlag.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/TransposeFlag.h") - - - #================================================================================================== -@@ -238,7 +238,7 @@ set(BLAZE_STORAGE_ORDER "rowMajor" CACHE STRING "Specify the default storage ord - set_property(CACHE BLAZE_STORAGE_ORDER PROPERTY STRINGS "rowMajor;columnMajor") - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/StorageOrder.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/StorageOrder.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/StorageOrder.h") - - - #================================================================================================== -@@ -254,7 +254,7 @@ else () - endif () - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/Vectorization.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/Vectorization.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/Vectorization.h") - - - #================================================================================================== -@@ -300,7 +300,7 @@ elseif (BLAZE_SMP_THREADS STREQUAL "HPX") - endif () - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/SMP.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/SMP.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/SMP.h") - - - #================================================================================================== -@@ -316,7 +316,7 @@ else () - endif () - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/Restrict.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/Restrict.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/Restrict.h") - - - #================================================================================================== -@@ -346,7 +346,7 @@ else () - endif () - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/Optimizations.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/Optimizations.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/Optimizations.h") - - - #================================================================================================== -@@ -364,7 +364,7 @@ else () - endif () - - configure_file ("${CMAKE_CURRENT_LIST_DIR}/cmake/Inline.h.in" -- "${CMAKE_CURRENT_LIST_DIR}/blaze/config/Inline.h") -+ "${CMAKE_CURRENT_BINARY_DIR}/blaze/config/Inline.h") - - - #================================================================================================== -@@ -379,6 +379,7 @@ write_basic_package_version_file( - COMPATIBILITY SameMajorVersion - ) - -+install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/blaze DESTINATION include) - install(DIRECTORY blaze DESTINATION include) - install(TARGETS blaze EXPORT blazeTargets) - diff --git a/ports/blaze/portfile.cmake b/ports/blaze/portfile.cmake index 216a90109..0da26acd0 100644 --- a/ports/blaze/portfile.cmake +++ b/ports/blaze/portfile.cmake @@ -3,11 +3,9 @@ include(vcpkg_common_functions) vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO blaze-lib/blaze - REF cac64f2b35002f74a8ad2410ce6fb562b2cd2371 - SHA512 89381d77e518cdea40b0aa5013b8c74cbd737a2ce8d2d6869df1789a8154d2170c692ce04cae907704808fcff4a52fe0860d3fa2ee898780ce650a294b10894f + REF 51fff70fcc70c8bcb167b5daa497babf51b7603e + SHA512 7048720d1842a0a8e621f6878c43942664523f889f2659f4334c7428d1177a5a226c95bcb5f84b93cae87c61e188bf91dc2429b1ddfc7b6a7b8eb74ab8c0a1ec HEAD_REF master - PATCHES - avoid-src-dir-generation.patch ) vcpkg_configure_cmake( diff --git a/ports/blend2d/CONTROL b/ports/blend2d/CONTROL index ef22b5264..a589a4ee9 100644 --- a/ports/blend2d/CONTROL +++ b/ports/blend2d/CONTROL @@ -1,10 +1,10 @@ Source: blend2d -Version: beta_2019-04-30 +Version: beta_2019-10-09 Description: Beta 2D Vector Graphics Powered by a JIT Compiler Default-Features: jit, logging Feature: jit -Description: asmjit is used to jit compile pipelines +Description: Default feature. Enables jit pipeline compilation. Not supported for ARM and UWP. Feature: logging -Description: enables logging +Description: Default feature. Enables logging. diff --git a/ports/blend2d/portfile.cmake b/ports/blend2d/portfile.cmake index c23c90afd..6e4705b2f 100644 --- a/ports/blend2d/portfile.cmake +++ b/ports/blend2d/portfile.cmake @@ -3,12 +3,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO blend2d/blend2d - REF 69141350b5a654f328c8529ae301aa1e6bad5342 - SHA512 d9bdd234f443c0ef8793dba1a76cc567bab3f9cf32d835d9e285f7ad946a56e0bc03eab30f61bbce51318e18a74ecfcfc965ac94e1ff6cef21e9b3ccc6a42120 + REF 60bb0a03199b406dac92cfaa07d026cd8be2df34 + SHA512 eb214f39be5285e2fcea494ecb461723420763fea14e0ffd3ee96618f0256b5da25e4c74e2914d0722d44cc75ccaa5fd91a1731b427b884dd829107a5e8d5c55 HEAD_REF master ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BLEND2D_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BLEND2D_STATIC) if(NOT ("jit" IN_LIST FEATURES)) set(BLEND2D_BUILD_NO_JIT TRUE) @@ -17,14 +17,13 @@ if(NOT ("logging" IN_LIST FEATURES)) set(BLEND2D_BUILD_NO_LOGGING TRUE) endif() - if(NOT BLEND2D_BUILD_NO_JIT) vcpkg_from_github( OUT_SOURCE_PATH ASMJIT_SOURCE_PATH REPO asmjit/asmjit - REF f4e685cef003c40ad0d348d0c9eb2a1fe63d8521 - SHA512 77981fc32e746fc88f5707b4a8e8557283261b2657248f0d4900f47bd500de4efe47619a53f32413ea3c6f116e084cac6fdb48b6b92d75e824585d94c785d2b1 - HEAD_REF next-wip + REF 238243530a35f5ad6205695ff0267b8bd639543a + SHA512 fd7936d3de5eabba35f4eb2d91f1833ab29c2ca34d9a89de674373f8101888ca9594bae34eb9eb02a9552fbf1785cdbf913a34db1865f9f56d39ce32aa951df7 + HEAD_REF master ) file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/asmjit) @@ -38,7 +37,7 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBLEND2D_BUILD_STATIC=${BLEND2D_BUILD_STATIC} + -DBLEND2D_STATIC=${BLEND2D_STATIC} -DBLEND2D_BUILD_NO_JIT=${BLEND2D_BUILD_NO_JIT} -DBLEND2D_BUILD_NO_LOGGING=${BLEND2D_BUILD_NO_LOGGING} ) @@ -50,11 +49,16 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -if(BLEND2D_BUILD_STATIC) +if(BLEND2D_STATIC) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() # Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/blend2d RENAME copyright) +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +if(BLEND2D_STATIC) + # Install usage + configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) +endif() diff --git a/ports/blend2d/usage b/ports/blend2d/usage new file mode 100644 index 000000000..b6d8a652c --- /dev/null +++ b/ports/blend2d/usage @@ -0,0 +1 @@ +Define BL_STATIC before any @PORT@ includes. diff --git a/ports/blosc/0001-find-deps.patch b/ports/blosc/0001-find-deps.patch new file mode 100644 index 000000000..af0f92150 --- /dev/null +++ b/ports/blosc/0001-find-deps.patch @@ -0,0 +1,107 @@ +diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt +index 1d1bebe..3a7a51c 100644 +--- a/blosc/CMakeLists.txt ++++ b/blosc/CMakeLists.txt +@@ -109,7 +109,7 @@ endif(NOT DEACTIVATE_ZLIB) + + if (NOT DEACTIVATE_ZSTD) + if (ZSTD_FOUND) +- set(LIBS ${LIBS} ${ZSTD_LIBRARY}) ++ set(LIBS ${LIBS} ${ZSTD_LIBRARIES}) + else (ZSTD_FOUND) + file(GLOB ZSTD_FILES + ${ZSTD_LOCAL_DIR}/common/*.c +diff --git a/cmake/FindLZ4.cmake b/cmake/FindLZ4.cmake +index e581a80..8ce17c5 100644 +--- a/cmake/FindLZ4.cmake ++++ b/cmake/FindLZ4.cmake +@@ -1,10 +1,13 @@ +-find_path(LZ4_INCLUDE_DIR lz4.h) ++find_path(LZ4_INCLUDE_DIRS NAMES lz4.h) + +-find_library(LZ4_LIBRARY NAMES lz4) ++find_library(LZ4_LIBRARY_DEBUG NAMES lz4d) ++find_library(LZ4_LIBRARY_RELEASE NAMES lz4) + +-if (LZ4_INCLUDE_DIR AND LZ4_LIBRARY) +- set(LZ4_FOUND TRUE) +- message(STATUS "Found LZ4 library: ${LZ4_LIBRARY}") +-else () +- message(STATUS "No LZ4 library found. Using internal sources.") +-endif () ++include(SelectLibraryConfigurations) ++select_library_configurations(LZ4) ++ ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args( ++ LZ4 ++ REQUIRED_VARS LZ4_LIBRARIES LZ4_INCLUDE_DIRS ++) +diff --git a/cmake/FindSnappy.cmake b/cmake/FindSnappy.cmake +index 688d4d5..c8b9a05 100644 +--- a/cmake/FindSnappy.cmake ++++ b/cmake/FindSnappy.cmake +@@ -1,10 +1,13 @@ +-find_path(SNAPPY_INCLUDE_DIR snappy-c.h) ++find_path(SNAPPY_INCLUDE_DIR snappy.h) + +-find_library(SNAPPY_LIBRARY NAMES snappy) ++find_library(SNAPPY_LIBRARY_DEBUG NAMES snappyd) ++find_library(SNAPPY_LIBRARY_RELEASE NAMES snappy) + +-if (SNAPPY_INCLUDE_DIR AND SNAPPY_LIBRARY) +- set(SNAPPY_FOUND TRUE) +- message(STATUS "Found SNAPPY library: ${SNAPPY_LIBRARY}") +-else () +- message(STATUS "No snappy found. Using internal sources.") +-endif () ++include(SelectLibraryConfigurations) ++select_library_configurations(SNAPPY) ++ ++include(FindPackageHandleStandardArgs) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS( ++ SNAPPY DEFAULT_MSG ++ SNAPPY_LIBRARY SNAPPY_INCLUDE_DIR ++) +diff --git a/cmake/FindZstd.cmake b/cmake/FindZstd.cmake +index 7db4bb9..ba20ba6 100644 +--- a/cmake/FindZstd.cmake ++++ b/cmake/FindZstd.cmake +@@ -1,10 +1,30 @@ ++include(FindPackageHandleStandardArgs) ++ + find_path(ZSTD_INCLUDE_DIR zstd.h) + +-find_library(ZSTD_LIBRARY NAMES zstd) ++get_filename_component(_prefix_path ${ZSTD_INCLUDE_DIR} PATH) ++ ++find_library( ++ ZSTD_LIBRARY_DEBUG ++ NAMES zstdd ++ PATHS ${_prefix_path}/debug/lib ++ NO_DEFAULT_PATH ++) ++ ++find_library( ++ ZSTD_LIBRARY_RELEASE ++ NAMES zstd ++ PATHS ${_prefix_path}/lib ++ NO_DEFAULT_PATH ++) ++ ++unset(_prefix_path) ++ ++include(SelectLibraryConfigurations) ++select_library_configurations(ZSTD) + +-if (ZSTD_INCLUDE_DIR AND ZSTD_LIBRARY) +- set(ZSTD_FOUND TRUE) +- message(STATUS "Found Zstd library: ${ZSTD_LIBRARY}") +-else () +- message(STATUS "No Zstd library found. Using internal sources.") +-endif () ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args( ++ ZSTD ++ REQUIRED_VARS ZSTD_LIBRARIES ZSTD_INCLUDE_DIR ++) diff --git a/ports/blosc/CONTROL b/ports/blosc/CONTROL index 4dc7bf81f..414685489 100644 --- a/ports/blosc/CONTROL +++ b/ports/blosc/CONTROL @@ -1,5 +1,5 @@ Source: blosc -Version: 1.16.3-1 +Version: 1.17.0-1 Build-Depends: lz4, snappy, zlib, zstd Homepage: https://github.com/Blosc/c-blosc Description: A blocking, shuffling and loss-less compression library that can be faster than `memcpy()` diff --git a/ports/blosc/FindBlosc.cmake b/ports/blosc/FindBlosc.cmake new file mode 100644 index 000000000..11385d46d --- /dev/null +++ b/ports/blosc/FindBlosc.cmake @@ -0,0 +1,33 @@ +include(FindPackageHandleStandardArgs) + +find_path( + BLOSC_INCLUDE_DIRS + blosc.h +) + +get_filename_component(_prefix_path ${BLOSC_INCLUDE_DIRS} PATH) + +find_library( + BLOSC_LIBRARY_DEBUG + NAMES blosc + PATHS ${_prefix_path}/debug/lib + NO_DEFAULT_PATH +) + +find_library( + SNAPPY_LIBRARY_RELEASE + NAMES blosc + PATHS ${_prefix_path}/lib + NO_DEFAULT_PATH +) + +unset(_prefix_path) + +include(SelectLibraryConfigurations) +select_library_configurations(blosc) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + blosc + REQUIRED_VARS BLOSC_LIBRARIES BLOSC_INCLUDE_DIRS +) diff --git a/ports/blosc/portfile.cmake b/ports/blosc/portfile.cmake index 367c59194..aaf61eee0 100644 --- a/ports/blosc/portfile.cmake +++ b/ports/blosc/portfile.cmake @@ -3,9 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Blosc/c-blosc - REF v1.16.3 - SHA512 2ff67a6e955a641c3a2330140e5887d0ce3fdcbf6b205507798a4e848a35ba2e22bf8fd91133291bc73c4e48fb01c02139e47ab8e4774d0e2288872e625c9ffd + REF v1.17.0 + SHA512 7fe517e9d050a36839ddf963e718881533cc10a7c8963222b3167fd48ec84455614206c1cc2c248f52042a019262fa0419c4c1a828eb1ae64294c55bbaf56f6e HEAD_REF master + PATCHES + 0001-find-deps.patch ) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -20,6 +22,7 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/internal-complibs) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DPREFER_EXTERNAL_LZ4=ON -DPREFER_EXTERNAL_SNAPPY=ON -DPREFER_EXTERNAL_ZLIB=ON @@ -50,3 +53,7 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSES/BLOSC.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/blosc RENAME copyright) +file(COPY + "${CMAKE_CURRENT_LIST_DIR}/FindBlosc.cmake" + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) diff --git a/ports/bond/0002_omit_rapidjson.patch b/ports/bond/0002_omit_rapidjson.patch deleted file mode 100644 index 7d502353d..000000000 --- a/ports/bond/0002_omit_rapidjson.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fe0f629e..54b6d8ec 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -49,7 +49,6 @@ install (DIRECTORY - cpp/inc/bond - cpp/generated/bond - python/inc/bond -- thirdparty/rapidjson/include/rapidjson - DESTINATION include - PATTERN *.cpp EXCLUDE) - diff --git a/ports/bond/CONTROL b/ports/bond/CONTROL index 940b0dc05..9a6e00f6d 100644 --- a/ports/bond/CONTROL +++ b/ports/bond/CONTROL @@ -1,6 +1,5 @@ Source: bond -Maintainer: bond@microsoft.com -Version: 7.0.2-2 +Version: 8.1.0-3 Description: Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services. Homepage: https://github.com/Microsoft/bond Build-Depends: rapidjson, boost-config, boost-utility, boost-assign diff --git a/ports/bond/fix-install-path.patch b/ports/bond/fix-install-path.patch new file mode 100644 index 000000000..e5fa270c1 --- /dev/null +++ b/ports/bond/fix-install-path.patch @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f2f8eaa..1b0c01c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,7 +18,7 @@ set (BOND_FIND_RAPIDJSON + # settings so that we don't apply our settings to third-party code. + add_subdirectory (thirdparty) + +-enable_testing() ++#enable_testing() + + set (BOND_IDL ${CMAKE_CURRENT_SOURCE_DIR}/idl) + set (BOND_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/cpp/inc) +@@ -80,6 +80,6 @@ if (BOND_GBC_PATH) + + install ( + FILES ${BOND_GBC_PATH} +- DESTINATION bin ++ DESTINATION tools + RENAME ${INSTALLED_GBC_NAME}) + endif() +diff --git a/compiler/CMakeLists.txt b/compiler/CMakeLists.txt +index 1dff9d0..9a11575 100644 +--- a/compiler/CMakeLists.txt ++++ b/compiler/CMakeLists.txt +@@ -108,7 +108,7 @@ set (test_sources + tests/TestMain.hs + ${tests}) + +-set (completion_dir etc/bash_completion.d) ++set (completion_dir tools/bond) + set (completion ${CMAKE_CURRENT_BINARY_DIR}/gbc.comp) + set (output ${CMAKE_CURRENT_BINARY_DIR}/build/gbc/gbc${CMAKE_EXECUTABLE_SUFFIX}) + set (GBC_EXECUTABLE ${output} PARENT_SCOPE) +@@ -130,7 +130,7 @@ endif() + + install (FILES ${output} + PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE +- DESTINATION bin) ++ DESTINATION ${completion_dir}) + + install (FILES ${completion} + RENAME gbc +diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt +index b45078e..1eebe9c 100644 +--- a/cpp/CMakeLists.txt ++++ b/cpp/CMakeLists.txt +@@ -110,7 +110,7 @@ target_include_directories (bond_apply BEFORE PRIVATE + + install (TARGETS bond bond_apply + EXPORT bond +- ARCHIVE DESTINATION lib/bond ++ ARCHIVE DESTINATION lib + INCLUDES DESTINATION include) + + install (DIRECTORY ${BOND_IDL}/bond/core DESTINATION include/bond) diff --git a/ports/bond/portfile.cmake b/ports/bond/portfile.cmake index a508e6a35..f21d2e7f8 100644 --- a/ports/bond/portfile.cmake +++ b/ports/bond/portfile.cmake @@ -2,79 +2,61 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bond-7.0.2) - -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Microsoft/bond/archive/7.0.2.zip" - FILENAME "bond-7.0.2.zip" - SHA512 4ae3b88fafbede6c1433d171713bdbfcbed61a3d2a983d7df4e33af893a50f233be0e95c1ea8e5f30dafb017b2a8100a23721292b04184159e5fd796b1a43398 -) -vcpkg_download_distfile(GBC_ARCHIVE - URLS "https://github.com/Microsoft/bond/releases/download/7.0.2/gbc-7.0.2-amd64.exe.zip" - FILENAME "gbc-7.0.2-amd64.exe.zip" - SHA512 069eafd7641ebd719425037cb8249d2d214eb09c6ce38fbf1d1811c01d1839b0a0987c55217075b6ae9f477f750d582250134387a530edb2aee407b21d973915 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/bond + REF 8.1.0 + SHA512 287a2d299036b57e0576903b1f5372bf8071243ada57153c4bf231cdc660faab1e70c60ddde57ac759d941b74af4ba25d81a5d58e8dbf391032b7b226c4cd18c + HEAD_REF master + PATCHES fix-install-path.patch ) -vcpkg_extract_source_archive(${ARCHIVE}) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_download_distfile(GBC_ARCHIVE + URLS "https://github.com/microsoft/bond/releases/download/8.1.0/gbc-8.1.0-amd64.zip" + FILENAME "gbc-8.1.0-amd64.zip" + SHA512 896c9a78fc714e0ea44c37ed36400ec8e5f52d495a8d81aa80834ff6cd6303c7c94e06129f7b2269416a9e0ffb61423e87406db798fb5be7ff00f14981530089 + ) -# Extract the precompiled gbc -vcpkg_extract_source_archive(${GBC_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/tools/) -set(FETCHED_GBC_PATH ${CURRENT_BUILDTREES_DIR}/tools/gbc-7.0.2-amd64.exe) + # Extract the precompiled gbc + vcpkg_extract_source_archive(${GBC_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/tools/) + set(FETCHED_GBC_PATH ${CURRENT_BUILDTREES_DIR}/tools/gbc.exe) + + if (NOT EXISTS "${FETCHED_GBC_PATH}") + message(FATAL_ERROR "Fetching GBC failed. Expected '${FETCHED_GBC_PATH}' to exists, but it doesn't.") + endif() + +else() + # According to the readme on https://github.com/microsoft/bond/ + # The build needs a version of the Haskel Tool stack that is newer than some distros ship with. + # For this reason the message is not guarded by checking to see if the tool is installed. + message("\nA recent version of Haskell Tool Stack is required to build.\n For information on how to install see https://docs.haskellstack.org/en/stable/README/\n") -if (NOT EXISTS "${FETCHED_GBC_PATH}") - message(FATAL_ERROR "Fetching GBC failed. Expected '${FETCHED_GBC_PATH}' to exists, but it doesn't.") endif() -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - # Don't install rapidjson from the (empty) submodule. With vcpkg, we get - # rapidjson from vcpkg - ${CMAKE_CURRENT_LIST_DIR}/0002_omit_rapidjson.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DBOND_LIBRARIES_ONLY=TRUE -DBOND_GBC_PATH=${FETCHED_GBC_PATH} + -DBOND_SKIP_GBC_TESTS=TRUE -DBOND_ENABLE_COMM=FALSE -DBOND_ENABLE_GRPC=FALSE + -DBOND_FIND_RAPIDJSON=TRUE ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/bond TARGET_PATH share/bond) + # Put the license file where vcpkg expects it file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/bond) file(RENAME ${CURRENT_PACKAGES_DIR}/share/bond/LICENSE ${CURRENT_PACKAGES_DIR}/share/bond/copyright) -# Drop a copy of gbc in tools/ so that it can be used -file(COPY ${CURRENT_PACKAGES_DIR}/bin/gbc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/) - -# vcpkg doesn't--as of version 0.0.30--like executables such as gbc.exe in -# the output. Just delete the bin/ directories for now. -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/bin/ - ${CURRENT_PACKAGES_DIR}/debug/bin/) - # There's no way to supress installation of the headers in the debug build, # so we just delete them. file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -# Bond's install target installs to lib/bond, but vcpkg expects the lib -# files to end up in lib/, so move them up a directory. -file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/bond/bond.lib - ${CURRENT_PACKAGES_DIR}/lib/bond.lib) -file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/bond/bond_apply.lib - ${CURRENT_PACKAGES_DIR}/lib/bond_apply.lib) -file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/bond/bond.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/bond.lib) -file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/bond/bond_apply.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/bond_apply.lib) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) vcpkg_copy_pdbs() diff --git a/ports/boolinq/CONTROL b/ports/boolinq/CONTROL new file mode 100644 index 000000000..aa246d2dc --- /dev/null +++ b/ports/boolinq/CONTROL @@ -0,0 +1,4 @@ +Source: boolinq +Version: 2019-07-22 +Description: Super tiny C++11 single-file header-only LINQ library +Homepage: https://github.com/k06a/boolinq diff --git a/ports/boolinq/portfile.cmake b/ports/boolinq/portfile.cmake new file mode 100644 index 000000000..35ad4994f --- /dev/null +++ b/ports/boolinq/portfile.cmake @@ -0,0 +1,16 @@ +# Single-file header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO k06a/boolinq + REF 1d09dc8b3df79801062e5c0e758572552fa4ce98 + SHA512 0714a97d09bb8299d39062803a8cd5de28834c372f7826afc36e17ea6aa90d2ec368d5bbb907914ad1ca5a65be41a5caeaa1583f66358577d7ea88d3c0906238 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/include/boolinq/boolinq.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/boolinq) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/boost-accumulators/CONTROL b/ports/boost-accumulators/CONTROL index 0d0be2efd..c3f933987 100644 --- a/ports/boost-accumulators/CONTROL +++ b/ports/boost-accumulators/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-accumulators -Version: 1.70.0 -Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-interval, boost-iterator, boost-mpl, boost-numeric-conversion, boost-odeint, boost-parameter, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-ublas, boost-utility, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-interval, boost-iterator, boost-mpl, boost-numeric-conversion, boost-odeint, boost-parameter, boost-preprocessor, boost-range, boost-serialization, boost-static-assert, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-ublas, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/accumulators Description: Boost accumulators module diff --git a/ports/boost-accumulators/portfile.cmake b/ports/boost-accumulators/portfile.cmake index dc0cd61b1..64ff0b0e6 100644 --- a/ports/boost-accumulators/portfile.cmake +++ b/ports/boost-accumulators/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/accumulators - REF boost-1.70.0 - SHA512 5f4b80082b033f1b5a8d2fa7f69410e334632d535011fefc6792331b2d77e27904b1cc7cef5a77891cec09cd329b08589552529c8feabb6b2da9676da3fc0dff + REF boost-1.71.0 + SHA512 72cc55074f40475b6506802ce9be0291439db30f2bbb1c826952fa258b00d3f097ac7dd6c6b1c03d721633d720ac16c213272076af7ca9d205e5544fc459c93c HEAD_REF master ) diff --git a/ports/boost-algorithm/CONTROL b/ports/boost-algorithm/CONTROL index bda5627cb..d8177e5c8 100644 --- a/ports/boost-algorithm/CONTROL +++ b/ports/boost-algorithm/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-algorithm -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-iterator, boost-mpl, boost-range, boost-regex, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/algorithm Description: Boost algorithm module diff --git a/ports/boost-algorithm/portfile.cmake b/ports/boost-algorithm/portfile.cmake index f0184ebba..766b41183 100644 --- a/ports/boost-algorithm/portfile.cmake +++ b/ports/boost-algorithm/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/algorithm - REF boost-1.70.0 - SHA512 3510cb1d837f04b26a009324ed123af756c2f47ec825e0148e11af4cf5a280e7df732552415015e18ccfb63e8077acebb5860c89af7dd3bb0fef878d67373aa2 + REF boost-1.71.0 + SHA512 2ed7e5d59a3b3de6b316616212cc88d452c8b977643b3b9ffa9256af29fd739f596a833698462624fae83b0b491aa29bdec8792d2aaf3c4ee477308011af075d HEAD_REF master ) diff --git a/ports/boost-align/CONTROL b/ports/boost-align/CONTROL index 31d92ab53..029062dce 100644 --- a/ports/boost-align/CONTROL +++ b/ports/boost-align/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-align -Version: 1.70.0 -Build-Depends: boost-assert, boost-config, boost-core, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-assert, boost-config, boost-core, boost-static-assert, boost-vcpkg-helpers Homepage: https://github.com/boostorg/align Description: Boost align module diff --git a/ports/boost-align/portfile.cmake b/ports/boost-align/portfile.cmake index bcb356a7f..3c3a3da60 100644 --- a/ports/boost-align/portfile.cmake +++ b/ports/boost-align/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/align - REF boost-1.70.0 - SHA512 862c7e440e9fef88430a18bc3916f236578dca16dbcbc007f23fdbbf114933342d1c4f2c763d189fec510210aa011f3ff9f6f326a0a46ab549857f8afe4f64a1 + REF boost-1.71.0 + SHA512 0a30c994a162efa253b5cda7fb03a1bc179c1918eac9690c50396862aff40eaada051ba28dede663454184bc51b095ed3fa45040a66b338a9945cc19729a2a63 HEAD_REF master ) diff --git a/ports/boost-any/CONTROL b/ports/boost-any/CONTROL index b7f37834e..1d5a8e6f9 100644 --- a/ports/boost-any/CONTROL +++ b/ports/boost-any/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-any -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/any Description: Boost any module diff --git a/ports/boost-any/portfile.cmake b/ports/boost-any/portfile.cmake index 05e18ee94..4e198ca4b 100644 --- a/ports/boost-any/portfile.cmake +++ b/ports/boost-any/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/any - REF boost-1.70.0 - SHA512 ee0f9badba0d90807a8462fffc1c6880e06dd1cf43333a8f77c8b490007f4ebbdd30fae9046c18b2b8a48c2be8d0a28b3b4f3e8021a3b6491a319716aaa9bca3 + REF boost-1.71.0 + SHA512 b197602abf2cf2d0efb796c019c60562fbeceda70ce8083272566740c5d2b4fd73e52a567714f2a89034aec7bb56f441fc9c1e083f08f82395fd86e923e86926 HEAD_REF master ) diff --git a/ports/boost-array/CONTROL b/ports/boost-array/CONTROL index 442caaf0f..1b4571e68 100644 --- a/ports/boost-array/CONTROL +++ b/ports/boost-array/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-array -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/array Description: Boost array module diff --git a/ports/boost-array/portfile.cmake b/ports/boost-array/portfile.cmake index 25f50d3f8..04cae06ef 100644 --- a/ports/boost-array/portfile.cmake +++ b/ports/boost-array/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/array - REF boost-1.70.0 - SHA512 d741425add056b019c27b1bfc5f174d31945950f57a23be59dfa7f262902191142486112c1fa0002d58a4771e69c76435196d222aaddee148cc78796c5f3f05b + REF boost-1.71.0 + SHA512 6b4fca7c5fb6630daef7580d3f6e693e2c61d139ce50d940cbe250618793500701c0c96aa708dbd846b6b3bf21ef5b5125486143e9a113577023273e199195e0 HEAD_REF master ) diff --git a/ports/boost-asio/CONTROL b/ports/boost-asio/CONTROL index 3d93e7c07..0dff2bdca 100644 --- a/ports/boost-asio/CONTROL +++ b/ports/boost-asio/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-asio -Version: 1.70.0-1 +Version: 1.71.0-1 Build-Depends: boost-array, boost-assert, boost-bind, boost-chrono, boost-compatibility, boost-config, boost-coroutine (!uwp), boost-date-time, boost-detail, boost-function, boost-integer, boost-regex, boost-smart-ptr, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, openssl Homepage: https://github.com/boostorg/asio Description: Boost asio module diff --git a/ports/boost-asio/portfile.cmake b/ports/boost-asio/portfile.cmake index dbb2b239c..813d02fe6 100644 --- a/ports/boost-asio/portfile.cmake +++ b/ports/boost-asio/portfile.cmake @@ -5,9 +5,10 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/asio - REF boost-1.70.0 - SHA512 394c7e557d97bbb8b98453846a098c8ab7f4eb92d752bd4089d2020e0d5060cff1e53f5e50b2f8910e64b66c934b2bde4a7137bd1a6050e8b1279c2e4576b2e5 + REF boost-1.71.0 + SHA512 e174e708305caadef89bc0c091bd5bee236315f8c4b5d917db1984de7dbe15fca5296d0ec9ef2668cdd138900582a02c4d056982501b508e55b78f0355f6c98d HEAD_REF master + PATCHES windows_alloca_header.patch ) include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) diff --git a/ports/boost-asio/windows_alloca_header.patch b/ports/boost-asio/windows_alloca_header.patch new file mode 100644 index 000000000..609e1ebfe --- /dev/null +++ b/ports/boost-asio/windows_alloca_header.patch @@ -0,0 +1,15 @@ +diff --git a/include/boost/asio/detail/impl/socket_ops.ipp b/include/boost/asio/detail/impl/socket_ops.ipp +index 7d7c31f..d2cd468 100644 +--- a/include/boost/asio/detail/impl/socket_ops.ipp ++++ b/include/boost/asio/detail/impl/socket_ops.ipp +@@ -27,6 +27,10 @@ + #include + #include + ++#if defined(BOOST_ASIO_WINDOWS) ++#include ++#endif ++ + #if defined(BOOST_ASIO_WINDOWS_RUNTIME) + # include + # include diff --git a/ports/boost-assert/CONTROL b/ports/boost-assert/CONTROL index 9b2b6f1e5..b8ec29e5c 100644 --- a/ports/boost-assert/CONTROL +++ b/ports/boost-assert/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-assert -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-vcpkg-helpers Homepage: https://github.com/boostorg/assert Description: Boost assert module diff --git a/ports/boost-assert/portfile.cmake b/ports/boost-assert/portfile.cmake index a4e951999..191c8c91d 100644 --- a/ports/boost-assert/portfile.cmake +++ b/ports/boost-assert/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/assert - REF boost-1.70.0 - SHA512 8bd823a51b5cdad0b016f4b319c64c0965112b163fd0f721830e26195bc2de4a7767308ae6fdc044c621dc0fb14f60f890a994c36de2942095453854288497eb + REF boost-1.71.0 + SHA512 3739a1d666b925c4c7c4bd136af49203538f946265c8e1643e4385afa79600e6cad68163789e1dbc906637f561eb08171276d6be9c705007008734cedb8dd0b5 HEAD_REF master ) diff --git a/ports/boost-assign/CONTROL b/ports/boost-assign/CONTROL index 60d906bb8..847e65d71 100644 --- a/ports/boost-assign/CONTROL +++ b/ports/boost-assign/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-assign -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-config, boost-detail, boost-move, boost-mpl, boost-preprocessor, boost-ptr-container, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/assign Description: Boost assign module diff --git a/ports/boost-assign/portfile.cmake b/ports/boost-assign/portfile.cmake index 2a92e2513..b96bff45b 100644 --- a/ports/boost-assign/portfile.cmake +++ b/ports/boost-assign/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/assign - REF boost-1.70.0 - SHA512 bae75fe87fe6de3c9b20e89ee818b2927cc1e6de90776163376113ff0ca103a338850b915b143e8d6047f733c0fa9c7517ca73688e830485bb66062898d3142f + REF boost-1.71.0 + SHA512 5875a5244a6f96239a37a196c06a9046c8af57399f37fb4259f268faee35dded2c4185ce2d44d18ccaa0ebfa1b8f6e12190d1873df326cf7068c3e31df28725b HEAD_REF master ) diff --git a/ports/boost-atomic/CONTROL b/ports/boost-atomic/CONTROL index ffa7c49a3..609f9a34b 100644 --- a/ports/boost-atomic/CONTROL +++ b/ports/boost-atomic/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-atomic -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/atomic Description: Boost atomic module diff --git a/ports/boost-atomic/portfile.cmake b/ports/boost-atomic/portfile.cmake index e311b24f4..15575abc8 100644 --- a/ports/boost-atomic/portfile.cmake +++ b/ports/boost-atomic/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/atomic - REF boost-1.70.0 - SHA512 00a1fd7731705a3298a19c4a40795d8ab2147a4940e55257ad33e8b7181f9d9a90ebdc0c2bb4f95c1a06ace0a2a5d39762674c2cd6598205151890df3859b251 + REF boost-1.71.0 + SHA512 b9410ddd63cc2d26e8364f70f53a87c5e042c5ba26d4431d1e5c75dd1f2bbcda005f69b7e106afe6c26991701a04c8e94ed4720d3460f43cf3027d3fa33379dc HEAD_REF master ) diff --git a/ports/boost-beast/CONTROL b/ports/boost-beast/CONTROL index 7355df55b..a57759f13 100644 --- a/ports/boost-beast/CONTROL +++ b/ports/boost-beast/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-beast -Version: 1.70.0 -Build-Depends: boost-align, boost-asio, boost-assert, boost-bind, boost-config, boost-container, boost-core, boost-endian, boost-intrusive, boost-logic, boost-mp11, boost-optional, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi +Version: 1.71.0 +Build-Depends: boost-asio, boost-assert, boost-bind, boost-config, boost-container, boost-core, boost-endian, boost-intrusive, boost-logic, boost-mp11, boost-optional, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/beast Description: Boost beast module diff --git a/ports/boost-beast/portfile.cmake b/ports/boost-beast/portfile.cmake index d65e4318e..4bb8531f7 100644 --- a/ports/boost-beast/portfile.cmake +++ b/ports/boost-beast/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/beast - REF boost-1.70.0 - SHA512 7f0c36d80f26b47b902bf78e066dfa3b1fd5ef5e5088c00d2aabef16805531b993efa94a25d84e8d1321c41fc021d46da25cb3ffe49fa42ae67813af333f453d + REF boost-1.71.0 + SHA512 85ab272f7093375ac070644a8c76f6919e0ab3e612db8aa1934e22338721645085991434919bebd8618ae3abcbc674fdda7a6fc3a39c3e46408b456512c371cf HEAD_REF master ) diff --git a/ports/boost-bimap/CONTROL b/ports/boost-bimap/CONTROL index 681ea87f2..c6eb75dbf 100644 --- a/ports/boost-bimap/CONTROL +++ b/ports/boost-bimap/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-bimap -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-concept-check, boost-config, boost-container-hash, boost-functional, boost-iterator, boost-lambda, boost-mpl, boost-multi-index, boost-preprocessor, boost-property-map, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/bimap Description: Boost bimap module diff --git a/ports/boost-bimap/portfile.cmake b/ports/boost-bimap/portfile.cmake index 40f618a8f..4626f7a58 100644 --- a/ports/boost-bimap/portfile.cmake +++ b/ports/boost-bimap/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/bimap - REF boost-1.70.0 - SHA512 9f6938bdbbd32a262cfd4c25b90930df6e0610aacff80a26b7a2caa38fdcaa309bdd7da0405e4529dfaf07314f887eb2b928db89aef1088fdbd7bd1da7bf5c0b + REF boost-1.71.0 + SHA512 f1af7cca25612e9dd3774ea8d426228263fb2ec3c12df0093978a475eefd640a9d8cc5922f4e209112e9b28c9560d3092a385be4ef9e0751bfec1ec3ffe76ae5 HEAD_REF master ) diff --git a/ports/boost-bind/CONTROL b/ports/boost-bind/CONTROL index 93418102f..9e1f5033c 100644 --- a/ports/boost-bind/CONTROL +++ b/ports/boost-bind/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-bind -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/bind Description: Boost bind module diff --git a/ports/boost-bind/portfile.cmake b/ports/boost-bind/portfile.cmake index 5af3961be..a50e2bcfd 100644 --- a/ports/boost-bind/portfile.cmake +++ b/ports/boost-bind/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/bind - REF boost-1.70.0 - SHA512 951381fca83fe12382bb1388c9c9b4b8a6116300c55f46864550c5985c3f7b540f246601ddb57ed5b836075d942a999456d5f4557b28aa7fad83f82c0dc5573e + REF boost-1.71.0 + SHA512 1b808d5a7203da549cb35867fbf87f20557ee26376bf7cfc21c1476feae9397492f0efd18be27e202a069b2d29a4d256b6dc93efea6cbd9fe74b16631ca18bc4 HEAD_REF master ) diff --git a/ports/boost-callable-traits/CONTROL b/ports/boost-callable-traits/CONTROL index af030d66f..f5d193c98 100644 --- a/ports/boost-callable-traits/CONTROL +++ b/ports/boost-callable-traits/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-callable-traits -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/callable_traits Description: Boost callable_traits module diff --git a/ports/boost-callable-traits/portfile.cmake b/ports/boost-callable-traits/portfile.cmake index 8bc97f738..8b089d666 100644 --- a/ports/boost-callable-traits/portfile.cmake +++ b/ports/boost-callable-traits/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/callable_traits - REF boost-1.70.0 - SHA512 73742aa4094cef8f4b24833036f99449343dd6c572919db8fb464f76dc527d99a5a57e52bbfe6b20089041aa43ecb7a87ec528a7aea2fef5a8b15f6ced553769 + REF boost-1.71.0 + SHA512 91502779b9d0c2a3574e9c824893e344c949e44765616b9b1ab75bcf869143d10f3016d3e001c1f99c96bf7eed1c8014c659b6e8a518f663f08327ed4eef3438 HEAD_REF master ) diff --git a/ports/boost-chrono/CONTROL b/ports/boost-chrono/CONTROL index f2a630bb3..1ba4660f9 100644 --- a/ports/boost-chrono/CONTROL +++ b/ports/boost-chrono/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-chrono -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-move, boost-mpl, boost-predef, boost-ratio, boost-static-assert, boost-system, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/chrono Description: Boost chrono module diff --git a/ports/boost-chrono/portfile.cmake b/ports/boost-chrono/portfile.cmake index e2eb7a4ab..f8d0f7295 100644 --- a/ports/boost-chrono/portfile.cmake +++ b/ports/boost-chrono/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/chrono - REF boost-1.70.0 - SHA512 a0498e5db8d3178479e08eb9b2b980447c5dc1b620ab45331fb42b1cdd94572feeb099498ac436f082fb850994e2f090123b8caffdec69e67cae23c94e8e6de9 + REF boost-1.71.0 + SHA512 202bf48e6dc0438cdaad5cd7e5dc6e2cc5957b72a89eb326bb110d02857087147fc3102ed313e11720d8ae121dd0881b405674af607143c5c71ed3ac93ea0261 HEAD_REF master ) diff --git a/ports/boost-circular-buffer/CONTROL b/ports/boost-circular-buffer/CONTROL index aa6d71217..94e1e1377 100644 --- a/ports/boost-circular-buffer/CONTROL +++ b/ports/boost-circular-buffer/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-circular-buffer -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-move, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/circular_buffer Description: Boost circular_buffer module diff --git a/ports/boost-circular-buffer/portfile.cmake b/ports/boost-circular-buffer/portfile.cmake index f42f7d115..6100b72b6 100644 --- a/ports/boost-circular-buffer/portfile.cmake +++ b/ports/boost-circular-buffer/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/circular_buffer - REF boost-1.70.0 - SHA512 c4aef9b30ed93000c663acb7536df6d7269be4e3a0c431daa2f5a0397505bc487c90259b0a24bb0145bf9c07fdecd8fbaa53ceca589f39a3b29f087d07f98113 + REF boost-1.71.0 + SHA512 c40fc12a371c92d3deb07558ed0a8e6e582ddd66beb7af711195da38efbee9fcfab65605290899c02725ab4ec1a1b5704bc79138fefcbcbd54dd968d1d085ade HEAD_REF master ) diff --git a/ports/boost-compatibility/CONTROL b/ports/boost-compatibility/CONTROL index 12d325b06..c950062b1 100644 --- a/ports/boost-compatibility/CONTROL +++ b/ports/boost-compatibility/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-compatibility -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/compatibility Description: Boost compatibility module diff --git a/ports/boost-compatibility/portfile.cmake b/ports/boost-compatibility/portfile.cmake index 41e268699..05a6f6e7a 100644 --- a/ports/boost-compatibility/portfile.cmake +++ b/ports/boost-compatibility/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/compatibility - REF boost-1.70.0 - SHA512 17f6b96eb29f95110f180209c27418a38be1fabe99dd0b50d206e4a628c42e87ffae343a8761a689145be15ae973721e7916a7326db8f45a5d0c8a0fb5639f6b + REF boost-1.71.0 + SHA512 200da5b918150f08fa7c033c8323d08132eb3f744215e4e5ae723cab235c9d4643e253e1c7f2682af774283eb41d4d73322fdd396e74fafb93fd1716c368d79d HEAD_REF master ) diff --git a/ports/boost-compute/CONTROL b/ports/boost-compute/CONTROL index 04534face..fd52d0686 100644 --- a/ports/boost-compute/CONTROL +++ b/ports/boost-compute/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-compute -Version: 1.70.0 -Build-Depends: boost-algorithm, boost-array, boost-assert, boost-chrono, boost-config, boost-core, boost-filesystem (!uwp), boost-function, boost-function-types, boost-fusion, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-preprocessor, boost-property-tree, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-uuid, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-algorithm, boost-array, boost-assert, boost-chrono, boost-config, boost-core, boost-filesystem (!uwp), boost-function, boost-function-types, boost-fusion, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-preprocessor, boost-property-tree, boost-proto, boost-range, boost-smart-ptr, boost-static-assert, boost-thread, boost-throw-exception, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-uuid, boost-vcpkg-helpers Homepage: https://github.com/boostorg/compute Description: Boost compute module diff --git a/ports/boost-compute/portfile.cmake b/ports/boost-compute/portfile.cmake index 2b756df41..679801808 100644 --- a/ports/boost-compute/portfile.cmake +++ b/ports/boost-compute/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/compute - REF boost-1.70.0 - SHA512 d21c722340abd0f16c007060cac18b98be3d3056fb784c359203012f20d8ec1edf62bbe41e30b0129a1c478050d78fb34c1750c14ac7610f2bb63911006fd197 + REF boost-1.71.0 + SHA512 ad887151fc658655f8fc92d6b35077421adfc5b23a80817bbd86e4b568b81d62d03c2d5876f6165cc2dc20003ec6f4d838aa4fcead56d530186a4f87fcbcdb7d HEAD_REF master ) diff --git a/ports/boost-concept-check/CONTROL b/ports/boost-concept-check/CONTROL index ca012575d..a0d0f7f99 100644 --- a/ports/boost-concept-check/CONTROL +++ b/ports/boost-concept-check/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-concept-check -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/concept_check Description: Boost concept_check module diff --git a/ports/boost-concept-check/portfile.cmake b/ports/boost-concept-check/portfile.cmake index f08d06864..e9c9713a0 100644 --- a/ports/boost-concept-check/portfile.cmake +++ b/ports/boost-concept-check/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/concept_check - REF boost-1.70.0 - SHA512 5b495c9c6c76eac54a72e5f5cde41ac3957470b21d47abde4df8f74207b175dcaf104adf37603de9ef0cca7fba1ac702429af995371714eea0b9cdcc361f2f8e + REF boost-1.71.0 + SHA512 eef82b7dd57820b05469ef5f326140f531d1a92540f024db30b3cf598659bf02b1fe9f5e5bd7844317ed182c881d342f1e738823495f4933ac00e7eeea683b0b HEAD_REF master ) diff --git a/ports/boost-config/CONTROL b/ports/boost-config/CONTROL index 1d680a096..8418c8b71 100644 --- a/ports/boost-config/CONTROL +++ b/ports/boost-config/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-config -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-compatibility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/config Description: Boost config module diff --git a/ports/boost-config/portfile.cmake b/ports/boost-config/portfile.cmake index 5759efd79..179eb1878 100644 --- a/ports/boost-config/portfile.cmake +++ b/ports/boost-config/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/config - REF boost-1.70.0 - SHA512 c9132011f506b3803f736bc0f7498eb297bb2af7a9643f235055aa5d133c6cbbe04f11c88296a956acb9864ea8a5ea58df329df3dce1e0763ff0451f9e487fb4 + REF boost-1.71.0 + SHA512 d11791e026bbe73ff8eb1e8c2e3fd4ff498562a3f83021b73ce1f52cc9e487ae20a74c4611bbfa0cb3dd73212d79bbb42fdd697df404838d370b51427641a685 HEAD_REF master ) diff --git a/ports/boost-container-hash/CONTROL b/ports/boost-container-hash/CONTROL index b2eb4a95d..0dd27ada0 100644 --- a/ports/boost-container-hash/CONTROL +++ b/ports/boost-container-hash/CONTROL @@ -1,5 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-container-hash -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-static-assert, boost-type-traits, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/container_hash Description: Boost container_hash module diff --git a/ports/boost-container-hash/portfile.cmake b/ports/boost-container-hash/portfile.cmake index 16ae75279..7792464e3 100644 --- a/ports/boost-container-hash/portfile.cmake +++ b/ports/boost-container-hash/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/container_hash - REF boost-1.70.0 - SHA512 e08a01a0c4ede6b8e7be77c78e9a9c66680e7fc31ce64e3f43d2f535dfdcf6cce1d35cf7f0d120242bd749a7fd082d4b938c30e02438970be25613ee69b5baf1 + REF boost-1.71.0 + SHA512 ca383c1d6a69bb611bed8df0222ed4b81c582ec449dce03d04a5f55129f9406afa3e9ed1dd5518d4e4b4508c2a47f4e696d1009ba13aa51b90cfc2f918fd6bde HEAD_REF master ) diff --git a/ports/boost-container/CONTROL b/ports/boost-container/CONTROL index b96609d6a..56d569826 100644 --- a/ports/boost-container/CONTROL +++ b/ports/boost-container/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-container -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-config, boost-container-hash, boost-core, boost-integer, boost-intrusive, boost-modular-build-helper, boost-move, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/container Description: Boost container module diff --git a/ports/boost-container/portfile.cmake b/ports/boost-container/portfile.cmake index 8e4d473e2..f9f411052 100644 --- a/ports/boost-container/portfile.cmake +++ b/ports/boost-container/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/container - REF boost-1.70.0 - SHA512 fd0fdf2c26c0dc6ac977c069584282ac1dc1a8b4dae3609766af1cd1f1587126e5ff7ad2feffeb6c20d0679c245679e6c963e202d4ab2f6a6c74721f2e52e0cf + REF boost-1.71.0 + SHA512 a4fc8b71a37280fe08fec4f65ce311a75695aa9c6d022070539b615725180a05fc8330b96a0319c84ed5fb6bbca0ed5a37838fe0298bac1137215d885061ea6c HEAD_REF master ) diff --git a/ports/boost-context/CONTROL b/ports/boost-context/CONTROL index 8e476df79..795d24923 100644 --- a/ports/boost-context/CONTROL +++ b/ports/boost-context/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-context -Version: 1.70.0 -Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-pool, boost-predef, boost-smart-ptr, boost-thread (!arm), boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-integer, boost-modular-build-helper, boost-pool, boost-predef, boost-smart-ptr, boost-thread, boost-vcpkg-helpers Homepage: https://github.com/boostorg/context Description: Boost context module diff --git a/ports/boost-context/portfile.cmake b/ports/boost-context/portfile.cmake index 7c79f3bb4..a79a821b9 100644 --- a/ports/boost-context/portfile.cmake +++ b/ports/boost-context/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/context - REF boost-1.70.0 - SHA512 b180cc8e6fceb457495a9e4e8c6118bd9d32d11e8aa30c477efa6c58474d03573744348146c542c4436a80b7cbf1f4ffa73034f31aaa045f8a9fc020f299342e + REF boost-1.71.0 + SHA512 d1da9103e22d45461fe16def14879aed3e6e67b3c83f41100a2f762c3ca14dbd52e381809968ddf4ecf5caf838d4d1f0859d6a94e7e7addbad32a1a56c6eb171 HEAD_REF master ) diff --git a/ports/boost-contract/CONTROL b/ports/boost-contract/CONTROL index 7b03d05e2..03b290fda 100644 --- a/ports/boost-contract/CONTROL +++ b/ports/boost-contract/CONTROL @@ -1,5 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-contract -Version: 1.70.0 -Build-Depends: boost-any, boost-assert, boost-build, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-function-types, boost-modular-build-helper, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-any, boost-assert, boost-build, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-function-types, boost-modular-build-helper, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-thread, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/contract Description: Boost contract module diff --git a/ports/boost-contract/portfile.cmake b/ports/boost-contract/portfile.cmake index 8e034b901..39f467042 100644 --- a/ports/boost-contract/portfile.cmake +++ b/ports/boost-contract/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/contract - REF boost-1.70.0 - SHA512 867717f13da8df87330849eef5068538c5ea650f58ab9df581081480f8cf5ffe255b7503ac59a0b14d2063ddb9239bcfc72e02e0a66f86e77d7a2f32099afc34 + REF boost-1.71.0 + SHA512 22c9309dc38a9943295ef890a3de2881ca20a131a0ad144d966c291983b100ca2eaef21e0cbc371aee69c69b1d91f2c2e3cc7bbcc3f13b2755901e2d135d58c5 HEAD_REF master ) diff --git a/ports/boost-conversion/CONTROL b/ports/boost-conversion/CONTROL index 194ae5347..e8058bf30 100644 --- a/ports/boost-conversion/CONTROL +++ b/ports/boost-conversion/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-conversion -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-throw-exception, boost-typeof, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/conversion Description: Boost conversion module diff --git a/ports/boost-conversion/portfile.cmake b/ports/boost-conversion/portfile.cmake index cda3c164b..e060de788 100644 --- a/ports/boost-conversion/portfile.cmake +++ b/ports/boost-conversion/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/conversion - REF boost-1.70.0 - SHA512 2d061273c85b9769e433184ff2b2a3ceaf3ff39e66fac62e34097f1a6288aa72d5801e34c93c8e80a3200bbd3129d70d73f656fc958b78694dea39799b42b287 + REF boost-1.71.0 + SHA512 f469a3fc87c642e31ba19e8f5b7734e76aa76674fedb3634f642ebc6511818638313662874f0035ce227dce290e70177941c702395674cc6464aaa7e3afeaebd HEAD_REF master ) diff --git a/ports/boost-convert/CONTROL b/ports/boost-convert/CONTROL index a21fc8f53..123be6985 100644 --- a/ports/boost-convert/CONTROL +++ b/ports/boost-convert/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-convert -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-function-types, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-parameter, boost-range, boost-spirit, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/convert Description: Boost convert module diff --git a/ports/boost-convert/portfile.cmake b/ports/boost-convert/portfile.cmake index 702206fc1..f8664023a 100644 --- a/ports/boost-convert/portfile.cmake +++ b/ports/boost-convert/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/convert - REF boost-1.70.0 - SHA512 0edc789070a74d7abf57170fddfc70f4b79b62720d771a650d148cefbf70b78e1a0a43a2fd85d5be94f4cb8452ec0ed33dfcbf0621a7980161de451576ab083e + REF boost-1.71.0 + SHA512 53e89b20e7a2f49a43429a856968893f35cdad098c1cbd7542dfbee1d08908382d5dba4489e57f701d62cae06d630daeb9fbd2624f40324fde204354de002a04 HEAD_REF master ) diff --git a/ports/boost-core/CONTROL b/ports/boost-core/CONTROL index af70d8a14..50b540920 100644 --- a/ports/boost-core/CONTROL +++ b/ports/boost-core/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-core -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-vcpkg-helpers Homepage: https://github.com/boostorg/core Description: Boost core module diff --git a/ports/boost-core/portfile.cmake b/ports/boost-core/portfile.cmake index df3b3e7f3..2d784989f 100644 --- a/ports/boost-core/portfile.cmake +++ b/ports/boost-core/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/core - REF boost-1.70.0 - SHA512 955f788c7ec2a1988df261606da42915e42e321f200c9729f7b1aa503224b8fce4fb784c8693374d7a31a6a45f4082fe3b489853bee85a6ee06184f7fb898626 + REF boost-1.71.0 + SHA512 ebb4f3aaca25804452dd9fb5b47ec089193eef8ce902629f71513bf85a1c9d9ec4bc829a3aa53a6ccb3310a18469b06fd1ed01905851da28fd52040195ede7f4 HEAD_REF master ) diff --git a/ports/boost-coroutine/CONTROL b/ports/boost-coroutine/CONTROL index 5b5db2bdc..e4ce271f4 100644 --- a/ports/boost-coroutine/CONTROL +++ b/ports/boost-coroutine/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-coroutine -Version: 1.70.0 -Build-Depends: boost-assert, boost-build, boost-config, boost-context (!uwp), boost-detail, boost-exception, boost-integer, boost-modular-build-helper, boost-move, boost-range, boost-system, boost-thread (!arm), boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-assert, boost-build, boost-config, boost-context (!uwp), boost-detail, boost-exception, boost-integer, boost-modular-build-helper, boost-move, boost-range, boost-system, boost-thread, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/coroutine Description: Boost coroutine module diff --git a/ports/boost-coroutine/portfile.cmake b/ports/boost-coroutine/portfile.cmake index 88326a6db..d101467a7 100644 --- a/ports/boost-coroutine/portfile.cmake +++ b/ports/boost-coroutine/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/coroutine - REF boost-1.70.0 - SHA512 e63e92c1e6013ab79df4312ace30d5e9989ec30f10c4e97fe366b0f60b50675fa91cc323508e81065400a66d4931c1f5cba51287e6c2fca5567495ade1b94d46 + REF boost-1.71.0 + SHA512 c7ed0e0630616671764d82444ea2845e6168dc2735379304652ba239d9f7ce995693f193fe1c800f10f60d4bdead20d4be714af869b6c585c0021b43df90633d HEAD_REF master ) diff --git a/ports/boost-coroutine2/CONTROL b/ports/boost-coroutine2/CONTROL index 96706e78a..4d3fe18af 100644 --- a/ports/boost-coroutine2/CONTROL +++ b/ports/boost-coroutine2/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-coroutine2 -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-context (!uwp), boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/coroutine2 Description: Boost coroutine2 module diff --git a/ports/boost-coroutine2/portfile.cmake b/ports/boost-coroutine2/portfile.cmake index 42e7601e4..6c406c398 100644 --- a/ports/boost-coroutine2/portfile.cmake +++ b/ports/boost-coroutine2/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/coroutine2 - REF boost-1.70.0 - SHA512 8f087e33be6eeb1bea523abf871a6bb5252bcb0c40de3489d2713c8b242de97697e86fc2628fe0b0eefefef65307cdd0e0737ae7471fde083a2b09d7139f487c + REF boost-1.71.0 + SHA512 fbbe0b27c7c92ee30ebd1170cba32028b68c521758f464c10e8a967070f9367fa564440c2d7c2b068bcdcdc08d87458a3cfac479e70a578aff741a03a92b9a4d HEAD_REF master ) diff --git a/ports/boost-crc/CONTROL b/ports/boost-crc/CONTROL index 33536aafa..a8899f151 100644 --- a/ports/boost-crc/CONTROL +++ b/ports/boost-crc/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-crc -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-compatibility, boost-config, boost-integer, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/crc Description: Boost crc module diff --git a/ports/boost-crc/portfile.cmake b/ports/boost-crc/portfile.cmake index 6528e2d59..9393925d9 100644 --- a/ports/boost-crc/portfile.cmake +++ b/ports/boost-crc/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/crc - REF boost-1.70.0 - SHA512 7318072d20d80b747991194477d78177345ce67b618d9dd8bbb6a5432673244c04717d5f41f3bf50daf18ff33d612225cd9109578c07019922609a6db4cccb3e + REF boost-1.71.0 + SHA512 2ac6f7115f0be8117bec7a89b536960f158d5df5d9756fbfdc5f117d2d76b7cd807cdcd804cfdd3611f35e6d088d09d7efb793397a4d069b194d734cd18d5e51 HEAD_REF master ) diff --git a/ports/boost-date-time/CONTROL b/ports/boost-date-time/CONTROL index 2c9a8392f..4f2e97f10 100644 --- a/ports/boost-date-time/CONTROL +++ b/ports/boost-date-time/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-date-time -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-algorithm, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-integer, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/date_time Description: Boost date_time module diff --git a/ports/boost-date-time/portfile.cmake b/ports/boost-date-time/portfile.cmake index 9a128b701..f3013cf98 100644 --- a/ports/boost-date-time/portfile.cmake +++ b/ports/boost-date-time/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/date_time - REF boost-1.70.0 - SHA512 2ff8c459b3ec04fa6f57b8d94d052fbdc2b0c0774b064cbf681817a7dcc0239e1a6856e25674c9797668dcc2fab3b6f576a633286fcc8e5fe796d74c6f1a52a8 + REF boost-1.71.0 + SHA512 67b78bc04f5aeb8cd03ace2ea83a394317a5074a34c5b1213999a511030d4f7e6552b14ffd9be6f8e04afe94465072b6b96f4ad8689dd16b7e92423b6e821659 HEAD_REF master ) diff --git a/ports/boost-detail/CONTROL b/ports/boost-detail/CONTROL index 0f3166293..2b48469eb 100644 --- a/ports/boost-detail/CONTROL +++ b/ports/boost-detail/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-detail -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-compatibility, boost-config, boost-preprocessor, boost-vcpkg-helpers Homepage: https://github.com/boostorg/detail Description: Boost detail module diff --git a/ports/boost-detail/portfile.cmake b/ports/boost-detail/portfile.cmake index 48c0a04d4..0467de7e4 100644 --- a/ports/boost-detail/portfile.cmake +++ b/ports/boost-detail/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/detail - REF boost-1.70.0 - SHA512 8cedb220dce3a4f6aaee13eacdd5c8246e707b724bd260d025b7ece9336dffaa645a3cf59f90ea02136a23126e9a93116485ad5d76e8b04d46e08f043c394018 + REF boost-1.71.0 + SHA512 94252d4fe07b2fb0ce2446b84345bed69846ea88ae4520dea3e4d132716a7334972df368127b9e53fccbfee1e26c47bd2d2bdbed203edb8b00c10f0503267018 HEAD_REF master ) diff --git a/ports/boost-di/CONTROL b/ports/boost-di/CONTROL index d7c9aea41..da0873af8 100644 --- a/ports/boost-di/CONTROL +++ b/ports/boost-di/CONTROL @@ -1,4 +1,4 @@ Source: boost-di -Version: 1.1.0 +Version: 1.1.0-1 Homepage: https://github.com/boost-experimental/di -Description: C++14 Dependency Injection Library. \ No newline at end of file +Description: C++14 Dependency Injection Library. diff --git a/ports/boost-di/portfile.cmake b/ports/boost-di/portfile.cmake index f6fe59a3f..2027ba0d4 100644 --- a/ports/boost-di/portfile.cmake +++ b/ports/boost-di/portfile.cmake @@ -1,19 +1,16 @@ -#header-only library include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/di-1.1.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/boost-experimental/di/archive/v1.1.0.tar.gz" - FILENAME "di-1.1.0.tar.gz" +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boost-experimental/di + REF v1.1.0 SHA512 69f7b0567cffea9bf983aedd7eabd1a07ae20249cd56a13de98eaa0cc835cbe3b76e790da68489536dd07edeb99271a69111f4d0c6b0aa3721ce9f5ead848fe0 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) file(INSTALL ${SOURCE_PATH}/include/boost DESTINATION ${CURRENT_PACKAGES_DIR}/include) -# boost-di license does not exist in source folder. -# it shares the boost license. vcpkg_download_distfile(LICENSE URLS http://www.boost.org/LICENSE_1_0.txt FILENAME "boost-di-copyright" diff --git a/ports/boost-disjoint-sets/CONTROL b/ports/boost-disjoint-sets/CONTROL index 56df8c910..ea228b420 100644 --- a/ports/boost-disjoint-sets/CONTROL +++ b/ports/boost-disjoint-sets/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-disjoint-sets -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-graph, boost-vcpkg-helpers Homepage: https://github.com/boostorg/disjoint_sets Description: Boost disjoint_sets module diff --git a/ports/boost-disjoint-sets/portfile.cmake b/ports/boost-disjoint-sets/portfile.cmake index 68215afc8..1d2d9b101 100644 --- a/ports/boost-disjoint-sets/portfile.cmake +++ b/ports/boost-disjoint-sets/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/disjoint_sets - REF boost-1.70.0 - SHA512 3d85e4f33491529dbc1082ab45d91b93e96d74253108c05f2d6542340c2cf9e4c817c6b9996d7de0e733f09e2e60eee038056db764e3e829662142f9dbe611ca + REF boost-1.71.0 + SHA512 5e8d121155c0916149e53cab8063bbe2d2cee6a8d425e215a3906d967135e83ece0e19138fa4baa71d5dab6e7ef6b1bfdb68f94788679243f3442ebe52452c43 HEAD_REF master ) diff --git a/ports/boost-dll/CONTROL b/ports/boost-dll/CONTROL index ae2ee519d..b9ccb69d7 100644 --- a/ports/boost-dll/CONTROL +++ b/ports/boost-dll/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-dll -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-core, boost-filesystem (!uwp), boost-function, boost-integer, boost-move, boost-mpl, boost-predef, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-throw-exception, boost-type-index, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/dll Description: Boost dll module diff --git a/ports/boost-dll/portfile.cmake b/ports/boost-dll/portfile.cmake index 7d3765d6a..3838512c8 100644 --- a/ports/boost-dll/portfile.cmake +++ b/ports/boost-dll/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/dll - REF boost-1.70.0 - SHA512 607bcbb31cc4f630bd921a62dd57c35ace268f8eb048bc4460fde85cd399c04bc2f6880a3e868b5a5e24de91a3db04066b89e952740b1d9b2e4f4704555f8226 + REF boost-1.71.0 + SHA512 6472a53073da728cd336c549c81d1994227c42c72d7bb867a93550e520b7bcbdbab339adbe1344766512385d9bb74e75f31c72e5eb63d9c067a394868b543e56 HEAD_REF master ) diff --git a/ports/boost-dynamic-bitset/CONTROL b/ports/boost-dynamic-bitset/CONTROL index c7144e607..a8d1842ef 100644 --- a/ports/boost-dynamic-bitset/CONTROL +++ b/ports/boost-dynamic-bitset/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-dynamic-bitset -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-serialization, boost-vcpkg-helpers Homepage: https://github.com/boostorg/dynamic_bitset Description: Boost dynamic_bitset module diff --git a/ports/boost-dynamic-bitset/portfile.cmake b/ports/boost-dynamic-bitset/portfile.cmake index 84296b749..8a087854d 100644 --- a/ports/boost-dynamic-bitset/portfile.cmake +++ b/ports/boost-dynamic-bitset/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/dynamic_bitset - REF boost-1.70.0 - SHA512 a646b54f6c85f0810da3b7346919c8b04b8e993773d42ba866909e932682989e9a31f23c590c84ec64e9fe19ff377586b8487822c9e48234643dc021e5d51c62 + REF boost-1.71.0 + SHA512 10881de1b1ccbbabb84df6d3687e558bc532c2de2af93245ccc145ddb1cc8ae501def4c6e43faa5b037436e53a6490ccc599f3316552defa76089a0da793807a HEAD_REF master ) diff --git a/ports/boost-endian/CONTROL b/ports/boost-endian/CONTROL index a57b0e7dc..a59143d8c 100644 --- a/ports/boost-endian/CONTROL +++ b/ports/boost-endian/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-endian -Version: 1.70.0 -Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-predef, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-config, boost-core, boost-integer, boost-predef, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/endian Description: Boost endian module diff --git a/ports/boost-endian/portfile.cmake b/ports/boost-endian/portfile.cmake index c99b81027..52ae2b864 100644 --- a/ports/boost-endian/portfile.cmake +++ b/ports/boost-endian/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/endian - REF boost-1.70.0 - SHA512 4cf95f9b28dc7936a26c1dbc73419c9a1caa770d4b3d8a613dfc77182c98cd34432c51a40a19f7720a2f061743c30b11f7df7193c5d194313901977c51a130b7 + REF boost-1.71.0 + SHA512 8010633daa48982661e6d0f2e68796a60d6cd7c5d518689f41e22bdec8cca4609313bad42bb0a1efa3d5ba2d4f4c577cb9723f872d67627a3cf22ef78a8b18f8 HEAD_REF master ) diff --git a/ports/boost-exception/CONTROL b/ports/boost-exception/CONTROL index 89927da45..613fff8eb 100644 --- a/ports/boost-exception/CONTROL +++ b/ports/boost-exception/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-exception -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-modular-build-helper, boost-smart-ptr, boost-tuple, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/exception Description: Boost exception module diff --git a/ports/boost-exception/portfile.cmake b/ports/boost-exception/portfile.cmake index c0c427674..90d259f11 100644 --- a/ports/boost-exception/portfile.cmake +++ b/ports/boost-exception/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/exception - REF boost-1.70.0 - SHA512 6e8e40e9d5ee2478216f22279d00b835db3e0f43b8a5ff1e7bdbdab4479f86cff152f38a02171630e74ff6c61d58de7f6b9151496b18b9672be791dbd4b77e64 + REF boost-1.71.0 + SHA512 cf2a2887fdbfac7830a94358f249eb5de711497e5de04a3b9aba2af0bbd35ad14bd739b3fc9592bc1a30d53c5629136037bb076ffa28b83dc23b4009836f436e HEAD_REF master ) diff --git a/ports/boost-fiber/CONTROL b/ports/boost-fiber/CONTROL index 2dc4f4e78..11fc66535 100644 --- a/ports/boost-fiber/CONTROL +++ b/ports/boost-fiber/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-fiber -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-algorithm, boost-assert, boost-build, boost-config, boost-context (!uwp), boost-core, boost-detail, boost-filesystem (!uwp), boost-format, boost-intrusive, boost-modular-build-helper, boost-predef, boost-smart-ptr, boost-vcpkg-helpers Homepage: https://github.com/boostorg/fiber Description: Boost fiber module diff --git a/ports/boost-fiber/portfile.cmake b/ports/boost-fiber/portfile.cmake index c327f0121..269a48449 100644 --- a/ports/boost-fiber/portfile.cmake +++ b/ports/boost-fiber/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/fiber - REF boost-1.70.0 - SHA512 d0f844808bf8644d3aad6db3cd44629c6355d6e7b028d99cecc104f97b5bcf765f4238c1c97f693af5693738813517a00c6e692840b24a2f59af376b4e7ac14f + REF boost-1.71.0 + SHA512 a2769012185d1921096058f930687344d88c10508d5507e0e8a6135ee49b5533117574f7a00b86622729326f35a7b8d9c94c896aaa13892510bb8358bebc29c3 HEAD_REF master ) diff --git a/ports/boost-filesystem/CONTROL b/ports/boost-filesystem/CONTROL index 954ab287a..143d786ab 100644 --- a/ports/boost-filesystem/CONTROL +++ b/ports/boost-filesystem/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-filesystem -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-smart-ptr, boost-system, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/filesystem Description: Boost filesystem module diff --git a/ports/boost-filesystem/portfile.cmake b/ports/boost-filesystem/portfile.cmake index af0af0517..00d2fd51a 100644 --- a/ports/boost-filesystem/portfile.cmake +++ b/ports/boost-filesystem/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/filesystem - REF boost-1.70.0 - SHA512 c08d439dac95543f242528ee09e0bc71685988705c2bc4d98cb71f521b7966f86b6bec0a8c689a188b5e6a1d8629b2eeefdcc856cbe2fa407612548e26ee291c + REF boost-1.71.0 + SHA512 073756aa9d0143ce5510ed8cc4e6cdbe48ed948ecd2aca4a9a32f697256cd6bf36156dfa0a864498679ceb4051115523b17a04679c8473141a16cc61a1290a59 HEAD_REF master ) diff --git a/ports/boost-flyweight/CONTROL b/ports/boost-flyweight/CONTROL index 61c80822f..042ab5be6 100644 --- a/ports/boost-flyweight/CONTROL +++ b/ports/boost-flyweight/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-flyweight -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-functional, boost-interprocess, boost-mpl, boost-multi-index, boost-parameter, boost-preprocessor, boost-serialization, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/flyweight Description: Boost flyweight module diff --git a/ports/boost-flyweight/portfile.cmake b/ports/boost-flyweight/portfile.cmake index 1f2d9a561..e1ea046a3 100644 --- a/ports/boost-flyweight/portfile.cmake +++ b/ports/boost-flyweight/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/flyweight - REF boost-1.70.0 - SHA512 5c8349be1c4c041362a9fb5d2c9da72aa52f2c36fdd88025753f042e6a37cce5818f5acbff4b8727e0997614945f9f9d6147241b52e7df2d2b308d0551da6cf6 + REF boost-1.71.0 + SHA512 7ddd93cc12070faeae30249b30dabf5d5cbd41bb7f0f92531baff163702b9cb53d28a0211b4e9352476576cecd1e1734f2c757c674549dc93f366cb9d60657a3 HEAD_REF master ) diff --git a/ports/boost-foreach/CONTROL b/ports/boost-foreach/CONTROL index 3574b53c8..6b5be939d 100644 --- a/ports/boost-foreach/CONTROL +++ b/ports/boost-foreach/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-foreach -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-detail, boost-iterator, boost-mpl, boost-range, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/foreach Description: Boost foreach module diff --git a/ports/boost-foreach/portfile.cmake b/ports/boost-foreach/portfile.cmake index b5a420c42..6548160c4 100644 --- a/ports/boost-foreach/portfile.cmake +++ b/ports/boost-foreach/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/foreach - REF boost-1.70.0 - SHA512 c63f427066e8f964c58a3e721a037346afd62a4df6c01fd76ebce9fac5634087ac80b06ed8dc70171be51380d7a2fe65727fdcf5fb1bd993e005ae4689fe0bdd + REF boost-1.71.0 + SHA512 d1e1fc7c2099687d5e9e330e4ffe6023d42901317b4b5aa4def72e24e970c44581b5d334b84558e9dd6a5280121a9125bcff562c23ff1ff31dfb6a947b5c187b HEAD_REF master ) diff --git a/ports/boost-format/CONTROL b/ports/boost-format/CONTROL index 689d74729..03f10000c 100644 --- a/ports/boost-format/CONTROL +++ b/ports/boost-format/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-format -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-optional, boost-smart-ptr, boost-throw-exception, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/format Description: Boost format module diff --git a/ports/boost-format/portfile.cmake b/ports/boost-format/portfile.cmake index fb901824e..eb699b719 100644 --- a/ports/boost-format/portfile.cmake +++ b/ports/boost-format/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/format - REF boost-1.70.0 - SHA512 a36cc172fec72b5fd989d6e11d8f2f80f93138a99b03a7b1443663ff81ce2f302dd50f25e0308229de9dd6f59b8510151f27255cdafcac152b185c7174d11a86 + REF boost-1.71.0 + SHA512 d3410c708439ef8600642091c1e9411ce581740b83cc50cf16323179e01dac012e05039c39bbd4c550f99c1382f2c4984bd480a427200fc364f6891c1a653bea HEAD_REF master ) diff --git a/ports/boost-function-types/CONTROL b/ports/boost-function-types/CONTROL index b71fffba5..a0cd3edfb 100644 --- a/ports/boost-function-types/CONTROL +++ b/ports/boost-function-types/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-function-types -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-detail, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/function_types Description: Boost function_types module diff --git a/ports/boost-function-types/portfile.cmake b/ports/boost-function-types/portfile.cmake index f9f380a20..996033195 100644 --- a/ports/boost-function-types/portfile.cmake +++ b/ports/boost-function-types/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/function_types - REF boost-1.70.0 - SHA512 6022a7045d39b18b76bd6ca57dd7e960d1242321a2c1adb5f9c7215e58ce472adfe2be40a4f3bd2f9d28e2fad30ad75ee896896dff15e5cfa446c085d9a5c9e2 + REF boost-1.71.0 + SHA512 ef4a02316d2b8c62a71a46626a5247acbf06c389602fb2a039b0e00ee8e5b5f9ab9b0c17c42a9c55235944d172bf1a6cecae69aa92946174f526fc86cb68d530 HEAD_REF master ) diff --git a/ports/boost-function/CONTROL b/ports/boost-function/CONTROL index 310e9b497..c85a8354e 100644 --- a/ports/boost-function/CONTROL +++ b/ports/boost-function/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-function -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-integer, boost-preprocessor, boost-throw-exception, boost-type-index, boost-typeof, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/function Description: Boost function module diff --git a/ports/boost-function/portfile.cmake b/ports/boost-function/portfile.cmake index cc943013e..30862141a 100644 --- a/ports/boost-function/portfile.cmake +++ b/ports/boost-function/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/function - REF boost-1.70.0 - SHA512 d655792b1262ef039348b09328614acd954685726dcaeccf564ca0a4c36f25f0d764dfc2544cf2c08977d516610db8fdf22671d16881187163226953da22e654 + REF boost-1.71.0 + SHA512 0db3b4c47771628c4e59f88295ffe2898e805d579efbb49c9943d910a56f99f9f41c538c317e30669c74fe3365632bbfd9779ff1f9503fe197218fe4b04b544e HEAD_REF master ) diff --git a/ports/boost-functional/CONTROL b/ports/boost-functional/CONTROL index 138c8c6e3..bb127bdc5 100644 --- a/ports/boost-functional/CONTROL +++ b/ports/boost-functional/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-functional -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-iterator, boost-mpl, boost-preprocessor, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/functional Description: Boost functional module diff --git a/ports/boost-functional/portfile.cmake b/ports/boost-functional/portfile.cmake index 9dbbb6b38..d43318044 100644 --- a/ports/boost-functional/portfile.cmake +++ b/ports/boost-functional/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/functional - REF boost-1.70.0 - SHA512 ca32f1e0292835ff059e907e2392b059cdb85e1c1b7b7850f9e490d59ecd4d95d7cc2f6ebd548a167018b179812045104692e638334d35243da26117f8ccceb7 + REF boost-1.71.0 + SHA512 a9fe748c8b712ea05bff9b2366d7e85b97b5183d8462d26231763c5c4c09425fefc063ad48bbc0744786c570d9b7c914394d09e328b93d313f8467476e00a84f HEAD_REF master ) diff --git a/ports/boost-fusion/CONTROL b/ports/boost-fusion/CONTROL index 28305e082..28a071805 100644 --- a/ports/boost-fusion/CONTROL +++ b/ports/boost-fusion/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-fusion -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-detail, boost-function-types, boost-mpl, boost-preprocessor, boost-static-assert, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/fusion Description: Boost fusion module diff --git a/ports/boost-fusion/portfile.cmake b/ports/boost-fusion/portfile.cmake index 23844aee7..8ac7b9939 100644 --- a/ports/boost-fusion/portfile.cmake +++ b/ports/boost-fusion/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/fusion - REF boost-1.70.0 - SHA512 709d374a225b0a92ccf52e2fcad02a182bd49bce372b1f57857b9b9409a2ee83c1f6f97f8b9e24ba5f1b22fc58f9a0895d56e83c2af772136216d2cdac237e48 + REF boost-1.71.0 + SHA512 070ccb2b37197508073603375454de98c8bf70cc0d5087f8318df828d4afa756c9781737426d626a4ebe7377b07114d849d50181372ee657a03b7920db0dc723 HEAD_REF master ) diff --git a/ports/boost-geometry/CONTROL b/ports/boost-geometry/CONTROL index a616793a9..bdf0fc194 100644 --- a/ports/boost-geometry/CONTROL +++ b/ports/boost-geometry/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-geometry -Version: 1.70.0 -Build-Depends: boost-algorithm, boost-array, boost-assert, boost-concept-check, boost-config, boost-container, boost-core, boost-detail, boost-function-types, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multiprecision, boost-numeric-conversion, boost-polygon, boost-qvm, boost-range, boost-rational, boost-serialization, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-throw-exception, boost-tokenizer, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-algorithm, boost-array, boost-assert, boost-concept-check, boost-config, boost-container, boost-core, boost-detail, boost-function-types, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-move, boost-mpl, boost-multiprecision, boost-numeric-conversion, boost-polygon, boost-qvm, boost-range, boost-rational, boost-serialization, boost-smart-ptr, boost-static-assert, boost-thread, boost-throw-exception, boost-tokenizer, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/geometry Description: Boost geometry module diff --git a/ports/boost-geometry/portfile.cmake b/ports/boost-geometry/portfile.cmake index dbe2412eb..a3ad21a31 100644 --- a/ports/boost-geometry/portfile.cmake +++ b/ports/boost-geometry/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/geometry - REF boost-1.70.0 - SHA512 78fd4f1f6f5956872c89f9b2d4cf20f7531ea55e50ad2dc33ee518e0f24a2e9a12e525ebbbb18ee884756e25cebb19307f199ddf1318dd4a07655e46e15d68dc + REF boost-1.71.0 + SHA512 13b5ef6db1ac3a0d6138a71ec1a5f0b8990ee106c496c2380ce979c438351ff63e4974d8157b67fc7dd9df07c777ff708909c84118a134aaff00c3289a40c04b HEAD_REF master ) diff --git a/ports/boost-gil/CONTROL b/ports/boost-gil/CONTROL index 45c378a72..b4e9e251b 100644 --- a/ports/boost-gil/CONTROL +++ b/ports/boost-gil/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-gil -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-concept-check, boost-config, boost-core, boost-filesystem (!uwp), boost-integer, boost-iterator, boost-mpl, boost-numeric-conversion, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/gil Description: Boost gil module diff --git a/ports/boost-gil/portfile.cmake b/ports/boost-gil/portfile.cmake index 8957f3e6f..aedc11114 100644 --- a/ports/boost-gil/portfile.cmake +++ b/ports/boost-gil/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/gil - REF boost-1.70.0 - SHA512 2b0149b690b9ae45e9e85fb1441b9d20f6f1238a710393f8acbda6cefb12483568f612eeaf5597d187edadf459d99bb8417c807b35360fb3596d107de73482cb + REF boost-1.71.0 + SHA512 fc0cc2b4afec5cd24fe9ef4da56da7901735165240b5ed6edb6d03bd095502964829e9f774151fbb04d2dabd7a46660b04ada26a3be299a16e616a62a355e4cf HEAD_REF master ) diff --git a/ports/boost-graph-parallel/CONTROL b/ports/boost-graph-parallel/CONTROL index f78581dc6..6ab3a5496 100644 --- a/ports/boost-graph-parallel/CONTROL +++ b/ports/boost-graph-parallel/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-graph-parallel -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container-hash, boost-detail, boost-dynamic-bitset, boost-filesystem (!uwp), boost-foreach, boost-function, boost-graph, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-optional, boost-property-map, boost-random, boost-serialization, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/graph_parallel Description: Boost graph_parallel module diff --git a/ports/boost-graph-parallel/portfile.cmake b/ports/boost-graph-parallel/portfile.cmake index 10899ea81..c9f9c6f43 100644 --- a/ports/boost-graph-parallel/portfile.cmake +++ b/ports/boost-graph-parallel/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/graph_parallel - REF boost-1.70.0 - SHA512 31331fa45061c87061137c2b1bdcce60e0bf2de93d292a7598135eb7b1bdadb8b46be8ac0d89c583b004d2a543f6a06765eafea3875a60b0b38e2986e53adfd9 + REF boost-1.71.0 + SHA512 ca7d51c551c41651e9d50843b2f3decc2fe42f2cab1a071e8d1007d4f1a048e0e63290af5f167fa81330f90f24ddc1f50feadf5716c7e34a23b9eef9d5516d68 HEAD_REF master ) diff --git a/ports/boost-graph/CONTROL b/ports/boost-graph/CONTROL index 14d3555ad..9e276d9db 100644 --- a/ports/boost-graph/CONTROL +++ b/ports/boost-graph/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-graph -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-algorithm, boost-any, boost-array, boost-assert, boost-bimap, boost-bind, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-container-hash, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-preprocessor, boost-property-map, boost-property-tree, boost-random, boost-range, boost-regex, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-test (!uwp), boost-throw-exception, boost-tti, boost-tuple, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers, boost-xpressive Homepage: https://github.com/boostorg/graph Description: Boost graph module diff --git a/ports/boost-graph/portfile.cmake b/ports/boost-graph/portfile.cmake index 9d62779d4..ace1d9d35 100644 --- a/ports/boost-graph/portfile.cmake +++ b/ports/boost-graph/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/graph - REF boost-1.70.0 - SHA512 51f0cfed08ad19d1f4782ffeaa9e415f1b25fd49d89429105d45a2f2ac72314b12c4fd37793e9453c422e005c9c6159257313a3334df445f8e7fb4129822b73a + REF boost-1.71.0 + SHA512 b05aa443a12b3aacf9c0f820f44d3b019afa2b24d9a42e788983a19af8ae9d37714956c44f480048878a8d707fd48b9cccc01f5cbd1d9b4bc02f6556efae27ff HEAD_REF master ) diff --git a/ports/boost-hana/CONTROL b/ports/boost-hana/CONTROL index 26acfb0c1..ec46c5300 100644 --- a/ports/boost-hana/CONTROL +++ b/ports/boost-hana/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-hana -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-fusion, boost-mpl, boost-tuple, boost-vcpkg-helpers Homepage: https://github.com/boostorg/hana Description: Boost hana module diff --git a/ports/boost-hana/portfile.cmake b/ports/boost-hana/portfile.cmake index 20b299ce8..5ffb9a15a 100644 --- a/ports/boost-hana/portfile.cmake +++ b/ports/boost-hana/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/hana - REF boost-1.70.0 - SHA512 0a927fe46988a7f8ebe8a799437009349270244206f3f146fa33f37e081fba34f431dfce3b5a07fd1e7f77050f11c45e60277f4555fdc8004251b603eb88fa17 + REF boost-1.71.0 + SHA512 1b7d0c16b074ee1862819f5584626f249062f1e677b16a7112316c5e57339450cae69c5de2bb67c01cad9a2780a78b2d8620a72971a0a9cfce1ec9365a24ea01 HEAD_REF master ) diff --git a/ports/boost-heap/CONTROL b/ports/boost-heap/CONTROL index f0865f265..24743ad1b 100644 --- a/ports/boost-heap/CONTROL +++ b/ports/boost-heap/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-heap -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-concept-check, boost-integer, boost-intrusive, boost-iterator, boost-parameter, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/heap Description: Boost heap module diff --git a/ports/boost-heap/portfile.cmake b/ports/boost-heap/portfile.cmake index d4165de94..bbf05ac12 100644 --- a/ports/boost-heap/portfile.cmake +++ b/ports/boost-heap/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/heap - REF boost-1.70.0 - SHA512 5f264465ab572ccd804c1209948133033f8379bea549d671a10b8e5b9db74bf92c7c580f11b689bd553a5a252854e12179c9daf00d890ff37a913d0cba463806 + REF boost-1.71.0 + SHA512 0dfb03942692ea5e30aba112c78d96c6c6057e1f23717b3686ef98639aa4bda5bddd80ffdc792b4d0885ed592127f59734725a34d240e6aa6a6644e60e40c83b HEAD_REF master ) diff --git a/ports/boost-histogram/CONTROL b/ports/boost-histogram/CONTROL index a57571811..c6af73ef1 100644 --- a/ports/boost-histogram/CONTROL +++ b/ports/boost-histogram/CONTROL @@ -1,5 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-histogram -Version: 1.70.0 -Build-Depends: boost-assert, boost-callable-traits, boost-config, boost-core, boost-integer, boost-iterator, boost-mp11, boost-serialization, boost-throw-exception, boost-variant, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-assert, boost-callable-traits, boost-config, boost-core, boost-mp11, boost-serialization, boost-throw-exception, boost-variant2, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/histogram Description: Boost histogram module diff --git a/ports/boost-histogram/portfile.cmake b/ports/boost-histogram/portfile.cmake index 692adb096..de1464241 100644 --- a/ports/boost-histogram/portfile.cmake +++ b/ports/boost-histogram/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/histogram - REF boost-1.70.0 - SHA512 0eb1b9c64de27e0364c965710208d85ce2e19c009d88c4969a53f11dfb774c38bcfe1ed48bdc896e6e695bb536879e0ef1ce3ed2c7e72e15c3e480c7b625623f + REF boost-1.71.0 + SHA512 62b5b578cce46efe45fccad2074e18b3c745d76b2687fa63166c7723961ab7910179f4720778e177cf7618522758fad8e1e00d9de39bcc6610c27873a406c8cf HEAD_REF master ) diff --git a/ports/boost-hof/CONTROL b/ports/boost-hof/CONTROL index 02262aaf9..a127375e7 100644 --- a/ports/boost-hof/CONTROL +++ b/ports/boost-hof/CONTROL @@ -1,5 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-hof -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-vcpkg-helpers +Homepage: https://github.com/boostorg/hof Description: Boost hof module diff --git a/ports/boost-hof/portfile.cmake b/ports/boost-hof/portfile.cmake index acf7acbc8..cec916db1 100644 --- a/ports/boost-hof/portfile.cmake +++ b/ports/boost-hof/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/hof - REF boost-1.70.0 - SHA512 93a0be0e6b435ca99e606098add9e784ce46925d352a35d9d928070f4deccf1091196fda16627c73f6eb008ff86996917346b83813dee6e94c8cd3927f5c7233 + REF boost-1.71.0 + SHA512 c6d95b3d7a37af70784da64f977be05f0ba77edbebfd750faae354f74e318e5d725d6e5e5e53ca1e1152ef1847b0108269440bff4edcbc150b08c64f919df4c6 HEAD_REF master ) diff --git a/ports/boost-icl/CONTROL b/ports/boost-icl/CONTROL index 09e77e744..0a25e4ed4 100644 --- a/ports/boost-icl/CONTROL +++ b/ports/boost-icl/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-icl -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-concept-check, boost-config, boost-container, boost-date-time, boost-detail, boost-iterator, boost-move, boost-mpl, boost-range, boost-rational, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/icl Description: Boost icl module diff --git a/ports/boost-icl/portfile.cmake b/ports/boost-icl/portfile.cmake index f8adcccae..e72735db7 100644 --- a/ports/boost-icl/portfile.cmake +++ b/ports/boost-icl/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/icl - REF boost-1.70.0 - SHA512 440d2c657f0b3ff5c2755944e8eef0e068b16e84416fd7e3552dd976916b875a8cd73fae7ba205812593415a684d80791f86c7e262f3c5e3aa56711cff579722 + REF boost-1.71.0 + SHA512 a9a7d11343eb49068740e3bb09873b375eac77519876ad9ffc4bd4cfcfb515e8af053088fe9b130d4850fc3eccd035ed1d247610c685e875156cfb5c31c64c9c HEAD_REF master ) diff --git a/ports/boost-integer/CONTROL b/ports/boost-integer/CONTROL index 72fe9d83f..8172a96a4 100644 --- a/ports/boost-integer/CONTROL +++ b/ports/boost-integer/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-integer -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-core, boost-detail, boost-static-assert, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/integer Description: Boost integer module diff --git a/ports/boost-integer/portfile.cmake b/ports/boost-integer/portfile.cmake index 4edb497ee..5d15f9faf 100644 --- a/ports/boost-integer/portfile.cmake +++ b/ports/boost-integer/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/integer - REF boost-1.70.0 - SHA512 914556323d480be24b9f59b3596702510d1188584eed70bc734e14ca3999a77d4119fc30eafe95548a99fc657467500193e250907f5dad5d05692d7c52607c12 + REF boost-1.71.0 + SHA512 0899a11cd4ff41a6f70dba0971e973c9316fd60f6d055c8e7d5de24f6aec254a81d7dfa2d80187542d7c8046c685e3ee50adb826b9194a5c5ae982d26b265ff5 HEAD_REF master ) diff --git a/ports/boost-interprocess/CONTROL b/ports/boost-interprocess/CONTROL index d1aebd1e0..f324cf108 100644 --- a/ports/boost-interprocess/CONTROL +++ b/ports/boost-interprocess/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-interprocess -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-integer, boost-intrusive, boost-move, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/interprocess Description: Boost interprocess module diff --git a/ports/boost-interprocess/portfile.cmake b/ports/boost-interprocess/portfile.cmake index dd50bbf7b..5d24493d4 100644 --- a/ports/boost-interprocess/portfile.cmake +++ b/ports/boost-interprocess/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/interprocess - REF boost-1.70.0 - SHA512 1f496d61039a6cb9084a8bea1e70538fe36b81a76a7241de5e96735d98287ee82755593c1c07201b5b14cd70b515b47e134515864bf50f075cb76f669b0b31d3 + REF boost-1.71.0 + SHA512 77eb6c9a04708655fc80e40492c40b1608e61e10f37b2bb66bbe69603bc38fc9588659a3980ee7d6b954e13d7216960df81304675573c7561eded1e5c06f547d HEAD_REF master ) diff --git a/ports/boost-interval/CONTROL b/ports/boost-interval/CONTROL index 0c74b3e49..e195893d1 100644 --- a/ports/boost-interval/CONTROL +++ b/ports/boost-interval/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-interval -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-compatibility, boost-config, boost-logic, boost-vcpkg-helpers Homepage: https://github.com/boostorg/interval Description: Boost interval module diff --git a/ports/boost-interval/portfile.cmake b/ports/boost-interval/portfile.cmake index c1e5a4a29..e092eb057 100644 --- a/ports/boost-interval/portfile.cmake +++ b/ports/boost-interval/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/interval - REF boost-1.70.0 - SHA512 235bc027737963b9399c02b1ea5bc4e2024e439837f52f0d729c43df33c0202155ae1311ed114a7796ac24a5311f5c8f70deabc0a1cb8712c6bd02972bcfb974 + REF boost-1.71.0 + SHA512 95863f6851114e878b59537ea8f5314064436899b90a39c3357521faf79181ca0f3a833c7a8d3fc873b804e5b9c16221edbff94716b3d5287af831aed40b97d4 HEAD_REF master ) diff --git a/ports/boost-intrusive/CONTROL b/ports/boost-intrusive/CONTROL index 18a831adc..28c3d9ccb 100644 --- a/ports/boost-intrusive/CONTROL +++ b/ports/boost-intrusive/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-intrusive -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-container-hash, boost-core, boost-integer, boost-move, boost-static-assert, boost-vcpkg-helpers Homepage: https://github.com/boostorg/intrusive Description: Boost intrusive module diff --git a/ports/boost-intrusive/portfile.cmake b/ports/boost-intrusive/portfile.cmake index 071df857a..1bec95fdf 100644 --- a/ports/boost-intrusive/portfile.cmake +++ b/ports/boost-intrusive/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/intrusive - REF boost-1.70.0 - SHA512 6f8b68b6fbb3fb400d85b7525b0bd562b27760760d1f5057b59c0e208940de3da72ba61d98ea449851af2dc3296597a84a011c3087174d955832de24716cbd6c + REF boost-1.71.0 + SHA512 014c01b32ed3244a2b0e59ff31ab0fbbc9823eaa87eaffd869f68a5a0937d763194a356898a45f2c167e1c47a5200a9c25d2349044139d4781f9108baf22d05f HEAD_REF master ) diff --git a/ports/boost-io/CONTROL b/ports/boost-io/CONTROL index aa633c00b..7fd2331be 100644 --- a/ports/boost-io/CONTROL +++ b/ports/boost-io/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-io -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/io Description: Boost io module diff --git a/ports/boost-io/portfile.cmake b/ports/boost-io/portfile.cmake index ca85bb2d6..c0430007a 100644 --- a/ports/boost-io/portfile.cmake +++ b/ports/boost-io/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/io - REF boost-1.70.0 - SHA512 9d879f365664b36a8d8574f9f305ebb44c2742975192565f67f37258b6597fd6a13aaa33727c078501ba6373405a53c8374fe800b0b9169bc92eee97b0947a91 + REF boost-1.71.0 + SHA512 696a3ab052f5374c774744ead83e5a1acef33e681dcd58c2b1368e4f76a26ef7f6f53fcd178d6e7418f1377d1105d22a756dad0acbb4b06f3ba8624f2aa65c8d HEAD_REF master ) diff --git a/ports/boost-iostreams/CONTROL b/ports/boost-iostreams/CONTROL index e1dafa33b..4e589238e 100644 --- a/ports/boost-iostreams/CONTROL +++ b/ports/boost-iostreams/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-iostreams -Version: 1.70.0-1 -Build-Depends: boost-assert, boost-bind, boost-build, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, liblzma, zlib, zstd +Version: 1.71.0 +Build-Depends: boost-assert, boost-bind, boost-build, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, bzip2, liblzma, zlib, zstd Homepage: https://github.com/boostorg/iostreams Description: Boost iostreams module diff --git a/ports/boost-iostreams/portfile.cmake b/ports/boost-iostreams/portfile.cmake index 6c9e41ace..268064df7 100644 --- a/ports/boost-iostreams/portfile.cmake +++ b/ports/boost-iostreams/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/iostreams - REF boost-1.70.0 - SHA512 0b0d3b5408d389783d6538c6ed41d615dd0eda1a5c023ed490308b010ccdb34b34dfbb934caa9df5417168570b6d2963d95b0321ab9378dc43c8dc6d89aecf89 + REF boost-1.71.0 + SHA512 229f4afdf5909bfc83527990862f56c7edf06cb30d511f425d4112809cd21d1d436177ebb0853cf12ad48a49d445364a2cee97a8f0b2fb14c0dc94fa746a5876 HEAD_REF master PATCHES Removeseekpos.patch ) diff --git a/ports/boost-iterator/CONTROL b/ports/boost-iterator/CONTROL index c13a8fdb9..8146edbc2 100644 --- a/ports/boost-iterator/CONTROL +++ b/ports/boost-iterator/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-iterator -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-conversion, boost-core, boost-detail, boost-function-types, boost-fusion, boost-mpl, boost-optional, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/iterator Description: Boost iterator module diff --git a/ports/boost-iterator/portfile.cmake b/ports/boost-iterator/portfile.cmake index bcf1b97d4..48a50d632 100644 --- a/ports/boost-iterator/portfile.cmake +++ b/ports/boost-iterator/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/iterator - REF boost-1.70.0 - SHA512 ef6b8ace53b73874efb80ba690bce03a13e86bb081282726de20a83efd5f2c58677f2c01f64a4733d81653e776074ef1a92ec67161aa5ba8ff0f3645b6df9fea + REF boost-1.71.0 + SHA512 7ed3e0e63fc2f63e0972ce838736cad883617d759d8ea54122b7fabfd0b6c9aadc3d5d5c50a9738353a905a88f23bb8dd40e12efd431a53f51cf17e3ccf602f8 HEAD_REF master ) diff --git a/ports/boost-lambda/CONTROL b/ports/boost-lambda/CONTROL index 645334323..533229896 100644 --- a/ports/boost-lambda/CONTROL +++ b/ports/boost-lambda/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-lambda -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-bind, boost-config, boost-detail, boost-mpl, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/lambda Description: Boost lambda module diff --git a/ports/boost-lambda/portfile.cmake b/ports/boost-lambda/portfile.cmake index d9ba5ff5b..688024a7b 100644 --- a/ports/boost-lambda/portfile.cmake +++ b/ports/boost-lambda/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lambda - REF boost-1.70.0 - SHA512 165b91102f0e344e4b3c58a6b1ead403613aaff9262d85fd8286640977aced9a9f1814e7cd8cd609769f6a15333aeb40b2aaa0705c2746e19b107283792a9e84 + REF boost-1.71.0 + SHA512 222f8b6b877c0229793c97b84c8e55edfeb8c2bd21ac5f759132ff12413d064be6ffae3015e2c2c6f2c42bcb5386124eb553a494f25fbfa07633a9a43d0fa626 HEAD_REF master ) diff --git a/ports/boost-lexical-cast/CONTROL b/ports/boost-lexical-cast/CONTROL index 9ca38af91..32b74dcc3 100644 --- a/ports/boost-lexical-cast/CONTROL +++ b/ports/boost-lexical-cast/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-lexical-cast -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-assert, boost-compatibility, boost-config, boost-container, boost-core, boost-detail, boost-integer, boost-numeric-conversion, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/lexical_cast Description: Boost lexical_cast module diff --git a/ports/boost-lexical-cast/portfile.cmake b/ports/boost-lexical-cast/portfile.cmake index f203f29fd..fbcfe7054 100644 --- a/ports/boost-lexical-cast/portfile.cmake +++ b/ports/boost-lexical-cast/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lexical_cast - REF boost-1.70.0 - SHA512 20ff9790aa02177bb693a2c1bfd588725150a47cacb2d1048121982a6a2702e6dee30dcb3b4b3ae9c1dca269d144a08a085b0e229a9e2fbf0f7ae9b8ef25d31a + REF boost-1.71.0 + SHA512 68b95cedb0b2336a2c6d221a1e66587c0c9d0db2a2219f3c422ed55ecee24c1bb6014b773385c68618544b0c93da399e37978d13e211dfa323cdebe5c9f87513 HEAD_REF master ) diff --git a/ports/boost-local-function/CONTROL b/ports/boost-local-function/CONTROL index b00904108..9b2fb1aa6 100644 --- a/ports/boost-local-function/CONTROL +++ b/ports/boost-local-function/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-local-function -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-mpl, boost-preprocessor, boost-scope-exit, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/local_function Description: Boost local_function module diff --git a/ports/boost-local-function/portfile.cmake b/ports/boost-local-function/portfile.cmake index d2b504817..e265d421a 100644 --- a/ports/boost-local-function/portfile.cmake +++ b/ports/boost-local-function/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/local_function - REF boost-1.70.0 - SHA512 7debd9d083fedd8446e98565bcc2fcab5091ba931166030143abef2351918f8a46a83a004b28e5ab4b413101052036424ec82d7b99428bc0e07660722e2c50c4 + REF boost-1.71.0 + SHA512 9e4e08e1aac0db4f2db946de9b94152437423f1c514cb1d9cd8f5b81c18fa41bce832b8936efd4bab0357a0d1c1f2254205ace649afd879b9679c7868e0041d4 HEAD_REF master ) diff --git a/ports/boost-locale/CONTROL b/ports/boost-locale/CONTROL index d2b5a4e5a..8768a4c1c 100644 --- a/ports/boost-locale/CONTROL +++ b/ports/boost-locale/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-locale -Version: 1.70.0-2 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-config, boost-function, boost-integer, boost-iterator, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-system, boost-thread, boost-type-traits, boost-unordered, boost-vcpkg-helpers, libiconv (!uwp&!windows) Homepage: https://github.com/boostorg/locale Description: Boost locale module diff --git a/ports/boost-locale/portfile.cmake b/ports/boost-locale/portfile.cmake index 8643ce7ef..13cdd2e41 100644 --- a/ports/boost-locale/portfile.cmake +++ b/ports/boost-locale/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/locale - REF boost-1.70.0 - SHA512 38ae2619d6b63239930e04f986a2bc06bd3c5ab6e13d7825c2b6eb29eb9eb2f52d74546774b9eb0ba3a4e68a4d404908386794282c2f467e8b01baea8f24fb42 + REF boost-1.71.0 + SHA512 392663718ca3cc2076c675701a6df61836a4bce25d48391c7e59dabe23dbcb365f496b9f44ffe2722bb8bcf60e7b93fd313418e9bbad4a84ac38d596c6b767e4 HEAD_REF master ) diff --git a/ports/boost-lockfree/CONTROL b/ports/boost-lockfree/CONTROL index c7346cf6d..874050769 100644 --- a/ports/boost-lockfree/CONTROL +++ b/ports/boost-lockfree/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-lockfree -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-align, boost-array, boost-assert, boost-atomic, boost-config, boost-core, boost-integer, boost-mpl, boost-parameter, boost-predef, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/lockfree Description: Boost lockfree module diff --git a/ports/boost-lockfree/portfile.cmake b/ports/boost-lockfree/portfile.cmake index 99330838f..bf536e555 100644 --- a/ports/boost-lockfree/portfile.cmake +++ b/ports/boost-lockfree/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/lockfree - REF boost-1.70.0 - SHA512 565539cffb0b688b02cb86b750fb9854e0d0f7a34c5dca859d5965ccee8512c5e6db493e8f7bcdf3c58b3ec2730852ad79089e7717183f358b07c0c743186c5f + REF boost-1.71.0 + SHA512 b7385d67291dcc2a9dc8b98e2ed31f43a203b74c3d2a8a9247b4c1c18545285a04abc17fd3204e6189f1629932da028ac81c263b4a283451cefec85821c9708e HEAD_REF master ) diff --git a/ports/boost-log/CONTROL b/ports/boost-log/CONTROL index bb1ce3954..1b278419e 100644 --- a/ports/boost-log/CONTROL +++ b/ports/boost-log/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-log -Version: 1.70.0 -Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (!uwp), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread (!arm), boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive +Version: 1.71.0 +Build-Depends: boost-align, boost-array, boost-asio, boost-assert, boost-atomic, boost-bind, boost-build, boost-compatibility, boost-config, boost-container, boost-core, boost-date-time, boost-detail, boost-exception, boost-filesystem (!uwp), boost-function-types, boost-fusion, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-parameter, boost-phoenix, boost-predef, boost-preprocessor, boost-property-tree, boost-proto, boost-random, boost-range, boost-regex, boost-smart-ptr, boost-spirit, boost-static-assert, boost-system, boost-thread, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi, boost-xpressive Homepage: https://github.com/boostorg/log Description: Boost log module diff --git a/ports/boost-log/portfile.cmake b/ports/boost-log/portfile.cmake index 968508e9e..701bac981 100644 --- a/ports/boost-log/portfile.cmake +++ b/ports/boost-log/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/log - REF boost-1.70.0 - SHA512 6f1b2a7692ece60abf94cdc340cc2b5b2a6c4ebeb80c4092b7846a7670e19db174f7c0df02640469e07e916b5d37448c73c73bcb14bb1632c26204a0a1274e1a + REF boost-1.71.0 + SHA512 ef3811c08e6fe9aa33ef46ca681b0b6e4c490bb99f7f0e53c100ca232ff29cf32db7c64928737347003578c91f5d3682547dc2305fbfe6d3771afd16e65b5e7e HEAD_REF master ) diff --git a/ports/boost-logic/CONTROL b/ports/boost-logic/CONTROL index 7d6f02fbb..acfc7cc4a 100644 --- a/ports/boost-logic/CONTROL +++ b/ports/boost-logic/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-logic -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/logic Description: Boost logic module diff --git a/ports/boost-logic/portfile.cmake b/ports/boost-logic/portfile.cmake index 41fb1432b..567cf160a 100644 --- a/ports/boost-logic/portfile.cmake +++ b/ports/boost-logic/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/logic - REF boost-1.70.0 - SHA512 6cf4e2fa0c63de2c226a2f57ed57d07ab73cc359ebf23711b636badb9a6924992ea9edc0f9bfeefd15531ca2d06bdb3667b49bcc2f9deec64af6eafd52e944d5 + REF boost-1.71.0 + SHA512 ba9946a7abfe04d81336b8bdd63675afd5eb848624669058e38dfecb0be3f2fa5fdef690edabd6e6596e1df466bcb565a784720c6e7e9abc98d8b15e2fb3ce5b HEAD_REF master ) diff --git a/ports/boost-math/CONTROL b/ports/boost-math/CONTROL index a1ddd7c94..df5c1fbea 100644 --- a/ports/boost-math/CONTROL +++ b/ports/boost-math/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-math -Version: 1.70.0 -Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-modular-build-helper, boost-mpl, boost-multiprecision, boost-predef, boost-range, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-array, boost-assert, boost-atomic, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-fusion, boost-integer, boost-lambda, boost-lexical-cast, boost-modular-build-helper, boost-mp11, boost-mpl, boost-multiprecision, boost-predef, boost-range, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/math Description: Boost math module diff --git a/ports/boost-math/portfile.cmake b/ports/boost-math/portfile.cmake index 8938bfe9f..ef1636f46 100644 --- a/ports/boost-math/portfile.cmake +++ b/ports/boost-math/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/math - REF boost-1.70.0 - SHA512 5573dc445196383ddb622514b5ea645076e1b2b94165d885c7c8924fc5d469d5f1c030817b36d9e7be78b47785a69bbcdac2da8f88817f1cd33ff47ded33dc70 + REF boost-1.71.0 + SHA512 b6c21f8f7501bf8df2a7b9b4cb23bb10a4852041bd5c4692f6cceee371acce4e19713aaccbaddbaab0f3d08d6607d3e41c6f82b105728686bc382369c4ba897d HEAD_REF master ) diff --git a/ports/boost-metaparse/CONTROL b/ports/boost-metaparse/CONTROL index d5fd14428..0e7ccd18f 100644 --- a/ports/boost-metaparse/CONTROL +++ b/ports/boost-metaparse/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-metaparse -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-mpl, boost-predef, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/metaparse Description: Boost metaparse module diff --git a/ports/boost-metaparse/portfile.cmake b/ports/boost-metaparse/portfile.cmake index 13274cdde..a9cd7137d 100644 --- a/ports/boost-metaparse/portfile.cmake +++ b/ports/boost-metaparse/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/metaparse - REF boost-1.70.0 - SHA512 dd8883843be1a6e3dc8368b13081fc3451de0ed85985cf752858d80aa62e0846b4687c16a6aa1b6dc1e5e30d0603168c48197f70f031cf21586ba729352f0f09 + REF boost-1.71.0 + SHA512 3a3d2dc57151c57426c4a4f7bd4543714dc44e1792f2400ff5629938d187a64ec4a86d1133f2773c19000eddbbcaa52f06e0d3ea5cfa8cf0fb5adf8a6ada47ca HEAD_REF master ) diff --git a/ports/boost-modular-build-helper/CONTROL b/ports/boost-modular-build-helper/CONTROL index c72ccb307..4e75f8607 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 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 93e4b457f..c3464bf2d 100644 --- a/ports/boost-modular-build-helper/boost-modular-build.cmake +++ b/ports/boost-modular-build-helper/boost-modular-build.cmake @@ -149,8 +149,8 @@ function(boost_modular_build) --ignore-site-config --hash -q - -sZLIB_INCLUDE="${CURRENT_INSTALLED_DIR}/include" - -sBZIP2_INCLUDE="${CURRENT_INSTALLED_DIR}/include" + "-sZLIB_INCLUDE=${CURRENT_INSTALLED_DIR}/include" + "-sBZIP2_INCLUDE=${CURRENT_INSTALLED_DIR}/include" threading=multi ) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") @@ -160,55 +160,55 @@ function(boost_modular_build) endif() set(_bm_OPTIONS_DBG -sZLIB_BINARY=zlibd - -sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}/debug/lib" + "-sZLIB_LIBPATH=${CURRENT_INSTALLED_DIR}/debug/lib" -sBZIP2_BINARY=bz2d - -sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}/debug/lib" + "-sBZIP2_LIBPATH=${CURRENT_INSTALLED_DIR}/debug/lib" ) set(_bm_OPTIONS_REL -sZLIB_BINARY=zlib - -sZLIB_LIBPATH="${CURRENT_INSTALLED_DIR}/lib" + "-sZLIB_LIBPATH=${CURRENT_INSTALLED_DIR}/lib" -sBZIP2_BINARY=bz2 - -sBZIP2_LIBPATH="${CURRENT_INSTALLED_DIR}/lib" + "-sBZIP2_LIBPATH=${CURRENT_INSTALLED_DIR}/lib" ) # Properly handle compiler and linker flags passed by VCPKG if(VCPKG_CXX_FLAGS) - list(APPEND _bm_OPTIONS cxxflags="${VCPKG_CXX_FLAGS}") + list(APPEND _bm_OPTIONS "cxxflags=${VCPKG_CXX_FLAGS}") endif() if(VCPKG_CXX_FLAGS_RELEASE) - list(APPEND _bm_OPTIONS_REL cxxflags="${VCPKG_CXX_FLAGS_RELEASE}") + list(APPEND _bm_OPTIONS_REL "cxxflags=${VCPKG_CXX_FLAGS_RELEASE}") endif() if(VCPKG_CXX_FLAGS_DEBUG) - list(APPEND _bm_OPTIONS_DBG cxxflags="${VCPKG_CXX_FLAGS_DEBUG}") + list(APPEND _bm_OPTIONS_DBG "cxxflags=${VCPKG_CXX_FLAGS_DEBUG}") endif() if(VCPKG_C_FLAGS) - list(APPEND _bm_OPTIONS cflags="${VCPKG_C_FLAGS}") + list(APPEND _bm_OPTIONS "cflags=${VCPKG_C_FLAGS}") endif() if(VCPKG_C_FLAGS_RELEASE) - list(APPEND _bm_OPTIONS_REL cflags="${VCPKG_C_FLAGS_RELEASE}") + list(APPEND _bm_OPTIONS_REL "cflags=${VCPKG_C_FLAGS_RELEASE}") endif() if(VCPKG_C_FLAGS_DEBUG) - list(APPEND _bm_OPTIONS_DBG cflags="${VCPKG_C_FLAGS_DEBUG}") + list(APPEND _bm_OPTIONS_DBG "cflags=${VCPKG_C_FLAGS_DEBUG}") endif() if(VCPKG_LINKER_FLAGS) - list(APPEND _bm_OPTIONS linkflags="${VCPKG_LINKER_FLAGS}") + list(APPEND _bm_OPTIONS "linkflags=${VCPKG_LINKER_FLAGS}") endif() if(VCPKG_LINKER_FLAGS_RELEASE) - list(APPEND _bm_OPTIONS_REL linkflags="${VCPKG_LINKER_FLAGS_RELEASE}") + list(APPEND _bm_OPTIONS_REL "linkflags=${VCPKG_LINKER_FLAGS_RELEASE}") endif() if(VCPKG_LINKER_FLAGS_DEBUG) - list(APPEND _bm_OPTIONS_DBG linkflags="${VCPKG_LINKER_FLAGS_DEBUG}") + list(APPEND _bm_OPTIONS_DBG "linkflags=${VCPKG_LINKER_FLAGS_DEBUG}") endif() @@ -251,9 +251,9 @@ function(boost_modular_build) endif() endif() file(TO_NATIVE_PATH "${PLATFORM_WINMD_DIR}" PLATFORM_WINMD_DIR) - string(REPLACE "\\" "\\\\" PLATFORM_WINMD_DIR ${PLATFORM_WINMD_DIR}) # escape backslashes + string(REPLACE "\\" "/" PLATFORM_WINMD_DIR ${PLATFORM_WINMD_DIR}) # escape backslashes - set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} -Zl \"/AI\"${PLATFORM_WINMD_DIR}\"\" WindowsApp.lib /ZW -DVirtualAlloc=VirtualAllocFromApp -D_WIN32_WINNT=0x0A00") + set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} -Zl \"/AI${PLATFORM_WINMD_DIR}\" WindowsApp.lib /ZW -DVirtualAlloc=VirtualAllocFromApp -D_WIN32_WINNT=0x0A00") else() set(TOOLSET_OPTIONS "${TOOLSET_OPTIONS} -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/boost-move/CONTROL b/ports/boost-move/CONTROL index 90b2f4a60..8b9272314 100644 --- a/ports/boost-move/CONTROL +++ b/ports/boost-move/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-move -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-static-assert, boost-vcpkg-helpers Homepage: https://github.com/boostorg/move Description: Boost move module diff --git a/ports/boost-move/portfile.cmake b/ports/boost-move/portfile.cmake index a36d02705..95ff4310c 100644 --- a/ports/boost-move/portfile.cmake +++ b/ports/boost-move/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/move - REF boost-1.70.0 - SHA512 09291516819adcfed88c490607a865c6ef4beadac9ee4f948bab90e8fc4f04d958de4601ffff1c9da19793eac6de68b0dd5dfa541cb6a5182d9246d5b06d80d4 + REF boost-1.71.0 + SHA512 658b6420f783cba796480444000d31d81bdf267c303c7c60498589979b71d146307f4352de5208ab74e007b31783db34fd00f6fc7ccae7bbe8d8bfb92d87e5ba HEAD_REF master ) diff --git a/ports/boost-mp11/CONTROL b/ports/boost-mp11/CONTROL index 3ae9d9e6f..f92a6e91b 100644 --- a/ports/boost-mp11/CONTROL +++ b/ports/boost-mp11/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-mp11 -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/mp11 Description: Boost mp11 module diff --git a/ports/boost-mp11/portfile.cmake b/ports/boost-mp11/portfile.cmake index e0979c6a2..8bebd662b 100644 --- a/ports/boost-mp11/portfile.cmake +++ b/ports/boost-mp11/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mp11 - REF boost-1.70.0 - SHA512 d09415d5c69a1960c8af3c3e63a61aef62d2a35f00fe42e8dd8ad3eeb2f13eed48e0710485f444e79cfd7ab2fa3f72535e01d9b97337c89328b961fa20aeb047 + REF boost-1.71.0 + SHA512 4038432aa106867b0fce44610d4087c937284e01359bee82376a97087ff113c40dc2d807f841eae5a7f1df59ffd8c12ff45aa73e7c577bf19d4ed9da87955bfb HEAD_REF master ) diff --git a/ports/boost-mpi/CONTROL b/ports/boost-mpi/CONTROL index 3e788cd09..b2ca05b74 100644 --- a/ports/boost-mpi/CONTROL +++ b/ports/boost-mpi/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-mpi -Version: 1.70.0-1 -Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, msmpi +Version: 1.71.0-1 +Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-optional, boost-property-map, boost-python (windows), boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers, mpi Homepage: https://github.com/boostorg/mpi Description: Boost mpi module diff --git a/ports/boost-mpi/portfile.cmake b/ports/boost-mpi/portfile.cmake index 76a92ac7c..1c1a33280 100644 --- a/ports/boost-mpi/portfile.cmake +++ b/ports/boost-mpi/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mpi - REF boost-1.70.0 - SHA512 be8c7abd31335b7290969179d95525855b11f79cacda0ee6d42d8fe130cbeec0768a8418b59ad1ad54c6e36a445622bd289aaabd74de297f576c70c90a871d7f + REF boost-1.71.0 + SHA512 caead0d5e38c01bc4ceb89b71dbbbacea1ae29476067e0826ede503e3e3269fef3ca66c7883554b9c3c8348081277a4b9cdfb790df022e05f70df4400b34fd76 HEAD_REF master ) diff --git a/ports/boost-mpl/CONTROL b/ports/boost-mpl/CONTROL index d29e93e4d..38de91865 100644 --- a/ports/boost-mpl/CONTROL +++ b/ports/boost-mpl/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-mpl -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-detail, boost-predef, boost-preprocessor, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/mpl Description: Boost mpl module diff --git a/ports/boost-mpl/portfile.cmake b/ports/boost-mpl/portfile.cmake index e33bcbfc7..9f37d3097 100644 --- a/ports/boost-mpl/portfile.cmake +++ b/ports/boost-mpl/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/mpl - REF boost-1.70.0 - SHA512 3691a6ff9e31d8c7ee3010e2c3a6d806e02e2e71ff05e422bc7c17cf774a0a8ceb650f315bd8939275529f0c24f19df3efcd31b677894ea2c1af251b9ab20b3e + REF boost-1.71.0 + SHA512 2f88d6e2b86fdf1f6725ec051658891e939bb6726ef19d5ecce5d8e66a9a82f04e2d5e1e870f0555afbc7498881d838d962701ce86f5c8d4888096a88387e88e HEAD_REF master ) diff --git a/ports/boost-msm/CONTROL b/ports/boost-msm/CONTROL index 6f9e70094..952145fb2 100644 --- a/ports/boost-msm/CONTROL +++ b/ports/boost-msm/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-msm -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-circular-buffer, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-parameter, boost-phoenix, boost-preprocessor, boost-proto, boost-serialization, boost-tuple, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/msm Description: Boost msm module diff --git a/ports/boost-msm/portfile.cmake b/ports/boost-msm/portfile.cmake index 16ec20b85..c0202bd13 100644 --- a/ports/boost-msm/portfile.cmake +++ b/ports/boost-msm/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/msm - REF boost-1.70.0 - SHA512 3e91a5be7bf9018c411902ebc6dd1c576a17f7d298ac3694073c12a003cb872fbde4756fbfb113d60d39dad6f683749cef26e21758c96967b06c34f31410467a + REF boost-1.71.0 + SHA512 0c8f993b49a7ace6e5ef0b64e155d2b87c38a6f6d19748175b10145573c035d95d4d6da71feffc4b85953ebe9c0d7332c269f6870b3af0e8e2af4f8ee6037e31 HEAD_REF master ) diff --git a/ports/boost-multi-array/CONTROL b/ports/boost-multi-array/CONTROL index 6250f68ad..a35722972 100644 --- a/ports/boost-multi-array/CONTROL +++ b/ports/boost-multi-array/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-multi-array -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-compatibility, boost-config, boost-vcpkg-helpers Homepage: https://github.com/boostorg/multi_array Description: Boost multi_array module diff --git a/ports/boost-multi-array/portfile.cmake b/ports/boost-multi-array/portfile.cmake index 5285174aa..f5d65cbdd 100644 --- a/ports/boost-multi-array/portfile.cmake +++ b/ports/boost-multi-array/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multi_array - REF boost-1.70.0 - SHA512 16e0468e94d8691d6b808364c3b75063f0f0b5b27495bad9cd8fc8029b72bd272b23d82ad6003c8ab4ffc1fef8aef6871c3492c639ab0628130eb7e72183235e + REF boost-1.71.0 + SHA512 494bfcbb1d8b91fc3be8135011b8f1995c7fa6644137927a02f46eef6e83a737795d90415b4e6fa83e8ac49d6378a0609a305253bc3ab673adc6c7f80b1a4ee2 HEAD_REF master ) diff --git a/ports/boost-multi-index/CONTROL b/ports/boost-multi-index/CONTROL index 19a250e3e..9e5804388 100644 --- a/ports/boost-multi-index/CONTROL +++ b/ports/boost-multi-index/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-multi-index -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-bind, boost-compatibility, boost-config, boost-container-hash, boost-core, boost-detail, boost-foreach, boost-functional, boost-integer, boost-iterator, boost-move, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/multi_index Description: Boost multi_index module diff --git a/ports/boost-multi-index/portfile.cmake b/ports/boost-multi-index/portfile.cmake index f928aaec7..83e194e60 100644 --- a/ports/boost-multi-index/portfile.cmake +++ b/ports/boost-multi-index/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multi_index - REF boost-1.70.0 - SHA512 2068a3f7b493dcb5d3658e6c5d0134bd8009c90bea590fa97cc78d5b86386cfa42bb98a30b06c85270c2440ccc9aa092ec78fb9227bc9c90ad4e2d7480773e32 + REF boost-1.71.0 + SHA512 badc98f5e774517b3582bb48e0c59575f02ac8d433dce447c4e0061272a896084e691dc9f18dfbe00c7cd19328267e1b716d05f4f624fa3ef2fdaa93cdfc11df HEAD_REF master ) diff --git a/ports/boost-multiprecision/CONTROL b/ports/boost-multiprecision/CONTROL index 49d3fb4f0..4c16c755d 100644 --- a/ports/boost-multiprecision/CONTROL +++ b/ports/boost-multiprecision/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-multiprecision -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-assert, boost-config, boost-container-hash, boost-core, boost-functional, boost-integer, boost-lexical-cast, boost-mpl, boost-predef, boost-rational, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/multiprecision Description: Boost multiprecision module diff --git a/ports/boost-multiprecision/portfile.cmake b/ports/boost-multiprecision/portfile.cmake index f6d1a3b5f..b652ef470 100644 --- a/ports/boost-multiprecision/portfile.cmake +++ b/ports/boost-multiprecision/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/multiprecision - REF boost-1.70.0 - SHA512 a583b0df0855146ad0ee841cfc9ad646be89b38cf0d895d9ba69f4e5b2013887343863678bfbaed055b55c54d2ebe4026dc38f2dc021b8c7f9f18bf540d9189c + REF boost-1.71.0 + SHA512 d76a7373d6703e06eb987c5ede9cd23ab9167ddd56cb462ca75aa454f6fd9227ae790ec499ac088aa73e3741f3354069ad54333dfb50eb3dce4cc839d97d84cd HEAD_REF master ) diff --git a/ports/boost-numeric-conversion/CONTROL b/ports/boost-numeric-conversion/CONTROL index 702c4f5de..c1a3cc101 100644 --- a/ports/boost-numeric-conversion/CONTROL +++ b/ports/boost-numeric-conversion/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-numeric-conversion -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/numeric_conversion Description: Boost numeric_conversion module diff --git a/ports/boost-numeric-conversion/portfile.cmake b/ports/boost-numeric-conversion/portfile.cmake index 8a71be47d..cbf69055c 100644 --- a/ports/boost-numeric-conversion/portfile.cmake +++ b/ports/boost-numeric-conversion/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/numeric_conversion - REF boost-1.70.0 - SHA512 05a936bd820c40a9ddf84f5c05790aa13191ff00ab2232a046bbef11bc0adb0eb60ec630ab9397ca841d7b12d74a74ca2c7b53c33780db8e9607b4b757fd901e + REF boost-1.71.0 + SHA512 1b0dec311341750a1a3d3e382735481e7f1a80eb0217d25f6d668743e516831a4d382c58e2b5b747c08bd835e002a273e31d166101378d47076361c3826386d6 HEAD_REF master ) diff --git a/ports/boost-odeint/CONTROL b/ports/boost-odeint/CONTROL index a4c0381f7..a03cffb2c 100644 --- a/ports/boost-odeint/CONTROL +++ b/ports/boost-odeint/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-odeint -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-assert, boost-bind, boost-compute, boost-config, boost-core, boost-function, boost-fusion, boost-iterator, boost-math, boost-mpl, boost-multi-array, boost-preprocessor, boost-range, boost-static-assert, boost-throw-exception, boost-type-traits, boost-units, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/odeint Description: Boost odeint module diff --git a/ports/boost-odeint/portfile.cmake b/ports/boost-odeint/portfile.cmake index 91b9ce949..0dbde5fd3 100644 --- a/ports/boost-odeint/portfile.cmake +++ b/ports/boost-odeint/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/odeint - REF boost-1.70.0 - SHA512 1edcd84ee3f9bb8a421971285fe18b6b30af720042f80e87d6178682bb2ec7163185be08e7648f2bb944562f9abafe8bf34fe520412b7f1bd02e7195670c964b + REF boost-1.71.0 + SHA512 a3e0154fc06ae7dd9c84b664620f3d9d7acda5cffe1ebcb92d7e554db86e5ec97b1752370aafc41996f41e40e71b7ef41c4379b5d6350f2279992303555b3c1f HEAD_REF master ) diff --git a/ports/boost-optional/CONTROL b/ports/boost-optional/CONTROL index b97a5df25..b3a940275 100644 --- a/ports/boost-optional/CONTROL +++ b/ports/boost-optional/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-optional -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-move, boost-predef, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/optional Description: Boost optional module diff --git a/ports/boost-optional/portfile.cmake b/ports/boost-optional/portfile.cmake index cb2556c23..bb8445b34 100644 --- a/ports/boost-optional/portfile.cmake +++ b/ports/boost-optional/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/optional - REF boost-1.70.0 - SHA512 739fea7e373aa651268db2712cc2fb4ca18dce8c93626aa05f89657ae89b16ff755c1994d336ec7e72991120b01c9fed0310591cf78dc25c02bf42ce2b947a67 + REF boost-1.71.0 + SHA512 edb80c77c51bc13fff545ab9fca2ab59f5f07cf9695954c143e9342db1f1d9e0a3100f861a1f1b807f5d8c42d3364d84617e50874123280c603c070755ea573d HEAD_REF master ) diff --git a/ports/boost-outcome/CONTROL b/ports/boost-outcome/CONTROL index c97930c08..db43107e3 100644 --- a/ports/boost-outcome/CONTROL +++ b/ports/boost-outcome/CONTROL @@ -1,5 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-outcome -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-throw-exception, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/outcome Description: Boost outcome module diff --git a/ports/boost-outcome/portfile.cmake b/ports/boost-outcome/portfile.cmake index c715bafb0..144329fab 100644 --- a/ports/boost-outcome/portfile.cmake +++ b/ports/boost-outcome/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/outcome - REF boost-1.70.0 - SHA512 7741d0aca8dd352a530f3b6a6878de492b5aca7f3ade7a86f17fa971dc054616dab0bb10c8d304a298b3e065ca16ab7dcd192d0fec4aaf237ed391390a93a0a8 + REF boost-1.71.0 + SHA512 cc0c0ff4d88545829ac02b5a19c00705273803ca2fb21603f8176d7a21de646137166dc488a7cf5a667469b067b1c5fab5d070c34e710d5461f6dc04817fa8b0 HEAD_REF master ) diff --git a/ports/boost-parameter-python/CONTROL b/ports/boost-parameter-python/CONTROL index 3f047968d..db5520b14 100644 --- a/ports/boost-parameter-python/CONTROL +++ b/ports/boost-parameter-python/CONTROL @@ -1,5 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-parameter-python -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-mpl, boost-parameter, boost-preprocessor, boost-python (windows), boost-vcpkg-helpers +Homepage: https://github.com/boostorg/parameter_python Description: Boost parameter_python module diff --git a/ports/boost-parameter-python/portfile.cmake b/ports/boost-parameter-python/portfile.cmake index e29f53f51..d34e702e9 100644 --- a/ports/boost-parameter-python/portfile.cmake +++ b/ports/boost-parameter-python/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/parameter_python - REF boost-1.70.0 - SHA512 d2f43ca744bedfdeda806c0d1b24216f4926401059450d12485dc2175e8731991476c1bb530d28c631d9bc034c7ce184b62daffe0c3a6449fc619ff5e3e4e2cb + REF boost-1.71.0 + SHA512 df16b17b61d2f2482da4403162462db756fd903baa1cd5965736e76911339d867a22d09f3ef7f0d3fac0f2257552f12f0d21fcb6798c6cf1351fbe09d38793e4 HEAD_REF master ) diff --git a/ports/boost-parameter/CONTROL b/ports/boost-parameter/CONTROL index 0e11e2e8b..8eab29c9a 100644 --- a/ports/boost-parameter/CONTROL +++ b/ports/boost-parameter/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-parameter -Version: 1.70.0 -Build-Depends: boost-config, boost-detail, boost-mpl, boost-optional, boost-preprocessor, boost-type-traits, boost-utility, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-config, boost-core, boost-function, boost-fusion, boost-mp11, boost-mpl, boost-optional, boost-preprocessor, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/parameter Description: Boost parameter module diff --git a/ports/boost-parameter/portfile.cmake b/ports/boost-parameter/portfile.cmake index d3ba3c0e0..863af8277 100644 --- a/ports/boost-parameter/portfile.cmake +++ b/ports/boost-parameter/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/parameter - REF boost-1.70.0 - SHA512 a923427630563ebd77c0cdbbda37a4288e375f2ba1315a5596e8711b8854fb23e6984e88e1108b44cf6a909f6f8acc80867a34f86aed7ea6a18dbd766a93cc1a + REF boost-1.71.0 + SHA512 a25a0697c0441d59b316fab395214544726364cd11daefc376cd01d908aeb4b62d38c9dbe936f6e4ca8c5614b77c7c9fecc182691ef6917ebf95d924211e997e HEAD_REF master ) diff --git a/ports/boost-phoenix/CONTROL b/ports/boost-phoenix/CONTROL index 4ef5e2b67..cc02a337e 100644 --- a/ports/boost-phoenix/CONTROL +++ b/ports/boost-phoenix/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-phoenix -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-fusion, boost-mpl, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/phoenix Description: Boost phoenix module diff --git a/ports/boost-phoenix/portfile.cmake b/ports/boost-phoenix/portfile.cmake index eb5f0dffb..a9d1a42b3 100644 --- a/ports/boost-phoenix/portfile.cmake +++ b/ports/boost-phoenix/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/phoenix - REF boost-1.70.0 - SHA512 d8e42ecd1e93fc3e48a1b1f0de9d2054f73e5d591da71af09f664b94edfa612ff377c20d2d913ed3790bca4d5ff74d176c50e298f979c88e5db5bf80ea239f2d + REF boost-1.71.0 + SHA512 c516f30628a4f087ab7165be4a75925f85431389c7af62a080bbb65ecc9522eee7dbbf89affddff75843fb79f46e192600450f19594323e886e7e0445c349e3b HEAD_REF master ) diff --git a/ports/boost-poly-collection/CONTROL b/ports/boost-poly-collection/CONTROL index eccbe4835..1bea612fb 100644 --- a/ports/boost-poly-collection/CONTROL +++ b/ports/boost-poly-collection/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-poly-collection -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-iterator, boost-mp11, boost-mpl, boost-type-erasure (!arm), boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/poly_collection Description: Boost poly_collection module diff --git a/ports/boost-poly-collection/portfile.cmake b/ports/boost-poly-collection/portfile.cmake index 9119ffba5..086cae189 100644 --- a/ports/boost-poly-collection/portfile.cmake +++ b/ports/boost-poly-collection/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/poly_collection - REF boost-1.70.0 - SHA512 c3ea37138000ed584ab1cc17441be7bce0962e542b9cf2af6cf3c76d78a9905e42d4ab6c32506ff7dbb44a25e8def60223c6075bc4b39e523d9c0b9fbf6cabb3 + REF boost-1.71.0 + SHA512 8c4c45f9e7d3dac4fe2abfb79c7ba8035d85077fa59c37938f0375e3bb9543a4163e6aaf2d511cf9178f2f59ac1632acc2a2c2901b24f3b9dfdcfbe3d206f916 HEAD_REF master ) diff --git a/ports/boost-polygon/CONTROL b/ports/boost-polygon/CONTROL index 1f0f0bc12..65ded4cd5 100644 --- a/ports/boost-polygon/CONTROL +++ b/ports/boost-polygon/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-polygon -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-integer, boost-vcpkg-helpers Homepage: https://github.com/boostorg/polygon Description: Boost polygon module diff --git a/ports/boost-polygon/portfile.cmake b/ports/boost-polygon/portfile.cmake index a8945fc3c..f0c8d8368 100644 --- a/ports/boost-polygon/portfile.cmake +++ b/ports/boost-polygon/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/polygon - REF boost-1.70.0 - SHA512 c4d07fc5a419442e614376197611d131ae05cb25127bb3e300e0e9eb5c1336b2bae99522460b69a61dfd05e5e4785cf9b0a33b61fa199c738a9e16cbde3c34d7 + REF boost-1.71.0 + SHA512 6b377bd22d9928bd460e4b1ec8894007c542e9b26c4d910e85eb1aae47bafc46260efa0e9d623064469838783ccedd811f8d4c9585d041cad938b75b43b87383 HEAD_REF master ) diff --git a/ports/boost-pool/CONTROL b/ports/boost-pool/CONTROL index 95fff6e7d..e4a6fd416 100644 --- a/ports/boost-pool/CONTROL +++ b/ports/boost-pool/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-pool -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-detail, boost-integer, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/pool Description: Boost pool module diff --git a/ports/boost-pool/portfile.cmake b/ports/boost-pool/portfile.cmake index 72c3df4e0..104a90c51 100644 --- a/ports/boost-pool/portfile.cmake +++ b/ports/boost-pool/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/pool - REF boost-1.70.0 - SHA512 035a8fb9a0b4f4983a1da755182183ea636da4a87c58c9a9aa0e5b7f52eb4ac72c089cb34ca217a3bb7feb8475d3aafed78a7ab910078c11f4db5740809fe290 + REF boost-1.71.0 + SHA512 1e338e42a0d58338d75777e640e669c47359e62e3c1e5689e91aa6cc853e892ff88fb1f4fbae2b21365fee23b614531301e0f9e60d1a67824b413823948e35a6 HEAD_REF master ) diff --git a/ports/boost-predef/CONTROL b/ports/boost-predef/CONTROL index 018f5737c..c10c5bae5 100644 --- a/ports/boost-predef/CONTROL +++ b/ports/boost-predef/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-predef -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/predef Description: Boost predef module diff --git a/ports/boost-predef/portfile.cmake b/ports/boost-predef/portfile.cmake index 489c5b7c7..2a7e670da 100644 --- a/ports/boost-predef/portfile.cmake +++ b/ports/boost-predef/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/predef - REF boost-1.70.0 - SHA512 2ff61f1beb2745151f64b2d63c0eedd5edad885c9561abde6464c470bc8b79ad5b61c9e949992ebde3ce877db0c24760cedacbdc87e86ca11bf5b0f2ca5fbeb2 + REF boost-1.71.0 + SHA512 03c38d4ce0956810efbbcfb2f278214facc9efd8c308f9d83ad196af058addb480c8c515a7130bb2a7d481971d388000dfa35c79ab097e7f1d7864a2cc193b88 HEAD_REF master ) diff --git a/ports/boost-preprocessor/CONTROL b/ports/boost-preprocessor/CONTROL index 6eacdff96..d5ccb74c1 100644 --- a/ports/boost-preprocessor/CONTROL +++ b/ports/boost-preprocessor/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-preprocessor -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-vcpkg-helpers Homepage: https://github.com/boostorg/preprocessor Description: Boost preprocessor module diff --git a/ports/boost-preprocessor/portfile.cmake b/ports/boost-preprocessor/portfile.cmake index 712b4a73b..dcf794b92 100644 --- a/ports/boost-preprocessor/portfile.cmake +++ b/ports/boost-preprocessor/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/preprocessor - REF boost-1.70.0 - SHA512 e5a0b7995e2be1aade07cfa0543d28cb90ea3704c745adb6db6095332150c588d48260c47990ba38f8d860d2964b87ef023f4958c6b67f9102e8bb877e1de95f + REF boost-1.71.0 + SHA512 26e008c8831151f61556a5d26795b7eca1e4c4ad94c72133f7e5c84c30648cd5627713563afc4f54ee42308e9980837dc690ac7990aba33d32082365bec153e8 HEAD_REF master ) diff --git a/ports/boost-process/CONTROL b/ports/boost-process/CONTROL index 36d5b8ca6..864a78d77 100644 --- a/ports/boost-process/CONTROL +++ b/ports/boost-process/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-process -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-algorithm, boost-asio, boost-config, boost-core, boost-filesystem (!uwp), boost-fusion, boost-iterator, boost-move, boost-optional, boost-system, boost-tokenizer, boost-type-index, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/process Description: Boost process module diff --git a/ports/boost-process/portfile.cmake b/ports/boost-process/portfile.cmake index 353b8d648..f3d359a8a 100644 --- a/ports/boost-process/portfile.cmake +++ b/ports/boost-process/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/process - REF boost-1.70.0 - SHA512 6265e0705e89ce2a9b3a0df212db76dd309a8bee905249070f0ebc3449207cfc9e30fa6b73dc1de83752c97a95dd214f9e922c87c0a5b03e7df978645620ea62 + REF boost-1.71.0 + SHA512 26488b564f51bd8a97fc5609533e0931938219d808c03a5c1db1db760c3f3461bc793f7b07c45eb2ab40b8a346b8bbfd561599854012512c16ec11988e46cb1e HEAD_REF master ) diff --git a/ports/boost-program-options/CONTROL b/ports/boost-program-options/CONTROL index 25d37164e..3e0b1c32b 100644 --- a/ports/boost-program-options/CONTROL +++ b/ports/boost-program-options/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-program-options -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-any, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-tokenizer, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/program_options Description: Boost program_options module diff --git a/ports/boost-program-options/portfile.cmake b/ports/boost-program-options/portfile.cmake index be596617e..024902b45 100644 --- a/ports/boost-program-options/portfile.cmake +++ b/ports/boost-program-options/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/program_options - REF boost-1.70.0 - SHA512 1a7aef92a0f3de1769a1cb4cee86f47d3278c723bc2203d0db96fc3ae6b7b15c47f22e61375e670a4cd40ca74eea32356e5768ca4079926b1e56cba9fcc6ecc5 + REF boost-1.71.0 + SHA512 bc6cb9f502bbf23b0a3b33d2d227d6c727ae7e1a42653a9631a3a692396b80094f356952f5dd422af326c182a0d4e5034cf349e7868061794b3076b0c97d28e5 HEAD_REF master ) diff --git a/ports/boost-property-map/CONTROL b/ports/boost-property-map/CONTROL index 9592eee2f..a6d2ca5e4 100644 --- a/ports/boost-property-map/CONTROL +++ b/ports/boost-property-map/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-property-map -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-concept-check, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-multi-index, boost-optional, boost-serialization, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/property_map Description: Boost property_map module diff --git a/ports/boost-property-map/portfile.cmake b/ports/boost-property-map/portfile.cmake index 4200bb4d6..acdc596c6 100644 --- a/ports/boost-property-map/portfile.cmake +++ b/ports/boost-property-map/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/property_map - REF boost-1.70.0 - SHA512 b4c9ab834ce9c3f09105e5814734fb16f2f4061331427904c04dbcac64ac91ea76c2edb3d63e036c5ea3dac699c1da247cbe8861380020373cc64eada9491990 + REF boost-1.71.0 + SHA512 8b45769bfa721139567108f1160e3c9848ca58b738b65ccc5733773ed159322383e2c061db51a396f9657cc31bbc601ad2547e577b448d90aa56fcd9cf9b4ebb HEAD_REF master ) diff --git a/ports/boost-property-tree/CONTROL b/ports/boost-property-tree/CONTROL index f896ed5cd..3ab6f2bd5 100644 --- a/ports/boost-property-tree/CONTROL +++ b/ports/boost-property-tree/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-property-tree -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-any, boost-assert, boost-bind, boost-compatibility, boost-config, boost-core, boost-format, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-range, boost-serialization, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/property_tree Description: Boost property_tree module diff --git a/ports/boost-property-tree/portfile.cmake b/ports/boost-property-tree/portfile.cmake index ea8432c7b..a14579c29 100644 --- a/ports/boost-property-tree/portfile.cmake +++ b/ports/boost-property-tree/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/property_tree - REF boost-1.70.0 - SHA512 872aa8e7869048b04bc3714b3a50f13aa17c90733d22ca7585c4c0fe237c922a72018023a5a9d6ce6a9ea00c0dbd5cd88d3115f02d39a8b5ed3e110e2c7a03d5 + REF boost-1.71.0 + SHA512 6d77bd9560f129691d4798b29e01d175a9099001092a7724aa1e33c4f05e027b062273d3de60cfcaeaa791ad4f74e0caa0b3137ad95dbbe263ad483fe50ef7d2 HEAD_REF master ) diff --git a/ports/boost-proto/CONTROL b/ports/boost-proto/CONTROL index 6f16038c2..55dc08188 100644 --- a/ports/boost-proto/CONTROL +++ b/ports/boost-proto/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-proto -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-detail, boost-fusion, boost-mpl, boost-preprocessor, boost-range, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/proto Description: Boost proto module diff --git a/ports/boost-proto/portfile.cmake b/ports/boost-proto/portfile.cmake index 1d6a0594b..d3db69343 100644 --- a/ports/boost-proto/portfile.cmake +++ b/ports/boost-proto/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/proto - REF boost-1.70.0 - SHA512 63976484ce6895818715d4fa0073e526fca654a42a0353c1af66928faefb3764b0ec644f7876f38188ed7425cc3b75cb155cd75f1241fb2bb33938bb964a3ebf + REF boost-1.71.0 + SHA512 dd48df4113aceed58e8a3134426e5015d36b9bf1a17f410f4a2b2fde2adf30938561cadea06eda30edc4362e9b3118a8fd0e89b73aaa6abef46caed75daade63 HEAD_REF master ) diff --git a/ports/boost-ptr-container/CONTROL b/ports/boost-ptr-container/CONTROL index 573dd2ced..778111c24 100644 --- a/ports/boost-ptr-container/CONTROL +++ b/ports/boost-ptr-container/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-ptr-container -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-assert, boost-circular-buffer, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/ptr_container Description: Boost ptr_container module diff --git a/ports/boost-ptr-container/portfile.cmake b/ports/boost-ptr-container/portfile.cmake index b61514cc8..98ebb5c1f 100644 --- a/ports/boost-ptr-container/portfile.cmake +++ b/ports/boost-ptr-container/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ptr_container - REF boost-1.70.0 - SHA512 b61e6b8d52d33d783163d8cad1aaaa1b092fc74b5022de235ab01fadab119c9ffb09f0d6a43f9154997b5cc12f60379a50e70d4ac65319eea965c6c6fea322a9 + REF boost-1.71.0 + SHA512 c5681cba8af9412d02be1ff4ea889600d09fb342f89ae3ce8e508721aebac26023b5bfcb0250090f3458fddf44126e0e7a5770b04356d4839e8db7cebc9ebba6 HEAD_REF master ) diff --git a/ports/boost-python/CONTROL b/ports/boost-python/CONTROL index 2dc872ec0..132b5a800 100644 --- a/ports/boost-python/CONTROL +++ b/ports/boost-python/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-python -Version: 1.70.0-1 -Build-Depends: boost-bind, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-property-map, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, python3 +Version: 1.71.0-1 +Build-Depends: boost-bind, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-foreach, boost-function, boost-graph, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-preprocessor, boost-property-map, boost-smart-ptr, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, python3 (!osx&!linux) Homepage: https://github.com/boostorg/python Description: Boost python module diff --git a/ports/boost-python/portfile.cmake b/ports/boost-python/portfile.cmake index 912926d61..30624f90d 100644 --- a/ports/boost-python/portfile.cmake +++ b/ports/boost-python/portfile.cmake @@ -5,10 +5,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/python - REF boost-1.70.0 - SHA512 0e540f68713460c64f195f56af1cbd00ae4fa98adc91a83a0c1fdb7e60950cf282cab02b772f06e7c268c3cd294566d6abfa1d1aa545c687a256d6863870f72d + REF boost-1.71.0 + SHA512 0b78db2d0fda09298092cfbe7580d67db015aac7d5fac44c363dcc025f61d043fe4a87446b3f8f1fa76ae685838a98b0ed68609ecd945328f5fc4b12a493ee6a HEAD_REF master - PATCHES unwind-type.patch ) # Find Python. Can't use find_package here, but we already know where everything is diff --git a/ports/boost-python/unwind-type.patch b/ports/boost-python/unwind-type.patch deleted file mode 100644 index 62e9c8185..000000000 --- a/ports/boost-python/unwind-type.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/include/boost/python/detail/unwind_type.hpp b/include/boost/python/detail/unwind_type.hpp -index f6cdab6..da9633b 100644 ---- a/include/boost/python/detail/unwind_type.hpp -+++ b/include/boost/python/detail/unwind_type.hpp -@@ -11,7 +11,7 @@ - - namespace boost { namespace python { namespace detail { - --#ifndef _MSC_VER //if forward declared, msvc6.5 does not recognize them as inline -+#if !defined(_MSC_VER) || _MSC_VER >= 1915 //if forward declared, msvc6.5 does not recognize them as inline - // forward declaration, required (at least) by Tru64 cxx V6.5-042 - template - inline typename Generator::result_type -@@ -83,7 +83,7 @@ struct unwind_helper - - template - inline typename Generator::result_type --#ifndef _MSC_VER -+#if !defined(_MSC_VER) || _MSC_VER >= 1915 - unwind_type(U const& p, Generator*) - #else - unwind_type(U const& p, Generator* = 0) -@@ -148,7 +148,7 @@ struct unwind_helper2 - // why bother? - template - inline typename Generator::result_type --#ifndef _MSC_VER -+#if !defined(_MSC_VER) || _MSC_VER >= 1915 - unwind_type(boost::type*, Generator*) - #else - unwind_type(boost::type*p =0, Generator* =0) diff --git a/ports/boost-qvm/CONTROL b/ports/boost-qvm/CONTROL index 0cdc846b4..e96f20219 100644 --- a/ports/boost-qvm/CONTROL +++ b/ports/boost-qvm/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-qvm -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-exception, boost-static-assert, boost-throw-exception, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/qvm Description: Boost qvm module diff --git a/ports/boost-qvm/portfile.cmake b/ports/boost-qvm/portfile.cmake index a677cde90..2381f912d 100644 --- a/ports/boost-qvm/portfile.cmake +++ b/ports/boost-qvm/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/qvm - REF boost-1.70.0 - SHA512 ea777d15e35dc22057e6b3a6b95204bade5592ded3175a0462c497cfd2e204dcbbb564ab5d8b99adf38bdfd4f41ce0443af9cc82f863d1977068222880ef5aab + REF boost-1.71.0 + SHA512 e7018896496bbf4aec76eda03a700ce152331dd9cb1aa4c58f18f92f587452c6a2db1bed770bfcd5ec311f3944ecbdafffc523a6275eb0d6c9f9c11f828e8ffc HEAD_REF master ) diff --git a/ports/boost-random/CONTROL b/ports/boost-random/CONTROL index a76d33a7b..aae513eb7 100644 --- a/ports/boost-random/CONTROL +++ b/ports/boost-random/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-random -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-dynamic-bitset, boost-integer, boost-io, boost-math, boost-modular-build-helper, boost-mpl, boost-multiprecision, boost-range, boost-static-assert, boost-system, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/random Description: Boost random module diff --git a/ports/boost-random/portfile.cmake b/ports/boost-random/portfile.cmake index 9c426b5ef..44701b517 100644 --- a/ports/boost-random/portfile.cmake +++ b/ports/boost-random/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/random - REF boost-1.70.0 - SHA512 887c12de1235dd9ba5a211a23f6da6def14b0100060f94855ac187528a90cbeaf9202298476380ce436634b573f755820e32350f3af2436dddc14f94744c49d2 + REF boost-1.71.0 + SHA512 9a06feb9d4e1d9c33b286a35082c0c7dec4f8895b70add9287d618594ba8029a895f2484972b3ec79b606cc427a1dec1bd3a0dc6719c6a04a403d0d1e771bb98 HEAD_REF master ) diff --git a/ports/boost-range/CONTROL b/ports/boost-range/CONTROL index bfb40f155..92caf940d 100644 --- a/ports/boost-range/CONTROL +++ b/ports/boost-range/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-range -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-assert, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-iterator, boost-mpl, boost-optional, boost-preprocessor, boost-regex, boost-static-assert, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/range Description: Boost range module diff --git a/ports/boost-range/portfile.cmake b/ports/boost-range/portfile.cmake index 5c6334c21..ed889209c 100644 --- a/ports/boost-range/portfile.cmake +++ b/ports/boost-range/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/range - REF boost-1.70.0 - SHA512 f6945ca391a577f6265d651cbcfd183e544b42db37a7fa21899f457c1ca94045865ce71ab9e0171a9aee3451575c18668b609da892d7676f2d9321e5db979371 + REF boost-1.71.0 + SHA512 9d83dec261bc494e074697a7aeb759ffcd3e12bbd2c6595e9d886b23347b53aa643f64b304ea842853c333612b356f81c2b330cfd6a7ee833497566b9721a666 HEAD_REF master ) diff --git a/ports/boost-ratio/CONTROL b/ports/boost-ratio/CONTROL index ac2e08214..6747994b9 100644 --- a/ports/boost-ratio/CONTROL +++ b/ports/boost-ratio/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-ratio -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-integer, boost-mpl, boost-rational, boost-static-assert, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/ratio Description: Boost ratio module diff --git a/ports/boost-ratio/portfile.cmake b/ports/boost-ratio/portfile.cmake index 900a861bd..4f1180861 100644 --- a/ports/boost-ratio/portfile.cmake +++ b/ports/boost-ratio/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ratio - REF boost-1.70.0 - SHA512 0952107943f975644a81c2bf70c0a4c2580138a373d765ec9c037c33345436e210cc7f8f24fa2ddf0fe30cf7b25a592b8a62dc09ce95cd2326fef2647f355575 + REF boost-1.71.0 + SHA512 13551011f94ca7c17401bacc9892774e2880df4625826eb087f9a8457dbb7990417943dcad89a06df7952ab7530085bd7ba60493e7e077384f33dc7e2f542eb4 HEAD_REF master ) diff --git a/ports/boost-rational/CONTROL b/ports/boost-rational/CONTROL index 9ec244996..709bd1a30 100644 --- a/ports/boost-rational/CONTROL +++ b/ports/boost-rational/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-rational -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-integer, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/rational Description: Boost rational module diff --git a/ports/boost-rational/portfile.cmake b/ports/boost-rational/portfile.cmake index fcb7f7027..7ad6fe747 100644 --- a/ports/boost-rational/portfile.cmake +++ b/ports/boost-rational/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/rational - REF boost-1.70.0 - SHA512 b2b36bff63247d3456f4c0d298ea04eb285a283eed6278e71365b3b97c673e122e52608f143ec4fdcdb77d5bbda48326ce8785843f5458192054236330576a50 + REF boost-1.71.0 + SHA512 9868f48e82c75cee6d70c40a0059fbe3fa650df188f143608f327ed1973b7522ae8b0f3113a782e11ead354fcd127d8a41a758ff6d56fa4e8459e79cbb979e1f HEAD_REF master ) diff --git a/ports/boost-regex/CONTROL b/ports/boost-regex/CONTROL index c5f323543..239c07eb2 100644 --- a/ports/boost-regex/CONTROL +++ b/ports/boost-regex/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-regex -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-compatibility, boost-concept-check, boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-iterator, boost-modular-build-helper, boost-mpl, boost-predef, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/regex Description: Boost regex module diff --git a/ports/boost-regex/portfile.cmake b/ports/boost-regex/portfile.cmake index 54cb58dd5..fe74815b6 100644 --- a/ports/boost-regex/portfile.cmake +++ b/ports/boost-regex/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/regex - REF boost-1.70.0 - SHA512 691608b794a8ed293afe8d7d31fc6cf0ddebd3c850467c33e7572f1a22080b1407aa1c157631abd6e9a3eea0b8c9d6ef477dde1e39e8859d8d8fdd73b98fb301 + REF boost-1.71.0 + SHA512 909082d18575a8e6cc8d52cfe38eb661d6cd38f6e2d9c8504af09af53e09ca744a5df850cb8dff96c95c2b17672b7796b938fee4353dc1e878749c1fe827cfe1 HEAD_REF master ) diff --git a/ports/boost-safe-numerics/CONTROL b/ports/boost-safe-numerics/CONTROL index 00e9cd754..9693f0506 100644 --- a/ports/boost-safe-numerics/CONTROL +++ b/ports/boost-safe-numerics/CONTROL @@ -1,5 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-safe-numerics -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-integer, boost-logic, boost-mp11, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/safe_numerics Description: Boost safe_numerics module diff --git a/ports/boost-safe-numerics/portfile.cmake b/ports/boost-safe-numerics/portfile.cmake index 506b5f40b..e150cd612 100644 --- a/ports/boost-safe-numerics/portfile.cmake +++ b/ports/boost-safe-numerics/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/safe_numerics - REF boost-1.70.0 - SHA512 b5babfddc56f404602a5c071cef5505d534e1503ab08e9b6acc8e6fe4ebc87b9ae4db71d9c71cc3dcc739d17eea81ac0fe639f442db347e219be1acf39e6c2ef + REF boost-1.71.0 + SHA512 56dc050a342b132a4ed2685bd26bdf88a57abc817ce4677e59bb265d9a0b5a2807ab9819379265213868d2c40af12686d93a1fea01e20abbf92ffa561d8b0c56 HEAD_REF master ) diff --git a/ports/boost-scope-exit/CONTROL b/ports/boost-scope-exit/CONTROL index 0d088b73c..e35a6a9b2 100644 --- a/ports/boost-scope-exit/CONTROL +++ b/ports/boost-scope-exit/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-scope-exit -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-detail, boost-function, boost-preprocessor, boost-typeof, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/scope_exit Description: Boost scope_exit module diff --git a/ports/boost-scope-exit/portfile.cmake b/ports/boost-scope-exit/portfile.cmake index 46584e781..732ea6bfc 100644 --- a/ports/boost-scope-exit/portfile.cmake +++ b/ports/boost-scope-exit/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/scope_exit - REF boost-1.70.0 - SHA512 e75c746d0829bedf336acb1b4b36c8f2e75cdb650e8f0c18c3a1b3298e81efde643be941bf27cdb3855e9ecc1c6cd15e484c2e54529828ac1fd3b17df7f616c4 + REF boost-1.71.0 + SHA512 44795d794be4d7841bccda7a7919a5dd03d0e10ac31b45aed81c951b04b4d66131f038e3020add8612b4f63fe7e5740047b52e51483d2b968867c4fe7b3d3bf8 HEAD_REF master ) diff --git a/ports/boost-serialization/CONTROL b/ports/boost-serialization/CONTROL index 4d24cae11..5265d42c2 100644 --- a/ports/boost-serialization/CONTROL +++ b/ports/boost-serialization/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-serialization -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-assert, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-function, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-preprocessor, boost-smart-ptr, boost-spirit, boost-static-assert, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/serialization Description: Boost serialization module diff --git a/ports/boost-serialization/portfile.cmake b/ports/boost-serialization/portfile.cmake index c1545ef1c..9931c4889 100644 --- a/ports/boost-serialization/portfile.cmake +++ b/ports/boost-serialization/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/serialization - REF boost-1.70.0 - SHA512 1df374bb3acfffde289d919941302ef988096d59745805ab118d2a31f628ef2fc3aa778bfe1f6434c75ce1db777805c8c092febbec9cb2080e0ed13d05d22156 + REF boost-1.71.0 + SHA512 349d96e18ccc0e10632226fc70434891fcc457323e07c19d277be96dc97e030a01af8e5e854615acecf5c96646593d95bd81e05fd54c18cd4914d2296a936184 HEAD_REF master ) diff --git a/ports/boost-signals2/CONTROL b/ports/boost-signals2/CONTROL index d4b236778..58d62cba9 100644 --- a/ports/boost-signals2/CONTROL +++ b/ports/boost-signals2/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-signals2 -Version: 1.70.0 -Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-mpl, boost-multi-index, boost-optional, boost-parameter, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-function, boost-iterator, boost-mpl, boost-optional, boost-parameter, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/signals2 Description: Boost signals2 module diff --git a/ports/boost-signals2/portfile.cmake b/ports/boost-signals2/portfile.cmake index 4be1b4f89..14c7eeacb 100644 --- a/ports/boost-signals2/portfile.cmake +++ b/ports/boost-signals2/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/signals2 - REF boost-1.70.0 - SHA512 4b8db8941f70a3092992da11c7056916017f76d13c6445d3af4abe5f46dca7d8f3dc5d69e669cad607295b40ec387f65a54464166761a3e7503c841eb8f1aeac + REF boost-1.71.0 + SHA512 543702c662049f43d5c32f86ca0ca985bc6c589539b90baedf5a5243b2c9a0d881343de701c46d525574579b4d7c6087e758d3eb51896ac6de989300cdac768b HEAD_REF master ) diff --git a/ports/boost-smart-ptr/CONTROL b/ports/boost-smart-ptr/CONTROL index dab71c99e..f0f31911e 100644 --- a/ports/boost-smart-ptr/CONTROL +++ b/ports/boost-smart-ptr/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-smart-ptr -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-core, boost-detail, boost-integer, boost-move, boost-predef, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/smart_ptr Description: Boost smart_ptr module diff --git a/ports/boost-smart-ptr/portfile.cmake b/ports/boost-smart-ptr/portfile.cmake index 26b10dc10..b5708882c 100644 --- a/ports/boost-smart-ptr/portfile.cmake +++ b/ports/boost-smart-ptr/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/smart_ptr - REF boost-1.70.0 - SHA512 c8b25aea25a01b96783ce5f2a9ce066cc2894b236b6f82e45a80913f67a37d113f3ffc0a5bbfa601e951b0a4dde8b12fb69dc7b07e551a206e28e48f6a4bd89c + REF boost-1.71.0 + SHA512 74459b479ff30922f498ddd6d231ad7981b1836b8d80e0e584b151b643a8bcac54c60ed97a88a574f26d983467bb36d729dcce7bd361e7781fa21bec069d5c39 HEAD_REF master ) diff --git a/ports/boost-sort/CONTROL b/ports/boost-sort/CONTROL index db9a38674..33950d23c 100644 --- a/ports/boost-sort/CONTROL +++ b/ports/boost-sort/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-sort -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-integer, boost-range, boost-serialization, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/sort Description: Boost sort module diff --git a/ports/boost-sort/portfile.cmake b/ports/boost-sort/portfile.cmake index 759291d62..fa164f5ed 100644 --- a/ports/boost-sort/portfile.cmake +++ b/ports/boost-sort/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/sort - REF boost-1.70.0 - SHA512 c9665e63eea1ec58d0fd664710b42161613efcd7f4123b94a829f38d7e0fe6309687c5c188ffcbd4986803992b119d1a00d759b2cd0e62a1ce76295510fe605e + REF boost-1.71.0 + SHA512 51807d1fbd5e4662b7756809b14278d68b3901608c696e7364ac8e5071abf9aaf889ca4f0956d2eca83e2a26f0833d629eadc9197a1206e5c171eb34b7c48065 HEAD_REF master ) diff --git a/ports/boost-spirit/CONTROL b/ports/boost-spirit/CONTROL index 89644cb61..c6b55622f 100644 --- a/ports/boost-spirit/CONTROL +++ b/ports/boost-spirit/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-spirit -Version: 1.70.0 -Build-Depends: boost-algorithm, boost-array, boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-endian, boost-filesystem (!uwp), boost-foreach, boost-function, boost-function-types, boost-fusion, boost-integer, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-move, boost-mpl, boost-optional, boost-phoenix, boost-pool, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-throw-exception, boost-tti, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-algorithm, boost-array, boost-assert, boost-compatibility, boost-concept-check, boost-config, boost-core, boost-detail, boost-endian, boost-filesystem (!uwp), boost-foreach, boost-function, boost-function-types, boost-fusion, boost-integer, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lexical-cast, boost-locale (!uwp), boost-math, boost-move, boost-mpl, boost-optional, boost-phoenix, boost-pool, boost-predef, boost-preprocessor, boost-proto, boost-range, boost-regex, boost-smart-ptr, boost-static-assert, boost-thread, boost-throw-exception, boost-tti, boost-typeof, boost-type-traits, boost-unordered, boost-utility, boost-variant, boost-vcpkg-helpers Homepage: https://github.com/boostorg/spirit Description: Boost spirit module diff --git a/ports/boost-spirit/portfile.cmake b/ports/boost-spirit/portfile.cmake index 4c7e20274..388c0ff28 100644 --- a/ports/boost-spirit/portfile.cmake +++ b/ports/boost-spirit/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/spirit - REF boost-1.70.0 - SHA512 333e675b2742c55071d517e8dee0251d36b75ad4a11a70b48c74d060899710eb10e38afd20e9d40f28a041c792000c43c11208abad676ff923ca6d4866170a78 + REF boost-1.71.0 + SHA512 dc85f610c0975f092e7c4eea80f96daa696c2abdd1991b415ba1dbd553d0e2961359dc99dd301cda927a27df9b45a62223a494ad46ed2738d4f784687e358824 HEAD_REF master ) diff --git a/ports/boost-stacktrace/CONTROL b/ports/boost-stacktrace/CONTROL index d1b709934..160d334f3 100644 --- a/ports/boost-stacktrace/CONTROL +++ b/ports/boost-stacktrace/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-stacktrace -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-array, boost-build, boost-config, boost-container-hash, boost-core, boost-modular-build-helper, boost-predef, boost-static-assert, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/stacktrace Description: Boost stacktrace module diff --git a/ports/boost-stacktrace/portfile.cmake b/ports/boost-stacktrace/portfile.cmake index 5efef9a4b..dc3fa7054 100644 --- a/ports/boost-stacktrace/portfile.cmake +++ b/ports/boost-stacktrace/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/stacktrace - REF boost-1.70.0 - SHA512 154c9caf3ff24f2a5f1d0af1dd5fcbc5b0b59039b30b495dd788086d731530ea724da496f639d995b700cb0a0c8ef0b9d03b63271386e2fe9bc935ef373d1fa7 + REF boost-1.71.0 + SHA512 09eb77bfcdb93f371427450968f8c9f2b85b1983560c214fc7b8a38fc59954ecead45d42b73ed0fd5f12936734c7a5b906e03f677dd1a4fdb0e67b2abb79e55f HEAD_REF master ) diff --git a/ports/boost-statechart/CONTROL b/ports/boost-statechart/CONTROL index 242256a8c..73369ae2b 100644 --- a/ports/boost-statechart/CONTROL +++ b/ports/boost-statechart/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-statechart -Version: 1.70.0 -Build-Depends: boost-assert, boost-bind, boost-config, boost-conversion, boost-core, boost-detail, boost-function, boost-mpl, boost-smart-ptr, boost-static-assert, boost-thread (!arm), boost-type-traits, boost-vcpkg-helpers +Version: 1.71.0 +Build-Depends: boost-assert, boost-bind, boost-config, boost-conversion, boost-core, boost-detail, boost-function, boost-mpl, boost-smart-ptr, boost-static-assert, boost-thread, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/statechart Description: Boost statechart module diff --git a/ports/boost-statechart/portfile.cmake b/ports/boost-statechart/portfile.cmake index 47b354ea4..76b46fc97 100644 --- a/ports/boost-statechart/portfile.cmake +++ b/ports/boost-statechart/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/statechart - REF boost-1.70.0 - SHA512 4a19b927898427c696afe3f9ae8ab7845e34075976d41d6d3845a3e4ccf17d16e3b9d1057400022d131b4f0258aeea230fc24c80f2ec55cc72e44b9573280753 + REF boost-1.71.0 + SHA512 589f8b7afefd36131136032376ee994c778d8b855fc3dbd173e6b077025dcfcb78b29861ce3d1103febc1f1884a01932c3b401dd9c9394f65b3f72325765d207 HEAD_REF master ) diff --git a/ports/boost-static-assert/CONTROL b/ports/boost-static-assert/CONTROL index 0c8f3a532..4f7e8259b 100644 --- a/ports/boost-static-assert/CONTROL +++ b/ports/boost-static-assert/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-static-assert -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/static_assert Description: Boost static_assert module diff --git a/ports/boost-static-assert/portfile.cmake b/ports/boost-static-assert/portfile.cmake index 71c111d3b..b9f3423b2 100644 --- a/ports/boost-static-assert/portfile.cmake +++ b/ports/boost-static-assert/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/static_assert - REF boost-1.70.0 - SHA512 712f47459f97892cb3dc0b366c198ceee2f57e10f2986e9bfef087448fe3b1de988ccad9222c0f21a42db757975d9714a79d58f1e5092af1daaf777887be703b + REF boost-1.71.0 + SHA512 1646b6cc8210e9ce5777dc17257f8b8110e3f81a40c6f7a7f55874d231476a1bb614a2f8fe0b33cb506cfe0b614e7e6a5c8de01e240da2dd109665588a476526 HEAD_REF master ) diff --git a/ports/boost-system/CONTROL b/ports/boost-system/CONTROL index 79089afd9..8afede06b 100644 --- a/ports/boost-system/CONTROL +++ b/ports/boost-system/CONTROL @@ -1,6 +1,6 @@ -# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 -Source: boost-system -Version: 1.70.0 -Build-Depends: boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-vcpkg-helpers, boost-winapi -Homepage: https://github.com/boostorg/system -Description: Boost system module +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 +Source: boost-system +Version: 1.71.0 +Build-Depends: boost-build, boost-config, boost-integer, boost-modular-build-helper, boost-vcpkg-helpers, boost-winapi +Homepage: https://github.com/boostorg/system +Description: Boost system module diff --git a/ports/boost-system/portfile.cmake b/ports/boost-system/portfile.cmake index 96fe08461..ee8bd521d 100644 --- a/ports/boost-system/portfile.cmake +++ b/ports/boost-system/portfile.cmake @@ -2,11 +2,13 @@ include(vcpkg_common_functions) +vcpkg_buildpath_length_warning(37) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/system - REF boost-1.70.0 - SHA512 3ad8ee46b99bab77b2ec3cb70ad01ae56156361fd1ad9c54b36b059a19e3c523d222e556e23ec71a80db2d095d4e37bcd7dae7d0745b5eee6e85b6bf121be4fe + REF boost-1.71.0 + SHA512 9ffb4a160a87fed72f5e4e214fbbb2c02a5c3d4d1c14eb51b5c64f658d22b763af830d90b3e905ec5bcb9369a410bbe39b2948f6fc75c708266412d182ed2f23 HEAD_REF master ) diff --git a/ports/boost-test/CONTROL b/ports/boost-test/CONTROL index e1c83b08a..835f66182 100644 --- a/ports/boost-test/CONTROL +++ b/ports/boost-test/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-test -Version: 1.70.0-2 +Version: 1.71.0-2 Build-Depends: boost-algorithm, boost-assert, boost-bind, boost-build, boost-compatibility, boost-config, boost-core, boost-detail, boost-exception, boost-function, boost-integer, boost-io, boost-iterator, boost-modular-build-helper, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/test Description: Boost test module diff --git a/ports/boost-test/portfile.cmake b/ports/boost-test/portfile.cmake index a949d2a6b..3f5a8ee52 100644 --- a/ports/boost-test/portfile.cmake +++ b/ports/boost-test/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/test - REF boost-1.70.0 - SHA512 5efda970fe5530ecb92a609f2aabb486c5a790206004ed72d4e854430a957d31ef016670b21be773aedaf80a203a18945febc1f8d9fdf9b55dbc05196fcbf450 + REF boost-1.71.0 + SHA512 def8d2b7b6e21152a0b7eb57b6a9b6928e744c7f5e5ae563b47b1b0839d25edbf9df94f75a98a79d2aa59236b13dd0e2bb776545ba9a1702be0ec4c7702b1b09 HEAD_REF master ) diff --git a/ports/boost-thread/CONTROL b/ports/boost-thread/CONTROL index e38b6f31a..d65ce4a71 100644 --- a/ports/boost-thread/CONTROL +++ b/ports/boost-thread/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-thread -Version: 1.70.0-1 +Version: 1.71.0 Build-Depends: boost-algorithm, boost-assert, boost-atomic, boost-bind, boost-build, boost-chrono, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-core, boost-date-time, boost-detail, boost-exception, boost-function, boost-integer, boost-intrusive, boost-io, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-move, boost-mpl, boost-optional, boost-predef, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-system, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/thread Description: Boost thread module diff --git a/ports/boost-thread/avoid-winapi.patch b/ports/boost-thread/avoid-winapi.patch deleted file mode 100644 index 2308600ea..000000000 --- a/ports/boost-thread/avoid-winapi.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/boost/thread/win32/thread_primitives.hpp b/include/boost/thread/win32/thread_primitives.hpp -index e075140..d60ab36 100644 ---- a/include/boost/thread/win32/thread_primitives.hpp -+++ b/include/boost/thread/win32/thread_primitives.hpp -@@ -70,7 +70,7 @@ namespace boost - { - namespace win32 - { -- namespace detail { typedef ticks_type (BOOST_WINAPI_WINAPI_CC *gettickcount64_t)(); } -+ namespace detail { typedef ticks_type (__stdcall *gettickcount64_t)(); } - extern BOOST_THREAD_DECL boost::detail::win32::detail::gettickcount64_t gettickcount64; - - enum event_type diff --git a/ports/boost-thread/portfile.cmake b/ports/boost-thread/portfile.cmake index f17812eb3..32076be1c 100644 --- a/ports/boost-thread/portfile.cmake +++ b/ports/boost-thread/portfile.cmake @@ -5,10 +5,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/thread - REF boost-1.70.0 - SHA512 2c29fc8f1ff805f126f162865c8bad51f8aa56942d54999fe0191bcf4bf8f472c070d7977e731ceb6d46ff9d0e6d39013a3df79bfe8f4ed4631906cd26c8537a + REF boost-1.71.0 + SHA512 0f0de2823f2fb2c5a44824555223dbd8e1cf6072b918ebd959c0b51547ffe7db6dcf5d675d7d229406eaf1bccfe7d3041318932d4020b33bbd4da722f9aa4cce HEAD_REF master - PATCHES avoid-winapi.patch ) include(${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake) diff --git a/ports/boost-throw-exception/CONTROL b/ports/boost-throw-exception/CONTROL index 31502e60c..7b949f0e4 100644 --- a/ports/boost-throw-exception/CONTROL +++ b/ports/boost-throw-exception/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-throw-exception -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-detail, boost-vcpkg-helpers Homepage: https://github.com/boostorg/throw_exception Description: Boost throw_exception module diff --git a/ports/boost-throw-exception/portfile.cmake b/ports/boost-throw-exception/portfile.cmake index c3841366d..0b62ec39a 100644 --- a/ports/boost-throw-exception/portfile.cmake +++ b/ports/boost-throw-exception/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/throw_exception - REF boost-1.70.0 - SHA512 2b95ab70b141ea077c420c2fd6e139851aac6e6ccfb8a6772e7492066d3746f492f268a56ea79b2843e2631444d0a8dceba4551d98a3e315ef86017b307585fc + REF boost-1.71.0 + SHA512 951d58a4b336be027d473d493dba5f3783d47e9aca45c9162a26e56f7a8aa42b71266b588b05e4012bfba4757d2acb79a946042cdec25266131b49c4fcda5068 HEAD_REF master ) diff --git a/ports/boost-timer/CONTROL b/ports/boost-timer/CONTROL index 213ccc19c..ad65f776c 100644 --- a/ports/boost-timer/CONTROL +++ b/ports/boost-timer/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-timer -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-build, boost-chrono, boost-compatibility, boost-config, boost-core, boost-integer, boost-io, boost-modular-build-helper, boost-predef, boost-system, boost-throw-exception, boost-vcpkg-helpers Homepage: https://github.com/boostorg/timer Description: Boost timer module diff --git a/ports/boost-timer/portfile.cmake b/ports/boost-timer/portfile.cmake index 805efc619..b9f085db0 100644 --- a/ports/boost-timer/portfile.cmake +++ b/ports/boost-timer/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/timer - REF boost-1.70.0 - SHA512 d00d5637b420346d65530a2d6df43cd91e6ac222fd4710ee630bdcede5e00ea4b30a20aa2f9181244530a6f9a434b8421208f5936a0dddb9386d9105b4594263 + REF boost-1.71.0 + SHA512 836f23f3bc5bf983a7f506b6374ecab4e079f3f0b22360625c15823f475f64bf66df8fbe6401ef073fe7a83d01adb6f7efdd7fda5612a2554147e8cf7005aa80 HEAD_REF master ) diff --git a/ports/boost-tokenizer/CONTROL b/ports/boost-tokenizer/CONTROL index 3b7497e82..c2b6f6481 100644 --- a/ports/boost-tokenizer/CONTROL +++ b/ports/boost-tokenizer/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-tokenizer -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-detail, boost-iterator, boost-mpl, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/tokenizer Description: Boost tokenizer module diff --git a/ports/boost-tokenizer/portfile.cmake b/ports/boost-tokenizer/portfile.cmake index 5c0fccb26..ab67fe989 100644 --- a/ports/boost-tokenizer/portfile.cmake +++ b/ports/boost-tokenizer/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tokenizer - REF boost-1.70.0 - SHA512 f1c48f599d9b0e8722d4b78a2def4760a48602838e03bc5a5e964ce4f78b7ffafad12ddd272fee1f576da06b231781e2fb95898ca7d1f09e68f9bbddcf4ee954 + REF boost-1.71.0 + SHA512 21606040ea414e333d4c9fc024e87b6fb6b41202b999b6a20d669f4d9b4f90da598ae7683c576b187dad7556d73efb2b30215f7c5afa202ca692eebb8ae7e7c7 HEAD_REF master ) diff --git a/ports/boost-tti/CONTROL b/ports/boost-tti/CONTROL index f284303ea..40a8d326e 100644 --- a/ports/boost-tti/CONTROL +++ b/ports/boost-tti/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-tti -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-detail, boost-function-types, boost-mpl, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/tti Description: Boost tti module diff --git a/ports/boost-tti/portfile.cmake b/ports/boost-tti/portfile.cmake index 5ac42c6d1..4c68c3bdd 100644 --- a/ports/boost-tti/portfile.cmake +++ b/ports/boost-tti/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tti - REF boost-1.70.0 - SHA512 0933d8dac91052ad3a702130162e512f5c1c6a52e2d7bcbc96cd3424ca7eba6e51091e7a2639b17203ff3db84d22f8bf1c402567f471c26a87bc2468a7442e4c + REF boost-1.71.0 + SHA512 9d695de65ee030c157de6dea727e02c149ab9db638b31fce62f501f4d3cde55d01096ec33d368573d48aae2c94dab69d0851fa28ed082408bdf96c0a13a5f28c HEAD_REF master ) diff --git a/ports/boost-tuple/CONTROL b/ports/boost-tuple/CONTROL index ba38ab267..0f721c7c5 100644 --- a/ports/boost-tuple/CONTROL +++ b/ports/boost-tuple/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-tuple -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-core, boost-static-assert, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/tuple Description: Boost tuple module diff --git a/ports/boost-tuple/portfile.cmake b/ports/boost-tuple/portfile.cmake index 985d651b1..a1b91c0ba 100644 --- a/ports/boost-tuple/portfile.cmake +++ b/ports/boost-tuple/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/tuple - REF boost-1.70.0 - SHA512 79baa5840f6533934c8c9dfd9e4a2af9705dd4e5243d4434ca9dd5edb5407805f8f28f1983e8883e62c735cb73b5743ba091263be0680a394216a83a0b387793 + REF boost-1.71.0 + SHA512 80a84b5e5542ff5c578b5bd472cdff4bd5701dd80e0059ed6fe843136544a7300cb76b1a3eb122d226903e3d4a7b44c230074299624c7bacbd12ab5a9e26f051 HEAD_REF master ) diff --git a/ports/boost-type-erasure/CONTROL b/ports/boost-type-erasure/CONTROL index d9090d787..150541795 100644 --- a/ports/boost-type-erasure/CONTROL +++ b/ports/boost-type-erasure/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-type-erasure -Version: 1.70.0 -Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-fusion, boost-iterator, boost-modular-build-helper, boost-mp11, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread (!arm), boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-vmd +Version: 1.71.0 +Build-Depends: boost-assert, boost-build, boost-config, boost-detail, boost-fusion, boost-iterator, boost-modular-build-helper, boost-mp11, boost-mpl, boost-preprocessor, boost-smart-ptr, boost-thread, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers, boost-vmd Homepage: https://github.com/boostorg/type_erasure Description: Boost type_erasure module diff --git a/ports/boost-type-erasure/portfile.cmake b/ports/boost-type-erasure/portfile.cmake index ee6015fad..17e6b3180 100644 --- a/ports/boost-type-erasure/portfile.cmake +++ b/ports/boost-type-erasure/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_erasure - REF boost-1.70.0 - SHA512 b975d7efa5c50c711607c28bd8e4862754d589b2fc384e06170318debd7a1b3e72231409c5bebae44ac80f67ef8a8f466fda0e8775ad1473b7fd69c9c39c42c4 + REF boost-1.71.0 + SHA512 aff7218980d4f35ea0497f0d6240b1dedad43b6c611482aff99f5f8361f02873c91310ecd7d23069019f28f12c8cb65edba275e1228dce5bd0d9baeb800db3be HEAD_REF master ) diff --git a/ports/boost-type-index/CONTROL b/ports/boost-type-index/CONTROL index 4f52f6368..f1cb3ac74 100644 --- a/ports/boost-type-index/CONTROL +++ b/ports/boost-type-index/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-type-index -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-preprocessor, boost-smart-ptr, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/type_index Description: Boost type_index module diff --git a/ports/boost-type-index/portfile.cmake b/ports/boost-type-index/portfile.cmake index 365de0ca4..9837216c8 100644 --- a/ports/boost-type-index/portfile.cmake +++ b/ports/boost-type-index/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_index - REF boost-1.70.0 - SHA512 e7c6c36c4c24045fcb9ddd3a804b051b1076bab92488927b0fb5b6e9f551c45c19c09a33e4002e843fd00500e40dd7511ff23124f73fe889883f79e35fbb4bd3 + REF boost-1.71.0 + SHA512 a507fb8e489c28ee93067b73dce4987e1dcfa67c2bb2e8a5f194fca1f48d9e40ab8692576cc6f812d8f99a4392db4299b198fd12db0fd79819b7847004475693 HEAD_REF master ) diff --git a/ports/boost-type-traits/CONTROL b/ports/boost-type-traits/CONTROL index eeacc1736..52d808e86 100644 --- a/ports/boost-type-traits/CONTROL +++ b/ports/boost-type-traits/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-type-traits -Version: 1.70.0-1 +Version: 1.71.0 Build-Depends: boost-config, boost-detail, boost-static-assert, boost-vcpkg-helpers Homepage: https://github.com/boostorg/type_traits Description: Boost type_traits module diff --git a/ports/boost-type-traits/msvc-arm.patch b/ports/boost-type-traits/msvc-arm.patch deleted file mode 100644 index 7ef352087..000000000 --- a/ports/boost-type-traits/msvc-arm.patch +++ /dev/null @@ -1,440 +0,0 @@ -diff --git a/include/boost/type_traits/detail/is_function_cxx_11.hpp b/include/boost/type_traits/detail/is_function_cxx_11.hpp -index 432af4e..97f029a 100644 ---- a/include/boost/type_traits/detail/is_function_cxx_11.hpp -+++ b/include/boost/type_traits/detail/is_function_cxx_11.hpp -@@ -101,7 +101,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -118,7 +118,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -135,7 +135,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -152,7 +152,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -170,7 +170,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -187,7 +187,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -204,7 +204,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -221,7 +221,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -239,7 +239,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -256,7 +256,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -273,7 +273,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -290,7 +290,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - #ifndef __CLR_VER -@@ -381,7 +381,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -396,7 +396,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -411,7 +411,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -426,7 +426,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -442,7 +442,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -457,7 +457,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -472,7 +472,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -487,7 +487,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -503,7 +503,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -518,7 +518,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -533,7 +533,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -@@ -548,7 +548,7 @@ namespace boost { - template - struct is_function : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_function : public true_type {}; - template -diff --git a/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp b/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp -index d88a004..f02693e 100644 ---- a/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp -+++ b/include/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp -@@ -113,7 +113,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -133,7 +133,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -153,7 +153,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -173,7 +173,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -193,7 +193,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -213,7 +213,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -233,7 +233,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -253,7 +253,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -273,7 +273,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -293,7 +293,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -313,7 +313,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -333,7 +333,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -424,7 +424,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -444,7 +444,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -464,7 +464,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -484,7 +484,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -504,7 +504,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -524,7 +524,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -544,7 +544,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -564,7 +564,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -584,7 +584,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -604,7 +604,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -624,7 +624,7 @@ namespace boost { - template - struct is_member_function_pointer : public true_type {}; - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER -@@ -645,7 +645,7 @@ namespace boost { - struct is_member_function_pointer : public true_type {}; - - #endif --#ifndef _M_AMD64 -+#ifdef _M_IX86 - template - struct is_member_function_pointer : public true_type {}; - #ifndef __CLR_VER diff --git a/ports/boost-type-traits/portfile.cmake b/ports/boost-type-traits/portfile.cmake index a3bc496b2..847a0f6c8 100644 --- a/ports/boost-type-traits/portfile.cmake +++ b/ports/boost-type-traits/portfile.cmake @@ -5,11 +5,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/type_traits - REF boost-1.70.0 - SHA512 e9c672bb0e02cea9be8179908dfbb0c21903a7e6b9fade6e6666c01af97d81e489983143eedd668df446a1fb532d3c5298458c18efacd747ce66b77170d0da14 + REF boost-1.71.0 + SHA512 6ad3ffc1750f3e22e3f861e1b8be41a0d54b39b6f9ab122c8d21624f99ce86ddb240d6d2577d595ab704ef8e88a4eee03574151837ca0af6fc84d5e4cf3c6662 HEAD_REF master - PATCHES - msvc-arm.patch ) include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) diff --git a/ports/boost-typeof/CONTROL b/ports/boost-typeof/CONTROL index aeca892fe..e5a9405c8 100644 --- a/ports/boost-typeof/CONTROL +++ b/ports/boost-typeof/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-typeof -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-preprocessor, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/typeof Description: Boost typeof module diff --git a/ports/boost-typeof/portfile.cmake b/ports/boost-typeof/portfile.cmake index b3c269834..8c98495bc 100644 --- a/ports/boost-typeof/portfile.cmake +++ b/ports/boost-typeof/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/typeof - REF boost-1.70.0 - SHA512 ff55aa51b66275a18c8d83d95eadc66aa410fc0e21e3cfee9ecb70051fe7fb8015b17ebd54541ef0eb96f638aafa61bd77df40dcc6d460e9227040336c61ec5c + REF boost-1.71.0 + SHA512 7b0ebbea907c1aad3f84238d2b8bf2f4c2fa7fcdc07427ae43b0c44a40b8ee43301e542ea1a8fa96585f700e91f93a11239b5a8ba91ed4f3c47ab4053a33bd46 HEAD_REF master ) diff --git a/ports/boost-ublas/CONTROL b/ports/boost-ublas/CONTROL index 319b99bed..b1772a8e3 100644 --- a/ports/boost-ublas/CONTROL +++ b/ports/boost-ublas/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-ublas -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-compute, boost-concept-check, boost-config, boost-core, boost-iterator, boost-mpl, boost-range, boost-serialization, boost-smart-ptr, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/ublas Description: Boost ublas module diff --git a/ports/boost-ublas/portfile.cmake b/ports/boost-ublas/portfile.cmake index f81cbb420..30d9227ea 100644 --- a/ports/boost-ublas/portfile.cmake +++ b/ports/boost-ublas/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/ublas - REF boost-1.70.0 - SHA512 050be7c25c50b31274e6b19d2c882343ac6b065c093bab20f5c9ce4050db78886525299cc1814525f0ef7da6ae002aef0c3c1539f65e3d9646d0e399293b019e + REF boost-1.71.0 + SHA512 c72ebc0427105359e5ffa7ddf9ab3aca93e60aa4491f407e917b48dc7015c847ffff3ad83b19961261bf44bc12e08d3f82810aa6b93c99e11347b9084ed6e264 HEAD_REF master ) diff --git a/ports/boost-units/CONTROL b/ports/boost-units/CONTROL index 8e1fe4a8a..5f6123e48 100644 --- a/ports/boost-units/CONTROL +++ b/ports/boost-units/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-units -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-config, boost-core, boost-integer, boost-io, boost-lambda, boost-math, boost-mpl, boost-preprocessor, boost-serialization, boost-static-assert, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/units Description: Boost units module diff --git a/ports/boost-units/portfile.cmake b/ports/boost-units/portfile.cmake index ac58d7284..33455865e 100644 --- a/ports/boost-units/portfile.cmake +++ b/ports/boost-units/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/units - REF boost-1.70.0 - SHA512 001bfe9ca2a6be94ec66c123ed983468cefebfebbee58f439bbb2a392fa152cb0818fc03a782bfd698693702df185242187d91ba6cbab8f742bb04d53cd1ca28 + REF boost-1.71.0 + SHA512 6739766c68db756a630f65b731e3338d9eb4e33a56fc4b7cb15a68e250fd4aba56780bfbb5438626383d2c58ee4202f0d0be8f96a94e54247adb28dc62456370 HEAD_REF master ) diff --git a/ports/boost-unordered/CONTROL b/ports/boost-unordered/CONTROL index d128e273f..35e6c874e 100644 --- a/ports/boost-unordered/CONTROL +++ b/ports/boost-unordered/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-unordered -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container, boost-container-hash, boost-core, boost-detail, boost-functional, boost-move, boost-predef, boost-preprocessor, boost-smart-ptr, boost-throw-exception, boost-tuple, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/unordered Description: Boost unordered module diff --git a/ports/boost-unordered/portfile.cmake b/ports/boost-unordered/portfile.cmake index 69c681d99..733da6c6a 100644 --- a/ports/boost-unordered/portfile.cmake +++ b/ports/boost-unordered/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/unordered - REF boost-1.70.0 - SHA512 8fc3692777e6b7e997a888237628489bcac80b45ddb4ac2bf73809e7e689506ba8e2679915d8025369375610a7a63cf94f18bafb1fe638df57e76be468bae761 + REF boost-1.71.0 + SHA512 bd94acbcad4b959fbfcd2b12af9f912f597da963dca7dfd10a08fd28f685bdc65553f357094ed7610917ea21603c1093344bb4e6da122663e89bc91f626a569c HEAD_REF master ) diff --git a/ports/boost-utility/CONTROL b/ports/boost-utility/CONTROL index 7f54df7de..65a3c9d5f 100644 --- a/ports/boost-utility/CONTROL +++ b/ports/boost-utility/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-utility -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-container-hash, boost-core, boost-detail, boost-integer, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/utility Description: Boost utility module diff --git a/ports/boost-utility/portfile.cmake b/ports/boost-utility/portfile.cmake index 4297c262a..a9a83a75f 100644 --- a/ports/boost-utility/portfile.cmake +++ b/ports/boost-utility/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/utility - REF boost-1.70.0 - SHA512 c81bb47c9d9d95b2a1e43f969b7ce91d148e207d4a5b5efe9d9ca5b0ef87f182216aae6e45c6bba52f8ba7b5d5601984c4551a5d84352d3d221433d8652c9570 + REF boost-1.71.0 + SHA512 c6828a225baad1215d766ad90b9af5505428dd37e3a31d3254bda3cf5155002a180b6ac8db67783633d8e8bb5b24f2ac01adbbc86754997f01d7aedb55a61ddc HEAD_REF master ) diff --git a/ports/boost-uuid/CONTROL b/ports/boost-uuid/CONTROL index efc4b3094..6b226714d 100644 --- a/ports/boost-uuid/CONTROL +++ b/ports/boost-uuid/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-uuid -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-container-hash, boost-core, boost-integer, boost-io, boost-move, boost-numeric-conversion, boost-predef, boost-random, boost-serialization, boost-static-assert, boost-throw-exception, boost-tti, boost-type-traits, boost-vcpkg-helpers, boost-winapi Homepage: https://github.com/boostorg/uuid Description: Boost uuid module diff --git a/ports/boost-uuid/portfile.cmake b/ports/boost-uuid/portfile.cmake index f1baff5ee..80abd6d31 100644 --- a/ports/boost-uuid/portfile.cmake +++ b/ports/boost-uuid/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/uuid - REF boost-1.70.0 - SHA512 8fa80562f79b6192d7086add50a6c89996106161df0e43a5738e460253cdb7f94c3a941e72fbce49c0ae5eca67429ca6eb42e08af647832941b624a82160e9cf + REF boost-1.71.0 + SHA512 e815637e01d5e0ac7420c856c8afaa485399c202e37e7a03061ec2ad924843ab2f9cb5038e0677b326bb3aa19ff61b26a2945d10b5fc4b8b88de6e9e300de689 HEAD_REF master ) diff --git a/ports/boost-variant/CONTROL b/ports/boost-variant/CONTROL index 395d00758..5497c4eff 100644 --- a/ports/boost-variant/CONTROL +++ b/ports/boost-variant/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-variant -Version: 1.69.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-bind, boost-config, boost-core, boost-detail, boost-functional, boost-integer, boost-move, boost-mpl, boost-preprocessor, boost-static-assert, boost-throw-exception, boost-type-index, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/variant Description: Boost variant module diff --git a/ports/boost-variant/portfile.cmake b/ports/boost-variant/portfile.cmake index 95352b3f0..f853efe80 100644 --- a/ports/boost-variant/portfile.cmake +++ b/ports/boost-variant/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/variant - REF boost-1.69.0 - SHA512 281f2a89317603e4875d35388d941c3a174024618f2f9c255344e69d43d43509de2947e35374d8498e337326c7637805160a84f3b2b4da8811660c8429e11be0 + REF boost-1.71.0 + SHA512 5847a32be903eba91f9532fe50b6d9a12d20e0d9378330a853df66caace875a83de86018bf77bcdc5047de1345da43aeabc746daa8d843be331a55d78c1137dc HEAD_REF master ) diff --git a/ports/boost-variant2/CONTROL b/ports/boost-variant2/CONTROL new file mode 100644 index 000000000..ac61cd541 --- /dev/null +++ b/ports/boost-variant2/CONTROL @@ -0,0 +1,6 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 +Source: boost-variant2 +Version: 1.71.0 +Build-Depends: boost-config, boost-detail, boost-mp11, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/variant2 +Description: Boost variant2 module diff --git a/ports/boost-variant2/portfile.cmake b/ports/boost-variant2/portfile.cmake new file mode 100644 index 000000000..ca225a102 --- /dev/null +++ b/ports/boost-variant2/portfile.cmake @@ -0,0 +1,14 @@ +# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO boostorg/variant2 + REF boost-1.71.0 + SHA512 3c9d750989b2c4c9dded2d4adc53865fc461221e64d91fa10f85c7674b35fbba6fd584d0796f422cf1de8e42365260e9bf190082a2dded3d1d8211ceb246aed6 + HEAD_REF master +) + +include(${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake) +boost_modular_headers(SOURCE_PATH ${SOURCE_PATH}) diff --git a/ports/boost-vcpkg-helpers/.gitignore b/ports/boost-vcpkg-helpers/.gitignore deleted file mode 100644 index 6217c8eab..000000000 --- a/ports/boost-vcpkg-helpers/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -downloads/ -libs/ -boost/ \ No newline at end of file diff --git a/ports/boost-vcpkg-helpers/CONTROL b/ports/boost-vcpkg-helpers/CONTROL index 37f7081cf..db578e926 100644 --- a/ports/boost-vcpkg-helpers/CONTROL +++ b/ports/boost-vcpkg-helpers/CONTROL @@ -1,3 +1,3 @@ Source: boost-vcpkg-helpers -Version: 5 +Version: 6 Description: a set of vcpkg-internal scripts used to modularize boost diff --git a/ports/boost-vcpkg-helpers/boost-modular-headers.cmake b/ports/boost-vcpkg-helpers/boost-modular-headers.cmake index 1a4b8574b..5da91478a 100644 --- a/ports/boost-vcpkg-helpers/boost-modular-headers.cmake +++ b/ports/boost-vcpkg-helpers/boost-modular-headers.cmake @@ -15,7 +15,7 @@ function(boost_modular_headers) message(STATUS "Packaging headers done") vcpkg_download_distfile(ARCHIVE - URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.65.1/LICENSE_1_0.txt" + URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.71.0/LICENSE_1_0.txt" FILENAME "boost_LICENSE_1_0.txt" SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 ) diff --git a/ports/boost-vcpkg-helpers/generate-ports.ps1 b/ports/boost-vcpkg-helpers/generate-ports.ps1 deleted file mode 100644 index 7ab6c9680..000000000 --- a/ports/boost-vcpkg-helpers/generate-ports.ps1 +++ /dev/null @@ -1,408 +0,0 @@ -[CmdletBinding()] -param ( - $libraries = @(), - $version = "1.70.0" -) - -$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition - -function TransformReference() -{ - param ( - [string]$library - ) - - if ($library -match "python|fiber") - { - # These two only work on windows desktop - "$library (windows)" - } - elseif ($library -match "thread|type[_-]erasure|contract") - { - # thread only works on x86-based processors - "$library (!arm)" - } - elseif ($library -match "iostreams|filesystem|context|stacktrace|coroutine`$|locale|test|wave|log`$") - { - "$library (!uwp)" - } - else - { - "$library" - } -} - -function Generate() -{ - param ( - [string]$Name, - [string]$Hash, - [bool]$NeedsBuild, - $Depends = @() - ) - - $controlDeps = ($Depends | sort) -join ", " - - $sanitizedName = $name -replace "_","-" - - $versionsuffix = "" - if ($Name -eq "python" -or $Name -eq "asio" -or $Name -eq "mpi") - { - $versionsuffix = "-1" - } - - if ($Name -eq "test") - { - $versionsuffix = "-2" - } - - mkdir "$scriptsDir/../boost-$sanitizedName" -erroraction SilentlyContinue | out-null - $controlLines = @( - "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" - "Source: boost-$sanitizedName" - "Version: $version$versionsuffix" - "Build-Depends: $controlDeps" - "Description: Boost $Name module" - ) - if ($Name -eq "locale") - { - $controlLines += @( - "" - "Feature: icu" - "Description: ICU backend for Boost.Locale" - "Build-Depends: icu" - ) - } - if ($Name -eq "regex") - { - $controlLines += @( - "" - "Feature: icu" - "Description: ICU backend for Boost.Regex" - "Build-Depends: icu" - ) - } - $controlLines | out-file -enc ascii "$scriptsDir/../boost-$sanitizedName/CONTROL" - - $portfileLines = @( - "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" - "" - "include(vcpkg_common_functions)" - "" - "vcpkg_from_github(" - " OUT_SOURCE_PATH SOURCE_PATH" - " REPO boostorg/$Name" - " REF boost-$version" - " SHA512 $Hash" - " HEAD_REF master" - ) - if ($Name -eq "thread") - { - $portfileLines += @(" PATCHES avoid-winapi.patch") - } - $portfileLines += @( - ")" - "" - ) - - if (Test-Path "$scriptsDir/post-source-stubs/$Name.cmake") - { - $portfileLines += @(get-content "$scriptsDir/post-source-stubs/$Name.cmake") - } - - if ($NeedsBuild) - { - if ($Name -eq "locale") - { - $portfileLines += @( - "if(`"icu`" IN_LIST FEATURES)" - " set(BOOST_LOCALE_ICU on)" - "else()" - " set(BOOST_LOCALE_ICU off)" - "endif()" - "" - "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" - "boost_modular_build(" - " SOURCE_PATH `${SOURCE_PATH}" - " BOOST_CMAKE_FRAGMENT `"`${CMAKE_CURRENT_LIST_DIR}/cmake-fragment.cmake`"" - " OPTIONS" - " boost.locale.iconv=off" - " boost.locale.posix=off" - " /boost/locale//boost_locale" - " boost.locale.icu=`${BOOST_LOCALE_ICU}" - ")" - ) - } - elseif ($Name -eq "regex") - { - $portfileLines += @( - "if(`"icu`" IN_LIST FEATURES)" - " set(REQUIREMENTS `"/user-config//icuuc /user-config//icudt /user-config//icuin BOOST_HAS_ICU=1`")" - "else()" - " set(REQUIREMENTS)" - "endif()" - "" - "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" - "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"`${REQUIREMENTS}`")" - ) - } - elseif ($Name -eq "thread") - { - $portfileLines += @( - "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" - "boost_modular_build(" - " SOURCE_PATH `${SOURCE_PATH}" - " REQUIREMENTS `"/boost/date_time//boost_date_time`"" - " OPTIONS /boost/thread//boost_thread" - " BOOST_CMAKE_FRAGMENT `${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" - ")" - ) - } - else - { - $portfileLines += @( - "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" - "boost_modular_build(SOURCE_PATH `${SOURCE_PATH})" - ) - } - } - $portfileLines += @( - "include(`${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)" - "boost_modular_headers(SOURCE_PATH `${SOURCE_PATH})" - ) - - if (Test-Path "$scriptsDir/post-build-stubs/$Name.cmake") - { - $portfileLines += @(get-content "$scriptsDir/post-build-stubs/$Name.cmake") - } - - $portfileLines | out-file -enc ascii "$scriptsDir/../boost-$sanitizedName/portfile.cmake" -} - -if (!(Test-Path "$scriptsDir/boost")) -{ - "Cloning boost..." - pushd $scriptsDir - try - { - git clone https://github.com/boostorg/boost --branch boost-$version - } - finally - { - popd - } -} -else -{ - pushd $scriptsDir/boost - try - { - git fetch - git checkout -f boost-$version - } - finally - { - popd - } -} - -$libraries_found = ls $scriptsDir/boost/libs -directory | % name | % { - if ($_ -match "numeric") - { - "numeric_conversion" - "interval" - "odeint" - "ublas" - "safe_numerics" - } - elseif ($_ -eq "headers") - { - } - else - { - $_ - } -} - -mkdir $scriptsDir/downloads -erroraction SilentlyContinue | out-null - -if ($libraries.Length -eq 0) -{ - $libraries = $libraries_found -} - -$libraries_in_boost_port = @() - -foreach ($library in $libraries) -{ - "Handling boost/$library..." - $archive = "$scriptsDir/downloads/$library-boost-$version.tar.gz" - if (!(Test-Path $archive)) - { - "Downloading boost/$library..." - & @(vcpkg fetch aria2)[-1] "https://github.com/boostorg/$library/archive/boost-$version.tar.gz" -d "$scriptsDir/downloads" -o "$library-boost-$version.tar.gz" - } - $hash = vcpkg hash $archive - $unpacked = "$scriptsDir/libs/$library-boost-$version" - if (!(Test-Path $unpacked)) - { - "Unpacking boost/$library..." - mkdir $scriptsDir/libs -erroraction SilentlyContinue | out-null - pushd $scriptsDir/libs - try - { - cmake -E tar xf $archive - } - finally - { - popd - } - } - pushd $unpacked - try - { - $groups = $( - findstr /si /C:"include ).*", "`$1" ` - -replace "/|\.hp?p?| ","" } | group | % name | % { - # mappings - Write-Verbose "${library}: $_" - if ($_ -match "aligned_storage") { "type_traits" } - elseif ($_ -match "noncopyable|ref|swap|get_pointer|checked_delete|visit_each") { "core" } - elseif ($_ -eq "type") { "core" } - elseif ($_ -match "unordered_") { "unordered" } - elseif ($_ -match "cstdint") { "integer" } - elseif ($_ -match "call_traits|operators|current_function|cstdlib|next_prior|compressed_pair") { "utility" } - elseif ($_ -match "^version|^workaround") { "config" } - elseif ($_ -match "enable_shared_from_this|shared_ptr|make_shared|make_unique|intrusive_ptr|scoped_ptr|pointer_to_other|weak_ptr|shared_array|scoped_array") { "smart_ptr" } - elseif ($_ -match "iterator_adaptors|generator_iterator|pointee") { "iterator" } - elseif ($_ -eq "regex_fwd") { "regex" } - elseif ($_ -eq "make_default") { "convert" } - elseif ($_ -eq "foreach_fwd") { "foreach" } - elseif ($_ -eq "cerrno") { "system" } - elseif ($_ -eq "archive") { "serialization" } - elseif ($_ -eq "none") { "optional" } - elseif ($_ -eq "integer_traits") { "integer" } - elseif ($_ -eq "limits") { "compatibility" } - elseif ($_ -eq "math_fwd") { "math" } - elseif ($_ -match "polymorphic_cast|implicit_cast") { "conversion" } - elseif ($_ -eq "nondet_random") { "random" } - elseif ($_ -eq "memory_order") { "atomic" } - elseif ($_ -eq "blank") { "detail" } - elseif ($_ -match "is_placeholder|mem_fn") { "bind" } - elseif ($_ -eq "exception_ptr") { "exception" } - elseif ($_ -eq "multi_index_container") { "multi_index" } - elseif ($_ -eq "lexical_cast") { "lexical_cast"; "math" } - elseif ($_ -match "token_iterator|token_functions") { "tokenizer" } - elseif ($_ -eq "numeric" -and $library -notmatch "numeric_conversion|interval|odeint|ublas") { "numeric_conversion"; "interval"; "odeint"; "ublas" } - else { $_ } - } | group | % name | ? { $_ -ne $library } - - #"`nFor ${library}:" - " [known] " + $($groups | ? { $libraries_found -contains $_ }) - " [unknown] " + $($groups | ? { $libraries_found -notcontains $_ }) - - $deps = @($groups | ? { $libraries_found -contains $_ }) - - $deps = @($deps | ? { - # Boost contains cycles, so remove a few dependencies to break the loop. - (($library -notmatch "core|assert|mpl|detail|throw_exception|type_traits|^exception") -or ($_ -notmatch "utility")) ` - -and ` - (($library -notmatch "range") -or ($_ -notmatch "algorithm"))` - -and ` - (($library -ne "config") -or ($_ -notmatch "integer"))` - -and ` - (($library -notmatch "multiprecision") -or ($_ -notmatch "random|math"))` - -and ` - (($library -notmatch "lexical_cast") -or ($_ -notmatch "math"))` - -and ` - (($library -notmatch "functional") -or ($_ -notmatch "function"))` - -and ` - (($library -notmatch "detail") -or ($_ -notmatch "static_assert|integer|mpl|type_traits"))` - -and ` - ($_ -notmatch "mpi")` - -and ` - (($library -notmatch "spirit") -or ($_ -notmatch "serialization"))` - -and ` - (($library -notmatch "throw_exception") -or ($_ -notmatch "^exception"))` - -and ` - (($library -notmatch "iostreams") -or ($_ -notmatch "random"))` - -and ` - (($library -notmatch "utility|concept_check") -or ($_ -notmatch "iterator")) - } | % { "boost-$_" -replace "_","-" } | % { - TransformReference $_ - }) - - $deps += @("boost-vcpkg-helpers") - - $needsBuild = $false - if ((Test-Path $unpacked/build/Jamfile.v2) -and $library -ne "metaparse" -and $library -ne "graph_parallel") - { - $deps += @("boost-build", "boost-modular-build-helper") - $needsBuild = $true - } - - if ($library -eq "python") - { - $deps += @("python3") - $needsBuild = $true - } - elseif ($library -eq "iostreams") - { - $deps += @("zlib", "bzip2", "liblzma") - } - elseif ($library -eq "locale") - { - $deps += @("libiconv (!uwp&!windows)") - } - elseif ($library -eq "asio") - { - $deps += @("openssl") - } - elseif ($library -eq "mpi") - { - $deps += @("msmpi") - } - - Generate ` - -Name $library ` - -Hash $hash ` - -Depends $deps ` - -NeedsBuild $needsBuild - - $libraries_in_boost_port += @(TransformReference $library) - } - finally - { - popd - } -} - -if ($libraries_in_boost_port.length -gt 1) { - # Generate master boost control file which depends on each individual library - # mpi is excluded due to it having a dependency on msmpi - $boostDependsList = @($libraries_in_boost_port | % { "boost-$_" -replace "_","-" } | ? { $_ -notmatch "boost-mpi" }) -join ", " - - @( - "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" - "Source: boost" - "Version: $version" - "Description: Peer-reviewed portable C++ source libraries" - "Build-Depends: $boostDependsList" - "" - "Feature: mpi" - "Description: Build with MPI support" - "Build-Depends: boost-mpi" - ) | out-file -enc ascii $scriptsDir/../boost/CONTROL - - "set(VCPKG_POLICY_EMPTY_PACKAGE enabled)`n" | out-file -enc ascii $scriptsDir/../boost/portfile.cmake -} - -return diff --git a/ports/boost-vmd/CONTROL b/ports/boost-vmd/CONTROL index 6c2bda21a..9711a516f 100644 --- a/ports/boost-vmd/CONTROL +++ b/ports/boost-vmd/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-vmd -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-preprocessor, boost-vcpkg-helpers Homepage: https://github.com/boostorg/vmd Description: Boost vmd module diff --git a/ports/boost-vmd/portfile.cmake b/ports/boost-vmd/portfile.cmake index 0f8ac16c1..5d9f2701e 100644 --- a/ports/boost-vmd/portfile.cmake +++ b/ports/boost-vmd/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/vmd - REF boost-1.70.0 - SHA512 88290fb0718b4681f684ffabe756ae1f80fb91f658382444c1e71756ec8138e41db395601dbbd30081b7cda37076574b4de3a08384ced1142551ee04e3680128 + REF boost-1.71.0 + SHA512 dc1065ce7be32b8aa2b73dc41fb33d60136d77b76a86bc6f236d7a46b7cde2c6245eddc98c6c49ec90a8d9bfafb518138fdb470f636ee5a1f720a94c14a6d3bb HEAD_REF master ) diff --git a/ports/boost-wave/CONTROL b/ports/boost-wave/CONTROL index 279eb5700..f7abaf9e8 100644 --- a/ports/boost-wave/CONTROL +++ b/ports/boost-wave/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-wave -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-build, boost-concept-check, boost-config, boost-core, boost-detail, boost-filesystem (!uwp), boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-modular-build-helper, boost-mpl, boost-multi-index, boost-pool, boost-preprocessor, boost-serialization, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-type-traits, boost-vcpkg-helpers Homepage: https://github.com/boostorg/wave Description: Boost wave module diff --git a/ports/boost-wave/portfile.cmake b/ports/boost-wave/portfile.cmake index 189eccc57..f863d331c 100644 --- a/ports/boost-wave/portfile.cmake +++ b/ports/boost-wave/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/wave - REF boost-1.70.0 - SHA512 0ad42a92f8a7361fd0ba99b319826b74aaf81b5ac2b85f9fc1cd4e065a3931924a13151cdc827e11e7ad34d4526ebfcb55f64d40e7b2eabb1ab7f72e02d304c0 + REF boost-1.71.0 + SHA512 9f3bdaa5f94e1bee1c83d6faaf0d48066525323d6d2c62dcbf528482f9323ffbdc5671079afae0d268f4aecd8a296952612c5d019ba16f8fb80a594d4c7c6585 HEAD_REF master ) diff --git a/ports/boost-winapi/CONTROL b/ports/boost-winapi/CONTROL index 985612d10..be8db9993 100644 --- a/ports/boost-winapi/CONTROL +++ b/ports/boost-winapi/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-winapi -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-config, boost-predef, boost-vcpkg-helpers Homepage: https://github.com/boostorg/winapi Description: Boost winapi module diff --git a/ports/boost-winapi/portfile.cmake b/ports/boost-winapi/portfile.cmake index 0877a216f..d21cdb75c 100644 --- a/ports/boost-winapi/portfile.cmake +++ b/ports/boost-winapi/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/winapi - REF boost-1.70.0 - SHA512 aa14bbb4dad1a5fbbd0177918325cc8138268c7c311dca4aef9c4570b8630dceb4b5448e0fc440afca30bd9eef2cd37b5d99843f482131249065cf76d5654174 + REF boost-1.71.0 + SHA512 105b412f033b94bc19baba4415d9954cba7dab28b0bea8f416c4ca8485db0ef5f48f846557ad691019f16039e3051a871d4794ab2822f53ab249d3592565a6b2 HEAD_REF master ) diff --git a/ports/boost-xpressive/CONTROL b/ports/boost-xpressive/CONTROL index d2960cf5b..a14352ff0 100644 --- a/ports/boost-xpressive/CONTROL +++ b/ports/boost-xpressive/CONTROL @@ -1,6 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-xpressive -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-assert, boost-compatibility, boost-config, boost-conversion, boost-core, boost-detail, boost-exception, boost-fusion, boost-integer, boost-iterator, boost-lexical-cast, boost-math, boost-mpl, boost-numeric-conversion, boost-optional, boost-preprocessor, boost-proto, boost-range, boost-smart-ptr, boost-spirit, boost-static-assert, boost-throw-exception, boost-typeof, boost-type-traits, boost-utility, boost-vcpkg-helpers Homepage: https://github.com/boostorg/xpressive Description: Boost xpressive module diff --git a/ports/boost-xpressive/portfile.cmake b/ports/boost-xpressive/portfile.cmake index 79bc1d026..e964e0b18 100644 --- a/ports/boost-xpressive/portfile.cmake +++ b/ports/boost-xpressive/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/xpressive - REF boost-1.70.0 - SHA512 4b242c54b50331cf4bc5318610efe2269ea3794264bec832debb39fb77910d26bb576837b35dce829fb13674a5b427231406e059f7dcbe68f01ba6317af988f6 + REF boost-1.71.0 + SHA512 a92b4718fcbc34e347f94c4b020acd077049cf1157b71f936ae7bc5848a0125ec9f53c3f2fef52168543a3b0b28a5fb0b4373f9c97d14be2cf9f119316be3110 HEAD_REF master ) diff --git a/ports/boost-yap/CONTROL b/ports/boost-yap/CONTROL index 48dea0e8d..5dad69936 100644 --- a/ports/boost-yap/CONTROL +++ b/ports/boost-yap/CONTROL @@ -1,5 +1,6 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost-yap -Version: 1.70.0 +Version: 1.71.0 Build-Depends: boost-hana, boost-preprocessor, boost-type-index, boost-vcpkg-helpers +Homepage: https://github.com/boostorg/yap Description: Boost yap module diff --git a/ports/boost-yap/portfile.cmake b/ports/boost-yap/portfile.cmake index 106114009..6f72d412d 100644 --- a/ports/boost-yap/portfile.cmake +++ b/ports/boost-yap/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO boostorg/yap - REF boost-1.70.0 - SHA512 f6211eed15eb28418513a525efc250993eed9aa940a20ed989e5f7af6c0890c06e3a0aa571e6825a8b15c62a7f238c7e269872f7b6c3bc3ab2e097a9f101fcf6 + REF boost-1.71.0 + SHA512 1b8ba20d5bc3ac51dd8c7b234ff63c90568149a357212f90262c19044dfa2bddede61c79d0c5d8795201e95bae6507015e73895ae851e9a593c8589c67b978fa HEAD_REF master ) diff --git a/ports/boost/CONTROL b/ports/boost/CONTROL index 54dfc3c7a..3bdb18fba 100644 --- a/ports/boost/CONTROL +++ b/ports/boost/CONTROL @@ -1,9 +1,9 @@ # Automatically generated by boost-vcpkg-helpers/generate-ports.ps1 Source: boost -Version: 1.70.0 +Version: 1.71.0 Homepage: https://boost.org Description: Peer-reviewed portable C++ source libraries -Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp), boost-contract (!arm), boost-conversion, boost-convert, boost-core, boost-coroutine (!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic, boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter, boost-parameter-python (windows), boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-system, boost-test (!uwp), boost-thread (!arm), boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (!arm), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap +Build-Depends: boost-accumulators, boost-algorithm, boost-align, boost-any, boost-array, boost-asio, boost-assert, boost-assign, boost-atomic, boost-beast, boost-bimap, boost-bind, boost-callable-traits, boost-chrono, boost-circular-buffer, boost-compatibility, boost-compute, boost-concept-check, boost-config, boost-container, boost-container-hash, boost-context (!uwp), boost-contract (!arm), boost-conversion, boost-convert, boost-core, boost-coroutine (!uwp), boost-coroutine2, boost-crc, boost-date-time, boost-detail, boost-disjoint-sets, boost-dll, boost-dynamic-bitset, boost-endian, boost-exception, boost-fiber (windows), boost-filesystem (!uwp), boost-flyweight, boost-foreach, boost-format, boost-function, boost-functional, boost-function-types, boost-fusion, boost-geometry, boost-gil, boost-graph, boost-graph-parallel, boost-hana, boost-heap, boost-histogram, boost-hof, boost-icl, boost-integer, boost-interprocess, boost-intrusive, boost-io, boost-iostreams (!uwp), boost-iterator, boost-lambda, boost-lexical-cast, boost-locale (!uwp), boost-local-function, boost-lockfree, boost-log (!uwp), boost-logic, boost-math, boost-metaparse, boost-move, boost-mp11, boost-mpl, boost-msm, boost-multiprecision, boost-multi-array, boost-multi-index, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-optional, boost-outcome, boost-parameter, boost-parameter-python (windows), boost-phoenix, boost-polygon, boost-poly-collection, boost-pool, boost-predef, boost-preprocessor, boost-process, boost-program-options, boost-property-map, boost-property-tree, boost-proto, boost-ptr-container, boost-python (windows), boost-qvm, boost-random, boost-range, boost-ratio, boost-rational, boost-regex, boost-numeric-conversion, boost-interval, boost-odeint, boost-ublas, boost-safe-numerics, boost-scope-exit, boost-serialization, boost-signals2, boost-smart-ptr, boost-sort, boost-spirit, boost-stacktrace (!uwp), boost-statechart, boost-static-assert, boost-system, boost-test (!uwp), boost-thread, boost-throw-exception, boost-timer, boost-tokenizer, boost-tti, boost-tuple, boost-typeof, boost-type-erasure (!arm), boost-type-index, boost-type-traits, boost-units, boost-unordered, boost-utility, boost-uuid, boost-variant, boost-variant2, boost-vmd, boost-wave (!uwp), boost-winapi, boost-xpressive, boost-yap Feature: mpi Description: Build with MPI support diff --git a/ports/botan/CONTROL b/ports/botan/CONTROL index 8ceb0118c..11ac954f8 100644 --- a/ports/botan/CONTROL +++ b/ports/botan/CONTROL @@ -1,4 +1,4 @@ Source: botan -Version: 2.9.0 +Version: 2.12.1 Homepage: https://botan.randombit.net -Description: A cryptography library written in C++11 \ No newline at end of file +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/portfile.cmake b/ports/botan/portfile.cmake index 8b9a200d4..f77c315b4 100644 --- a/ports/botan/portfile.cmake +++ b/ports/botan/portfile.cmake @@ -1,41 +1,22 @@ -include(vcpkg_common_functions) - -set(BOTAN_VERSION 2.9.0) +set(BOTAN_VERSION 2.12.1) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO randombit/botan - REF 0129d3172ec419beb90a2b3487f6385a35da0742 - SHA512 a8328df5ad2693a96935d1d2202ddd6678a5ba9c63a8159acbe56f1c884fa5faaa71339e8f56284cfd00574a9b4f91bdb1fb22c36c8e899d9b4cbe881f4867d3 + REF 1a6ad661ce64287ccbe26460ccc3aa4247d86ba8 # 2.12.1 + SHA512 7a774f325c85761e2d076847f1fc8bc67592d696c4ebde839928591f7c85352e2df6032c122bdcc603adf84d76f5a1897c7118aa3859d38f79e474f27bc3b588 HEAD_REF master + PATCHES fix-generate-build-path.patch ) -set(NUMBER_OF_PROCESSORS "1") -if(DEFINED ENV{NUMBER_OF_PROCESSORS}) - set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS}) -else() - if(APPLE) - set(job_count_command sysctl -n hw.physicalcpu) - else() - set(job_count_command nproc) - endif() - execute_process( - COMMAND ${job_count_command} - OUTPUT_VARIABLE NUMBER_OF_PROCESSORS - ) - string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") - string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") - if(NOT NUMBER_OF_PROCESSORS) - set(NUMBER_OF_PROCESSORS "1") - endif() -endif() - if(CMAKE_HOST_WIN32) vcpkg_find_acquire_program(JOM) - set(build_tool "${JOM}" /J ${NUMBER_OF_PROCESSORS}) + set(build_tool "${JOM}") + set(parallel_build "/J${VCPKG_CONCURRENCY}") else() find_program(MAKE make) - set(build_tool "${MAKE}" -j${NUMBER_OF_PROCESSORS}) + set(build_tool "${MAKE}") + set(parallel_build "-j${VCPKG_CONCURRENCY}") endif() vcpkg_find_acquire_program(PYTHON3) @@ -93,7 +74,7 @@ function(BOTAN_BUILD BOTAN_BUILD_TYPE) --link-method=copy) if(CMAKE_HOST_WIN32) list(APPEND configure_arguments ${BOTAN_MSVC_RUNTIME}${BOTAN_MSVC_RUNTIME_SUFFIX}) - endif() + endif() vcpkg_execute_required_process( COMMAND "${PYTHON3}" "${SOURCE_PATH}/configure.py" ${configure_arguments} @@ -102,8 +83,9 @@ function(BOTAN_BUILD BOTAN_BUILD_TYPE) message(STATUS "Configure ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE} done") message(STATUS "Build ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}") - vcpkg_execute_required_process( - COMMAND ${build_tool} + vcpkg_execute_build_process( + COMMAND "${build_tool}" ${parallel_build} + NO_PARALLEL_COMMAND "${build_tool}" WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}" LOGNAME build-${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE}) message(STATUS "Build ${TARGET_TRIPLET}-${BOTAN_BUILD_TYPE} done") @@ -112,7 +94,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/breakpad/CONTROL b/ports/breakpad/CONTROL index 0f6ba1dcb..b701aa69f 100644 --- a/ports/breakpad/CONTROL +++ b/ports/breakpad/CONTROL @@ -1,5 +1,5 @@ Source: breakpad -Version: 2019-05-08 +Version: 2019-07-11-1 Build-Depends: libdisasm Homepage: https://github.com/google/breakpad Description: a set of client and server components which implement a crash-reporting system. diff --git a/ports/breakpad/fix-unique_ptr.patch b/ports/breakpad/fix-unique_ptr.patch new file mode 100644 index 000000000..4f81de3d9 --- /dev/null +++ b/ports/breakpad/fix-unique_ptr.patch @@ -0,0 +1,13 @@ +diff --git a/src/common/windows/pe_util.cc b/src/common/windows/pe_util.cc +index 9f9e8fa..d912635 100644 +--- a/src/common/windows/pe_util.cc ++++ b/src/common/windows/pe_util.cc +@@ -28,7 +28,7 @@ + // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include "pe_util.h" +- ++#include + #include + #include + #include diff --git a/ports/breakpad/portfile.cmake b/ports/breakpad/portfile.cmake index 9bab01f23..a5c3022f9 100644 --- a/ports/breakpad/portfile.cmake +++ b/ports/breakpad/portfile.cmake @@ -5,9 +5,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/breakpad - REF 21b48a72aa50dde84149267f6b7402522b846b24 - SHA512 4ca2f877871c0a79c24ce4cc592dddb3ac4c2eac2a5962dad6d3d94edc91ac82afec3d7e4e7f81e7d9916eb83f8708e66759c38a6ef0e1b2c19691dd1518558a + REF c46151db0ffd1a8dae914e45f1212ef427f61ed3 + SHA512 bd9f247851a3caa6f36574c8a243c2a01cb1cf23c2266b6f6786b85c7418dba5937363c00184e26cda24225f96bb7aaeb08efd13d6a269a3b78c357c2eda7e14 HEAD_REF master + PATCHES + fix-unique_ptr.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/brigand/CONTROL b/ports/brigand/CONTROL new file mode 100644 index 000000000..2fba63f77 --- /dev/null +++ b/ports/brigand/CONTROL @@ -0,0 +1,6 @@ +Source: brigand +Version: 1.3.0 +Homepage: https://github.com/edouarda/brigand +Description: Brigand is a light-weight, fully functional, instant-compile time C++ 11 meta-programming library. +Build-Depends: boost + diff --git a/ports/brigand/fix-install-targets.patch b/ports/brigand/fix-install-targets.patch new file mode 100644 index 000000000..248948ab1 --- /dev/null +++ b/ports/brigand/fix-install-targets.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 13ea689..9d20700 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -292,3 +292,9 @@ install(DIRECTORY ${PROJECT_SOURCE_DIR}/brigand + install(FILES ${CMAKE_BINARY_DIR}/libbrigand.pc + DESTINATION lib/pkgconfig + ) ++ ++install(TARGETS brigand ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) diff --git a/ports/brigand/portfile.cmake b/ports/brigand/portfile.cmake new file mode 100644 index 000000000..c7c17907f --- /dev/null +++ b/ports/brigand/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO edouarda/brigand + REF 1.3.0 + SHA512 538d288d84265cc9a4563f1e84d55a174db461ffd1e4f510bfdaef04af9fbf8e7ca79817f9118378bf7d58d578699aae3072bbffa3fd727b2d93ee783337aea6 + HEAD_REF master + PATCHES fix-install-targets.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/pkgconfig) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) + diff --git a/ports/brynet/CONTROL b/ports/brynet/CONTROL index 5566fad32..341076cba 100644 --- a/ports/brynet/CONTROL +++ b/ports/brynet/CONTROL @@ -1,5 +1,5 @@ Source: brynet -Version: 1.0.2 +Version: 1.0.3 Homepage: https://github.com/IronsDu/brynet Description: A C++ cross platform high performance tcp network library, and support SSL/HTTP/Websocket. Build-Depends: openssl diff --git a/ports/brynet/portfile.cmake b/ports/brynet/portfile.cmake index 141711827..f707948ac 100644 --- a/ports/brynet/portfile.cmake +++ b/ports/brynet/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IronsDu/brynet - REF v1.0.2 - SHA512 b07ceb858ed125959b3901415d6099939acf51a194950de8c65f063b6462a0ab424494659aedd889378bd4388cc9e71a0aedcb30108b6c2eef4d5e6ebea2cce8 + REF v1.0.3 + SHA512 8759b522da34be68a7ba0959ed3d85382965efe5080e4cdd403001f3911d36398b7fe9d039fd9fb485a0d557cec0fa53863a512eb88f13f3ff222b6e30642baf HEAD_REF master ) diff --git a/ports/bullet3/CONTROL b/ports/bullet3/CONTROL index 437908356..d313255a5 100644 --- a/ports/bullet3/CONTROL +++ b/ports/bullet3/CONTROL @@ -1,4 +1,7 @@ Source: bullet3 -Version: 2.88 +Version: 2.88-1 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 diff --git a/ports/bullet3/portfile.cmake b/ports/bullet3/portfile.cmake index aef9757a7..031ddf23f 100644 --- a/ports/bullet3/portfile.cmake +++ b/ports/bullet3/portfile.cmake @@ -10,8 +10,14 @@ vcpkg_from_github( HEAD_REF master ) +set(BULLET_MULTITHREADING OFF) +if ("multithreading" IN_LIST FEATURES) + set(BULLET_MULTITHREADING ON) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DUSE_MSVC_RUNTIME_LIBRARY_DLL=ON -DBUILD_DEMOS=OFF @@ -21,6 +27,7 @@ vcpkg_configure_cmake( -DBUILD_EXTRAS=OFF -DBUILD_UNIT_TESTS=OFF -DINSTALL_LIBS=ON + -DBULLET2_MULTITHREADING=${BULLET_MULTITHREADING} ) vcpkg_install_cmake() diff --git a/ports/butteraugli/CONTROL b/ports/butteraugli/CONTROL index d210263c3..aab641738 100644 --- a/ports/butteraugli/CONTROL +++ b/ports/butteraugli/CONTROL @@ -1,5 +1,5 @@ Source: butteraugli -Version: 2019-05-08 +Version: 2019-05-08-1 Homepage: https://github.com/google/butteraugli Description: butteraugli estimates the psychovisual difference between two images Build-Depends: libpng, libjpeg-turbo diff --git a/ports/butteraugli/portfile.cmake b/ports/butteraugli/portfile.cmake index a3fb2a19d..6d3024f6b 100644 --- a/ports/butteraugli/portfile.cmake +++ b/ports/butteraugli/portfile.cmake @@ -8,16 +8,12 @@ vcpkg_from_github( REF 71b18b636b9c7d1ae0c1d3730b85b3c127eb4511 SHA512 2e73f8ad8953307eea956ed8bd828e110419d6d9f8a42685d225953d3a8017a79d0701bde0282459dc51198e75a99dcd99dd3c4e7ef065736c512a7b11ea0fdf HEAD_REF master + PATCHES + missing_header.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/missing_header.patch" - ) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -27,6 +23,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/butteraugli) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/butteraugli RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/c-ares/CONTROL b/ports/c-ares/CONTROL index dda2acde0..c8a5f4854 100644 --- a/ports/c-ares/CONTROL +++ b/ports/c-ares/CONTROL @@ -1,5 +1,4 @@ Source: c-ares -Version: 2019-5-2 +Version: 2019-5-2-1 Homepage: https://github.com/c-ares/c-ares Description: A C library for asynchronous DNS requests -Build-Depends: diff --git a/ports/c-ares/portfile.cmake b/ports/c-ares/portfile.cmake index 094b52ff4..6d3769b1c 100644 --- a/ports/c-ares/portfile.cmake +++ b/ports/c-ares/portfile.cmake @@ -30,7 +30,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/c-ares") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/c-ares) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) diff --git a/ports/cairo/CMakeLists.txt b/ports/cairo/CMakeLists.txt index 750a9850d..eea64b96c 100644 --- a/ports/cairo/CMakeLists.txt +++ b/ports/cairo/CMakeLists.txt @@ -190,6 +190,10 @@ endif() add_library(cairo ${SOURCES}) +if (WITH_X11) + target_compile_definitions(cairo PUBLIC -DCAIRO_HAS_XLIB_SURFACE=1) +endif() + target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG Freetype::Freetype unofficial::pixman::pixman-1 unofficial::fontconfig::fontconfig) if(CMAKE_SYSTEM_NAME STREQUAL "Windows") @@ -224,6 +228,10 @@ if(MSVC) ) endif() +if (CAIRO_HAS_XLIB_SURFACE) + file(INSTALL cairo-xlib.h DESTINATION include) +endif() + install(TARGETS cairo cairo-gobject EXPORT cairo-targets RUNTIME DESTINATION bin diff --git a/ports/cairo/CONTROL b/ports/cairo/CONTROL index d53d5003d..e9d494235 100644 --- a/ports/cairo/CONTROL +++ b/ports/cairo/CONTROL @@ -1,5 +1,8 @@ Source: cairo -Version: 1.16.0-1 +Version: 1.16.0-2 Homepage: https://cairographics.org Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig + +Feature: x11 +Description: build with x11 support \ No newline at end of file diff --git a/ports/cairo/portfile.cmake b/ports/cairo/portfile.cmake index ed120f07f..f5b1f35f8 100644 --- a/ports/cairo/portfile.cmake +++ b/ports/cairo/portfile.cmake @@ -18,9 +18,21 @@ vcpkg_extract_source_archive_ex( file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src) file(COPY ${CURRENT_PORT_DIR}/cairo-features.h DESTINATION ${SOURCE_PATH}/src) +if ("x11" IN_LIST FEATURES) + if (VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "Feature x11 only support UNIX.") + endif() + message(WARNING "You will need to install Xorg dependencies to use feature x11:\napt install libx11-dev libxft-dev\n") +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + x11 WITH_X11 +) + vcpkg_configure_cmake( PREFER_NINJA SOURCE_PATH ${SOURCE_PATH}/src + OPTIONS ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/cairomm/CONTROL b/ports/cairomm/CONTROL index 4705065fc..e9d9d9b5f 100644 --- a/ports/cairomm/CONTROL +++ b/ports/cairomm/CONTROL @@ -1,5 +1,5 @@ Source: cairomm -Version: 1.15.3-3 +Version: 1.15.3-4 Homepage: https://www.cairographics.org Description: A C++ wrapper for the cairo graphics library Build-Depends: cairo, libsigcpp diff --git a/ports/cairomm/portfile.cmake b/ports/cairomm/portfile.cmake index 857705649..e14f6012e 100644 --- a/ports/cairomm/portfile.cmake +++ b/ports/cairomm/portfile.cmake @@ -4,22 +4,23 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(CAIROMM_VERSION 1.15.3) set(CAIROMM_HASH a2c28786dbd167179561d8f580eeb11d10634a36dfdb1adeefc0279acf83ee906f01f264cb924845fc4ab98da1afac71e1ead742f283c1a32368ca9af28e464a) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cairomm-${CAIROMM_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://www.cairographics.org/releases/cairomm-${CAIROMM_VERSION}.tar.gz" FILENAME "cairomm-${CAIROMM_VERSION}.tar.gz" SHA512 ${CAIROMM_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + 0001-fix-build.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH}/build) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-build.patch") - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -30,5 +31,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cairomm) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/cairomm/COPYING ${CURRENT_PACKAGES_DIR}/share/cairomm/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/capnproto/CONTROL b/ports/capnproto/CONTROL index 2bb136b7a..02cc080f1 100644 --- a/ports/capnproto/CONTROL +++ b/ports/capnproto/CONTROL @@ -1,5 +1,5 @@ Source: capnproto -Version: 0.7.0-1 +Version: 0.7.0-3 Description: Data interchange format and capability-based RPC system Homepage: https://capnproto.org/ Build-Depends: zlib diff --git a/ports/capnproto/portfile.cmake b/ports/capnproto/portfile.cmake index a9916a70a..4e149a035 100644 --- a/ports/capnproto/portfile.cmake +++ b/ports/capnproto/portfile.cmake @@ -2,10 +2,6 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP build is not supported.") endif() -if(DEFINED VCPKG_CMAKE_SYSTEM_NAME) - message(FATAL_ERROR "Error: CapnProto only build on Windows for now. See #5630 and #5635") -endif() - include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -19,11 +15,14 @@ vcpkg_from_github( PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-capnpc-extension-handling-on-Windows.patch" ) -vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH}) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/CapnProto") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CapnProto) file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools") file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools/capnproto") @@ -39,4 +38,4 @@ file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/capnp file(RENAME ${CURRENT_PACKAGES_DIR}/share/capnproto/LICENSE ${CURRENT_PACKAGES_DIR}/share/capnproto/copyright) # Disabled for now, see #5630 and #5635 -# vcpkg_test_cmake(PACKAGE_NAME CapnProto) \ No newline at end of file +# vcpkg_test_cmake(PACKAGE_NAME CapnProto) diff --git a/ports/cartographer/CONTROL b/ports/cartographer/CONTROL index b91c4a52e..10037dbad 100644 --- a/ports/cartographer/CONTROL +++ b/ports/cartographer/CONTROL @@ -1,5 +1,5 @@ Source: cartographer -Version: 1.0.0 +Version: 1.0.0-2 Build-Depends: ceres[suitesparse], gflags, glog, lua, cairo, boost-iostreams, gtest, protobuf Homepage: https://github.com/googlecartographer/cartographer Description: Google 2D & 3D SLAM package diff --git a/ports/cartographer/disable-C2338-cartographer.patch b/ports/cartographer/disable-C2338-cartographer.patch deleted file mode 100644 index 17452622d..000000000 --- a/ports/cartographer/disable-C2338-cartographer.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 95bb132..fbd624d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -237,7 +237,7 @@ if(${BUILD_PROMETHEUS}) - target_compile_definitions(${PROJECT_NAME} PUBLIC USE_PROMETHEUS=1) - endif() - --set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}") -+set(TARGET_COMPILE_FLAGS "-D_DISABLE_EXTENDED_ALIGNED_STORAGE ${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}") - set_target_properties(${PROJECT_NAME} PROPERTIES - COMPILE_FLAGS ${TARGET_COMPILE_FLAGS}) - diff --git a/ports/cartographer/portfile.cmake b/ports/cartographer/portfile.cmake index 889adddfb..b761c39bb 100644 --- a/ports/cartographer/portfile.cmake +++ b/ports/cartographer/portfile.cmake @@ -10,7 +10,6 @@ vcpkg_from_github( HEAD_REF master PATCHES fix-find-packages.patch - disable-C2338-cartographer.patch fix-build-error.patch ) @@ -27,7 +26,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cartographer) +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() # Clean diff --git a/ports/casclib/CMakeLists.txt b/ports/casclib/CMakeLists.txt index 4165814f5..ad05df424 100644 --- a/ports/casclib/CMakeLists.txt +++ b/ports/casclib/CMakeLists.txt @@ -1,22 +1,13 @@ cmake_minimum_required(VERSION 3.9) -project(CascLib) -set(HEADER_FILES - src/CascCommon.h - src/CascLib.h - src/CascLib.def - src/CascPort.h - src/common/Array.h - src/common/Common.h - src/common/Csv.h - src/common/FileStream.h - src/common/FileTree.h - src/common/ListFile.h - src/common/Map.h - src/jenkins/lookup.h -) +project(casclib) +set(PROJECT_VERSION_MAJOR 1) +set(PROJECT_VERSION_MINOR 50) + +option(INSTALL_HEADERS "Install header files" ON) set(SRC_FILES + src/CascLib.def src/CascCommon.cpp src/CascDecompress.cpp src/CascDecrypt.cpp @@ -57,18 +48,36 @@ set(ZLIB_FILES src/zlib/zutil.c ) +add_library(casclib ${SRC_FILES} ${ZLIB_FILES} ${MD5_FILES}) +target_include_directories(casclib + PUBLIC + $ + $) if(WIN32) - add_definitions(-DUNICODE -D_UNICODE) + target_compile_definitions(casclib PRIVATE UNICODE _UNICODE) endif() -add_library(CascLib ${SRC_FILES} ${HEADER_FILES} ${TOMCRYPT_FILES} ${ZLIB_FILES} ${MD5_FILES}) +install(TARGETS casclib + EXPORT casclibTargets + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) -set_target_properties(CascLib PROPERTIES PUBLIC_HEADER "src/CascLib.h;src/CascPort.h") +include(CMakePackageConfigHelpers) -install(TARGETS CascLib - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - FRAMEWORK DESTINATION /Library/Frameworks - PUBLIC_HEADER DESTINATION include - INCLUDES DESTINATION include) \ No newline at end of file +set(VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/temp/casclibConfigVersion.cmake") +set(PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/temp/casclibConfig.cmake") +set(INSTALL_DIR "share/casclib") + +write_basic_package_version_file("${VERSION_CONFIG}" VERSION 1.50 COMPATIBILITY SameMajorVersion) +configure_package_config_file("Config.cmake.in" + "${PROJECT_CONFIG}" + INSTALL_DESTINATION "${INSTALL_DIR}") + +install(FILES "${PROJECT_CONFIG}" "${VERSION_CONFIG}" DESTINATION "${INSTALL_DIR}") +install(EXPORT casclibTargets DESTINATION "${INSTALL_DIR}") + +if(INSTALL_HEADERS) + install(FILES "src/CascLib.h" "src/CascPort.h" DESTINATION include/casclib) +endif() diff --git a/ports/casclib/CONTROL b/ports/casclib/CONTROL index a9a10ac9b..9c0a083ba 100644 --- a/ports/casclib/CONTROL +++ b/ports/casclib/CONTROL @@ -1,4 +1,4 @@ Source: casclib -Version: 1.50 +Version: 1.50b-1 Build-Depends: zlib -Description: An open-source implementation of library for reading CASC storage from Blizzard games since 2014 \ No newline at end of file +Description: An open-source implementation of library for reading CASC storage from Blizzard games since 2014 diff --git a/ports/casclib/Config.cmake.in b/ports/casclib/Config.cmake.in new file mode 100644 index 000000000..96f515427 --- /dev/null +++ b/ports/casclib/Config.cmake.in @@ -0,0 +1,7 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(ZLIB REQUIRED) + +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +check_required_components("@PROJECT_NAME@") diff --git a/ports/casclib/ctype_for_mac.patch b/ports/casclib/ctype_for_mac.patch index 30f790c1f..dc1a67dff 100644 --- a/ports/casclib/ctype_for_mac.patch +++ b/ports/casclib/ctype_for_mac.patch @@ -1,16 +1,11 @@ diff --git a/src/CascPort.h b/src/CascPort.h -index 87a2f2f..da74aef 100644 +index 3bd08d4..201f7dd 100644 --- a/src/CascPort.h +++ b/src/CascPort.h -@@ -79,14 +79,19 @@ - #include - #include - #include -- #include - #include -- #include +@@ -85,10 +85,17 @@ + #include #include -- #include + #include + #include #include + #include @@ -18,7 +13,7 @@ index 87a2f2f..da74aef 100644 + #include + #include #include -+ #include + #include + #include #include + #include diff --git a/ports/casclib/portfile.cmake b/ports/casclib/portfile.cmake index bf17bc545..fb2fd77eb 100644 --- a/ports/casclib/portfile.cmake +++ b/ports/casclib/portfile.cmake @@ -3,21 +3,31 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ladislav-zezula/CascLib - REF 1.50 - SHA512 7e95e314f09e504566e6fa2b1742f986d17526fb0283af8ffb77681338c9a852d369cbd863512a20ddd3a277d10a9bf701d745f500a717826dd08e201eb6d80e + REF 1.50b + SHA512 f32cc592f454db4815c0dfd18a9c0076d85b1582e6974d241d1d4094269c42a978fa42186504988ced2c8f4a0b598f41e3ec8a95ddc3c0551af997e37708b1f5 HEAD_REF master PATCHES ctype_for_mac.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt + ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in + DESTINATION + ${SOURCE_PATH} +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF ) vcpkg_install_cmake() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/casclib RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file +vcpkg_fixup_cmake_targets() + +file(INSTALL ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/casclib + RENAME copyright) diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL index b3cd3c33d..a9d6440a4 100644 --- a/ports/catch2/CONTROL +++ b/ports/catch2/CONTROL @@ -1,4 +1,4 @@ Source: catch2 -Version: 2.7.2 +Version: 2.10.1-1 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 372b627ac..5f3408bc7 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.7.2 - SHA512 ac58cb3b676c73a361a494492e7b1f1b85cba7d08feb2d09b2269109a89b66aa37efead6b0a9fca64678f42a3395a3b02b6d461b4cb35310451ce849a79d04ae + REF v2.10.1 + SHA512 7806dc3cd5b7ecb51ae5f4e0e4c6ca07943af6038a5a6bdd6825951018f1a79baa76ab37f15a660b7c420ec5b0d3ea19ae95bd8f380f56588850db6566958d00 HEAD_REF master ) @@ -18,7 +18,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Catch2 TARGET_PATH share/catch2) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Catch2) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) @@ -27,4 +27,4 @@ if(NOT EXISTS ${CURRENT_PACKAGES_DIR}/include/catch2/catch.hpp) endif() file(WRITE ${CURRENT_PACKAGES_DIR}/include/catch.hpp "#include ") -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/catch2 RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/ccd/0001_fix_symbols_export.patch b/ports/ccd/0001_fix_symbols_export.patch deleted file mode 100644 index f9c47d79b..000000000 --- a/ports/ccd/0001_fix_symbols_export.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 05b5718a364ac525c8766387bd74faf852f98589 Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Sun, 27 Aug 2017 03:39:53 +0300 -Subject: [PATCH] win32: export additional symbols, fixes FCL build on MSVC - ---- - src/ccd/vec3.h | 2 +- - src/support.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/ccd/vec3.h b/src/ccd/vec3.h -index b0c1b33..014531c 100644 ---- a/src/ccd/vec3.h -+++ b/src/ccd/vec3.h -@@ -93,7 +93,7 @@ typedef struct _ccd_vec3_t ccd_vec3_t; - /** - * Holds origin (0,0,0) - this variable is meant to be read-only! - */ --extern ccd_vec3_t *ccd_vec3_origin; -+extern _ccd_export ccd_vec3_t *ccd_vec3_origin; - - /** - * Array of points uniformly distributed on unit sphere. -diff --git a/src/support.h b/src/support.h -index 3372f5e..2e75df7 100644 ---- a/src/support.h -+++ b/src/support.h -@@ -37,7 +37,7 @@ _ccd_inline void ccdSupportCopy(ccd_support_t *, const ccd_support_t *s); - * Computes support point of obj1 and obj2 in direction dir. - * Support point is returned via supp. - */ --void __ccdSupport(const void *obj1, const void *obj2, -+_ccd_export void __ccdSupport(const void *obj1, const void *obj2, - const ccd_vec3_t *dir, const ccd_t *ccd, - ccd_support_t *supp); - --- -2.12.2.windows.2 - diff --git a/ports/ccd/CONTROL b/ports/ccd/CONTROL index e2b4463ba..ded728779 100644 --- a/ports/ccd/CONTROL +++ b/ports/ccd/CONTROL @@ -1,4 +1,4 @@ Source: ccd -Version: 2.1 +Version: 2.1-3 Homepage: https://github.com/danfis/libccd Description: Library for collision detection between two convex shapes diff --git a/ports/ccd/portfile.cmake b/ports/ccd/portfile.cmake index ba9b3a6f6..424732917 100644 --- a/ports/ccd/portfile.cmake +++ b/ports/ccd/portfile.cmake @@ -1,17 +1,12 @@ include(vcpkg_common_functions) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH REPO danfis/libccd REF v2.1 SHA512 ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d - HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001_fix_symbols_export.patch) + HEAD_REF master +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -21,10 +16,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/ccd") - -file(INSTALL ${SOURCE_PATH}/BSD-LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ccd RENAME copyright) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/ccd) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) + +file(INSTALL ${SOURCE_PATH}/BSD-LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/ccfits/CONTROL b/ports/ccfits/CONTROL index 18937d5e7..f2603b80e 100644 --- a/ports/ccfits/CONTROL +++ b/ports/ccfits/CONTROL @@ -1,5 +1,5 @@ Source: ccfits -Version: 2.5-2 +Version: 2.5-4 Homepage: https://heasarc.gsfc.nasa.gov/fitsio/ccfits Description: CCfits is an object oriented interface to the cfitsio library. It is designed to make the capabilities of cfitsio available to programmers working in C++. Build-Depends: cfitsio diff --git a/ports/ccfits/dll_exports.patch b/ports/ccfits/dll_exports.patch index 4ec4a8284..6321cbb4e 100644 --- a/ports/ccfits/dll_exports.patch +++ b/ports/ccfits/dll_exports.patch @@ -1,10 +1,7 @@ -Index: FITS.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- FITS.h (date 1502267716000) -+++ FITS.h (revision ) +diff --git a/FITS.h b/FITS.h +index e21f3db..3e97c83 100644 +--- a/FITS.h ++++ b/FITS.h @@ -21,6 +21,8 @@ #include "HDUCreator.h" // FitsError @@ -14,42 +11,33 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP namespace CCfits { class FITSBase; -@@ -665,9 +667,8 @@ +@@ -665,7 +667,7 @@ do this either). - class FITS -- { -- -+ class CCFITS_EXPORT FITS -+ { ++ class CCFITS_EXPORT FITS + { + public: - - -Index: HDU.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- HDU.h (date 1502267716000) -+++ HDU.h (revision ) -@@ -568,7 +568,7 @@ +diff --git a/HDU.h b/HDU.h +index 07f68e7..047e731 100644 +--- a/HDU.h ++++ b/HDU.h +@@ -568,7 +568,7 @@ and return its value. - class HDU -+ class CCFITS_EXPORT HDU ++ class CCFITS_EXPORT HDU { public: -Index: Table.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- Table.h (date 1502267716000) -+++ Table.h (revision ) -@@ -268,7 +268,7 @@ +diff --git a/Table.h b/Table.h +index a0c1afe..9a8a5db 100644 +--- a/Table.h ++++ b/Table.h +@@ -268,7 +268,7 @@ namespace CCfits { @@ -58,19 +46,16 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: -Index: Column.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- Column.h (date 1502267716000) -+++ Column.h (revision ) -@@ -838,14 +838,14 @@ +diff --git a/Column.h b/Column.h +index e4496a7..b798947 100644 +--- a/Column.h ++++ b/Column.h +@@ -838,14 +838,14 @@ namespace CCfits { - class Column -+ class CCFITS_EXPORT Column ++ class CCFITS_EXPORT Column { public: @@ -82,7 +67,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: RangeError (const String& msg, bool silent = true); -@@ -857,7 +857,7 @@ +@@ -857,7 +857,7 @@ namespace CCfits { @@ -91,7 +76,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: InvalidDataType (const String& str = string(), bool silent = true); -@@ -869,7 +869,7 @@ +@@ -869,7 +869,7 @@ namespace CCfits { @@ -100,7 +85,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: InvalidRowParameter (const String& diag, bool silent = true); -@@ -881,7 +881,7 @@ +@@ -881,7 +881,7 @@ namespace CCfits { @@ -109,7 +94,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: WrongColumnType (const String& diag, bool silent = true); -@@ -893,7 +893,7 @@ +@@ -893,7 +893,7 @@ namespace CCfits { @@ -118,7 +103,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: UnspecifiedLengths (const String& diag, bool silent = true); -@@ -905,7 +905,7 @@ +@@ -905,7 +905,7 @@ namespace CCfits { @@ -127,7 +112,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: InvalidRowNumber (const String& diag, bool silent = true); -@@ -917,7 +917,7 @@ +@@ -917,7 +917,7 @@ namespace CCfits { @@ -136,7 +121,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: InsufficientElements (const String& msg, bool silent = true); -@@ -929,7 +929,7 @@ +@@ -929,7 +929,7 @@ namespace CCfits { @@ -145,7 +130,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: NoNullValue (const String& diag, bool silent = true); -@@ -941,7 +941,7 @@ +@@ -941,7 +941,7 @@ namespace CCfits { @@ -154,14 +139,11 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: InvalidNumberOfRows (int number, bool silent = true); -Index: AsciiTable.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- AsciiTable.h (date 1502267716000) -+++ AsciiTable.h (revision ) -@@ -133,7 +133,7 @@ +diff --git a/AsciiTable.h b/AsciiTable.h +index 620cf41..d03aa44 100644 +--- a/AsciiTable.h ++++ b/AsciiTable.h +@@ -133,7 +133,7 @@ namespace CCfits { @@ -170,14 +152,11 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: -Index: CCfits.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- CCfits.h (date 1502267716000) -+++ CCfits.h (revision ) -@@ -23,7 +23,7 @@ +diff --git a/CCfits.h b/CCfits.h +index d09438a..a62b8a6 100644 +--- a/CCfits.h ++++ b/CCfits.h +@@ -23,7 +23,7 @@ namespace CCfits { #include #include "longnam.h" #include "float.h" @@ -186,7 +165,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP namespace CCfits { /*! \namespace CCfits -@@ -32,8 +32,8 @@ +@@ -32,8 +32,8 @@ namespace CCfits { static const int BITPIX = -32; static const int NAXIS = 2; static const int MAXDIM = 99; @@ -197,46 +176,37 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP extern char BSCALE[7]; extern char BZERO[6]; -Index: FITSBase.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- FITSBase.h (date 1502267716000) -+++ FITSBase.h (revision ) -@@ -30,7 +30,7 @@ +diff --git a/FITSBase.h b/FITSBase.h +index 996fdae..0c985f9 100644 +--- a/FITSBase.h ++++ b/FITSBase.h +@@ -30,7 +30,7 @@ namespace CCfits { - class FITSBase -+ class CCFITS_EXPORT FITSBase ++ class CCFITS_EXPORT FITSBase { public: -Index: Keyword.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- Keyword.h (date 1502267716000) -+++ Keyword.h (revision ) -@@ -195,7 +195,7 @@ +diff --git a/Keyword.h b/Keyword.h +index 816c119..b6df1f1 100644 +--- a/Keyword.h ++++ b/Keyword.h +@@ -195,7 +195,7 @@ namespace CCfits { - class Keyword -+ class CCFITS_EXPORT Keyword ++ class CCFITS_EXPORT Keyword { public: -Index: ExtHDU.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- ExtHDU.h (date 1502267716000) -+++ ExtHDU.h (revision ) -@@ -435,7 +435,7 @@ +diff --git a/ExtHDU.h b/ExtHDU.h +index d075fa1..e2d7dc6 100644 +--- a/ExtHDU.h ++++ b/ExtHDU.h +@@ -435,7 +435,7 @@ namespace CCfits { @@ -245,14 +215,11 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: -Index: PHDU.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- PHDU.h (date 1502267716000) -+++ PHDU.h (revision ) -@@ -264,7 +264,7 @@ +diff --git a/PHDU.h b/PHDU.h +index fe5f799..d9669b4 100644 +--- a/PHDU.h ++++ b/PHDU.h +@@ -264,7 +264,7 @@ namespace CCfits { @@ -261,14 +228,11 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: -Index: BinTable.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- BinTable.h (date 1502267716000) -+++ BinTable.h (revision ) -@@ -127,7 +127,7 @@ +diff --git a/BinTable.h b/BinTable.h +index 68851e3..906005a 100644 +--- a/BinTable.h ++++ b/BinTable.h +@@ -127,7 +127,7 @@ namespace CCfits { @@ -277,63 +241,41 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: -Index: Image.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- Image.h (date 1502267716000) -+++ Image.h (revision ) -@@ -32,7 +32,7 @@ - - - template -- class Image -+ class Image - { - - public: -Index: ColumnCreator.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- ColumnCreator.h (date 1502267716000) -+++ ColumnCreator.h (revision ) -@@ -28,7 +28,7 @@ +diff --git a/ColumnCreator.h b/ColumnCreator.h +index 104bd4f..15cd0ea 100644 +--- a/ColumnCreator.h ++++ b/ColumnCreator.h +@@ -28,7 +28,7 @@ namespace CCfits { - class ColumnCreator -+ class CCFITS_EXPORT ColumnCreator ++ class CCFITS_EXPORT ColumnCreator { public: -Index: FitsError.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- FitsError.h (date 1502267716000) -+++ FitsError.h (revision ) -@@ -14,6 +14,7 @@ +diff --git a/FitsError.h b/FitsError.h +index 593723c..52941f6 100644 +--- a/FitsError.h ++++ b/FitsError.h +@@ -13,6 +13,7 @@ + //#include //#include //#include - #include +#include "ccfits_export.h" + #include using std::string; - -@@ -90,7 +91,7 @@ +@@ -90,7 +91,7 @@ namespace CCfits { - class FitsException -+ class CCFITS_EXPORT FitsException ++ class CCFITS_EXPORT FitsException { public: FitsException (const string& msg, bool& silent); -@@ -109,7 +110,7 @@ +@@ -109,7 +110,7 @@ namespace CCfits { @@ -342,40 +284,34 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: FitsError (int errornum, bool silent = true); -@@ -123,7 +124,7 @@ +@@ -123,7 +124,7 @@ namespace CCfits { - class FitsFatal -+ class CCFITS_EXPORT FitsFatal ++ class CCFITS_EXPORT FitsFatal { public: FitsFatal (const string& diag); -Index: HDUCreator.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- HDUCreator.h (date 1502267716000) -+++ HDUCreator.h (revision ) -@@ -35,7 +35,7 @@ +diff --git a/HDUCreator.h b/HDUCreator.h +index 65b82b7..2b5f717 100644 +--- a/HDUCreator.h ++++ b/HDUCreator.h +@@ -35,7 +35,7 @@ namespace CCfits { - class HDUCreator -+ class CCFITS_EXPORT HDUCreator ++ class CCFITS_EXPORT HDUCreator { public: -Index: ccfits_export.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- ccfits_export.h (revision ) -+++ ccfits_export.h (revision ) -@@ -0,0 +1,42 @@ -+ +diff --git a/ccfits_export.h b/ccfits_export.h +new file mode 100644 +index 0000000..a2540a6 100644 +--- /dev/null ++++ b/ccfits_export.h +@@ -0,0 +1,41 @@ +#ifndef CCFITS_EXPORT_H +#define CCFITS_EXPORT_H + @@ -417,13 +353,11 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP +#endif + +#endif -Index: FITSUtil.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- FITSUtil.h (date 1502267716000) -+++ FITSUtil.h (revision ) +\ No newline at end of file +diff --git a/FITSUtil.h b/FITSUtil.h +index 762d430..e2eee33 100644 +--- a/FITSUtil.h ++++ b/FITSUtil.h @@ -22,6 +22,7 @@ #include // FitsError @@ -432,7 +366,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP #include -@@ -287,21 +288,21 @@ +@@ -287,21 +288,21 @@ object. template void swap(std::vector& left, std::vector& right); @@ -459,7 +393,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { bool operator()(const string& left, const string& right) const; }; -@@ -323,7 +324,7 @@ +@@ -323,7 +324,7 @@ object. char** CharArray(const std::vector& inArray); @@ -468,7 +402,7 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP template -@@ -633,7 +634,7 @@ +@@ -633,7 +634,7 @@ object. @@ -477,19 +411,78 @@ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP { public: UnrecognizedType (string diag, bool silent = true); -Index: KeywordCreator.h -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== ---- KeywordCreator.h (date 1502267716000) -+++ KeywordCreator.h (revision ) -@@ -24,7 +24,7 @@ +diff --git a/KeywordCreator.h b/KeywordCreator.h +index d878a26..b2c0c70 100644 +--- a/KeywordCreator.h ++++ b/KeywordCreator.h +@@ -24,7 +24,7 @@ namespace CCfits { - class KeywordCreator -+ class CCFITS_EXPORT KeywordCreator ++ class CCFITS_EXPORT KeywordCreator { public: +diff --git a/CCfits b/CCfits +index e9848c9..f30c9ad 100644 +--- a/CCfits ++++ b/CCfits +@@ -2,20 +2,20 @@ + #ifndef CCFITS + #define CCFITS 20031208 + +-#include ++#include + +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include + + + #endif +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b958fc7..0b1fb4e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,6 +30,11 @@ IF (BUILD_SHARED_LIBS) + SET (LIB_TYPE SHARED) + ENDIF (BUILD_SHARED_LIBS) + ++ ++IF (NOT BUILD_SHARED_LIBS) ++ ADD_DEFINITIONS(-DCCFITS_STATIC_DEFINE) ++ENDIF() ++ + FILE(GLOB H_FILES "*.h") + SET(H_FILES ${H_FILES} CCfits) + +@@ -55,6 +60,7 @@ SET(SRC_FILES + ) + + ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${H_FILES} ${SRC_FILES}) ++ + TARGET_LINK_LIBRARIES(${LIB_NAME} ${CFITSIO_LIBRARY} + ) + diff --git a/ports/ccfits/portfile.cmake b/ports/ccfits/portfile.cmake index 6aeecfd62..e5f280944 100644 --- a/ports/ccfits/portfile.cmake +++ b/ports/ccfits/portfile.cmake @@ -1,22 +1,16 @@ include(vcpkg_common_functions) -#removes current source to prevent static builds from using patched source code -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src) - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CCfits) vcpkg_download_distfile(ARCHIVE URLS "https://heasarc.gsfc.nasa.gov/fitsio/ccfits/CCfits-2.5.tar.gz" FILENAME "CCfits-2.5.tar.gz" SHA512 63ab4d153063960510cf60651d5c832824cf85f937f84adc5390c7c2fb46eb8e9f5d8cda2554d79d24c7a4f1b6cf0b7a6e20958fb69920b65d7c362c0a5f26b5 ) -vcpkg_extract_source_archive(${ARCHIVE}) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CCfits - PATCHES "${CMAKE_CURRENT_LIST_DIR}/dll_exports.patch" - ) -endif() +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES dll_exports.patch +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/celero/CONTROL b/ports/celero/CONTROL index c9670b14f..09268815c 100644 --- a/ports/celero/CONTROL +++ b/ports/celero/CONTROL @@ -1,4 +1,4 @@ Source: celero -Version: 2.5.0-1 +Version: 2.6.0 Homepage: https://github.com/DigitalInBlue/Celero Description: Celero is a modern cross-platform (Windows, Linux, MacOS) Microbenchmarking library for C++. diff --git a/ports/celero/portfile.cmake b/ports/celero/portfile.cmake index a3dd2ad93..edcc6989e 100644 --- a/ports/celero/portfile.cmake +++ b/ports/celero/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DigitalInBlue/Celero - REF 6f24a1d98db4fee41ddd2f615cf490a5b514795a - SHA512 7dc8cecd2aac7bd312bfa01013f290fbfac8a43d07cc0d884e9b446c29a6c233e800f9bd3d03551f6e3b1ee2424cf90571f16590b23fc9333900fcc82143d048 + REF 83b592b134cb41e2e5611714bce0bf61413eb12b + SHA512 3315b56467c17330f603c6710996c1a76f67068960b1356ca92db1ab23fca9f27a2dda9be521a19b88efc2e961095ee5523924b135d380681a4328c09d963e8c HEAD_REF master ) @@ -18,6 +18,7 @@ vcpkg_configure_cmake( -DCELERO_ENABLE_TESTS=OFF -DCELERO_RUN_EXAMPLE_ON_BUILD=OFF -DCELERO_COMPILE_DYNAMIC_LIBRARIES=${CELERO_COMPILE_DYNAMIC_LIBRARIES} + -DCELERO_TREAT_WARNINGS_AS_ERRORS=OFF ) vcpkg_install_cmake() diff --git a/ports/cello/CMakeLists.txt b/ports/cello/CMakeLists.txt new file mode 100644 index 000000000..b54507f07 --- /dev/null +++ b/ports/cello/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.14) + +project(cello LANGUAGES C) + +include(GNUInstallDirs) + +file(GLOB cello_sources src/*.c) +add_library(cello ${cello_sources}) + +target_include_directories( + cello + PUBLIC + $ + $ +) + +set_target_properties(cello PROPERTIES PUBLIC_HEADER include/Cello.h) + +install(TARGETS cello EXPORT unofficial-cello-config) + +install( + EXPORT unofficial-cello-config + NAMESPACE unofficial::cello:: + DESTINATION share/unofficial-cello + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/cello/CONTROL b/ports/cello/CONTROL new file mode 100644 index 000000000..6ea9d2bce --- /dev/null +++ b/ports/cello/CONTROL @@ -0,0 +1,4 @@ +Source: cello +Version: 2019-07-23 +Description: Higher level programming in C +Homepage: http://libcello.org/ diff --git a/ports/cello/portfile.cmake b/ports/cello/portfile.cmake new file mode 100644 index 000000000..e71e53332 --- /dev/null +++ b/ports/cello/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO orangeduck/Cello + REF da28eefbc95d8bd5628e5f1c4cc12bc1b13fef4f + SHA512 64825cf37223dd679b379d78475218a543690c3b78333acb906d42982261df4b9ada3a87bea183fad5e2cf220311904e657b0bf5051b141c389d5ee1d2974e5b + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT}) diff --git a/ports/cereal/CONTROL b/ports/cereal/CONTROL index ce879198f..511113482 100644 --- a/ports/cereal/CONTROL +++ b/ports/cereal/CONTROL @@ -1,4 +1,4 @@ Source: cereal -Version: 1.2.2-1 +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 47eb76c49..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( @@ -18,8 +18,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/cmake/cereal") +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/cereal) # Clean file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/ceres/0001_add_missing_include_path.patch b/ports/ceres/0001_add_missing_include_path.patch deleted file mode 100644 index 8bb8dfb50..000000000 --- a/ports/ceres/0001_add_missing_include_path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 02c72b5..15a947e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -582,7 +582,7 @@ include_directories( - # Note that this is *not* propagated to clients, ie CERES_INCLUDE_DIRS - # used by clients after find_package(Ceres) does not identify Eigen as - # as system headers. --include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS}) -+include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}/Eigen) - - if (SUITESPARSE) - include_directories(${SUITESPARSE_INCLUDE_DIRS}) diff --git a/ports/ceres/0001_cmakelists_fixes.patch b/ports/ceres/0001_cmakelists_fixes.patch new file mode 100644 index 000000000..f269f05ee --- /dev/null +++ b/ports/ceres/0001_cmakelists_fixes.patch @@ -0,0 +1,51 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 02c72b5..62d8c59 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -374,27 +374,7 @@ if (MINIGLOG) + GLOG_LIBRARY) + else (MINIGLOG) + unset(MINIGLOG_MAX_LOG_LEVEL CACHE) +- # Don't search with REQUIRED so that configuration continues if not found and +- # we can output an error messages explaining MINIGLOG option. +- find_package(Glog) +- if (NOT GLOG_FOUND) +- message(FATAL_ERROR "Can't find Google Log (glog). Please set either: " +- "glog_DIR (newer CMake built versions of glog) or GLOG_INCLUDE_DIR & " +- "GLOG_LIBRARY or enable MINIGLOG option to use minimal glog " +- "implementation.") +- endif(NOT GLOG_FOUND) +- # By default, assume gflags was found, updating the message if it was not. +- set(GLOG_GFLAGS_DEPENDENCY_MESSAGE +- " Assuming glog was built with gflags support as gflags was found. " +- "This will make gflags a public dependency of Ceres.") +- if (NOT GFLAGS_FOUND) +- set(GLOG_GFLAGS_DEPENDENCY_MESSAGE +- " Assuming glog was NOT built with gflags support as gflags was " +- "not found. If glog was built with gflags, please set the " +- "gflags search locations such that it can be found by Ceres. " +- "Otherwise, Ceres may fail to link due to missing gflags symbols.") +- endif(NOT GFLAGS_FOUND) +- message("-- Found Google Log (glog)." ${GLOG_GFLAGS_DEPENDENCY_MESSAGE}) ++ find_package(Glog REQUIRED) + endif (MINIGLOG) + + if (NOT SCHUR_SPECIALIZATIONS) +@@ -582,7 +562,7 @@ include_directories( + # Note that this is *not* propagated to clients, ie CERES_INCLUDE_DIRS + # used by clients after find_package(Ceres) does not identify Eigen as + # as system headers. +-include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS}) ++include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS} ${EIGEN_INCLUDE_DIRS}/Eigen) + + if (SUITESPARSE) + include_directories(${SUITESPARSE_INCLUDE_DIRS}) +@@ -917,8 +897,6 @@ install(FILES "${Ceres_BINARY_DIR}/CeresConfig-install.cmake" + DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) + install(FILES "${Ceres_BINARY_DIR}/CeresConfigVersion.cmake" + "${Ceres_SOURCE_DIR}/cmake/FindEigen.cmake" +- "${Ceres_SOURCE_DIR}/cmake/FindGlog.cmake" +- "${Ceres_SOURCE_DIR}/cmake/FindGflags.cmake" + DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) + + # Create an uninstall target to remove all installed files. diff --git a/ports/ceres/0002_cmakelists_fixes.patch b/ports/ceres/0002_cmakelists_fixes.patch deleted file mode 100644 index f806794a8..000000000 --- a/ports/ceres/0002_cmakelists_fixes.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 15a947e..62d8c59 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -374,27 +374,7 @@ if (MINIGLOG) - GLOG_LIBRARY) - else (MINIGLOG) - unset(MINIGLOG_MAX_LOG_LEVEL CACHE) -- # Don't search with REQUIRED so that configuration continues if not found and -- # we can output an error messages explaining MINIGLOG option. -- find_package(Glog) -- if (NOT GLOG_FOUND) -- message(FATAL_ERROR "Can't find Google Log (glog). Please set either: " -- "glog_DIR (newer CMake built versions of glog) or GLOG_INCLUDE_DIR & " -- "GLOG_LIBRARY or enable MINIGLOG option to use minimal glog " -- "implementation.") -- endif(NOT GLOG_FOUND) -- # By default, assume gflags was found, updating the message if it was not. -- set(GLOG_GFLAGS_DEPENDENCY_MESSAGE -- " Assuming glog was built with gflags support as gflags was found. " -- "This will make gflags a public dependency of Ceres.") -- if (NOT GFLAGS_FOUND) -- set(GLOG_GFLAGS_DEPENDENCY_MESSAGE -- " Assuming glog was NOT built with gflags support as gflags was " -- "not found. If glog was built with gflags, please set the " -- "gflags search locations such that it can be found by Ceres. " -- "Otherwise, Ceres may fail to link due to missing gflags symbols.") -- endif(NOT GFLAGS_FOUND) -- message("-- Found Google Log (glog)." ${GLOG_GFLAGS_DEPENDENCY_MESSAGE}) -+ find_package(Glog REQUIRED) - endif (MINIGLOG) - - if (NOT SCHUR_SPECIALIZATIONS) -@@ -917,8 +897,6 @@ install(FILES "${Ceres_BINARY_DIR}/CeresConfig-install.cmake" - DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) - install(FILES "${Ceres_BINARY_DIR}/CeresConfigVersion.cmake" - "${Ceres_SOURCE_DIR}/cmake/FindEigen.cmake" -- "${Ceres_SOURCE_DIR}/cmake/FindGlog.cmake" -- "${Ceres_SOURCE_DIR}/cmake/FindGflags.cmake" - DESTINATION ${RELATIVE_CMAKECONFIG_INSTALL_DIR}) - - # Create an uninstall target to remove all installed files. diff --git a/ports/ceres/0003_use_glog_target.patch b/ports/ceres/0002_use_glog_target.patch similarity index 100% rename from ports/ceres/0003_use_glog_target.patch rename to ports/ceres/0002_use_glog_target.patch diff --git a/ports/ceres/0004_fix_exported_ceres_config.patch b/ports/ceres/0003_fix_exported_ceres_config.patch similarity index 100% rename from ports/ceres/0004_fix_exported_ceres_config.patch rename to ports/ceres/0003_fix_exported_ceres_config.patch diff --git a/ports/ceres/0004_blas_linux_fix.patch b/ports/ceres/0004_blas_linux_fix.patch new file mode 100644 index 000000000..5fffee5e2 --- /dev/null +++ b/ports/ceres/0004_blas_linux_fix.patch @@ -0,0 +1,22 @@ +diff --git a/internal/ceres/blas.cc b/internal/ceres/blas.cc +index 3ba63bb..071a26e 100644 +--- a/internal/ceres/blas.cc ++++ b/internal/ceres/blas.cc +@@ -33,7 +33,7 @@ + #include "glog/logging.h" + + #ifndef CERES_NO_LAPACK +-extern "C" void dsyrk_(char* uplo, ++extern "C" void dsyrk(char* uplo, + char* trans, + int* n, + int* k, +@@ -64,7 +64,7 @@ void BLAS::SymmetricRankKUpdate(int num_rows, + int k = transpose ? num_rows : num_cols; + int lda = k; + int ldc = n; +- dsyrk_(&uplo, ++ dsyrk(&uplo, + &trans, + &n, + &k, diff --git a/ports/ceres/CONTROL b/ports/ceres/CONTROL index 8cd34102e..850da31a6 100644 --- a/ports/ceres/CONTROL +++ b/ports/ceres/CONTROL @@ -1,5 +1,5 @@ Source: ceres -Version: 1.14.0-4 +Version: 1.14.0-6 Build-Depends: glog, eigen3 Homepage: https://github.com/ceres-solver/ceres-solver Description: non-linear optimization package diff --git a/ports/ceres/portfile.cmake b/ports/ceres/portfile.cmake index f1b21d647..66481fc09 100644 --- a/ports/ceres/portfile.cmake +++ b/ports/ceres/portfile.cmake @@ -1,3 +1,5 @@ +include(vcpkg_common_functions) + set(MSVC_USE_STATIC_CRT_VALUE OFF) if(VCPKG_CRT_LINKAGE STREQUAL "static") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") @@ -6,7 +8,9 @@ if(VCPKG_CRT_LINKAGE STREQUAL "static") set(MSVC_USE_STATIC_CRT_VALUE ON) endif() -include(vcpkg_common_functions) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(ADDITIONAL_PATCH "0004_blas_linux_fix.patch") +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -15,10 +19,10 @@ vcpkg_from_github( SHA512 6dddddf5bd5834332a69add468578ad527e4d94fe85c9751ddf5fe9ad11a34918bdd9c994c49dd6ffc398333d0ac9752ac89aaef1293e2fe0a55524e303d415d HEAD_REF master PATCHES - 0001_add_missing_include_path.patch - 0002_cmakelists_fixes.patch - 0003_use_glog_target.patch - 0004_fix_exported_ceres_config.patch + 0001_cmakelists_fixes.patch + 0002_use_glog_target.patch + 0003_fix_exported_ceres_config.patch + ${ADDITIONAL_PATCH} ) file(REMOVE ${SOURCE_PATH}/cmake/FindGflags.cmake) @@ -70,9 +74,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib${LIB_SUFFIX}/cmake/Ceres") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib${LIB_SUFFIX}/cmake/Ceres) endif() vcpkg_copy_pdbs() diff --git a/ports/cfitsio/CONTROL b/ports/cfitsio/CONTROL index 316269f88..c46eaadfe 100644 --- a/ports/cfitsio/CONTROL +++ b/ports/cfitsio/CONTROL @@ -1,4 +1,4 @@ Source: cfitsio -Version: 3.410-2 +Version: 3.410-3 Homepage: https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c Description: Library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format diff --git a/ports/cfitsio/portfile.cmake b/ports/cfitsio/portfile.cmake index e9caf61d1..c14b6743c 100644 --- a/ports/cfitsio/portfile.cmake +++ b/ports/cfitsio/portfile.cmake @@ -1,11 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cfitsio) + vcpkg_download_distfile(ARCHIVE URLS "http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio3410.tar.gz" FILENAME "cfitsio3410.tar.gz" SHA512 b2ac31ab17e19eeeb4f1601f42f348402c0a4ab03725dbf74fe75eaabbee2f44f64f0c0ee7f0b2688bd93a9cc0dccf29f07e73b9148fff97fc78bebdbb5f6f0f ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -14,7 +18,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Remove duplicate include files +# Remove duplicate include files file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/unistd.h) # cfitsio uses very common names for its headers, so they must be moved to a subdirectory diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index 184d4f221..3f71a911a 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,6 +1,6 @@ Source: cgal -Version: 4.14-2 -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 -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 -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 873298305..d351af738 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -1,20 +1,13 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Cgal's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +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) @@ -65,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 0a9ad3e13..a6533315b 100644 --- a/ports/cgicc/CMakeLists.txt +++ b/ports/cgicc/CMakeLists.txt @@ -42,8 +42,8 @@ check_include_files (sys/types.h HAVE_SYS_TYPES_H) check_include_files (sys/utsname.h HAVE_SYS_UTSNAME_H) check_symbol_exists (uname sys/utsname.h HAVE_UNAME) check_include_files (unistd.h HAVE_UNISTD_H) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cgicc/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cgicc/CgiDefs.h.in ${CMAKE_CURRENT_BINARY_DIR}/CgiDefs.h) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cgicc/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cgicc/CgiDefs.h.in ${CMAKE_CURRENT_BINARY_DIR}/CgiDefs.h @ONLY) add_definitions (-DHAVE_CONFIG_H) set (cgicc_SOURCES cgicc/CgiEnvironment.cpp diff --git a/ports/cgicc/CONTROL b/ports/cgicc/CONTROL index 9e18277a9..551d3ca13 100644 --- a/ports/cgicc/CONTROL +++ b/ports/cgicc/CONTROL @@ -1,4 +1,4 @@ Source: cgicc -Version: 3.2.19-1 +Version: 3.2.19-3 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-define.patch b/ports/cgicc/fix-define.patch new file mode 100644 index 000000000..2c3f9bca1 --- /dev/null +++ b/ports/cgicc/fix-define.patch @@ -0,0 +1,22 @@ +diff --git a/cgicc/config.h.in b/cgicc/config.h.in +index 6870cc2..ee7b5b4 100644 +--- a/cgicc/config.h.in ++++ b/cgicc/config.h.in +@@ -76,7 +76,7 @@ + #undef HAVE__BOOL + + /* The host system cgicc was configured for */ +-#undef HOST ++#cmakedefine HOST "@HOST@" + + /* Define to the sub-directory where libtool stores uninstalled libraries. */ + #undef LT_OBJDIR +@@ -106,7 +106,7 @@ + #undef STDC_HEADERS + + /* Version number of package */ +-#undef VERSION ++#cmakedefine VERSION "@VERSION@" + + /* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ diff --git a/ports/cgicc/portfile.cmake b/ports/cgicc/portfile.cmake index 58a970877..ba135d9d5 100644 --- a/ports/cgicc/portfile.cmake +++ b/ports/cgicc/portfile.cmake @@ -3,22 +3,29 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/cgicc-3.2.19) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnu.org/gnu/cgicc/cgicc-3.2.19.tar.gz" FILENAME "cgicc-3.2.19.tar.gz" SHA512 c361923cf3ac876bc3fc94dffd040d2be7cd44751d8534f4cfa3545e9f58a8ec35ebcd902a8ce6a19da0efe52db67506d8b02e5cc868188d187ce3092519abdf ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES fix-define.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON + PREFER_NINJA + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON + -DDISABLE_INSTALL_TOOLS=ON ) vcpkg_install_cmake() vcpkg_copy_pdbs() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING.DOC DESTINATION ${CURRENT_PACKAGES_DIR}/share/cgicc RENAME copyright) + +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 new file mode 100644 index 000000000..b3c1ca827 --- /dev/null +++ b/ports/cgl/CMakeLists.txt @@ -0,0 +1,143 @@ +cmake_minimum_required(VERSION 3.11) + +project(Cgl LANGUAGES C CXX) + +set(PROJECT_VERSION 0.60.2) +set(PROJECT_VERSION_MAJOR 0) +set(PROJECT_VERSION_MINOR 60) +set(PROJECT_VERSION_PATCH 2) + +set(CMAKE_CXX_STANDARD 14) + +set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") +set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") +set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed") +set(INSTALL_CMAKE_DIR "share/cgl" CACHE PATH "Path where cmake configs will be installed") + +# Make relative paths absolute (needed later on) +set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) +foreach(p LIB BIN INCLUDE CMAKE) + set(var INSTALL_${p}_DIR) + if(NOT IS_ABSOLUTE "${${var}}") + set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") + 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) + +file(GLOB CGL_SOURCES + Cgl/src/CglConfig.h + Cgl/src/*.hpp + Cgl/src/*.cpp + Cgl/src/CglAllDifferent/*.cpp + Cgl/src/CglAllDifferent/*.hpp + Cgl/src/CglBKClique/*.cpp + Cgl/src/CglBKClique/*.hpp + Cgl/src/CglClique/*.cpp + Cgl/src/CglClique/*.hpp + Cgl/src/CglCliqueMerging/*.cpp + Cgl/src/CglCliqueMerging/*.hpp + Cgl/src/CglDuplicateRow/*.cpp + Cgl/src/CglDuplicateRow/*.hpp + Cgl/src/CglFlowCover/*.cpp + Cgl/src/CglFlowCover/*.hpp + Cgl/src/CglGMI/*.cpp + Cgl/src/CglGMI/*.hpp + Cgl/src/CglGomory/*.cpp + Cgl/src/CglGomory/*.hpp + Cgl/src/CglKnapsackCover/*.cpp + Cgl/src/CglKnapsackCover/*.hpp + Cgl/src/CglLandP/*.cpp + Cgl/src/CglLandP/*.hpp + Cgl/src/CglLiftAndProject/*.cpp + Cgl/src/CglLiftAndProject/*.hpp + Cgl/src/CglMixedIntegerRounding/*.cpp + Cgl/src/CglMixedIntegerRounding/*.hpp + Cgl/src/CglMixedIntegerRounding2/*.cpp + Cgl/src/CglMixedIntegerRounding2/*.hpp + Cgl/src/CglOddHole/*.cpp + Cgl/src/CglOddHole/*.hpp + Cgl/src/CglOddHoleWC/*.cpp + Cgl/src/CglOddHoleWC/*.hpp + Cgl/src/CglPreProcess/*.cpp + Cgl/src/CglPreProcess/*.hpp + Cgl/src/CglProbing/*.cpp + Cgl/src/CglProbing/*.hpp + Cgl/src/CglRedSplit/*.cpp + Cgl/src/CglRedSplit/*.hpp + Cgl/src/CglRedSplit2/*.cpp + Cgl/src/CglRedSplit2/*.hpp + Cgl/src/CglResidualCapacity/*.cpp + Cgl/src/CglResidualCapacity/*.hpp + Cgl/src/CglSimpleRounding/*.cpp + Cgl/src/CglSimpleRounding/*.hpp + Cgl/src/CglTwomir/*.cpp + Cgl/src/CglTwomir/*.hpp + Cgl/src/CglZeroHalf/*.cpp + Cgl/src/CglZeroHalf/*.hpp) + +add_library(${PROJECT_NAME} ${CGL_SOURCES}) + +target_include_directories(${PROJECT_NAME} + PUBLIC + $ + $) + +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) + +install(DIRECTORY Cgl/src/ + DESTINATION ${INSTALL_INCLUDE_DIR} + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.hpp" + PATTERN "config_default.h" EXCLUDE) + +install(TARGETS ${PROJECT_NAME} + EXPORT "${PROJECT_NAME}Targets" + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + RUNTIME DESTINATION bin) + +include(CMakePackageConfigHelpers) + +set(version_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}ConfigVersion.cmake") +set(project_config "${CMAKE_CURRENT_BINARY_DIR}/temp/${PROJECT_NAME}Config.cmake") +set(namespace "Coin::") + +write_basic_package_version_file("${version_config}" + COMPATIBILITY SameMajorVersion) + +configure_package_config_file("Config.cmake.in" + "${project_config}" + INSTALL_DESTINATION + "${INSTALL_CMAKE_DIR}") + +install(FILES "${project_config}" "${version_config}" + DESTINATION "${INSTALL_CMAKE_DIR}") + +install(EXPORT "${PROJECT_NAME}Targets" + NAMESPACE "${namespace}" + DESTINATION "${INSTALL_CMAKE_DIR}") \ No newline at end of file diff --git a/ports/cgl/CONTROL b/ports/cgl/CONTROL new file mode 100644 index 000000000..502193214 --- /dev/null +++ b/ports/cgl/CONTROL @@ -0,0 +1,5 @@ +Source: cgl +Version: 0.60.2-1 +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/Config.cmake.in b/ports/cgl/Config.cmake.in new file mode 100644 index 000000000..a9af95692 --- /dev/null +++ b/ports/cgl/Config.cmake.in @@ -0,0 +1,5 @@ + +@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/cgl/fix-c1083-error.patch b/ports/cgl/fix-c1083-error.patch new file mode 100644 index 000000000..bc5b62a00 --- /dev/null +++ b/ports/cgl/fix-c1083-error.patch @@ -0,0 +1,30 @@ +diff --git a/Cgl/src/CglLandP/CglLandP.cpp b/Cgl/src/CglLandP/CglLandP.cpp +index 2676790..af90a6e 100644 +--- a/Cgl/src/CglLandP/CglLandP.cpp ++++ b/Cgl/src/CglLandP/CglLandP.cpp +@@ -22,7 +22,7 @@ + #define CLONE_SI //Solver is cloned between two cuts + + #include "CoinTime.hpp" +-#include "CglGomory.hpp" ++#include "CglGomory/CglGomory.hpp" + #include "CoinFactorization.hpp" + #include + namespace LAP +diff --git a/Cgl/src/CglPreProcess/CglPreProcess.cpp b/Cgl/src/CglPreProcess/CglPreProcess.cpp +index 17cf372..8cb738f 100644 +--- a/Cgl/src/CglPreProcess/CglPreProcess.cpp ++++ b/Cgl/src/CglPreProcess/CglPreProcess.cpp +@@ -24,9 +24,9 @@ + #include "CoinHelperFunctions.hpp" + #include "CoinWarmStartBasis.hpp" + +-#include "CglProbing.hpp" +-#include "CglDuplicateRow.hpp" +-#include "CglClique.hpp" ++#include "CglProbing/CglProbing.hpp" ++#include "CglDuplicateRow/CglDuplicateRow.hpp" ++#include "CglClique/CglClique.hpp" + //#define PRINT_DEBUG 1 + //#define COIN_DEVELOP 1 + #ifdef COIN_DEVELOP diff --git a/ports/cgl/portfile.cmake b/ports/cgl/portfile.cmake new file mode 100644 index 000000000..932bb7fbb --- /dev/null +++ b/ports/cgl/portfile.cmake @@ -0,0 +1,28 @@ +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 + PATCHES fix-c1083-error.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +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/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/cgltf/CONTROL b/ports/cgltf/CONTROL index 4967e5715..1de82b271 100644 --- a/ports/cgltf/CONTROL +++ b/ports/cgltf/CONTROL @@ -1,3 +1,3 @@ Source: cgltf -Version: 2019-04-30 +Version: 1.3 Description: Single-file glTF 2.0 parser written in C99 diff --git a/ports/cgltf/portfile.cmake b/ports/cgltf/portfile.cmake index 2d1569196..6754e969a 100644 --- a/ports/cgltf/portfile.cmake +++ b/ports/cgltf/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jkuhlmann/cgltf - REF 093ef81bf63ec18ba6d9f61073da8881fb7619b3 - SHA512 8801c13ee98780e845c7d28b27d523af86ab2a49499bbb235ee67a91dfacda3c7fddc9503d91918001a432267f890e82c2204a9c1462c64467034d334b0eadf2 + REF v1.3 + SHA512 4fc68654b7903a21156d900184626d1325421092f0dd060b9f20cff1dec29d0a057fc1f3b4e79e36a0cfc6bc7447f7c2ac8a0ecb78c85a337356908a9c69478e HEAD_REF master ) diff --git a/ports/chaiscript/CONTROL b/ports/chaiscript/CONTROL index fd55e973e..8ae6a8488 100644 --- a/ports/chaiscript/CONTROL +++ b/ports/chaiscript/CONTROL @@ -1,4 +1,4 @@ Source: chaiscript -Version: 6.1.0 +Version: 6.1.0-1 Homepage: https://github.com/ChaiScript/ChaiScript Description: Embedded Scripting Language Designed for C++ diff --git a/ports/chaiscript/portfile.cmake b/ports/chaiscript/portfile.cmake index a3611b0e1..0c825a7c3 100644 --- a/ports/chaiscript/portfile.cmake +++ b/ports/chaiscript/portfile.cmake @@ -1,14 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# include(vcpkg_common_functions) vcpkg_from_github( @@ -21,5 +10,4 @@ vcpkg_from_github( file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/chaiscript RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/chakracore/CONTROL b/ports/chakracore/CONTROL index 919391eb6..7248c46a3 100644 --- a/ports/chakracore/CONTROL +++ b/ports/chakracore/CONTROL @@ -1,4 +1,4 @@ Source: chakracore -Version: 1.11.9 +Version: 1.11.14 Homepage: https://github.com/Microsoft/ChakraCore Description: Core part of the Chakra Javascript engine diff --git a/ports/chakracore/portfile.cmake b/ports/chakracore/portfile.cmake index 04b253b15..dabadcea9 100644 --- a/ports/chakracore/portfile.cmake +++ b/ports/chakracore/portfile.cmake @@ -9,8 +9,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/ChakraCore - REF v1.11.9 - SHA512 4703e28f04925074bfc2057dcccee0427aacdd48f7b9f715d08a9385e4de9e804e1620cd49e8b3db7cd330d00ecd374bfaa3205dbe1f3cfce51ed0eea439a55e + REF v1.11.14 + SHA512 b14d52ae7edeb9ef6327447a11cc7dd197abf473e292ef3e913cadb4a328b0fe5330d264367280c68b0b111be95c758b3ca7d74cb2e19b5ffb04182f72d5c32b HEAD_REF master ) diff --git a/ports/charls/CONTROL b/ports/charls/CONTROL index 00f6777a4..f68ecdccf 100644 --- a/ports/charls/CONTROL +++ b/ports/charls/CONTROL @@ -1,4 +1,4 @@ Source: charls -Version: 2.0.0-1 +Version: 2.0.0-3 Homepage: https://github.com/team-charls/charls Description: CharLS, a C++ JPEG-LS library implementation. diff --git a/ports/charls/portfile.cmake b/ports/charls/portfile.cmake index 69726f1c3..c303c42bc 100644 --- a/ports/charls/portfile.cmake +++ b/ports/charls/portfile.cmake @@ -1,20 +1,18 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/charls-2.0.0) -vcpkg_download_distfile(ARCHIVE_FILE - URLS "https://github.com/team-charls/charls/archive/2.0.0.tar.gz" - FILENAME "charls-2.0.0.tar.gz" - SHA512 0a2862fad6d65b941c81f5f838db1fdc6a4625887281ddbf27e21be9084f607d27c8a27d246d6252e08358b2ed4aa0c2b7407048ca559fb40e94313ca72487dd -) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO team-charls/charls + REF 2.0.0 + SHA512 0a2862fad6d65b941c81f5f838db1fdc6a4625887281ddbf27e21be9084f607d27c8a27d246d6252e08358b2ed4aa0c2b7407048ca559fb40e94313ca72487dd + HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001_cmake.patch + 0001_cmake.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF ) @@ -22,6 +20,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/charls RENAME copyright) -vcpkg_copy_pdbs() \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/chartdir/CONTROL b/ports/chartdir/CONTROL new file mode 100644 index 000000000..75ed7d6a8 --- /dev/null +++ b/ports/chartdir/CONTROL @@ -0,0 +1,4 @@ +Source: chartdir +Version: 6.3.1-1 +Homepage: https://www.advsofteng.com/ +Description: ChartDirector is a powerful chart component for creating professional looking charts for web and windows applications. diff --git a/ports/chartdir/Config.cmake.in b/ports/chartdir/Config.cmake.in new file mode 100644 index 000000000..d943c4a81 --- /dev/null +++ b/ports/chartdir/Config.cmake.in @@ -0,0 +1,21 @@ + +get_filename_component(_chartdir_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_chartdir_root "${_chartdir_root}" PATH) +get_filename_component(_chartdir_root "${_chartdir_root}" PATH) + +set(_chartdir_lib "${_chartdir_root}/lib/@CHARTDIR_LIB@") +if (EXISTS "${_chartdir_lib}") + + add_library(chartdir UNKNOWN IMPORTED) + set_target_properties(chartdir PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_chartdir_root}/include") + set_target_properties(chartdir PROPERTIES IMPORTED_LOCATION "${_chartdir_lib}") + set_property(TARGET chartdir APPEND PROPERTY IMPORTED_CONFIGURATIONS) + +else() + + set(chartdir_FOUND FALSE) + +endif() +unset(_chartdir_lib) + +unset(_chartdir_root) diff --git a/ports/chartdir/chartdir.h b/ports/chartdir/chartdir.h new file mode 100644 index 000000000..2fa308a07 --- /dev/null +++ b/ports/chartdir/chartdir.h @@ -0,0 +1,6 @@ +#ifndef __CHARTDIR_H__ +#define __CHARTDIR_H__ + +#include + +#endif // __CHARTDIR_H__ diff --git a/ports/chartdir/portfile.cmake b/ports/chartdir/portfile.cmake new file mode 100644 index 000000000..3b57b1934 --- /dev/null +++ b/ports/chartdir/portfile.cmake @@ -0,0 +1,96 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +if(TRIPLET_SYSTEM_ARCH MATCHES "arm" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_LIBRARY_LINKAGE STREQUAL static) + + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +elseif(VCPKG_TARGET_IS_WINDOWS) + + vcpkg_download_distfile(ARCHIVE_FILE + URLS "http://www.advsofteng.net/chartdir_cpp_win.zip" + FILENAME "chartdir_cpp_win-6.3.1.zip" + SHA512 e9841d4416c833f57439a36cb981a9c320884c655f8278a22690f05a215c87f0bba83406b45e03ea384c015a4619852c7a9b36dcc9dbd7d531dee1c07b5cffe9 + ) + + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE_FILE} + REF 6.3.1 + ) + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(LIBDIR "${SOURCE_PATH}/lib64") + else() + set(LIBDIR "${SOURCE_PATH}/lib32") + endif() + + file(COPY "${LIBDIR}/chartdir60.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(COPY "${LIBDIR}/chartdir60.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY "${LIBDIR}/chartdir60.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + file(COPY "${LIBDIR}/chartdir60.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + + set(CHARTDIR_LIB "chartdir60.lib") + +elseif(VCPKG_TARGET_IS_OSX) + + vcpkg_download_distfile(ARCHIVE_FILE + URLS "https://www.advsofteng.net/chartdir_cpp_mac.tar.gz" + FILENAME "chartdir_cpp_mac-6.3.1.tar.gz" + SHA512 d7364b42ed7c5dd2f89ed8692ed0df1ec952216ba24f8afa8e039641f3296f23c9ff6391e3e0dcd3bfdb9e6898c21a8281aa2803fbee33c7197c1df271a0edf7 + ) + + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE_FILE} + REF 6.3.1 + ) + + file(COPY "${SOURCE_PATH}/lib/libchartdir.6.dylib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY "${SOURCE_PATH}/lib/libchartdir.6.dylib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + + set(CHARTDIR_LIB "libchartdir.6.dylib") + +elseif(VCPKG_TARGET_IS_LINUX) + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + + vcpkg_download_distfile(ARCHIVE_FILE + URLS "http://www.advsofteng.net/chartdir_cpp_linux_64.tar.gz" + FILENAME "chartdir_cpp_linux_64-6.3.1.tar.gz" + SHA512 e6a3acee3cc5f38304ffa0d3704b1365fcc7a60c8bb688f121caa31efa568b74598b4e10379e84200888d9d8dc3cd7a6a24a944c2d63ca5a146162854c6222a9 + ) + + else() + + vcpkg_download_distfile(ARCHIVE_FILE + URLS "http://www.advsofteng.net/chartdir_cpp_linux.tar.gz" + FILENAME "chartdir_cpp_linux-6.3.1.tar.gz" + SHA512 0a2f2d7c8d53c2f06c302a837f286826b4f48cc5f5bdb55c4de23337bc4188d1652625aee2c8061561d9b5bdef5e0e2a4cdd176d44ca60c1f730e4f38299c5a0 + ) + + endif() + + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE_FILE} + REF 6.3.1 + ) + + file(COPY "${SOURCE_PATH}/lib/libchartdir.so.6.0.3" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY "${SOURCE_PATH}/lib/libchartdir.so.6.0.3" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + + set(CHARTDIR_LIB "libchartdir.so.6.0.3") + + file(COPY ${SOURCE_PATH}/lib/fonts DESTINATION ${CURRENT_PACKAGES_DIR}/share/chartdir) + +endif() + +file(GLOB HEADERS "${SOURCE_PATH}/include/*.h") +file(COPY ${HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include/chartdir) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/chartdir.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +configure_file(${SOURCE_PATH}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/chartdir/copyright COPYONLY) +configure_file(${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in ${CURRENT_PACKAGES_DIR}/share/chartdir/chartdir-config.cmake @ONLY) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/chartdir) diff --git a/ports/chartdir/usage b/ports/chartdir/usage new file mode 100644 index 000000000..a270b780e --- /dev/null +++ b/ports/chartdir/usage @@ -0,0 +1,4 @@ +The package chartdir provides CMake targets: + + find_package(chartdir CONFIG REQUIRED) + target_link_libraries(main PRIVATE chartdir) diff --git a/ports/check/CONTROL b/ports/check/CONTROL index 8deb787bc..f529ad731 100644 --- a/ports/check/CONTROL +++ b/ports/check/CONTROL @@ -1,3 +1,3 @@ Source: check -Version: 0.12.0-2 +Version: 0.13.0 Description: A unit testing framework for C diff --git a/ports/check/fix-build-debug-mode.patch b/ports/check/fix-build-debug-mode.patch deleted file mode 100644 index edf430060..000000000 --- a/ports/check/fix-build-debug-mode.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0d66a5d..3b9a72d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -39,10 +39,6 @@ set(CHECK_VERSION - - set(MEMORY_LEAKING_TESTS_ENABLED 1) - --############################################################################### --# Set build features --set(CMAKE_BUILD_TYPE Debug) -- - ############################################################################### - # Option - option(CHECK_ENABLE_TESTS diff --git a/ports/check/portfile.cmake b/ports/check/portfile.cmake index f7561db19..c5271e8f7 100644 --- a/ports/check/portfile.cmake +++ b/ports/check/portfile.cmake @@ -2,11 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libcheck/check - REF 0.12.0 - SHA512 f7b6452b69f999a90e86a8582d980c0c1b74ba5629ee34455724463ba62bfe3501ad0415aa771170f5c638a7a253f123bf87cbef25aadc6569a7a3a4d10fce90 + REF 0.13.0 + SHA512 7943021c5bc3b5ca7bc552f6fe1287e384724d69e5bb128d58256692e810b194e506fc1b65ea4fed27d065e2176e7371483e918beb48125abfe3b6f1ca68eb8f HEAD_REF master - PATCHES - fix-build-debug-mode.patch ) vcpkg_configure_cmake( @@ -16,8 +14,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -file(RENAME ${CURRENT_PACKAGES_DIR}/cmake/check.cmake ${CURRENT_PACKAGES_DIR}/cmake/check-config.cmake) -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() # cleanup file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) @@ -25,4 +26,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/check RENAME copyright) -vcpkg_copy_pdbs() +vcpkg_copy_pdbs() \ No newline at end of file diff --git a/ports/chipmunk/CONTROL b/ports/chipmunk/CONTROL index 0a4d6a62f..7437c78d8 100644 --- a/ports/chipmunk/CONTROL +++ b/ports/chipmunk/CONTROL @@ -1,4 +1,4 @@ Source: chipmunk -Version: 7.0.2 +Version: 7.0.3 Homepage: https://github.com/slembcke/Chipmunk2D Description: A fast and lightweight 2D game physics library. \ No newline at end of file diff --git a/ports/chipmunk/portfile.cmake b/ports/chipmunk/portfile.cmake index 5b6477767..7ae9dfcd8 100644 --- a/ports/chipmunk/portfile.cmake +++ b/ports/chipmunk/portfile.cmake @@ -23,13 +23,13 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO slembcke/Chipmunk2D - REF Chipmunk-7.0.2 - SHA512 3a697a73f854b36c53ea99390878094e91a44a0c6a19ebb0cd6726474b9b4f219085944efba4a7ae6faec1def3b9d58a02f159bea15724a7f5235bb645b91dba + REF 87340c216bf97554dc552371bbdecf283f7c540e + SHA512 9094017755e9c140aa5bf8a1b5502077ae4fb2b0a3e12f1114e86d8591a6188f89822ecc578a2b5e95f61c555018f1b3273fe50e833fe2daf30e94b180a3d07c HEAD_REF master ) vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/msvc/vc14/chipmunk/chipmunk.vcxproj + PROJECT_PATH ${SOURCE_PATH}/msvc/VS2015/chipmunk/chipmunk.vcxproj RELEASE_CONFIGURATION "Release${CHIPMUNK_CONFIGURATION_SUFFIX}" DEBUG_CONFIGURATION "Debug${CHIPMUNK_CONFIGURATION_SUFFIX}" ) @@ -37,32 +37,32 @@ vcpkg_build_msbuild( message(STATUS "Installing") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(INSTALL - "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.dll" - "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb" + "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.dll" + "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin ) file(INSTALL - "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.dll" - "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb" + "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.dll" + "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/bin ) else() file(INSTALL - "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb" + "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib ) file(INSTALL - "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb" + "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.pdb" DESTINATION ${CURRENT_PACKAGES_DIR}/lib ) endif() file(INSTALL - "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.lib" + "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Debug${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib ) file(INSTALL - "${SOURCE_PATH}/msvc/vc14/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.lib" + "${SOURCE_PATH}/msvc/VS2015/chipmunk/${CHIPMUNK_ARCH}/Release${CHIPMUNK_CONFIGURATION_SUFFIX}/chipmunk.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib ) file(INSTALL diff --git a/ports/chmlib/CONTROL b/ports/chmlib/CONTROL index cde69a41e..6042ceb99 100644 --- a/ports/chmlib/CONTROL +++ b/ports/chmlib/CONTROL @@ -1,4 +1,4 @@ Source: chmlib -Version: 0.40-3 +Version: 0.40-4 Homepage: https://www.jedrea.com/chmlib/ Description: CHMLIB is a library for dealing with Microsoft ITSS/CHM format files. Right now, it is a very simple library, but sufficient for dealing with all of the .chm files I've come across. Due to the fairly well-designed indexing built into this particular file format, even a small library is able to gain reasonably good performance indexing into ITSS archives. diff --git a/ports/chmlib/portfile.cmake b/ports/chmlib/portfile.cmake index 99313c5cd..1ecd4751c 100644 --- a/ports/chmlib/portfile.cmake +++ b/ports/chmlib/portfile.cmake @@ -5,7 +5,6 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(CHMLIB_VERSION chmlib-0.40) set(CHMLIB_FILENAME ${CHMLIB_VERSION}.zip) set(CHMLIB_URL http://www.jedrea.com/chmlib/${CHMLIB_FILENAME}) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${CHMLIB_VERSION}) vcpkg_download_distfile( ARCHIVE @@ -13,7 +12,11 @@ vcpkg_download_distfile( FILENAME ${CHMLIB_FILENAME} SHA512 ad3b0d49fcf99e724c0c38b9c842bae9508d0e4ad47122b0f489c113160f5344223d311abb79f25cbb0b662bb00e2925d338d60dd20a0c309bda2822cda4cd24 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/cityhash/CMakeLists.txt b/ports/cityhash/CMakeLists.txt new file mode 100644 index 000000000..f2e08336c --- /dev/null +++ b/ports/cityhash/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 3.13) +project(cityhash CXX) + +add_library(cityhash STATIC src/city.cc) + +target_include_directories(cityhash PUBLIC + $ + $ +) + +install(TARGETS cityhash EXPORT cityhash-config + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +install(EXPORT cityhash-config DESTINATION share/cmake/cityhash) +install(FILES src/city.h DESTINATION include) diff --git a/ports/cityhash/CONTROL b/ports/cityhash/CONTROL new file mode 100644 index 000000000..2b45a58c9 --- /dev/null +++ b/ports/cityhash/CONTROL @@ -0,0 +1,4 @@ +Source: cityhash +Version: 2013-01-08 +Homepage: https://github.com/google/cityhash +Description: CityHash, a family of hash functions for strings. diff --git a/ports/cityhash/config.h b/ports/cityhash/config.h new file mode 100644 index 000000000..190c1da38 --- /dev/null +++ b/ports/cityhash/config.h @@ -0,0 +1,118 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if the compiler supports __builtin_expect. */ +#if WIN32 || WIN64 +# define HAVE_BUILTIN_EXPECT 0 +#else +# define HAVE_BUILTIN_EXPECT 1 +#endif + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "cityhash-discuss@googlegroups.com" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "CityHash" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "CityHash 1.1.1" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cityhash" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.1.1" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT32_T */ + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT64_T */ + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT8_T */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint32_t */ + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint64_t */ + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint8_t */ diff --git a/ports/cityhash/portfile.cmake b/ports/cityhash/portfile.cmake new file mode 100644 index 000000000..7e759e7fb --- /dev/null +++ b/ports/cityhash/portfile.cmake @@ -0,0 +1,39 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/cityhash + REF 8af9b8c2b889d80c22d6bc26ba0df1afb79a30db + SHA512 5878a6a4f8ee99593412d446d96c05be1f89fa7771eca49ff4a52ce181de8199ba558170930996d36f6df80a65889d93c81ab2611868b015d8db913e2ecd2eb9 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +if(VCPKG_TARGET_IS_WINDOWS) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/src) +else() + file(MAKE_DIRECTORY ${SOURCE_PATH}/out) + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure + WORKING_DIRECTORY ${SOURCE_PATH}/out + LOGNAME configure-${TARGET_TRIPLET} + ) + file(COPY ${SOURCE_PATH}/out/config.h DESTINATION ${SOURCE_PATH}/src) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/cityhash) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/cityhash/copyright COPYONLY) diff --git a/ports/civetweb/CONTROL b/ports/civetweb/CONTROL index a8b0832e0..b24a4ffec 100644 --- a/ports/civetweb/CONTROL +++ b/ports/civetweb/CONTROL @@ -1,3 +1,3 @@ Source: civetweb -Version: 1.11-1 +Version: 2019-07-05 Description: Easy to use, powerful, C/C++ embeddable web server. diff --git a/ports/civetweb/portfile.cmake b/ports/civetweb/portfile.cmake index 8ad7af538..17a0d7f45 100644 --- a/ports/civetweb/portfile.cmake +++ b/ports/civetweb/portfile.cmake @@ -9,8 +9,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO civetweb/civetweb - REF v1.11 - SHA512 e1520fd2f4a54b6ab4838f4da2ce3f0956e9884059467d196078935a3fce61dad619f3bb1bc2b4c6a757e1a8abfed0e83cba38957c7c52fff235676e9dd1d428 + REF 2c1caa6e690bfe3b435a10c372ab2dcd14b872e8 + SHA512 bfd37906f85c10649108f83e755f28f058c0c27b0d597e6eb82f097db7fa043f6014984f1735c904d0e01c8a5e0dc45f1c57c1fb45b08bce78f42539e19160d6 HEAD_REF master ) @@ -24,13 +24,16 @@ vcpkg_configure_cmake( -DCIVETWEB_ENABLE_IPV6=ON -DCIVETWEB_ENABLE_SERVER_EXECUTABLE=OFF -DCIVETWEB_ENABLE_SSL=OFF + -DCIVETWEB_ENABLE_WEBSOCKETS=ON ) vcpkg_install_cmake() -vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/civetweb) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/civetweb/copyright COPYONLY) + +vcpkg_copy_pdbs() diff --git a/ports/cjson/CONTROL b/ports/cjson/CONTROL index 7029313e3..f8eada28b 100644 --- a/ports/cjson/CONTROL +++ b/ports/cjson/CONTROL @@ -1,5 +1,5 @@ Source: cjson -Version: 1.7.10-1 +Version: 1.7.12 Description: Ultralightweight JSON parser in ANSI C Feature: utils diff --git a/ports/cjson/portfile.cmake b/ports/cjson/portfile.cmake index 7db22d9ae..753c4ed2a 100644 --- a/ports/cjson/portfile.cmake +++ b/ports/cjson/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DaveGamble/cJSON - REF v1.7.10 - SHA512 f8d7c9fe798b51ec3c69cabe4124d2f6372f0e6d282285e3ca951c58c971a9a520d87550530d750ff7f8055c0b6ff566f237b9af9eb345cf4f4fc4ff8c910740 + REF v1.7.12 + SHA512 d767b7261eff3a1a50ea46cc5573f9504f5734a891ea211ad348835bfb4b80acf7f744da2d34bb1fa270cd4d44576c21bc6f52c0604b7e6ffdeb61ecb396b376 HEAD_REF master PATCHES fix-install-path.patch diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL index 75755fe21..a45da331a 100644 --- a/ports/clapack/CONTROL +++ b/ports/clapack/CONTROL @@ -1,5 +1,5 @@ Source: clapack -Version: 3.2.1-6 +Version: 3.2.1-12 Homepage: https://www.netlib.org/clapack Description: CLAPACK (f2c'ed version of LAPACK) Build-Depends: openblas (!osx) diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake index dfbf2c73e..0b5924ff4 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -1,198 +1,468 @@ -#.rst: -# clapack config for vcpkg -# ------------ -# -# Find the clapack includes and library. -# -# Result Variables -# ^^^^^^^^^^^^^^^^ -# -# This script defines the following variables: -# -# ``CLAPACK_FOUND`` -# True if clapack library found -# -# ``CLAPACK_VERSION`` -# Containing the clapack version tag (manually defined) -# -# ``CLAPACK_INCLUDE_DIR`` -# Location of clapack headers -# -# ``CLAPACK_LIBRARY`` -# List of libraries to link with when using clapack -# -# Result Targets -# ^^^^^^^^^^^^^^ -# -# This script defines the following targets: -# -# ``clapack::clapack`` -# Target to use clapack -# -# Compatibility Variables -# ^^^^^^^^^^^^^^^^^^^^^^^ -# -# This script defines the following variables for compatibility reasons: -# -# ``F2C_FOUND`` -# True if f2c (fortran-to-c wrap layer) library found -# -# ``F2C_INCLUDE_DIR`` -# Location of clapack headers -# -# ``F2C_LIBRARY`` -# Library containing the fortran-to-c wrap layer, necessary for clapack and automatically included when used -# -# ``LAPACK_FOUND`` -# True if clapack library found -# -# ``LAPACK_VERSION`` -# Containing the clapack version tag (manually defined) -# -# ``LAPACK_INCLUDE_DIR`` -# Location of clapack headers -# -# ``LAPACK_LIBRARY`` -# List of libraries to link with when using clapack -# -# Compatibility Targets -# ^^^^^^^^^^^^^^ -# -# This script defines the following targets for compatibility reasons: -# -# ``lapack`` -# Target to use lapack - -include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) -include(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) -include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) - -set(CLAPACK_VERSION "3.2.1") - -if(UNIX) - find_library(ADDITIONAL_LAPACK_LIBRARY m) -endif() - -if(NOT F2C_LIBRARY) - find_library(F2C_LIBRARY_RELEASE NAMES f2c libf2c) - find_library(F2C_LIBRARY_DEBUG NAMES f2cd libf2cd) - list(APPEND F2C_LIBRARY_RELEASE ${ADDITIONAL_LAPACK_LIBRARY}) - list(APPEND F2C_LIBRARY_DEBUG ${ADDITIONAL_LAPACK_LIBRARY}) - select_library_configurations(F2C) -endif() - -find_package(BLAS) - -if(NOT LAPACK_LIBRARY) - find_library(LAPACK_LIBRARY_RELEASE NAMES lapack) - find_library(LAPACK_LIBRARY_DEBUG NAMES lapackd) - list(APPEND LAPACK_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE}) - list(APPEND LAPACK_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG}) - select_library_configurations(LAPACK) -endif() - -list(APPEND LAPACK_LIBRARY ${BLAS_LIBRARIES}) - -set(F2C_LIBRARIES "${F2C_LIBRARY}" CACHE STRING "" FORCE) -set(LAPACK_VERSION "${CLAPACK_VERSION}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(CLAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(CLAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) - -if(NOT F2C_INCLUDE_DIR) - find_path(F2C_INCLUDE_DIR NAMES f2c.h) -endif() - -if(NOT LAPACK_INCLUDE_DIR) - find_path(LAPACK_INCLUDE_DIR NAMES clapack.h) -endif() - -list(APPEND LAPACK_INCLUDE_DIR ${F2C_INCLUDE_DIR}) -set(LAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(CLAPACK_INCLUDE_DIR "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(CLAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(F2C_INCLUDE_DIRS "${F2C_INCLUDE_DIR}" CACHE PATH "" FORCE) - -if(WIN32) - string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_RELEASE_DLL "${LAPACK_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_DEBUG_DLL "${LAPACK_LIBRARY_DEBUG}" ) - string( REPLACE ".lib" ".dll" F2C_LIBRARY_RELEASE_DLL "${F2C_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" F2C_LIBRARY_DEBUG_DLL "${F2C_LIBRARY_DEBUG}" ) -endif() - -find_package_handle_standard_args(CLAPACK DEFAULT_MSG CLAPACK_LIBRARY CLAPACK_INCLUDE_DIR) -mark_as_advanced(CLAPACK_INCLUDE_DIR CLAPACK_LIBRARY) - -find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARY LAPACK_INCLUDE_DIR) -mark_as_advanced(LAPACK_INCLUDE_DIR LAPACK_LIBRARY) - -find_package_handle_standard_args(F2C DEFAULT_MSG F2C_LIBRARY F2C_INCLUDE_DIR) -mark_as_advanced(F2C_INCLUDE_DIR F2C_LIBRARY) - -#TARGETS -if( CLAPACK_FOUND AND NOT TARGET clapack::clapack ) - if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" ) - add_library( clapack::clapack SHARED IMPORTED ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - else() - add_library( clapack::clapack UNKNOWN IMPORTED ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG}" ) - set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - endif() -endif() - -if( CLAPACK_FOUND AND NOT TARGET lapack ) - if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" ) - add_library( lapack SHARED IMPORTED ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - else() - add_library( lapack UNKNOWN IMPORTED ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG}" ) - set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - endif() -endif() - -set(LAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(F2C_LIBRARY "${F2C_LIBRARY}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARY_RELEASE "${LAPACK_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARY_DEBUG "${LAPACK_LIBRARY_DEBUG}" CACHE STRING "" FORCE) -set(F2C_LIBRARY_RELEASE "${F2C_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(F2C_LIBRARY_DEBUG "${F2C_LIBRARY_DEBUG}" CACHE STRING "" FORCE) +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +#[=======================================================================[.rst: +FindLAPACK +---------- + +Find LAPACK library + +This module finds an installed fortran library that implements the +LAPACK linear-algebra interface (see http://www.netlib.org/lapack/). + +The approach follows that taken for the autoconf macro file, +acx_lapack.m4 (distributed at +http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html). + +Input Variables +^^^^^^^^^^^^^^^ + +The following variables may be set to influence this module's behavior: + +``BLA_STATIC`` + if ``ON`` use static linkage + +``BLA_VENDOR`` + If set, checks only the specified vendor, if not set checks all the + possibilities. List of vendors valid in this module: + + * ``Intel10_32`` (intel mkl v10 32 bit) + * ``Intel10_64lp`` (intel mkl v10+ 64 bit, threaded code, lp64 model) + * ``Intel10_64lp_seq`` (intel mkl v10+ 64 bit, sequential code, lp64 model) + * ``Intel10_64ilp`` (intel mkl v10+ 64 bit, threaded code, ilp64 model) + * ``Intel10_64ilp_seq`` (intel mkl v10+ 64 bit, sequential code, ilp64 model) + * ``Intel`` (obsolete versions of mkl 32 and 64 bit) + * ``OpenBLAS`` + * ``FLAME`` + * ``ACML`` + * ``Apple`` + * ``NAS`` + * ``Generic`` + +``BLA_F95`` + if ``ON`` tries to find BLAS95/LAPACK95 + +Result Variables +^^^^^^^^^^^^^^^^ + +This module defines the following variables: + +``LAPACK_FOUND`` + library implementing the LAPACK interface is found +``LAPACK_LINKER_FLAGS`` + uncached list of required linker flags (excluding -l and -L). +``LAPACK_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use LAPACK +``LAPACK95_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use LAPACK95 +``LAPACK95_FOUND`` + library implementing the LAPACK95 interface is found + +.. note:: + + C or CXX must be enabled to use Intel MKL + + For example, to use Intel MKL libraries and/or Intel compiler: + + .. code-block:: cmake + + set(BLA_VENDOR Intel10_64lp) + find_package(LAPACK) +#]=======================================================================] + +set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + +# Check the language being used +if( NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED) ) + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR "FindLAPACK requires Fortran, C, or C++ to be enabled.") + else() + message(STATUS "Looking for LAPACK... - NOT found (Unsupported languages)") + return() + endif() +endif() + +if (CMAKE_Fortran_COMPILER_LOADED) +include(${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake) +else () +include(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) +endif () +include(${CMAKE_ROOT}/Modules/CMakePushCheckState.cmake) +include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) + +cmake_push_check_state() +set(CMAKE_REQUIRED_QUIET ${LAPACK_FIND_QUIETLY}) + +set(LAPACK_FOUND FALSE) +set(LAPACK95_FOUND FALSE) + +# TODO: move this stuff to separate module + +macro(Check_Lapack_Libraries LIBRARIES _prefix _name _flags _list _blas _threads) +# This macro checks for the existence of the combination of fortran libraries +# given by _list. If the combination is found, this macro checks (using the +# Check_Fortran_Function_Exists macro) whether can link against that library +# combination using the name of a routine given by _name using the linker +# flags given by _flags. If the combination of libraries is found and passes +# the link test, LIBRARIES is set to the list of complete library paths that +# have been found. Otherwise, LIBRARIES is set to FALSE. + +# N.B. _prefix is the prefix applied to the names of all cached variables that +# are generated internally and marked advanced by this macro. + +set(_libraries_work TRUE) +set(${LIBRARIES}) +set(${LIBRARIES}_RELEASE) +set(_combined_name) +if (NOT _libdir) + if (WIN32) + set(_libdir ENV LIB) + elseif (APPLE) + set(_libdir ENV DYLD_LIBRARY_PATH) + else () + set(_libdir ENV LD_LIBRARY_PATH) + endif () +endif () + +list(APPEND _libdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}") + +foreach(_library ${_list}) + set(_combined_name ${_combined_name}_${_library}) + + if(_libraries_work) + if (BLA_STATIC) + if (WIN32) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif () + if (APPLE) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + else () + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif () + else () + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + # for ubuntu's libblas3gf and liblapack3gf packages + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf) + endif () + endif () + find_library(${_prefix}_${_library}_LIBRARY_RELEASE + NAMES ${_library} + PATHS ${_libdir} + ) + mark_as_advanced(${_prefix}_${_library}_LIBRARY_RELEASE) + find_library(${_prefix}_${_library}_LIBRARY_DEBUG + NAMES ${_library}d + PATHS ${_libdir} + ) + mark_as_advanced(${_prefix}_${_library}_LIBRARY_DEBUG) + select_library_configurations(${_prefix}_${_library}) + if(NOT ${_prefix}_${_library}_LIBRARY_RELEASE MATCHES "NOTFOUND") + set(${LIBRARIES}_RELEASE ${${LIBRARIES}_RELEASE} ${${_prefix}_${_library}_LIBRARY_RELEASE}) + endif() + set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY}) + set(_libraries_work ${${_prefix}_${_library}_LIBRARY}) + endif() +endforeach() + +if(_libraries_work) + # Test this combination of libraries. + if(NOT "${_blas}" STREQUAL "") + string(GENEX_STRIP "${_blas}" _test_blas) + endif() + if(UNIX AND BLA_STATIC) + set(CMAKE_REQUIRED_LIBRARIES ${_flags} "-Wl,--start-group" ${${LIBRARIES}_RELEASE} ${_test_blas} "-Wl,--end-group" ${_threads}) + else() + set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}_RELEASE} ${_test_blas} ${_threads}) + endif() + #message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") + #message("DEBUG: _test_blas = ${_test_blas} former ${_blas}") + if (NOT CMAKE_Fortran_COMPILER_LOADED) + check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) + else () + check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS) + endif () + set(CMAKE_REQUIRED_LIBRARIES) + set(_test_blas) + set(_libraries_work ${${_prefix}${_combined_name}_WORKS}) +# message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}") +endif() + + if(_libraries_work) + set(${LIBRARIES} ${${LIBRARIES}} "${_blas}" ${_threads}) + else() + set(${LIBRARIES} FALSE) + endif() + +endmacro() + + +set(LAPACK_LINKER_FLAGS) +set(LAPACK_LIBRARIES) +set(LAPACK95_LIBRARIES) + + +if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) + find_package(BLAS) +else() + find_package(BLAS REQUIRED) +endif() + + +if(BLAS_FOUND) + set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS}) + if (NOT $ENV{BLA_VENDOR} STREQUAL "") + set(BLA_VENDOR $ENV{BLA_VENDOR}) + else () + if(NOT BLA_VENDOR) + set(BLA_VENDOR "All") + endif() + endif () + +#intel lapack +if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") + if (NOT WIN32) + set(LAPACK_mkl_LM "-lm") + set(LAPACK_mkl_LDL "-ldl") + endif () + if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) + if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) + find_PACKAGE(Threads) + else() + find_package(Threads REQUIRED) + endif() + + if (BLA_VENDOR MATCHES "_64ilp") + set(LAPACK_mkl_ILP_MODE "ilp64") + else () + set(LAPACK_mkl_ILP_MODE "lp64") + endif () + + set(LAPACK_SEARCH_LIBS "") + + if (BLA_F95) + set(LAPACK_mkl_SEARCH_SYMBOL "cheev_f95") + set(_LIBRARIES LAPACK95_LIBRARIES) + set(_BLAS_LIBRARIES ${BLAS95_LIBRARIES}) + + # old + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack95") + # new >= 10.3 + list(APPEND LAPACK_SEARCH_LIBS + "mkl_intel_c") + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack95_${LAPACK_mkl_ILP_MODE}") + else() + set(LAPACK_mkl_SEARCH_SYMBOL "cheev") + set(_LIBRARIES LAPACK_LIBRARIES) + set(_BLAS_LIBRARIES ${BLAS_LIBRARIES}) + + # old + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack") + endif() + + # First try empty lapack libs + if (NOT ${_LIBRARIES}) + check_lapack_libraries( + ${_LIBRARIES} + LAPACK + ${LAPACK_mkl_SEARCH_SYMBOL} + "" + "" + "${_BLAS_LIBRARIES}" + "" + ) + endif () + # Then try the search libs + foreach (IT ${LAPACK_SEARCH_LIBS}) + if (NOT ${_LIBRARIES}) + check_lapack_libraries( + ${_LIBRARIES} + LAPACK + ${LAPACK_mkl_SEARCH_SYMBOL} + "" + "${IT}" + "${_BLAS_LIBRARIES}" + "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}" + ) + endif () + endforeach () + + unset(LAPACK_mkl_ILP_MODE) + unset(LAPACK_mkl_SEARCH_SYMBOL) + unset(LAPACK_mkl_LM) + unset(LAPACK_mkl_LDL) + endif () +endif() + +if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "goto2" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "openblas" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "flame" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () + +#acml lapack + if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") + if (BLAS_LIBRARIES MATCHES ".+acml.+") + set (LAPACK_LIBRARIES ${BLAS_LIBRARIES}) + endif () + endif () + +# Apple LAPACK library? +if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "Accelerate" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () +if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All") + if ( NOT LAPACK_LIBRARIES ) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "vecLib" + "${BLAS_LIBRARIES}" + "" + ) + endif () +endif () +# Generic LAPACK library? +if (BLA_VENDOR STREQUAL "Generic" OR + BLA_VENDOR STREQUAL "ATLAS" OR + BLA_VENDOR STREQUAL "All") + if ( NOT LAPACK_LIBRARIES ) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "lapack" + "${BLAS_LIBRARIES}" + "" + ) + endif () + if ( NOT LAPACK_LIBRARIES ) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "lapack;libf2c" + "${BLAS_LIBRARIES}" + "" + ) + endif () + if ( NOT LAPACK_LIBRARIES ) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "lapack;f2c" + "${BLAS_LIBRARIES}" + "" + ) + endif () +endif () + +else() + message(STATUS "LAPACK requires BLAS") +endif() + +if(BLA_F95) + if(LAPACK95_LIBRARIES) + set(LAPACK95_FOUND TRUE) + else() + set(LAPACK95_FOUND FALSE) + endif() + if(NOT LAPACK_FIND_QUIETLY) + if(LAPACK95_FOUND) + message(STATUS "A library with LAPACK95 API found.") + else() + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR + "A required library with LAPACK95 API not found. Please specify library location." + ) + else() + message(STATUS + "A library with LAPACK95 API not found. Please specify library location." + ) + endif() + endif() + endif() + set(LAPACK_FOUND "${LAPACK95_FOUND}") + set(LAPACK_LIBRARIES "${LAPACK95_LIBRARIES}") +else() + if(LAPACK_LIBRARIES) + set(LAPACK_FOUND TRUE) + else() + set(LAPACK_FOUND FALSE) + endif() + + if(NOT LAPACK_FIND_QUIETLY) + if(LAPACK_FOUND) + message(STATUS "A library with LAPACK API found.") + else() + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR + "A required library with LAPACK API not found. Please specify library location." + ) + else() + message(STATUS + "A library with LAPACK API not found. Please specify library location." + ) + endif() + endif() + endif() +endif() + +cmake_pop_check_state() +set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/ports/clapack/fix-ConfigFile.patch b/ports/clapack/fix-ConfigFile.patch new file mode 100644 index 000000000..295c2bc1c --- /dev/null +++ b/ports/clapack/fix-ConfigFile.patch @@ -0,0 +1,7 @@ +diff --git a/clapack-config.cmake.in b/clapack-config.cmake.in +index cd19f1d..49af4f0 100644 +--- a/clapack-config.cmake.in ++++ b/clapack-config.cmake.in +@@ -1 +1 @@ +-include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") ++include("${CMAKE_CURRENT_LIST_DIR}/clapack-targets.cmake") diff --git a/ports/clapack/fix-install.patch b/ports/clapack/fix-install.patch new file mode 100644 index 000000000..b475c6b85 --- /dev/null +++ b/ports/clapack/fix-install.patch @@ -0,0 +1,45 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 414ac8e..db58b4e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,7 +19,7 @@ include_directories(${CLAPACK_SOURCE_DIR}/INCLUDE) + add_subdirectory(F2CLIBS) + add_subdirectory(SRC) + set(CLAPACK_VERSION 3.2.1) +-export(TARGETS f2c lapack FILE ${CMAKE_INSTALL_PREFIX}/share/clapack/clapack-targets.cmake) ++install(EXPORT clapack-targets FILE clapack-targets.cmake DESTINATION share/clapack) + configure_file(${CLAPACK_SOURCE_DIR}/clapack-config-version.cmake.in + ${CMAKE_INSTALL_PREFIX}/share/clapack/clapack-config-version.cmake @ONLY) + configure_file(${CLAPACK_SOURCE_DIR}/clapack-config.cmake.in +diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt +index 6fa3598..c855e38 100644 +--- a/F2CLIBS/libf2c/CMakeLists.txt ++++ b/F2CLIBS/libf2c/CMakeLists.txt +@@ -63,8 +63,9 @@ set_property(TARGET f2c PROPERTY PREFIX lib) + if(UNIX) + target_link_libraries(f2c m) + endif() +-install(TARGETS f2c ++install(TARGETS f2c EXPORT clapack-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION lib ++ INCLUDES DESTINATION include) + +diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt +index 07dc8c7..2355225 100644 +--- a/SRC/CMakeLists.txt ++++ b/SRC/CMakeLists.txt +@@ -377,8 +377,9 @@ if(BUILD_COMPLEX16) + endif() + add_library(lapack ${ALLOBJ} ${ALLXOBJ}) + target_link_libraries(lapack ${BLAS_LIBRARIES} f2c) +-install(TARGETS lapack ++install(TARGETS lapack EXPORT clapack-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION lib ++ INCLUDES DESTINATION include) + diff --git a/ports/clapack/openblas_linux.patch b/ports/clapack/openblas_linux.patch deleted file mode 100644 index e2b7b6e82..000000000 --- a/ports/clapack/openblas_linux.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c729d95..2b15e31 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required(VERSION 2.6) - project(CLAPACK C) --find_package(BLAS REQUIRED) -+find_package(OpenBLAS REQUIRED) - - if(WIN32 AND NOT CYGWIN) - set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c) diff --git a/ports/clapack/portfile.cmake b/ports/clapack/portfile.cmake index ecdf51c87..5524f62d5 100644 --- a/ports/clapack/portfile.cmake +++ b/ports/clapack/portfile.cmake @@ -8,16 +8,13 @@ vcpkg_download_distfile(ARCHIVE SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49 ) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(ADDITIONAL_PATCH "openblas_linux.patch") -endif() - vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES remove_internal_blas.patch - ${ADDITIONAL_PATCH} + fix-ConfigFile.patch + fix-install.patch ) vcpkg_configure_cmake( diff --git a/ports/clapack/remove_internal_blas.patch b/ports/clapack/remove_internal_blas.patch index 471d87a87..3b8c59b4c 100644 --- a/ports/clapack/remove_internal_blas.patch +++ b/ports/clapack/remove_internal_blas.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 320ccc6..284e9d3 100755 +index 320ccc6..414ac8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,6 @@ @@ -45,7 +45,7 @@ index 320ccc6..284e9d3 100755 + DESTINATION include) + diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index 43d7b3f..6fa3598 100755 +index 43d7b3f..6fa3598 100644 --- a/F2CLIBS/libf2c/CMakeLists.txt +++ b/F2CLIBS/libf2c/CMakeLists.txt @@ -60,3 +60,11 @@ include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) @@ -61,7 +61,7 @@ index 43d7b3f..6fa3598 100755 + ARCHIVE DESTINATION lib) + diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt -index ac4cce3..07dc8c7 100755 +index ac4cce3..07dc8c7 100644 --- a/SRC/CMakeLists.txt +++ b/SRC/CMakeLists.txt @@ -376,5 +376,9 @@ if(BUILD_COMPLEX16) @@ -75,10 +75,3 @@ index ac4cce3..07dc8c7 100755 + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) -diff --git a/clapack-config.cmake.in b/clapack-config.cmake.in -index cd19f1d..597f474 100755 ---- a/clapack-config.cmake.in -+++ b/clapack-config.cmake.in -@@ -1 +1 @@ --include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") -+include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") diff --git a/ports/clapack/vcpkg-cmake-wrapper.cmake b/ports/clapack/vcpkg-cmake-wrapper.cmake index 69c54ea0d..26a0a1624 100644 --- a/ports/clapack/vcpkg-cmake-wrapper.cmake +++ b/ports/clapack/vcpkg-cmake-wrapper.cmake @@ -1,4 +1,2 @@ -set(LAPACK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) -_find_package(${ARGS}) -set(CMAKE_MODULE_PATH ${LAPACK_PREV_MODULE_PATH}) +include(${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake) + diff --git a/ports/clara/CONTROL b/ports/clara/CONTROL index cb0c84df3..bb0af5dfb 100644 --- a/ports/clara/CONTROL +++ b/ports/clara/CONTROL @@ -1,4 +1,4 @@ Source: clara -Version: 2019-03-29 +Version: 1.1.5 Homepage: https://github.com/philsquared/Clara Description: A simple to use command line parser for C++ \ No newline at end of file diff --git a/ports/clara/portfile.cmake b/ports/clara/portfile.cmake index 583a07b53..e0f82af5a 100644 --- a/ports/clara/portfile.cmake +++ b/ports/clara/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO philsquared/Clara - REF e3061072fd5a3739fbd11e56ecb7fef5fbd33e04 - SHA512 5ad4b4842153e11b3e82579858c159a85c9ef76e8278ef97befecaedcd79508e89a3fcb5f5b5c3f0ac48064d5627e08cdd2a1db046a95f5b2d55d7b8a4437a92 + REF v1.1.5 + SHA512 10aed7452eaf95c785899086118181615d29496d9f6e5b7054005b565afb642fcdf18b87ebb2dae4e9e365c434be9463c1a5d1a4c4ab17b95a87b89a7f7e3b08 HEAD_REF master ) file(INSTALL ${SOURCE_PATH}/single_include/clara.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/clblas/CONTROL b/ports/clblas/CONTROL index 416376579..3e8543409 100644 --- a/ports/clblas/CONTROL +++ b/ports/clblas/CONTROL @@ -1,4 +1,4 @@ Source: clblas -Version: 2.12-1 +Version: 2.12-3 Build-Depends: opencl Description: clBLAS is an OpenCL 1.2 accelerated BLAS (Basic Linear Algebra Subsystem) library. diff --git a/ports/clblas/portfile.cmake b/ports/clblas/portfile.cmake index 9088fc2e9..97bd7c936 100644 --- a/ports/clblas/portfile.cmake +++ b/ports/clblas/portfile.cmake @@ -6,18 +6,13 @@ vcpkg_from_github( REF v2.12 SHA512 5d9b0c58adde69e83d95e9c713e0cdc5f64785fe7e05553a14c57fa483c4ef39e9dc780c26880a7f15924967d5ce4ea29035c29d63eac7ee5a2ae5ddacac2b72 HEAD_REF master + PATCHES + cmake.patch ) # v2.12 has a very old FindOpenCL.cmake using OPENCL_ vs. OpenCL_ var names # conflicting with the built-in, more modern FindOpenCL.cmake -file( - REMOVE ${SOURCE_PATH}/src/FindOpenCL.cmake -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmake.patch -) +file(REMOVE ${SOURCE_PATH}/src/FindOpenCL.cmake) vcpkg_find_acquire_program(PYTHON3) @@ -37,22 +32,23 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL - "${SOURCE_PATH}/LICENSE" - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/clblas - RENAME copyright -) - -file(REMOVE +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.pdb ${CURRENT_PACKAGES_DIR}/debug/bin/clBLAS-tune.exe ${CURRENT_PACKAGES_DIR}/bin/clBLAS-tune.exe ${CURRENT_PACKAGES_DIR}/debug/bin/concrt140d.dll ${CURRENT_PACKAGES_DIR}/debug/bin/msvcp140d.dll ${CURRENT_PACKAGES_DIR}/debug/bin/vcruntime140d.dll -) + ) +endif() -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 lib/cmake/clBLAS) +endif() -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION ${CURRENT_PACKAGES_DIR}/share/clblas RENAME copyright) diff --git a/ports/clblast/CONTROL b/ports/clblast/CONTROL index 6b8d1c451..6e920200f 100644 --- a/ports/clblast/CONTROL +++ b/ports/clblast/CONTROL @@ -1,4 +1,4 @@ Source: clblast -Version: 1.5.0 +Version: 1.5.0-1 Build-Depends: opencl Description: A modern, lightweight, performant and tunable OpenCL BLAS library written in C++11. \ No newline at end of file diff --git a/ports/clblast/portfile.cmake b/ports/clblast/portfile.cmake index d21e1e471..667769d7e 100644 --- a/ports/clblast/portfile.cmake +++ b/ports/clblast/portfile.cmake @@ -18,28 +18,29 @@ vcpkg_install_cmake() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/clblast.dll) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/clblast.dll ${CURRENT_PACKAGES_DIR}/bin/clblast.dll) -endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/clblast.dll) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/clblast.dll ${CURRENT_PACKAGES_DIR}/debug/bin/clblast.dll) -endif() - -file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe) -file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) -if(EXE OR DEBUG_EXE) - file(REMOVE ${EXE} ${DEBUG_EXE}) +if(VCPKG_TARGET_IS_WINDOWS) + if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/clblast.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/clblast.dll ${CURRENT_PACKAGES_DIR}/bin/clblast.dll) + endif() + if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/clblast.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/clblast.dll ${CURRENT_PACKAGES_DIR}/debug/bin/clblast.dll) + endif() + file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe) + file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) + if(EXE OR DEBUG_EXE) + file(REMOVE ${EXE} ${DEBUG_EXE}) + endif() endif() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clblast) vcpkg_copy_pdbs() -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/clblast) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/clblast/LICENSE ${CURRENT_PACKAGES_DIR}/share/clblast/copyright) \ No newline at end of file +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/clfft/CONTROL b/ports/clfft/CONTROL index d65da1995..522a641e4 100644 --- a/ports/clfft/CONTROL +++ b/ports/clfft/CONTROL @@ -1,5 +1,5 @@ Source: clfft -Version: 2.12.2 +Version: 2.12.2-2 Build-Depends: opencl Homepage: https://github.com/clMathLibraries/clFFT Description: clFFT is an OpenCL 1.2 accelerated Fast Fourier Transform library. diff --git a/ports/clfft/portfile.cmake b/ports/clfft/portfile.cmake index 4e314b5d9..c64baf124 100644 --- a/ports/clfft/portfile.cmake +++ b/ports/clfft/portfile.cmake @@ -6,11 +6,8 @@ vcpkg_from_github( REF v2.12.2 SHA512 19e9a4e06f76ae7c7808d1188677d5553c43598886a75328b7801ab2ca68e35206839a58fe2f958a44a6f7c83284dc9461cd0e21c37d1042bf82e24aad066be8 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/tweak-install.patch + PATCHES + tweak-install.patch ) vcpkg_configure_cmake( @@ -26,12 +23,12 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL - "${SOURCE_PATH}/LICENSE" - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/clfft/copyright -) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/clFFT) +endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") +vcpkg_copy_pdbs() -vcpkg_copy_pdbs() \ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION ${CURRENT_PACKAGES_DIR}/share/clfft/copyright) diff --git a/ports/cli/CONTROL b/ports/cli/CONTROL index 13fa3d73b..6df668d4a 100644 --- a/ports/cli/CONTROL +++ b/ports/cli/CONTROL @@ -1,4 +1,4 @@ Source: cli -Version: 1.1 +Version: 1.1.1 Description: A library for interactive command line interfaces in modern C++ Build-Depends: boost-asio diff --git a/ports/cli/portfile.cmake b/ports/cli/portfile.cmake index 3a340b50f..54ae21ba0 100644 --- a/ports/cli/portfile.cmake +++ b/ports/cli/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO daniele77/cli - REF v1.1.0 - SHA512 a3aeac666567359521d625442f5a03b35ea1e6cf7bd63cdc52dfea20397a1726ce34aeab08ffd7181b9390fb791c56e5aba0260e300329ff327282f1547940c8 + REF v1.1.1 + SHA512 c5046450af8818e23fc5187e66a963cfa981042a99b66c52bfe6119bf126348cd38c50472bc267197e4175ee056f8cf639b09846675450d67c06c1c64f64acba HEAD_REF master ) @@ -14,7 +14,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cli TARGET_PATH share/cli) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cli) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cli RENAME copyright) diff --git a/ports/clickhouse-cpp/00001-fix-build.patch b/ports/clickhouse-cpp/00001-fix-build.patch new file mode 100644 index 000000000..8fb57d50e --- /dev/null +++ b/ports/clickhouse-cpp/00001-fix-build.patch @@ -0,0 +1,42 @@ +diff --git a/clickhouse/base/compressed.cpp b/clickhouse/base/compressed.cpp +index 6b7af08..c3a6449 100644 +--- a/clickhouse/base/compressed.cpp ++++ b/clickhouse/base/compressed.cpp +@@ -1,8 +1,8 @@ + #include "compressed.h" + #include "wire_format.h" + +-#include +-#include ++#include ++#include + + #include + +diff --git a/clickhouse/client.cpp b/clickhouse/client.cpp +index 1053006..59950ab 100644 +--- a/clickhouse/client.cpp ++++ b/clickhouse/client.cpp +@@ -8,8 +8,8 @@ + + #include "columns/factory.h" + +-#include +-#include ++#include ++#include + + #include + #include +diff --git a/clickhouse/types/types.h b/clickhouse/types/types.h +index 8d453cd..69aa6a4 100644 +--- a/clickhouse/types/types.h ++++ b/clickhouse/types/types.h +@@ -4,6 +4,7 @@ + #include + #include + #include ++#include + + namespace clickhouse { + diff --git a/ports/clickhouse-cpp/CMakeLists.txt b/ports/clickhouse-cpp/CMakeLists.txt new file mode 100644 index 000000000..08a597b39 --- /dev/null +++ b/ports/clickhouse-cpp/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.13) +project(clickhouse-cpp CXX) + +find_package(lz4 CONFIG REQUIRED) +find_package(cityhash CONFIG REQUIRED) + +file(GLOB_RECURSE SOURCES "clickhouse/*.cpp") +file(GLOB_RECURSE HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "clickhouse/*.h") + +add_library(clickhouse-cpp STATIC ${SOURCES}) + +target_compile_definitions(clickhouse-cpp PRIVATE LZ4_DISABLE_DEPRECATE_WARNINGS) + +set_target_properties(clickhouse-cpp PROPERTIES + CXX_STANDARD 11 + CXX_STANDARD_REQUIRED ON +) + +target_include_directories(clickhouse-cpp PUBLIC + $ + $ +) + +target_link_libraries(clickhouse-cpp + PRIVATE lz4::lz4 + PRIVATE cityhash +) + +install(TARGETS clickhouse-cpp EXPORT clickhouse-cpp-config + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +install(EXPORT clickhouse-cpp-config DESTINATION share/cmake/clickhouse-cpp) + +foreach (HEADER ${HEADERS} ) + get_filename_component(HEADER_DIR ${HEADER} DIRECTORY) + install(FILES ${HEADER} DESTINATION include/${HEADER_DIR}) +endforeach() diff --git a/ports/clickhouse-cpp/CONTROL b/ports/clickhouse-cpp/CONTROL new file mode 100644 index 000000000..fc8cf6a61 --- /dev/null +++ b/ports/clickhouse-cpp/CONTROL @@ -0,0 +1,5 @@ +Source: clickhouse-cpp +Version: 2019-05-22 +Build-Depends: lz4, cityhash +Homepage: https://github.com/artpaul/clickhouse-cpp +Description: C++ client for Yandex ClickHouse. diff --git a/ports/clickhouse-cpp/portfile.cmake b/ports/clickhouse-cpp/portfile.cmake new file mode 100644 index 000000000..eefea2acf --- /dev/null +++ b/ports/clickhouse-cpp/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO artpaul/clickhouse-cpp + REF 1634d8b9e2f3183de1574344563d90557be3b305 + SHA512 bef74f624c2a777f8ec6b7e87ac3cc564e914bcecc639b3889695da56be4c90531309a8fd87054c2777580c36bc3b2d6e9c5690a6345018bf65a5294eeeb3390 + HEAD_REF master + PATCHES 00001-fix-build.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/clickhouse-cpp) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/clickhouse-cpp/copyright COPYONLY) diff --git a/ports/clp/CMakeLists.txt b/ports/clp/CMakeLists.txt index 94f6559d9..cced65c98 100644 --- a/ports/clp/CMakeLists.txt +++ b/ports/clp/CMakeLists.txt @@ -12,7 +12,7 @@ set(CMAKE_CXX_STANDARD 14) set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") +set(INSTALL_CMAKE_DIR "share/clp" CACHE PATH "Path where cmake configs will be installed") # Make relative paths absolute (needed later on) set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) diff --git a/ports/clp/CONTROL b/ports/clp/CONTROL index a0bdee5d3..5e83cb98e 100644 --- a/ports/clp/CONTROL +++ b/ports/clp/CONTROL @@ -1,4 +1,4 @@ Source: clp -Version: 1.17.2-1 +Version: 1.17.3 Description: Clp (Coin-or linear programming) is an open-source linear programming solver written in C++. It is primarily meant to be used as a callable library, but a basic, stand-alone executable version is also available. Build-Depends: coinutils, osi diff --git a/ports/clp/portfile.cmake b/ports/clp/portfile.cmake index 83581af35..993e7472e 100644 --- a/ports/clp/portfile.cmake +++ b/ports/clp/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO coin-or/Clp - REF releases/1.17.2 - SHA512 70c44f19fca58c64a745c22b6687f7885dfc88196e1dcb0c3be5b7187ccb541a7e85513eb448dd26a163dd78596c57762f4b103d4027056cf53c5c5a994dc35f + REF releases/1.17.3 + SHA512 aa2ed96e01d7cf31ba85756001f430296b1983c6b16a814d845e63bbaca5331cfc71c5ef55e94200da389f138e9766cc745b21e5649f09cb9da473d454c5e062 ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -19,11 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase - vcpkg_fixup_cmake_targets(CONFIG_PATH share/Clp) -else() - vcpkg_fixup_cmake_targets() -endif() +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/clue/CMakeLists.txt b/ports/clue/CMakeLists.txt new file mode 100644 index 000000000..451d414b8 --- /dev/null +++ b/ports/clue/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.5) + +project(clue VERSION 1.0.0 LANGUAGES CXX) + +option(CLUE_BUILD_TEST "Build tests for clue" OFF) +option(CLUE_BUILD_EXAMPLE "Build examples" OFF) + +include(GNUInstallDirs) +include_directories("${CMAKE_CURRENT_SOURCE_DIR}/clue.hpp") + +if(CLUE_BUILD_TEST) + file(GLOB TEST_SOURCES "tests/*.cpp") + add_executable(test_clue ${TEST_SOURCES}) + target_include_directories(test_clue PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/tests) + install(TARGETS test_clue + RUNTIME DESTINATION tools) +endif() + +if(CLUE_BUILD_EXAMPLE) + file(GLOB EXAMPLES "examples/*.cpp") + install(FILES ${EXAMPLES} DESTINATION examples) +endif() + +install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/clue.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +# end of file \ No newline at end of file diff --git a/ports/clue/CONTROL b/ports/clue/CONTROL new file mode 100644 index 000000000..dcd80809e --- /dev/null +++ b/ports/clue/CONTROL @@ -0,0 +1,7 @@ +Source: clue +Version: 1.0.0-alpha.7 +Homepage: https://github.com/martinmoene/clue +Description: clue is a C++03 header-only library to log messages with a severity and optional module identifier. + +Feature: test +Description: Build test \ No newline at end of file diff --git a/ports/clue/portfile.cmake b/ports/clue/portfile.cmake new file mode 100644 index 000000000..35fd8228b --- /dev/null +++ b/ports/clue/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/clue + REF v1.0.0-alpha.7 + SHA512 4f0d1115dcf16412239e1ac158be210403f93596b76c91100ae81be3d4f4cb04dda525101850356a7195b219c826305a82cab7a96b1bc1e2cefaa7860a853e73 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test CLUE_BUILD_TEST +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file diff --git a/ports/cmcstl2/CONTROL b/ports/cmcstl2/CONTROL new file mode 100644 index 000000000..42b652ce4 --- /dev/null +++ b/ports/cmcstl2/CONTROL @@ -0,0 +1,4 @@ +Source: cmcstl2 +Version: 2019-07-20 +Description: An implementation of C++ Extensions for Ranges +Homepage: https://github.com/CaseyCarter/cmcstl2 diff --git a/ports/cmcstl2/portfile.cmake b/ports/cmcstl2/portfile.cmake new file mode 100644 index 000000000..e2a0b9a3f --- /dev/null +++ b/ports/cmcstl2/portfile.cmake @@ -0,0 +1,31 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO CaseyCarter/cmcstl2 + REF cca84b9fd362ea37334ccbe09a66be4121768ac9 + SHA512 a528dda26964a8c29f2bf7ddb24a861f337246e9ab2bda19f62d4ca107951aa77e37070623db3b5574973404ccf2f201bc2020654b3d53de36d8a22de521e5b9 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DSTL2_BUILD_EXAMPLES=OFF + -DSTL2_BUILD_TESTING=OFF +) + +vcpkg_install_cmake() + +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.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/cnl/CONTROL b/ports/cnl/CONTROL index 7aa93f60e..8daea5ae6 100644 --- a/ports/cnl/CONTROL +++ b/ports/cnl/CONTROL @@ -1,3 +1,3 @@ Source: cnl -Version: 2019-01-09 +Version: 2019-06-23 Description: A Compositional Numeric Library for C++ diff --git a/ports/cnl/portfile.cmake b/ports/cnl/portfile.cmake index 0eb23e1c9..885cad137 100644 --- a/ports/cnl/portfile.cmake +++ b/ports/cnl/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO johnmcfarlane/cnl - REF 9f632898a4738b9e41de90e66d4f6ddb84bda08b - SHA512 ffde0b5aa58e79b5a03eee588c0e43d17ab2ddb2ffb12508f9d1b0e05aa54bb6c653986f183ce339e73c562efd749af6bd3907d816c9f79bf48f1e84ded3ac13 + REF 48428242e72b8239cb14c963e40f724929d54df7 + SHA512 c7e012d99409977137a44915dd7a4df5014b6e8540ceee3e82492052541ce77a254d79e624d766b510e7d3a6b17a9d9b02391c6993ae55d3904334116e747983 HEAD_REF develop ) diff --git a/ports/coinutils/CMakeLists.txt b/ports/coinutils/CMakeLists.txt index bdaf5969b..643bbec44 100644 --- a/ports/coinutils/CMakeLists.txt +++ b/ports/coinutils/CMakeLists.txt @@ -12,7 +12,7 @@ set(CMAKE_CXX_STANDARD 14) set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") +set(INSTALL_CMAKE_DIR "share/coinutils" CACHE PATH "Path where cmake configs will be installed") # Make relative paths absolute (needed later on) set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) diff --git a/ports/coinutils/CONTROL b/ports/coinutils/CONTROL index fd495d62d..13db5a937 100644 --- a/ports/coinutils/CONTROL +++ b/ports/coinutils/CONTROL @@ -1,3 +1,3 @@ Source: coinutils -Version: 2.11.2-1 +Version: 2.11.2-2 Description: CoinUtils (Coin-or Utilities) is an open-source collection of classes and functions that are generally useful to more than one COIN-OR project diff --git a/ports/coinutils/portfile.cmake b/ports/coinutils/portfile.cmake index 42bd8d2d1..23a2a673d 100644 --- a/ports/coinutils/portfile.cmake +++ b/ports/coinutils/portfile.cmake @@ -19,11 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase - vcpkg_fixup_cmake_targets(CONFIG_PATH share/CoinUtils) -else() - vcpkg_fixup_cmake_targets() -endif() +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/collada-dom/CONTROL b/ports/collada-dom/CONTROL index 6625c5a4a..cd5bccec5 100644 --- a/ports/collada-dom/CONTROL +++ b/ports/collada-dom/CONTROL @@ -1,4 +1,4 @@ Source: collada-dom -Version: 2.5.0 +Version: 2.5.0-3 Description: The COLLADA Document Object Model (DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document. -Build-Depends: zlib, libxml2, minizip, pcre, uriparser, boost-filesystem, boost-system \ No newline at end of file +Build-Depends: zlib, libxml2, minizip, pcre, uriparser, boost-filesystem, boost-system diff --git a/ports/collada-dom/portfile.cmake b/ports/collada-dom/portfile.cmake index eda714af1..fd295628b 100644 --- a/ports/collada-dom/portfile.cmake +++ b/ports/collada-dom/portfile.cmake @@ -1,5 +1,5 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/collada-dom-2.5.0) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rdiankov/collada-dom @@ -14,15 +14,16 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/collada_dom-2.5") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/collada_dom-2.5) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright file(INSTALL ${SOURCE_PATH}/licenses/license_e.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/collada-dom - RENAME copyright) \ No newline at end of file + RENAME copyright) diff --git a/ports/console-bridge/CONTROL b/ports/console-bridge/CONTROL index f9d10b7e0..550d9a5bf 100644 --- a/ports/console-bridge/CONTROL +++ b/ports/console-bridge/CONTROL @@ -1,4 +1,4 @@ Source: console-bridge -Version: 0.3.2-3 +Version: 0.4.3-2 Homepage: https://github.com/ros/console_bridge Description: a ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages. diff --git a/ports/console-bridge/portfile.cmake b/ports/console-bridge/portfile.cmake index dc618b4b9..7f0ce34fd 100644 --- a/ports/console-bridge/portfile.cmake +++ b/ports/console-bridge/portfile.cmake @@ -3,16 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ros/console_bridge - REF 0.3.2 - SHA512 41fa5340d7ba79c887ef73eb4fda7b438ed91febd224934ae4658697e4c9e43357207e1b3e191ecce3c97cb9a87b0556372832735a268261bc798cc7683aa207 + REF f0b423c0c2d02651db1776c96887c0a314908063 + SHA512 f022341f06c4edf564b94305b7ce279a7a2a61d0323a7ccf374598011909d86b0a9c514b4d41fd1d523baecc1c320d16a931a8f0fbb3a3e4950720f84f0472e6 HEAD_REF master ) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/static-macro.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -22,9 +17,9 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake" TARGET_PATH share/console_bridge) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/console_bridge) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/console_bridge/cmake" TARGET_PATH share/console_bridge) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/console_bridge/cmake TARGET_PATH share/console_bridge) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/console_bridge) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/console_bridge) endif() @@ -36,10 +31,10 @@ string(SUBSTRING "${_contents}" 0 2000 license) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/console-bridge) file(WRITE ${CURRENT_PACKAGES_DIR}/share/console-bridge/copyright "${license}") -file(READ ${CURRENT_PACKAGES_DIR}/include/console_bridge/exportdecl.h _contents) +file(READ ${CURRENT_PACKAGES_DIR}/include/console_bridge_export.h _contents) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC" "if 1" _contents "${_contents}") + string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC_DEFINE" "if 1" _contents "${_contents}") else() - string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC" "if 0" _contents "${_contents}") + string(REPLACE "ifdef CONSOLE_BRIDGE_STATIC_DEFINE" "if 0" _contents "${_contents}") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/console_bridge/exportdecl.h "${_contents}") +file(WRITE ${CURRENT_PACKAGES_DIR}/include/console_bridge_export.h "${_contents}") diff --git a/ports/console-bridge/static-macro.patch b/ports/console-bridge/static-macro.patch deleted file mode 100644 index 31e4053aa..000000000 --- a/ports/console-bridge/static-macro.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 604b2ab..e98b51c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -37,6 +37,10 @@ if(NOT DEFINED BUILD_SHARED_LIBS) - option(BUILD_SHARED_LIBS "Build dynamically-linked binaries" ON) - endif() - -+if(NOT BUILD_SHARED_LIBS) -+ add_definitions(-DCONSOLE_BRIDGE_STATIC) -+endif() -+ - add_library(${PROJECT_NAME} src/console.cpp) - set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION - ${CONSOLE_BRIDGE_MAJOR_VERSION}.${CONSOLE_BRIDGE_MINOR_VERSION}) diff --git a/ports/coroutine/CONTROL b/ports/coroutine/CONTROL index 075a32b26..184891fdc 100644 --- a/ports/coroutine/CONTROL +++ b/ports/coroutine/CONTROL @@ -1,4 +1,4 @@ Source: coroutine -Version: 1.4.1-1 +Version: 1.4.3 Build-Depends: ms-gsl Description: C++ coroutine helper/example library diff --git a/ports/coroutine/portfile.cmake b/ports/coroutine/portfile.cmake index f8bf5cdcf..da9430d8c 100644 --- a/ports/coroutine/portfile.cmake +++ b/ports/coroutine/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO luncliff/coroutine - REF 1.4.2 - SHA512 fc2544116a5bee97b8ef1501fc7f1b805248f0a0c601111f1a317e813aa1d3f9a2e08ab1b140cc36e22d9c90249301110ec5b5e55a40fb39217cf5f40998920d + REF 74467cb470a6bf8b9559a56ebdcb68ff915d871e + SHA512 5d61a23c5fe33c544943659dedecff487bb20f288f9c99f137f37bb777317672f299599b740e53cae42c355595fdfdffe183ade39e828b1f3b4aa821a47cb50e HEAD_REF master ) diff --git a/ports/corrade/CONTROL b/ports/corrade/CONTROL index 3cf18ab10..a8217b2e8 100644 --- a/ports/corrade/CONTROL +++ b/ports/corrade/CONTROL @@ -1,5 +1,5 @@ Source: corrade -Version: 2019.01-1 +Version: 2019.10 Description: C++11/C++14 multiplatform utility library Homepage: https://magnum.graphics/corrade/ Default-Features: interconnect, pluginmanager, testsuite, utility diff --git a/ports/corrade/fixC2666.patch b/ports/corrade/fixC2666.patch deleted file mode 100644 index e6e2ffccc..000000000 --- a/ports/corrade/fixC2666.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/modules/UseCorrade.cmake b/modules/UseCorrade.cmake -index 744d5a1..129e75f 100644 ---- a/modules/UseCorrade.cmake -+++ b/modules/UseCorrade.cmake -@@ -164,7 +164,10 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR CMAKE_CXX_SIMULATE_ID STREQUAL " - # "dllexport and extern are incompatible on an explicit instantiation". - # Why the error is emitted only on classes? Functions are okay with - # dllexport extern?! -- "/wd4910") -+ "/wd4910" -+ -+ #Add the /permissive- option -+ "/permissive-") - set(CORRADE_PEDANTIC_COMPILER_DEFINITIONS - # Disabling warning for not using "secure-but-not-standard" STL algos - "_CRT_SECURE_NO_WARNINGS" "_SCL_SECURE_NO_WARNINGS" diff --git a/ports/corrade/portfile.cmake b/ports/corrade/portfile.cmake index c9e0321dd..76f76959b 100644 --- a/ports/corrade/portfile.cmake +++ b/ports/corrade/portfile.cmake @@ -2,10 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/corrade - REF v2019.01 - SHA512 63468ee0a9362d92d61e2bc77fb8c3e455761894998393910f6bce4111b0ec74db8fe2a8658cec1292c5ceb26e57e005324b34f1ec343d4216abf3a955eaa97e + REF v2019.10 + SHA512 5d161f78844b06e1a9979c7e244968a691012e7212e05df3ee3572f5df9aa69e86309f426a89f356f483f6de3871366a8e11b1701a578f865ea738cc8eee515b HEAD_REF master - PATCHES fixC2666.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) @@ -26,12 +25,23 @@ foreach(_feature IN LISTS ALL_FEATURES) endif() endforeach() +if(NOT VCPKG_CMAKE_SYSTEM_NAME) + # building for Windows desktop + if (VCPKG_PLATFORM_TOOLSET STREQUAL "v142" AND NOT VCPKG_USE_HEAD_VERSION) + message("**********") + message("WARNING: Visual Studio 2019 is not official supported by Corrade/Magnum team. Please use --head version if you intend to have upstream support.") + message("**********") + set(_CUSTOM_BUILD_FLAGS "-DCORRADE_MSVC2017_COMPATIBILITY=ON") + endif() +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA # Disable this option if project cannot be built with Ninja OPTIONS - -DDUTILITY_USE_ANSI_COLORS=ON + -DUTILITY_USE_ANSI_COLORS=ON -DBUILD_STATIC=${BUILD_STATIC} + ${_CUSTOM_BUILD_FLAGS} ${_COMPONENT_FLAGS} ) diff --git a/ports/cpp-base64/CONTROL b/ports/cpp-base64/CONTROL new file mode 100644 index 000000000..bc24cedb6 --- /dev/null +++ b/ports/cpp-base64/CONTROL @@ -0,0 +1,4 @@ +Source: cpp-base64 +Version: 2019-06-19 +Homepage: https://github.com/ReneNyffenegger/cpp-base64 +Description: Base64 encoding and decoding with c++. \ No newline at end of file diff --git a/ports/cpp-base64/portfile.cmake b/ports/cpp-base64/portfile.cmake new file mode 100644 index 000000000..9016ca2c4 --- /dev/null +++ b/ports/cpp-base64/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ReneNyffenegger/cpp-base64 + REF a8aae956a2f07df9aac25b064cf4cd92d56aac45 #Commits on Jun 19, 2019 + SHA512 cb8d8991b87bd70f6287fb2abe20cb2156a511fdccd42bb3fc441d81cccd55755a44579227d326585b8c7a514d9cfebda98a72801ea2a3019a935d52cb14fc90 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/base64.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(COPY ${SOURCE_PATH}/base64.cpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) + +# 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/cpp-httplib/CONTROL b/ports/cpp-httplib/CONTROL new file mode 100644 index 000000000..180ec102a --- /dev/null +++ b/ports/cpp-httplib/CONTROL @@ -0,0 +1,4 @@ +Source: cpp-httplib +Version: 0.2.5 +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 new file mode 100644 index 000000000..a23fbe461 --- /dev/null +++ b/ports/cpp-httplib/portfile.cmake @@ -0,0 +1,21 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO yhirose/cpp-httplib + REF v0.2.5 + SHA512 2b898acb0534517386d14ffa8c2d4640e27cdbbb7ed627a29c289a3012348950bbe1c64711315e8d8654688ab447735d73b9c03be39caaf10e783f612f65e31a + HEAD_REF master +) + +file( + COPY ${SOURCE_PATH}/httplib.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include +) + +# Handle copyright +configure_file( + ${SOURCE_PATH}/LICENSE + ${CURRENT_PACKAGES_DIR}/share/cpp-httplib/copyright + COPYONLY +) diff --git a/ports/cpp-netlib/CONTROL b/ports/cpp-netlib/CONTROL index 361c4dced..9d33aa289 100644 --- a/ports/cpp-netlib/CONTROL +++ b/ports/cpp-netlib/CONTROL @@ -1,4 +1,4 @@ Source: cpp-netlib -Version: 0.13.0-final +Version: 0.13.0-2 +Build-Depends: boost Description: A collection of network-related routines/implementations geared towards providing a robust cross-platform networking library -Build-Depends: boost \ No newline at end of file diff --git a/ports/cpp-netlib/portfile.cmake b/ports/cpp-netlib/portfile.cmake index b57efdbf1..abea253d8 100644 --- a/ports/cpp-netlib/portfile.cmake +++ b/ports/cpp-netlib/portfile.cmake @@ -9,7 +9,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cpp-netlib/cpp-netlib - REF cpp-netlib-0.13.0-final + REF cpp-netlib-0.13.0-final SHA512 1839bf1acb7917acd2957f1008a44ed26a38849afb5843bfa0d5c557dde530afab4183d8d273a87d6416aad2b3a59fdecdef5fbb62bc91ed484486c80a1de5eb HEAD_REF master ) @@ -20,18 +20,17 @@ vcpkg_from_github( OPTIONS -DCPP-NETLIB_BUILD_TESTS=off -DCPP-NETLIB_BUILD_EXAMPLES=off - + ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -if(WIN32 AND NOT CYGWIN) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/${PORT}) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) else() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cppnetlib) endif() file(INSTALL ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) - diff --git a/ports/cpp-peglib/CONTROL b/ports/cpp-peglib/CONTROL new file mode 100644 index 000000000..6a6ed9ad5 --- /dev/null +++ b/ports/cpp-peglib/CONTROL @@ -0,0 +1,3 @@ +Source: cpp-peglib +Version: 0.1.0 +Description: C++11 header-only PEG (Parsing Expression Grammars) library. diff --git a/ports/cpp-peglib/portfile.cmake b/ports/cpp-peglib/portfile.cmake new file mode 100644 index 000000000..25c74c022 --- /dev/null +++ b/ports/cpp-peglib/portfile.cmake @@ -0,0 +1,17 @@ +#header-only library +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO yhirose/cpp-peglib + REF v0.1.0 + SHA512 7efe9da8fe75d766a50d6508c81369b71981aa1e36c0d9981d57b75822fde81074b8803753bfa599ab4ce2a7047be731c22476d0938728ebb9a9dbf63aaeb9e6 + HEAD_REF master + ) + + file(COPY ${SOURCE_PATH}/peglib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + + # Handle copyright + file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpp-peglib) + file(RENAME ${CURRENT_PACKAGES_DIR}/share/cpp-peglib/LICENSE ${CURRENT_PACKAGES_DIR}/share/cpp-peglib/copyright) diff --git a/ports/cpp-redis/CONTROL b/ports/cpp-redis/CONTROL index 7d8823866..702c107a1 100644 --- a/ports/cpp-redis/CONTROL +++ b/ports/cpp-redis/CONTROL @@ -1,5 +1,5 @@ Source: cpp-redis -Version: 4.3.1-1 +Version: 4.3.1-2 Build-Depends: tacopie -Homepage: https://github.com/Cylix/cpp_redis +Homepage: https://github.com/cpp-redis/cpp_redis Description: cpp-redis is a C++11 Asynchronous Multi-Platform Lightweight Redis Client, with support for synchronous operations and pipelining. diff --git a/ports/cpp-redis/portfile.cmake b/ports/cpp-redis/portfile.cmake index ee19a6510..f6bf753e5 100644 --- a/ports/cpp-redis/portfile.cmake +++ b/ports/cpp-redis/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO Cylix/cpp_redis + REPO cpp-redis/cpp_redis REF 4.3.1 SHA512 abf372542c53f37f504b3211b840b100d07a8f4b2e7f5584cc7550ab16ed617838e2df79064374c7a409458d8567f4834686318ea3a40249c767e36c744c7a47 HEAD_REF master @@ -53,10 +53,10 @@ if(FILES_TO_REMOVE) file(REMOVE_RECURSE ${FILES_TO_REMOVE}) endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpp-redis RENAME copyright) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/cpp-taskflow/CONTROL b/ports/cpp-taskflow/CONTROL index 4abf5457f..69b58ea81 100644 --- a/ports/cpp-taskflow/CONTROL +++ b/ports/cpp-taskflow/CONTROL @@ -1,3 +1,3 @@ Source: cpp-taskflow -Version: 2018-11-30 +Version: 2.2.0 Description: Fast Parallel Tasking Programming Library using Modern C++. diff --git a/ports/cpp-taskflow/portfile.cmake b/ports/cpp-taskflow/portfile.cmake index 1f596f0d4..5160d02a2 100644 --- a/ports/cpp-taskflow/portfile.cmake +++ b/ports/cpp-taskflow/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cpp-taskflow/cpp-taskflow - REF 97252f7d782c6e896122645175c08131ce10e649 - SHA512 df8ae9ea449663cb548f3c37346c2e0c785add2d86b9c618aea2741d81fe88c34b0d3d0e610a4b571973f9bc18631becedfe28e029ecf0c0cc87e4c35a280a29 + REF v2.2.0 + SHA512 c075f1b7e4dd6ed6d9561b860b660ee4b28eddb321d8aa8746fbec45b1039ab686700156e4273da5a4ac7af0707975331befd9bf3e51f18925ea3a9a60083549 HEAD_REF master ) diff --git a/ports/cppgraphqlgen/CONTROL b/ports/cppgraphqlgen/CONTROL index d3f13de82..67b17b7fc 100644 --- a/ports/cppgraphqlgen/CONTROL +++ b/ports/cppgraphqlgen/CONTROL @@ -1,4 +1,4 @@ Source: cppgraphqlgen -Version: 3.0.0 +Version: 3.0.2 Build-Depends: boost-filesystem (!uwp&!windows), boost-program-options, pegtl, rapidjson Description: C++ GraphQL schema service generator diff --git a/ports/cppgraphqlgen/portfile.cmake b/ports/cppgraphqlgen/portfile.cmake index 5c92e1a60..b4f22868e 100644 --- a/ports/cppgraphqlgen/portfile.cmake +++ b/ports/cppgraphqlgen/portfile.cmake @@ -2,9 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO Microsoft/cppgraphqlgen - REF v3.0.0 - SHA512 26da9b559b7220f44bc1aabd68250a4cf869329a5496ac439f9bc7cea5137e0ef9068dc6e868adf441cd5c212f21dd08f0a21db393eb4c237525961eefd49389 + REPO microsoft/cppgraphqlgen + REF v3.0.2 + SHA512 ae2e94e7cb8853c88d2dbf226dec52e30fb16d1889f14f94d2a585dd2be1985e58ac8c16765b970c4417c08d519b32514080d90bfab7e34b66dc7c32b9f9caa6 HEAD_REF master ) diff --git a/ports/cppkafka/CONTROL b/ports/cppkafka/CONTROL new file mode 100644 index 000000000..5dec433ef --- /dev/null +++ b/ports/cppkafka/CONTROL @@ -0,0 +1,5 @@ +Source: cppkafka +Version: 0.3.1-2 +Homepage: https://github.com/mfontanini/cppkafka +Description: cppkafka allows C++ applications to consume and produce messages using the Apache Kafka protocol. The library is built on top of librdkafka, and provides a high level API that uses modern C++ features to make it easier to write code while keeping the wrapper's performance overhead to a minimum. +Build-Depends: boost-program-options, librdkafka diff --git a/ports/cppkafka/fix-dynamic.patch b/ports/cppkafka/fix-dynamic.patch new file mode 100644 index 000000000..f18a0fbf7 --- /dev/null +++ b/ports/cppkafka/fix-dynamic.patch @@ -0,0 +1,12 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5d31078..b1d3634 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -43,6 +43,7 @@ target_include_directories(cppkafka PUBLIC ${PROJECT_SOURCE_DIR}/include) + + install( + TARGETS cppkafka ++ RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + COMPONENT dev diff --git a/ports/cppkafka/portfile.cmake b/ports/cppkafka/portfile.cmake new file mode 100644 index 000000000..fbb6e3bce --- /dev/null +++ b/ports/cppkafka/portfile.cmake @@ -0,0 +1,34 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mfontanini/cppkafka + REF v0.3.1 + SHA512 60d01ce1dd9bd9119676be939ed5ab03539abb1f945c1b31e432edfe0f06542778f7fef37696f5ff19c53024f44d5cbd8aeddbbb231c38b098e05285d3ff0cab + HEAD_REF master + PATCHES fix-dynamic.patch +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(CPPKAFKA_BUILD_SHARED OFF) +else() + set(CPPKAFKA_BUILD_SHARED ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCPPKAFKA_BUILD_SHARED=${CPPKAFKA_BUILD_SHARED} + -DCPPKAFKA_DISABLE_TESTS=ON + -DCPPKAFKA_DISABLE_EXAMPLES=ON +) + +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/cppmicroservices/CONTROL b/ports/cppmicroservices/CONTROL new file mode 100644 index 000000000..9a53e06b1 --- /dev/null +++ b/ports/cppmicroservices/CONTROL @@ -0,0 +1,3 @@ +Source: cppmicroservices +Version: 4.0.0-pre1 +Description: An OSGi-like C++ dynamic module system and service registry diff --git a/ports/cppmicroservices/portfile.cmake b/ports/cppmicroservices/portfile.cmake new file mode 100644 index 000000000..d0edb6374 --- /dev/null +++ b/ports/cppmicroservices/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO "CppMicroServices/CppMicroservices" + REF b322441568f903ef96c0ccb03e2611d052ceb4e0 + SHA512 1673dfe9dba913890ec93e351263a924437a0d739a5858dcdc07650e1aaca30c3b4fcce59e32b201c1d65e15eb82e27912d759e4d07ecc149ae8a4f9eb1669bc + HEAD_REF development + PATCHES werror.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA # Disable this option if project cannot be built with Ninja + OPTIONS + -DTOOLS_INSTALL_DIR:STRING=tools/cppmicroservices + -DAUXILIARY_INSTALL_DIR:STRING=share/cppmicroservices +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppmicroservices RENAME copyright) + +vcpkg_fixup_cmake_targets() + +# CppMicroServices uses a custom resource compiler to compile resources +# the zipped resources are then appended to the target which cause the linker to crash +# when compiling a static library +if(NOT BUILD_SHARED_LIBS) + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +endif() diff --git a/ports/cppmicroservices/werror.patch b/ports/cppmicroservices/werror.patch new file mode 100644 index 000000000..b06f43a72 --- /dev/null +++ b/ports/cppmicroservices/werror.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 24fd87e..974064c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -382,7 +382,7 @@ else() + usFunctionCheckCompilerFlags(-fstack-protector-all US_CXX_FLAGS) + endif() + +- foreach(_cxxflag -Werror -Wall -Wextra -Wpointer-arith -Winvalid-pch -Wcast-align ++ foreach(_cxxflag -Wall -Wextra -Wpointer-arith -Winvalid-pch -Wcast-align + -Wwrite-strings -Woverloaded-virtual -Wnon-virtual-dtor -Wold-style-cast + -Wstrict-null-sentinel -Wsign-promo -fdiagnostics-show-option ) + usFunctionCheckCompilerFlags(${_cxxflag} US_CXX_FLAGS) diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL index 016bad454..6f6a2a307 100644 --- a/ports/cpprestsdk/CONTROL +++ b/ports/cpprestsdk/CONTROL @@ -1,19 +1,26 @@ Source: cpprestsdk -Version: 2.10.13-1 -Build-Depends: zlib, openssl (!uwp&!windows), boost-system (!uwp&!windows), boost-date-time (!uwp&!windows), boost-regex (!uwp&!windows), boost-thread (!uwp&!windows), boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows), boost-asio (!uwp&!windows) +Version: 2.10.14-1 +Build-Depends: openssl (!uwp&!windows), boost-system (!uwp&!windows), + boost-date-time (!uwp&!windows), boost-regex (!uwp&!windows), boost-thread (!uwp&!windows), + boost-filesystem (!uwp&!windows), boost-random (!uwp&!windows), boost-chrono (!uwp&!windows), + boost-asio (!uwp&!windows) Homepage: https://github.com/Microsoft/cpprestsdk Description: C++11 JSON, REST, and OAuth library The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services. Default-Features: default-features Feature: default-features -Build-Depends: cpprestsdk[brotli] (windows), cpprestsdk[websockets] +Build-Depends: cpprestsdk[brotli] (windows), cpprestsdk[core,compression,websockets] Description: Features installed by default +Feature: compression +Build-Depends: zlib +Description: HTTP Compression support + Feature: websockets -Build-Depends: websocketpp (!uwp), openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp) +Build-Depends: cpprestsdk[core,compression], websocketpp (!uwp), openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp) Description: Websockets support Feature: brotli -Build-Depends: brotli +Build-Depends: cpprestsdk[core,compression], brotli Description: Brotli compression support diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake index 6747c0b2c..4a6dad142 100644 --- a/ports/cpprestsdk/portfile.cmake +++ b/ports/cpprestsdk/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/cpprestsdk - REF v2.10.13 - SHA512 43e60ee1266e0009f04452736a1b5127439d54416060f81544613007a8bcc084705bedd482ec3519140e79a6f56bddba6d25e9752228595bb8f83ce560ae39b8 + REF v2.10.14 + SHA512 7208b8c31e42a9bda2bf1d5c65527e54e3f946ec57743aaf7058c12a311de78de354d5ff859f35b3a8936c8964ac5695a692e234f3365edc426cf9580f76cd4f HEAD_REF master ) @@ -16,16 +16,21 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -DWEBSOCKETPP_CONFIG_VERSION=${WEBSOCKETPP_PATH}) endif() -set(CPPREST_EXCLUDE_WEBSOCKETS ON) -if("websockets" IN_LIST FEATURES) - set(CPPREST_EXCLUDE_WEBSOCKETS OFF) -endif() - set(CPPREST_EXCLUDE_BROTLI ON) if ("brotli" IN_LIST FEATURES) set(CPPREST_EXCLUDE_BROTLI OFF) endif() +set(CPPREST_EXCLUDE_COMPRESSION ON) +if ("compression" IN_LIST FEATURES) + set(CPPREST_EXCLUDE_COMPRESSION OFF) +endif() + +set(CPPREST_EXCLUDE_WEBSOCKETS ON) +if("websockets" IN_LIST FEATURES) + set(CPPREST_EXCLUDE_WEBSOCKETS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/Release PREFER_NINJA @@ -33,6 +38,8 @@ vcpkg_configure_cmake( ${OPTIONS} -DBUILD_TESTS=OFF -DBUILD_SAMPLES=OFF + -DCPPREST_EXCLUDE_BROTLI=${CPPREST_EXCLUDE_BROTLI} + -DCPPREST_EXCLUDE_COMPRESSION=${CPPREST_EXCLUDE_COMPRESSION} -DCPPREST_EXCLUDE_WEBSOCKETS=${CPPREST_EXCLUDE_WEBSOCKETS} -DCPPREST_EXPORT_DIR=share/cpprestsdk -DWERROR=OFF diff --git a/ports/cppunit/CONTROL b/ports/cppunit/CONTROL index b7d8968d7..9c3dee7b6 100644 --- a/ports/cppunit/CONTROL +++ b/ports/cppunit/CONTROL @@ -1,3 +1,3 @@ Source: cppunit -Version: 1.14.0 +Version: 1.14.0-1 Description: CppUnit is the C++ port of the famous JUnit framework for unit testing. Test output is in XML for automatic testing and GUI based for supervised tests. \ No newline at end of file diff --git a/ports/cppunit/portfile.cmake b/ports/cppunit/portfile.cmake index 7a936d655..b2b836f00 100644 --- a/ports/cppunit/portfile.cmake +++ b/ports/cppunit/portfile.cmake @@ -1,24 +1,26 @@ include(vcpkg_common_functions) + +if(NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "\n${PORT} does not support your system, only Windows for now. Please open a ticket issue on github.com/microsoft/vcpkg if necessary\n") +endif() + set(VERSION 1.14.0) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}/cppunit-${VERSION}) +if (VCPKG_CRT_LINKAGE STREQUAL static) + set(STATIC_PATCH "0001-static-crt-linkage.patch") +endif() + vcpkg_download_distfile(ARCHIVE URLS "http://dev-www.libreoffice.org/src/cppunit-${VERSION}.tar.gz" FILENAME "cppunit-${VERSION}.tar.gz" SHA512 4ea1da423c6f7ab37e4144689f593396829ce74d43872d6b10709c1ad5fbda4ee945842f7e9803592520ef81ac713e95a3fe130295bf048cd32a605d1959882e ) -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}) -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}) -vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}) - -if (VCPKG_CRT_LINKAGE STREQUAL static) - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - # Make sure cppunit static lib uses static CRT linkage - ${CMAKE_CURRENT_LIST_DIR}/0001-static-crt-linkage.patch - ) -endif() +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + ${STATIC_PATCH} +) if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") set(BUILD_ARCH "Win32") @@ -51,8 +53,6 @@ elseif (VCPKG_LIBRARY_LINKAGE STREQUAL static) file(COPY ${SOURCE_PATH}/lib/cppunit.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) endif() -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppunit) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/cppunit/COPYING ${CURRENT_PACKAGES_DIR}/share/cppunit/copyright) +vcpkg_copy_pdbs() -vcpkg_copy_pdbs() \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppunit RENAME copyright) diff --git a/ports/cpputest/CONTROL b/ports/cpputest/CONTROL new file mode 100644 index 000000000..cecf6e221 --- /dev/null +++ b/ports/cpputest/CONTROL @@ -0,0 +1,4 @@ +Source: cpputest +Version: 2019-9-16 +Homepage: https://github.com/cpputest/cpputest +Description: CppUTest unit testing and mocking framework for C/C++. \ No newline at end of file diff --git a/ports/cpputest/fix-arm-build-error.patch b/ports/cpputest/fix-arm-build-error.patch new file mode 100644 index 000000000..5b017cb63 --- /dev/null +++ b/ports/cpputest/fix-arm-build-error.patch @@ -0,0 +1,20 @@ +diff --git a/tests/CppUTest/CMakeLists.txt b/tests/CppUTest/CMakeLists.txt +index 7df07c1..d7317aa 100644 +--- a/tests/CppUTest/CMakeLists.txt ++++ b/tests/CppUTest/CMakeLists.txt +@@ -56,4 +56,4 @@ add_executable(CppUTestTests ${CppUTestTests_src}) + cpputest_normalize_test_output_location(CppUTestTests) + target_link_libraries(CppUTestTests CppUTest ${THREAD_LIB}) + +-cpputest_buildtime_discover_tests(CppUTestTests) ++#cpputest_buildtime_discover_tests(CppUTestTests) +diff --git a/tests/CppUTestExt/CMakeLists.txt b/tests/CppUTestExt/CMakeLists.txt +index b83ceb2..2abf274 100644 +--- a/tests/CppUTestExt/CMakeLists.txt ++++ b/tests/CppUTestExt/CMakeLists.txt +@@ -37,4 +37,4 @@ endif (MINGW) + add_executable(CppUTestExtTests ${CppUTestExtTests_src}) + cpputest_normalize_test_output_location(CppUTestExtTests) + target_link_libraries(CppUTestExtTests CppUTest CppUTestExt ${THREAD_LIB} ${CPPUNIT_EXTERNAL_LIBRARIES}) +-cpputest_buildtime_discover_tests(CppUTestExtTests) ++#cpputest_buildtime_discover_tests(CppUTestExtTests) diff --git a/ports/cpputest/portfile.cmake b/ports/cpputest/portfile.cmake new file mode 100644 index 000000000..904f1d0b1 --- /dev/null +++ b/ports/cpputest/portfile.cmake @@ -0,0 +1,35 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cpputest/cpputest + REF 4699da9942a1bdcc33e2a8c8a48e863b0f18188e + SHA512 6f588691f1b4092b3be8167ab09f3a4a64c34715ac9397210724121d161024a43b12a88198b02b0cc8da7d72406670daaf375bb64cc4cf92c8bd2479e7a881bc + HEAD_REF master + PATCHES fix-arm-build-error.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/CppUTest/cmake TARGET_PATH share/CppUTest) +if (EXISTS ${CURRENT_PACKAGES_DIR}/lib/CppUTest) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/CppUTest) +endif() + +if (EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/CppUTest) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/CppUTest) +endif() + +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 ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/cppzmq/CONTROL b/ports/cppzmq/CONTROL index f50dd4103..c98e464ca 100644 --- a/ports/cppzmq/CONTROL +++ b/ports/cppzmq/CONTROL @@ -1,5 +1,5 @@ Source: cppzmq -Version: 4.3.0-1 +Version: 4.4.1 Build-Depends: zeromq Homepage: https://github.com/zeromq/cppzmq Description: lightweight messaging kernel, C++ bindings diff --git a/ports/cppzmq/portfile.cmake b/ports/cppzmq/portfile.cmake index cd281513a..52c4126c4 100644 --- a/ports/cppzmq/portfile.cmake +++ b/ports/cppzmq/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/cppzmq - REF v4.3.0 - SHA512 c9e08e48795b9043c689ffa6953ac59e0fe79d9110d79e06609ab67bf76bea52147b59ecf033f7a06e57d5eb0c3c6bc79634af789966ff22d7d80091d19b135d + REF v4.4.1 + SHA512 5178a24413e44a6d99e57db7c9859c72279304272baa0e1fb810174cdf592cb567cab98428ef3ab611042bdf4bc506867421662409d1f0d82c233cb83ebdb801 HEAD_REF master ) diff --git a/ports/cpuinfo/CONTROL b/ports/cpuinfo/CONTROL new file mode 100644 index 000000000..180b26043 --- /dev/null +++ b/ports/cpuinfo/CONTROL @@ -0,0 +1,7 @@ +Source: cpuinfo +Version: 2019-07-28 +Description: CPU INFOrmation library (x86/x86-64/ARM/ARM64, Linux/Windows/Android/macOS/iOS) +Homepage: https://github.com/pytorch/cpuinfo + +Feature: tools +Description: Build cpuinfo command-line tools diff --git a/ports/cpuinfo/portfile.cmake b/ports/cpuinfo/portfile.cmake new file mode 100644 index 000000000..b5279e30d --- /dev/null +++ b/ports/cpuinfo/portfile.cmake @@ -0,0 +1,69 @@ +include(vcpkg_common_functions) + +# On Windows, we can get a cpuinfo.dll, but it exports no symbols. +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_download_distfile( + pull_22_patch_file + URLS "https://github.com/pytorch/cpuinfo/compare/d5e37adf1406cf899d7d9ec1d317c47506ccb970...868bd113ed496a01cd030ab4d5b8853561f919a3.diff" + FILENAME "cpuinfo-pull-22-868bd11.patch" + SHA512 6971707e71613ca07fe0d18cb9c36cd5161177fc9ad3eb9e66f17a694559f3a95ccdad8f50e9342507a7978bd454f66e47c8a94db9077267ca302535b7cc3b59 +) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pytorch/cpuinfo + REF d5e37adf1406cf899d7d9ec1d317c47506ccb970 + SHA512 ecd2115340fa82a67db7889ce286c3070d5ab9c30b02372b08aac893e90ccebc65c6b3e66aa02a9ae9c57892d2d8c3b77cb836e5fc3b88df2c75d33e574d90d2 + HEAD_REF master + PATCHES + ${pull_22_patch_file} +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + tools CPUINFO_BUILD_TOOLS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DCPUINFO_BUILD_TOOLS=OFF + OPTIONS_RELEASE + ${FEATURE_OPTIONS} + OPTIONS + -DCPUINFO_BUILD_UNIT_TESTS=OFF + -DCPUINFO_BUILD_MOCK_TESTS=OFF + -DCPUINFO_BUILD_BENCHMARKS=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(tools IN_LIST FEATURES) + foreach(cpuinfo_tool cache-info cpuid-dump cpu-info isa-info) + file(COPY + ${CURRENT_PACKAGES_DIR}/bin/${cpuinfo_tool}${VCPKG_TARGET_EXECUTABLE_SUFFIX} + DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT} + ) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + endforeach() + + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + else() + # TODO: Fix it once this lib supports dynamic building. + endif() +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/crc32c/CONTROL b/ports/crc32c/CONTROL index 329b5a3bf..b13c39f0f 100644 --- a/ports/crc32c/CONTROL +++ b/ports/crc32c/CONTROL @@ -1,4 +1,4 @@ Source: crc32c -Version: 1.0.7 +Version: 1.1.0 Homepage: https://github.com/google/crc32c Description: CRC32C implementation with support for CPU-specific acceleration instructions. diff --git a/ports/crc32c/portfile.cmake b/ports/crc32c/portfile.cmake index 1802c0c35..bce61bc2e 100644 --- a/ports/crc32c/portfile.cmake +++ b/ports/crc32c/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/crc32c - REF 1.0.7 - SHA512 fe384ea15976b1317b7f6be3a447ae2cf25e0baa80f6c5e1231719a2af8863bc156b3d33156f24eca85504083730937f81fb624311d27e94ba3d2456bf3d34fa + REF 83c31e797274a5b26e9e4a5355ba394cd0cabc10 + SHA512 829f8618c2769d274b400cf6de1dd2ab874d50d36e8cb086238aadae804154360b113faecd3c60e029a8d5ebc620d4b7cc7e1492775a4235d53989116227cd52 HEAD_REF master PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001_export_symbols.patch ) @@ -20,7 +20,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Crc32c") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Crc32c) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/crfsuite/CMakeLists.txt b/ports/crfsuite/CMakeLists.txt new file mode 100644 index 000000000..81ede0ba5 --- /dev/null +++ b/ports/crfsuite/CMakeLists.txt @@ -0,0 +1,65 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) +PROJECT(crfsuite) + +file(GLOB SOURCE_FILE_CQDB + "lib/cqdb/src/*.c" +) +file(GLOB HEADERS_FILE_CQDB + "lib/cqdb/include/*.h" +) + +file(GLOB SOURCE_FILE_CRF + "lib/crf/src/*.c" +) +file(GLOB HEADERS_FILE_CRF + "lib/crf/src/*.h" +) +file(GLOB SOURCE_FILE_FRONTEND + "frontend/*.c" +) +file(GLOB HEADERS_FILE_FRONTEND + "frontend/*.h" +) +file(GLOB SOURCE_FILE + "swig/*.cpp" + "frontend/*.c" +) +file(GLOB HEADERS_FILE + "include/*.h" + "include/*.hpp" + "frontend/*.h" +) + +find_library(LBFGS_LIBRARY lbfgs) + +include_directories(lib/cqdb/include/) +include_directories(include/) +include_directories(win32/liblbfgs/) + + +add_library (cqdb STATIC ${SOURCE_FILE_CQDB} ${HEADERS_FILE_CQDB}) +add_library (crf STATIC ${SOURCE_FILE_CRF} ${HEADERS_FILE_CRF}) +add_library (crfsuite STATIC ${SOURCE_FILE} ${HEADERS_FILE}) + +target_link_libraries(crf PUBLIC cqdb ${LBFGS_LIBRARY}) +target_link_libraries(crfsuite PUBLIC crf) + + +install(TARGETS cqdb crf crfsuite + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +if (WIN32) +add_executable(frontend ${SOURCE_FILE_FRONTEND} ${HEADERS_FILE_FRONTEND}) +target_link_libraries(frontend PUBLIC crf) +install(TARGETS frontend + RUNTIME DESTINATION tools + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) +endif() + + +install(FILES ${HEADERS_FILE} ${HEADERS_FILE_CQDB} ${HEADERS_FILE_CRF} ${HEADERS_FILE_FRONTEND} DESTINATION include) \ No newline at end of file diff --git a/ports/crfsuite/CONTROL b/ports/crfsuite/CONTROL new file mode 100644 index 000000000..30a261551 --- /dev/null +++ b/ports/crfsuite/CONTROL @@ -0,0 +1,5 @@ +Source: crfsuite +Version: 2019-07-21 +Homepage: http://www.chokkan.org/software/crfsuite/ +Build-Depends: liblbfgs +Description: CRFSuite is an implementation of Conditional Random Fields (CRFs) for labeling sequential data. \ No newline at end of file diff --git a/ports/crfsuite/portfile.cmake b/ports/crfsuite/portfile.cmake new file mode 100644 index 000000000..8002707a6 --- /dev/null +++ b/ports/crfsuite/portfile.cmake @@ -0,0 +1,33 @@ +if (VCPKG_TARGET_TRIPLET STREQUAL "x64-uwp" OR VCPKG_TARGET_TRIPLET STREQUAL "arm-uwp") + message(FATAL_ERROR "crfsuite does not support on this platform") +endif() + + +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO chokkan/crfsuite + REF 5d1bd3b803bb26582ed5cc274d6b5af6cc7f9cae + SHA512 e7f329f96fb0dc0e347b3e7a3e26b23ceb45e6fae7b59ace05633a24d58a31665826ebc5280e5a864f50598772791e4b5b3e7da7f46994655cbe03806f823f73 + HEAD_REF master +) + + +list(REMOVE_ITEM SOURCE_FILE ${SOURCE_PATH}/win32/liblbfgs/lbfgs.lib) +list(REMOVE_ITEM SOURCE_FILE ${SOURCE_PATH}/win32/liblbfgs/lbfgs_debug.lib) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFIX_NINJA +) +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/crfsuite RENAME copyright) \ No newline at end of file diff --git a/ports/cryptopp/CONTROL b/ports/cryptopp/CONTROL index 76c754565..23a7bb456 100644 --- a/ports/cryptopp/CONTROL +++ b/ports/cryptopp/CONTROL @@ -1,4 +1,4 @@ Source: cryptopp -Version: 8.1.0-1 +Version: 8.2.0 Homepage: https://github.com/weidai11/cryptopp Description: Crypto++ is a free C++ class library of cryptographic schemes. diff --git a/ports/cryptopp/missing-flags.patch b/ports/cryptopp/missing-flags.patch deleted file mode 100644 index 349219233..000000000 --- a/ports/cryptopp/missing-flags.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b49fff6..f753e75 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -639,6 +639,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU - set_source_files_properties(${SRC_DIR}/simeck_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") - set_source_files_properties(${SRC_DIR}/simon128_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") - set_source_files_properties(${SRC_DIR}/speck128_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") -+ set_source_files_properties(${SRC_DIR}/keccak_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") - if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4) - set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") - set_source_files_properties(${SRC_DIR}/blake2b_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") -@@ -648,6 +649,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU - if (CRYPTOPP_IA32_SSE42 AND NOT DISABLE_SSE4) - set_source_files_properties(${SRC_DIR}/crc_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2") - if (CRYPTOPP_IA32_CLMUL AND NOT DISABLE_AES) -+ set_source_files_properties(${SRC_DIR}/gf2n_simd.cpp PROPERTIES COMPILE_FLAGS "-mpclmul") - set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3 -mpclmul") - endif () - if (CRYPTOPP_IA32_AES AND NOT DISABLE_AES) diff --git a/ports/cryptopp/portfile.cmake b/ports/cryptopp/portfile.cmake index ad6557f77..d744deccd 100644 --- a/ports/cryptopp/portfile.cmake +++ b/ports/cryptopp/portfile.cmake @@ -5,20 +5,18 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH CMAKE_SOURCE_PATH REPO noloader/cryptopp-cmake - REF b97d72f083fefa249e46ae3c15a2c294e615fca2 - SHA512 e6c65bb81a47009fa568c957beea65c37f2283bdc5afad6a45983f685c0b9c9c01ac4bb334d45dacbdc74f9d834b316c09cbb16d3ead7fb48737fbad76ff3f8d + REF 6d0666c457fbbf6f81819fd2b80f0cb5b6646593 + SHA512 0341f14ce734afaee8bcc1db1716684f241499c692a5478c83a3df3fd2e5331cd04b2f4f51d43cce231ca1d9fbe76220639573c05ef06be0cf33081a1ef7ab30 HEAD_REF master PATCHES cmake.patch - simon-speck.patch - missing-flags.patch ) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO weidai11/cryptopp - REF CRYPTOPP_8_1_0 - SHA512 2b09b30c53a8f95a9c3204a48867174c70a1e97171854122f4d8454b25d5af9b94cab2c210dd9857c7db66df881849183e82b6155b80bfef6e69dac8efd2ea9a + REF CRYPTOPP_8_2_0 + SHA512 d2dcc107091d00800de243abdce8286ccd7fcc5707eebf88b97675456a021e62002e942b862db0465f72142951f631c0c1f0b2ba56028b96461780a17f2dfdf9 HEAD_REF master PATCHES patch.patch ) @@ -27,7 +25,7 @@ file(COPY ${CMAKE_SOURCE_PATH}/cryptopp-config.cmake DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) # disable assembly on OSX to fix broken build -if(APPLE) +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(CRYPTOPP_DISABLE_ASM "ON") else() set(CRYPTOPP_DISABLE_ASM "OFF") diff --git a/ports/cryptopp/simon-speck.patch b/ports/cryptopp/simon-speck.patch deleted file mode 100644 index a1d911930..000000000 --- a/ports/cryptopp/simon-speck.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7d64977..4ec3ebd 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -497,6 +497,8 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU - set_source_files_properties(${SRC_DIR}/simeck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") - set_source_files_properties(${SRC_DIR}/simon128-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") - set_source_files_properties(${SRC_DIR}/speck128-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") -+ set_source_files_properties(${SRC_DIR}/simon-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") -+ set_source_files_properties(${SRC_DIR}/speck-simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") - if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4) - set_source_files_properties(${SRC_DIR}/blake2-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") - set_source_files_properties(${SRC_DIR}/simon64-simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") diff --git a/ports/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 /* 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/ctbignum/CONTROL b/ports/ctbignum/CONTROL new file mode 100644 index 000000000..977abc21f --- /dev/null +++ b/ports/ctbignum/CONTROL @@ -0,0 +1,6 @@ +Source: ctbignum +Version: 2019-08-02 +Homepage: https://github.com/niekbouman/ctbignum +Description: This is a header-only template library for fixed-width "small big-integer" computations, for use during run-time as well as compile-time. +Build-Depends: boost + diff --git a/ports/ctbignum/portfile.cmake b/ports/ctbignum/portfile.cmake new file mode 100644 index 000000000..6d297117f --- /dev/null +++ b/ports/ctbignum/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO niekbouman/ctbignum + REF cf3233d8b7dcff59f29a7389204959ee2228a4af + SHA512 8cd5e187836f48165a088a171c87ce438393e66f7362af1b67a253ae6ef0b17c41468e21e0dfe337094796f2b2a2fa5062cc9a9231afc377f187baf1ead1257e + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCTBIGNUM_BuildTests=OFF + -DCTBIGNUM_BuildBenchmarks=OFF +) + +vcpkg_install_cmake() + +# Move CMake files to the right place +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +# Remove empty files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE ${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) + diff --git a/ports/ctemplate/CONTROL b/ports/ctemplate/CONTROL index d5fadf3ea..00abc1f96 100644 --- a/ports/ctemplate/CONTROL +++ b/ports/ctemplate/CONTROL @@ -1,4 +1,4 @@ Source: ctemplate -Version: 2017-06-23-44b7c5-3 +Version: 2017-06-23-44b7c5-4 Homepage: https://github.com/OlafvdSpek/ctemplate Description: C++ CTemplate system diff --git a/ports/ctemplate/portfile.cmake b/ports/ctemplate/portfile.cmake index d22c3afa4..d5d8b3960 100644 --- a/ports/ctemplate/portfile.cmake +++ b/ports/ctemplate/portfile.cmake @@ -14,6 +14,7 @@ vcpkg_find_acquire_program(PYTHON3) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DPYTHON_EXECUTABLE=${PYTHON3} OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) diff --git a/ports/cuda/CONTROL b/ports/cuda/CONTROL index 271869e8b..ba5208c2f 100644 --- a/ports/cuda/CONTROL +++ b/ports/cuda/CONTROL @@ -1,3 +1,3 @@ Source: cuda -Version: 9.0 -Description: A parallel computing platform and programming model \ No newline at end of file +Version: 10.1 +Description: A parallel computing platform and programming model diff --git a/ports/cuda/portfile.cmake b/ports/cuda/portfile.cmake index 7cc1773db..63e3f9cee 100644 --- a/ports/cuda/portfile.cmake +++ b/ports/cuda/portfile.cmake @@ -1,4 +1,4 @@ -# Due to the complexity involved, this package doesn't install CUDA. It instead verifies that CUDA is installed. +# This package doesn't install CUDA. It instead verifies that CUDA is installed. # Other packages can depend on this package to declare a dependency on CUDA. # If this package is installed, we assume that CUDA is properly installed. @@ -9,8 +9,7 @@ find_program(NVCC ENV CUDA_BIN_PATH PATH_SUFFIXES bin bin64 DOC "Toolkit location." - NO_DEFAULT_PATH - ) + NO_DEFAULT_PATH) set(error_code 1) if (NVCC) @@ -20,12 +19,12 @@ if (NVCC) RESULT_VARIABLE error_code) endif() -set(CUDA_REQUIRED_VERSION "V9.0.0") +#note: this port must be kept in sync with CUDNN port: every time one is upgraded, the other must be too +set(CUDA_REQUIRED_VERSION "V10.1.0") if (error_code) - message(FATAL_ERROR "Could not find CUDA. Before continuing, please download and install CUDA (${CUDA_REQUIRED_VERSION} or higher) from:" - "\n https://developer.nvidia.com/cuda-downloads\n" - "\nAlso ensure vcpkg has been rebuilt with the latest version (v0.0.104 or later)") + message(FATAL_ERROR "Could not find CUDA. Before continuing, please download and install CUDA (${CUDA_REQUIRED_VERSION} or higher) from:" + "\n https://developer.nvidia.com/cuda-downloads\n") endif() # Sample output: @@ -36,12 +35,12 @@ endif() string(REGEX MATCH "V([0-9]+)\\.([0-9]+)\\.([0-9]+)" CUDA_VERSION ${NVCC_OUTPUT}) message(STATUS "Found CUDA ${CUDA_VERSION}") set(CUDA_VERSION_MAJOR ${CMAKE_MATCH_1}) -#set(CUDA_VERSION_MINOR ${CMAKE_MATCH_2}) -#set(CUDA_VERSION_PATCH ${CMAKE_MATCH_3}) +set(CUDA_VERSION_MINOR ${CMAKE_MATCH_2}) +set(CUDA_VERSION_PATCH ${CMAKE_MATCH_3}) -if (CUDA_VERSION_MAJOR LESS 9) - message(FATAL_ERROR "CUDA ${CUDA_VERSION} but ${CUDA_REQUIRED_VERSION} is required. Please download and install a more recent version of CUDA from:" +if (CUDA_VERSION_MAJOR LESS 10 AND CUDA_VERSION_MINOR LESS 1) + message(FATAL_ERROR "CUDA ${CUDA_VERSION} found, but ${CUDA_REQUIRED_VERSION} is required. Please download and install a more recent version of CUDA from:" "\n https://developer.nvidia.com/cuda-downloads\n") endif() -SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/cudnn/CONTROL b/ports/cudnn/CONTROL new file mode 100644 index 000000000..cc8019b5b --- /dev/null +++ b/ports/cudnn/CONTROL @@ -0,0 +1,4 @@ +Source: cudnn +Version: 7.6 +Description: NVIDIA's cuDNN deep neural network acceleration library +Build-Depends: cuda diff --git a/ports/cudnn/FindCUDNN.cmake b/ports/cudnn/FindCUDNN.cmake new file mode 100644 index 000000000..1b6916577 --- /dev/null +++ b/ports/cudnn/FindCUDNN.cmake @@ -0,0 +1,90 @@ +# Distributed under the OSI-approved BSD 3-Clause License. + +#.rst: +# FindCUDNN +# -------- +# +# Result Variables +# ^^^^^^^^^^^^^^^^ +# +# This module will set the following variables in your project:: +# +# ``CUDNN_FOUND`` +# True if CUDNN found on the local system +# +# ``CUDNN_INCLUDE_DIRS`` +# Location of CUDNN header files. +# +# ``CUDNN_LIBRARIES`` +# The CUDNN libraries. +# +# ``CuDNN::CuDNN`` +# The CUDNN target +# + +include(FindPackageHandleStandardArgs) + +if(NOT CUDNN_INCLUDE_DIR) + find_path(CUDNN_INCLUDE_DIR cudnn.h + HINTS ${CUDA_HOME} ${CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} + PATH_SUFFIXES cuda/include include) +endif() + +if(NOT CUDNN_LIBRARY) + find_library(CUDNN_LIBRARY cudnn + HINTS ${CUDA_HOME} ${CUDA_TOOLKIT_ROOT_DIR} $ENV{cudnn} $ENV{CUDNN} + PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64) +endif() + +if(EXISTS "${CUDNN_INCLUDE_DIR}/cudnn.h") + file(READ ${CUDNN_INCLUDE_DIR}/cudnn.h CUDNN_HEADER_CONTENTS) + string(REGEX MATCH "define CUDNN_MAJOR * +([0-9]+)" + CUDNN_VERSION_MAJOR "${CUDNN_HEADER_CONTENTS}") + string(REGEX REPLACE "define CUDNN_MAJOR * +([0-9]+)" "\\1" + CUDNN_VERSION_MAJOR "${CUDNN_VERSION_MAJOR}") + string(REGEX MATCH "define CUDNN_MINOR * +([0-9]+)" + CUDNN_VERSION_MINOR "${CUDNN_HEADER_CONTENTS}") + string(REGEX REPLACE "define CUDNN_MINOR * +([0-9]+)" "\\1" + CUDNN_VERSION_MINOR "${CUDNN_VERSION_MINOR}") + string(REGEX MATCH "define CUDNN_PATCHLEVEL * +([0-9]+)" + CUDNN_VERSION_PATCH "${CUDNN_HEADER_CONTENTS}") + string(REGEX REPLACE "define CUDNN_PATCHLEVEL * +([0-9]+)" "\\1" + CUDNN_VERSION_PATCH "${CUDNN_VERSION_PATCH}") + if(NOT CUDNN_VERSION_MAJOR) + set(CUDNN_VERSION "?") + else() + set(CUDNN_VERSION "${CUDNN_VERSION_MAJOR}.${CUDNN_VERSION_MINOR}.${CUDNN_VERSION_PATCH}") + endif() +endif() + +set(CUDNN_INCLUDE_DIRS ${CUDNN_INCLUDE_DIR}) +set(CUDNN_LIBRARIES ${CUDNN_LIBRARY}) +mark_as_advanced(CUDNN_LIBRARY CUDNN_INCLUDE_DIR) + +find_package_handle_standard_args(CUDNN + REQUIRED_VARS CUDNN_INCLUDE_DIR CUDNN_LIBRARY + VERSION_VAR CUDNN_VERSION +) + +if(WIN32) + set(CUDNN_DLL_DIR ${CUDNN_INCLUDE_DIR}) + list(TRANSFORM CUDNN_DLL_DIR APPEND "/../bin") + find_file(CUDNN_LIBRARY_DLL NAMES cudnn64_${CUDNN_VERSION_MAJOR}.dll PATHS ${CUDNN_DLL_DIR}) +endif() + +if( CUDNN_FOUND AND NOT TARGET CuDNN::CuDNN ) + if( EXISTS "${CUDNN_LIBRARY_DLL}" ) + add_library( CuDNN::CuDNN SHARED IMPORTED ) + set_target_properties( CuDNN::CuDNN PROPERTIES + IMPORTED_LOCATION "${CUDNN_LIBRARY_DLL}" + IMPORTED_IMPLIB "${CUDNN_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${CUDNN_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + else() + add_library( CuDNN::CuDNN UNKNOWN IMPORTED ) + set_target_properties( CuDNN::CuDNN PROPERTIES + IMPORTED_LOCATION "${CUDNN_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${CUDNN_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) + endif() +endif() diff --git a/ports/cudnn/portfile.cmake b/ports/cudnn/portfile.cmake new file mode 100644 index 000000000..77154399c --- /dev/null +++ b/ports/cudnn/portfile.cmake @@ -0,0 +1,62 @@ +include(vcpkg_common_functions) + +if(VCPKG_TARGET_IS_UWP OR VCPKG_TARGET_IS_OSX) + message(FATAL_ERROR "This port is only for Windows Desktop or Linux") +endif() + +if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + message(FATAL_ERROR "This port is only for x64 architectures") +endif() + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) + +#note: this port must be kept in sync with CUDA port: every time one is upgraded, the other must be too +set(CUDNN_VERSION "7.6.0") +set(CUDNN_FULL_VERSION "${CUDNN_VERSION}-cuda10.1_0") + +if(VCPKG_TARGET_IS_WINDOWS) + set(CUDNN_DOWNLOAD_LINK "https://anaconda.org/anaconda/cudnn/${CUDNN_VERSION}/download/win-64/cudnn-${CUDNN_FULL_VERSION}.tar.bz2") + set(SHA512_CUDNN "c0218407e7bc2b3c1497f1709dedee345bc619603ec0efa094e392888c0d513d645a1241501f9b406f688defa811578f36b49f456eb533535ecd526702156eea") + set(CUDNN_OS "windows") +elseif(VCPKG_TARGET_IS_LINUX) + set(CUDNN_DOWNLOAD_LINK "https://anaconda.org/anaconda/cudnn/${CUDNN_VERSION}/download/linux-64/cudnn-${CUDNN_FULL_VERSION}.tar.bz2") + set(SHA512_CUDNN "128ccdc0ec24a1133947d7a8eff6cd8edc224134fa5065a11a1a01a99dbaee7d799db1454e0a59e411cf6db244f8c2420c160488a5dd4830addc3578b2011e3d") + set(CUDNN_OS "linux") +endif() + +vcpkg_download_distfile(ARCHIVE + URLS ${CUDNN_DOWNLOAD_LINK} + FILENAME "cudnn-${CUDNN_FULL_VERSION}-${CUDNN_OS}.tar.bz2" + SHA512 ${SHA512_CUDNN} +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) + +string(REPLACE "." ";" VERSION_LIST ${CUDNN_VERSION}) +list(GET VERSION_LIST 0 CUDNN_VERSION_MAJOR) +list(GET VERSION_LIST 1 CUDNN_VERSION_MINOR) +list(GET VERSION_LIST 2 CUDNN_VERSION_PATCH) + +if(VCPKG_TARGET_IS_WINDOWS) + file(INSTALL "${SOURCE_PATH}/Library/include/cudnn.h" DESTINATION ${CURRENT_PACKAGES_DIR}/include) + file(INSTALL "${SOURCE_PATH}/Library/lib/x64/cudnn.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${SOURCE_PATH}/Library/bin/cudnn64_${CUDNN_VERSION_MAJOR}.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL "${SOURCE_PATH}/Library/lib/x64/cudnn.lib" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(INSTALL "${SOURCE_PATH}/Library/bin/cudnn64_${CUDNN_VERSION_MAJOR}.dll" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) +elseif(VCPKG_TARGET_IS_LINUX) + file(INSTALL "${SOURCE_PATH}/include/cudnn.h" DESTINATION ${CURRENT_PACKAGES_DIR}/include) + file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so.${CUDNN_VERSION}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so.${CUDNN_VERSION_MAJOR}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so.${CUDNN_VERSION}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so.${CUDNN_VERSION_MAJOR}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(INSTALL "${SOURCE_PATH}/lib/libcudnn.so" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +endif() + +file(INSTALL "${SOURCE_PATH}/info/LICENSE.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindCUDNN.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/cudnn/vcpkg-cmake-wrapper.cmake b/ports/cudnn/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..bbda1d04d --- /dev/null +++ b/ports/cudnn/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(CUDNN_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT CUDNN_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${CUDNN_PREV_MODULE_PATH}) diff --git a/ports/cunit/CONTROL b/ports/cunit/CONTROL index 930494992..b1c5bd30c 100644 --- a/ports/cunit/CONTROL +++ b/ports/cunit/CONTROL @@ -1,4 +1,4 @@ Source: cunit -Version: 2.1.3-2 +Version: 2.1.3-3 Homepage: https://sourceforge.net/projects/cunit/ Description: CUnit is a lightweight system for writing, administering, and running unit tests in C. It provides C programmers a basic testing functionality with a flexible variety of user interfaces diff --git a/ports/cunit/portfile.cmake b/ports/cunit/portfile.cmake index 7e4a977af..d841d8bc3 100644 --- a/ports/cunit/portfile.cmake +++ b/ports/cunit/portfile.cmake @@ -1,12 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/CUnit-2.1-3) vcpkg_download_distfile(ARCHIVE URLS "http://downloads.sourceforge.net/project/cunit/CUnit/2.1-3/CUnit-2.1-3.tar.bz2" FILENAME "CUnit-2.1-3.tar.bz2" SHA512 547b417109332446dfab8fda17bf4ccd2da841dc93f824dc90a20635bcf1fb80fb2176500d8a0906940f3f3d3e2f77b2d70a71090c9ab84ad9af43f3582bc487 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/curl/0005_remove_imp_suffix.patch b/ports/curl/0005_remove_imp_suffix.patch new file mode 100644 index 000000000..356af2d52 --- /dev/null +++ b/ports/curl/0005_remove_imp_suffix.patch @@ -0,0 +1,13 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index eca9a8a..6f72955 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -97,7 +97,7 @@ endif() + set_target_properties(${LIB_NAME} PROPERTIES PREFIX "") + set_target_properties(${LIB_NAME} PROPERTIES IMPORT_PREFIX "") + +-if(WIN32) ++if(WIN32 AND 0) + if(BUILD_SHARED_LIBS) + # Add "_imp" as a suffix before the extension to avoid conflicting with the statically linked "libcurl.lib" + set_target_properties(${LIB_NAME} PROPERTIES IMPORT_SUFFIX "_imp.lib") diff --git a/ports/curl/0006_fix_tool_depends.patch b/ports/curl/0006_fix_tool_depends.patch new file mode 100644 index 000000000..67fd62d92 --- /dev/null +++ b/ports/curl/0006_fix_tool_depends.patch @@ -0,0 +1,22 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 63e2b94..b376cd1 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -40,6 +40,8 @@ if(MSVC) + list(APPEND CURL_FILES curl.rc) + endif() + ++find_package(ZLIB REQUIRED) ++ + # CURL_FILES comes from Makefile.inc + add_executable( + ${EXE_NAME} +@@ -59,7 +61,7 @@ include_directories( + ) + + #Build curl executable +-target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS}) ++target_link_libraries(${EXE_NAME} libcurl ${CURL_LIBS} ZLIB::ZLIB) + + ################################################################################ + diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 1c607bce3..1022e223b 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,5 +1,5 @@ Source: curl -Version: 7.65.0-1 +Version: 7.66.0-1 Build-Depends: zlib Homepage: https://github.com/curl/curl Description: A library for transferring data with URLs @@ -37,3 +37,13 @@ Description: SSL support (mbedTLS) Feature: sectransp Description: SSL support (sectransp) + +Feature: c-ares +Build-Depends: c-ares +Description: c-ares support + +Feature:sspi +Description: SSPI support + +Feature: brotli +Description: brotli support (brotli) \ No newline at end of file diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 294c7a758..2b6514886 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -3,14 +3,16 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO curl/curl - REF curl-7_65_0 - SHA512 436b6b42654c1db2b3f69df410a7f28401a50faf18e74f328a93585c147541e697664b0e9e7df03239fd76c797c1bb4f435f4c668a6b0ad28bdd67e17f786491 + REF curl-7_66_0 + SHA512 0b02b6117ab69e848219fa59b25e4254934d841fbc3e2a70ccfdcb417ab7fc46a10dd703a25fbe8a2a98a59cbc73ad6b9298f5668a7345f7910010b958de4d21 HEAD_REF master PATCHES 0001_cmake.patch 0002_fix_uwp.patch 0003_fix_libraries.patch 0004_nghttp2_staticlib.patch + 0005_remove_imp_suffix.patch + 0006_fix_tool_depends.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CURL_STATICLIB) @@ -72,6 +74,24 @@ if("tool" IN_LIST FEATURES) set(BUILD_CURL_EXE ON) endif() +# c-ares +set(USE_ARES OFF) +if("c-ares" IN_LIST FEATURES) + set(USE_ARES ON) +endif() + +# SSPI +set(USE_WINDOWS_SSPI OFF) +if("sspi" IN_LIST FEATURES) + set(USE_WINDOWS_SSPI ON) +endif() + +# brotli +set(HAVE_BROTLI OFF) +if("brotli" IN_LIST FEATURES) + set(HAVE_BROTLI ON) +endif() + # UWP targets set(UWP_OPTIONS) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") @@ -100,6 +120,9 @@ vcpkg_configure_cmake( -DCMAKE_USE_SECTRANSP=${USE_SECTRANSP} -DCMAKE_USE_LIBSSH2=${USE_LIBSSH2} -DHTTP_ONLY=${USE_HTTP_ONLY} + -DENABLE_ARES=${USE_ARES} + -DCURL_WINDOWS_SSPI=${USE_WINDOWS_SSPI} + -DCURL_BROTLI=${HAVE_BROTLI} -DCMAKE_DISABLE_FIND_PACKAGE_Perl=ON OPTIONS_RELEASE -DBUILD_CURL_EXE=${BUILD_CURL_EXE} @@ -113,7 +136,7 @@ vcpkg_install_cmake() if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/CURL) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CURL) elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/curl) - vcpkg_fixup_cmake_targets(CONFIG_PATH share/curl) + vcpkg_fixup_cmake_targets() else() message(FATAL_ERROR "Could not locate the curl config files") endif() @@ -140,25 +163,41 @@ if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/curl${EXECUTABLE_SUFFIX}") endif() endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libcurl_imp.lib OR EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/libcurl-d_imp.lib) + # Because vcpkg only ever installs one or the other, there is no need to have the libraries be different names. + # Using the same name improves compatibility, because downstream projects can always rely on "libcurl.lib" + message(FATAL_ERROR "Curl's import library name should be consistent with the static library name.") +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) else() file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/curl-config ${CURRENT_PACKAGES_DIR}/debug/bin/curl-config) + + file(GLOB FILES LIST_DIRECTORIES TRUE ${CURRENT_PACKAGES_DIR}/bin/*) + if (FILES STREQUAL "") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + endif() + + file(GLOB FILES LIST_DIRECTORIES TRUE ${CURRENT_PACKAGES_DIR}/debug/bin/*) + if (FILES STREQUAL "") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() endif() file(READ ${CURRENT_PACKAGES_DIR}/include/curl/curl.h CURL_H) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") string(REPLACE "#ifdef CURL_STATICLIB" "#if 1" CURL_H "${CURL_H}") else() string(REPLACE "#ifdef CURL_STATICLIB" "#if 0" CURL_H "${CURL_H}") endif() file(WRITE ${CURRENT_PACKAGES_DIR}/include/curl/curl.h "${CURL_H}") +file(INSTALL ${CURRENT_PORT_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/curl) + vcpkg_copy_pdbs() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - -vcpkg_test_cmake(PACKAGE_NAME CURL MODULE) +vcpkg_test_cmake(PACKAGE_NAME CURL) diff --git a/ports/curl/usage b/ports/curl/usage deleted file mode 100644 index d43e7112e..000000000 --- a/ports/curl/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package curl is compatible with built-in CMake targets: - - find_package(CURL REQUIRED) - target_link_libraries(main PRIVATE ${CURL_LIBRARIES}) - target_include_directories(main PRIVATE ${CURL_INCLUDE_DIRS}) diff --git a/ports/curl/vcpkg-cmake-wrapper.cmake b/ports/curl/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..c7fbdba91 --- /dev/null +++ b/ports/curl/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,42 @@ +list(REMOVE_ITEM ARGS "NO_MODULE") +list(REMOVE_ITEM ARGS "CONFIG") +list(REMOVE_ITEM ARGS "MODULE") + +_find_package(${ARGS} CONFIG) + +if(TARGET CURL::libcurl) + set(CURL_FOUND TRUE) + + get_target_property(_curl_include_dirs CURL::libcurl INTERFACE_INCLUDE_DIRECTORIES) + get_target_property(_curl_link_libraries CURL::libcurl INTERFACE_LINK_LIBRARIES) + + if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + get_target_property(_curl_location_debug CURL::libcurl IMPORTED_IMPLIB_DEBUG) + get_target_property(_curl_location_release CURL::libcurl IMPORTED_IMPLIB_RELEASE) + endif() + + if(NOT _curl_location_debug AND NOT _curl_location_release) + get_target_property(_curl_location_debug CURL::libcurl IMPORTED_LOCATION_DEBUG) + get_target_property(_curl_location_release CURL::libcurl IMPORTED_LOCATION_RELEASE) + endif() + + if(NOT _curl_link_libraries) + set(_curl_link_libraries) + endif() + + set(CURL_INCLUDE_DIRS "${_curl_include_dirs}") + set(CURL_LIBRARY_DEBUG "${_curl_location_debug}") + set(CURL_LIBRARY_RELEASE "${_curl_location_release}") + + #For builds which rely on CURL_LIBRAR(Y/IES) + include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) + select_library_configurations(CURL) + + set(CURL_LIBRARIES ${CURL_LIBRARY} ${_curl_link_libraries}) + set(CURL_VERSION_STRING "${CURL_VERSION}") + + set(_curl_include_dirs) + set(_curl_link_libraries) + set(_curl_location_debug) + set(_curl_location_release) +endif() diff --git a/ports/curlpp/CONTROL b/ports/curlpp/CONTROL index 1c6c07f32..538d18ed5 100644 --- a/ports/curlpp/CONTROL +++ b/ports/curlpp/CONTROL @@ -1,4 +1,4 @@ Source: curlpp -Version: 2018-06-15 +Version: 2018-06-15-1 Description: C++ wrapper around libcURL Build-Depends: curl diff --git a/ports/curlpp/fix-cmake.patch b/ports/curlpp/fix-cmake.patch index 3930b65c2..a7cd79413 100644 --- a/ports/curlpp/fix-cmake.patch +++ b/ports/curlpp/fix-cmake.patch @@ -29,7 +29,7 @@ index 8b183a0..a801ae8 100644 -SET_TARGET_PROPERTIES(${PROJECT_NAME}_static PROPERTIES PREFIX "lib") -target_link_libraries(${PROJECT_NAME}_static ${CURL_LIBRARIES} ${CONAN_LIBS}) +SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES PREFIX "lib") -+target_link_libraries(${PROJECT_NAME} ${CURL_LIBRARIES} ${CONAN_LIBS}) ++target_link_libraries(${PROJECT_NAME} CURL::libcurl) +endif() + +target_include_directories(${PROJECT_NAME} PUBLIC $) diff --git a/ports/curlpp/portfile.cmake b/ports/curlpp/portfile.cmake index aaa9c51ab..e08a2868e 100644 --- a/ports/curlpp/portfile.cmake +++ b/ports/curlpp/portfile.cmake @@ -29,12 +29,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin ) - - configure_file( - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake - ${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT} - @ONLY - ) endif() # Handle copyright diff --git a/ports/curlpp/vcpkg-cmake-wrapper.cmake b/ports/curlpp/vcpkg-cmake-wrapper.cmake index 0bffdc6b4..a7f88cd72 100644 --- a/ports/curlpp/vcpkg-cmake-wrapper.cmake +++ b/ports/curlpp/vcpkg-cmake-wrapper.cmake @@ -1,35 +1,5 @@ -_find_package(${ARGS}) - -if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") - if(TARGET unofficial::curlpp::curlpp) - # Fix CURL dependencies. See: - # https://github.com/Microsoft/vcpkg/issues/4312 - - set(_libs "") - - find_package(CURL REQUIRED) - - set(ZLIB_ROOT ${CMAKE_PREFIX_PATH}) # Prefer Zlib installed via `vcpkg` - find_package(ZLIB) - unset(ZLIB_ROOT) - - list(APPEND _libs ${CURL_LIBRARIES} ZLIB::ZLIB) - - find_package(OpenSSL QUIET) - if(OPENSSL_FOUND) - list(APPEND _libs OpenSSL::SSL OpenSSL::Crypto) - endif() - - find_package(Threads REQUIRED) - list(APPEND _libs Threads::Threads) - - if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - list(APPEND _libs Ws2_32 Crypt32) - endif() - - set_target_properties( - unofficial::curlpp::curlpp - PROPERTIES INTERFACE_LINK_LIBRARIES "${_libs}" - ) - endif() -endif() +set(FIND_CURLPP_ARGS ${ARGS}) +include(CMakeFindDependencyMacro) +find_dependency(CURL) + +_find_package(${FIND_CURLPP_ARGS}) diff --git a/ports/cute-headers/CONTROL b/ports/cute-headers/CONTROL new file mode 100644 index 000000000..f3b98ff56 --- /dev/null +++ b/ports/cute-headers/CONTROL @@ -0,0 +1,4 @@ +Source: cute-headers +Version: 2019-09-20 +Description: Collection of cross-platform one-file C/C++ libraries with no dependencies +Homepage: https://github.com/RandyGaul/cute_headers diff --git a/ports/cute-headers/portfile.cmake b/ports/cute-headers/portfile.cmake new file mode 100644 index 000000000..703496d94 --- /dev/null +++ b/ports/cute-headers/portfile.cmake @@ -0,0 +1,32 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO RandyGaul/cute_headers + REF 4f765abf4a59660e72f9f49c444371ba373e834b + SHA512 e898520dc668ce9d1f51c748da1c674f9fa0540bac7a0d10a45fde5ebb0ca6573dc5178ce41199a138e3153343b1ff0c589bc7908a8edcd4a7753d5a1440030b + HEAD_REF master +) + +file(GLOB CUTE_HEADERS_FILES ${SOURCE_PATH}/*.h) +file(COPY ${CUTE_HEADERS_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +file(STRINGS "${SOURCE_PATH}/cute_math2d.h" SOURCE_LINES) +list(REVERSE SOURCE_LINES) + +set(line_no 0) +foreach(line ${SOURCE_LINES}) + math(EXPR line_no "${line_no} + 1") + if(line STREQUAL "/*") + break() + endif() +endforeach() + +list(SUBLIST SOURCE_LINES 0 ${line_no} SOURCE_LINES) +list(REVERSE SOURCE_LINES) +list(JOIN SOURCE_LINES "\n" _contents) + +file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "${_contents}") diff --git a/ports/cutelyst2/CONTROL b/ports/cutelyst2/CONTROL index 499e039ce..8d5ce89a0 100644 --- a/ports/cutelyst2/CONTROL +++ b/ports/cutelyst2/CONTROL @@ -1,4 +1,4 @@ Source: cutelyst2 -Version: 2.7.0 +Version: 2.8.0 Description: A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework Build-Depends: qt5-base diff --git a/ports/cutelyst2/fix-static-build.patch b/ports/cutelyst2/fix-static-build.patch new file mode 100644 index 000000000..e40cd1dab --- /dev/null +++ b/ports/cutelyst2/fix-static-build.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9a695fd..0667668 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -129,6 +129,33 @@ add_definitions( + -DQT_DISABLE_DEPRECATED_BEFORE=0x050c00 + ) + ++if (BUILD_WIN_STATIC) ++ add_definitions( ++ -DCutelyst2Qt5_EXPORTS ++ -DActionRenderView_EXPORTS ++ -DActionREST_EXPORTS ++ -DActionRoleACL_EXPORTS ++ -DCutelyst2Qt5Authentication_EXPORTS ++ -DCutelyst2Qt5Session_EXPORTS ++ -DCutelyst2Qt5StaticSimple_EXPORTS ++ -DCutelyst2Qt5StaticCompressed_EXPORTS ++ -DCutelyst2Qt5UtilsPagination_EXPORTS ++ -DCutelyst2Qt5StatusMessage_EXPORTS ++ -DCutelyst2Qt5Memcached_EXPORTS ++ -DCutelyst2Qt5MemcachedSessionStore_EXPORTS ++ -DCutelyst2Qt5CSRFProtection_EXPORTS ++ -DCutelyst2Qt5UtilsSql_EXPORTS ++ -DCutelyst2Qt5UtilsValidator_EXPORTS ++ -DCutelyst2Qt5UtilsLangSelect_EXPORTS ++ -DCutelyst2Qt5ViewClearSilver_EXPORTS ++ -DCutelyst2Qt5ViewEmail_EXPORTS ++ -DCutelyst2Qt5ViewGrantlee_EXPORTS ++ -DCutelyst2Qt5ViewJson_EXPORTS ++ -DCutelyst2Qt5Wsgi_EXPORTS ++ -DCutelyst2Qt5UserAgent_EXPORTS ++ ) ++endif() ++ + set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/ports/cutelyst2/portfile.cmake b/ports/cutelyst2/portfile.cmake index 755cc3ed5..320059cd9 100644 --- a/ports/cutelyst2/portfile.cmake +++ b/ports/cutelyst2/portfile.cmake @@ -3,16 +3,23 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cutelyst/cutelyst - REF v2.7.0 - SHA512 78848d6d4e79149d9e9ae07211875dd212eb046bcdde7cde0bd781ed89d006247b21bc7a37c4e028d0982bb0f69654d469eb37b857dc0d585e9adc79ecd6291d + REF c020f115b392bb8e22bed1e1669724102a31ab0c #v2.8.0 + SHA512 79b440f6dc0a78bc6b3ea83b496a4a9fd7bb016ea2492393c53d82af2c304291ac62a11af96bb05b1fc6422bf2012bec501bb8eb4bd770c54ad166d119891bc1 HEAD_REF master + PATCHES fix-static-build.patch ) +set(BUILD_WIN_STATIC OFF) +if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(BUILD_WIN_STATIC ON) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DBUILD_TESTS:BOOL=OFF + -DBUILD_WIN_STATIC=${BUILD_WIN_STATIC} ) vcpkg_install_cmake() diff --git a/ports/cxxopts/CONTROL b/ports/cxxopts/CONTROL index 5d1a92d91..53da6cd4e 100644 --- a/ports/cxxopts/CONTROL +++ b/ports/cxxopts/CONTROL @@ -1,4 +1,4 @@ Source: cxxopts -Version: 2.1.2 +Version: 2.2.0 Homepage: https://github.com/jarro2783/cxxopts Description: This is a lightweight C++ option parser library, supporting the standard GNU style syntax for options diff --git a/ports/cxxopts/fix-uwp-error.patch b/ports/cxxopts/fix-uwp-error.patch new file mode 100644 index 000000000..da1d45595 --- /dev/null +++ b/ports/cxxopts/fix-uwp-error.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 440490b..0ceb003 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -54,6 +54,8 @@ endif() + + add_library(cxxopts INTERFACE) + ++add_definitions(-D_CRT_SECURE_NO_WARNINGS) ++ + # optionally, enable unicode support using the ICU library + set(CXXOPTS_USE_UNICODE_HELP FALSE CACHE BOOL "Use ICU Unicode library") + if(CXXOPTS_USE_UNICODE_HELP) diff --git a/ports/cxxopts/portfile.cmake b/ports/cxxopts/portfile.cmake index d3b4fec56..782b2f21e 100644 --- a/ports/cxxopts/portfile.cmake +++ b/ports/cxxopts/portfile.cmake @@ -2,9 +2,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jarro2783/cxxopts - REF v2.1.2 - SHA512 7ee3725995d4d0f78b75d1d87f10290f20529ca4aa430eb8dd1c59d98c6e99c54b54fc545926b59f499d02ae4f75f9064b3b5ebbab3f74031d3638e7a2378440 + REF v2.2.0 + SHA512 9f5182b3a86b3d47d1ce5e1e222ab596fce59d3b2dcc0ab2c3802338d5e0f3e6556f2a5ff2accb32cae7e2db41ac5a361c93bf0256f9e44c316eaa4b47c19efa HEAD_REF master + PATCHES + fix-uwp-error.patch ) vcpkg_configure_cmake( @@ -12,11 +14,12 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DCXXOPTS_BUILD_EXAMPLES=OFF + -DCXXOPTS_BUILD_TESTS=OFF ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cxxopts TARGET_PATH share/cxxopts) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/cxxopts) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) diff --git a/ports/czmq/CONTROL b/ports/czmq/CONTROL new file mode 100644 index 000000000..4d68f15b1 --- /dev/null +++ b/ports/czmq/CONTROL @@ -0,0 +1,27 @@ +Source: czmq +Version: 2019-06-10-3 +Build-Depends: zeromq +Description: High-level C binding for ZeroMQ +Homepage: https://github.com/zeromq/czmq + +Feature: tool +Description: Build and install czmq tools (zmakecert) + +Feature: draft +Description: Build and install draft APIs + +Feature: curl +Description: Build with libcurl +Build-Depends: curl + +Feature: lz4 +Description: Build with lz4 +Build-Depends: lz4 + +Feature: httpd +Description: Build with HTTP server support (libmicrohttpd) +Build-Depends: libmicrohttpd + +Feature: uuid +Description: Build with libuuid +Build-Depends: libuuid (!windows&!uwp&!osx) diff --git a/ports/czmq/Findlibcurl.cmake b/ports/czmq/Findlibcurl.cmake new file mode 100644 index 000000000..6c943e2d7 --- /dev/null +++ b/ports/czmq/Findlibcurl.cmake @@ -0,0 +1,51 @@ +find_path( + LIBCURL_INCLUDE_DIRS + NAMES curl/curl.h +) + +find_library( + LIBCURL_LIBRARY_DEBUG + NAMES libcurl-d_imp libcurl-d curl-d curl +) + +find_library( + LIBCURL_LIBRARY_RELEASE + NAMES libcurl_imp libcurl curl +) + +include(SelectLibraryConfigurations) +select_library_configurations(LIBCURL) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + LIBCURL + REQUIRED_VARS LIBCURL_LIBRARIES LIBCURL_INCLUDE_DIRS +) + +# CURL dependencies +# https://github.com/Microsoft/vcpkg/issues/4312 +# https://github.com/microsoft/vcpkg/commit/ee325d14276e7bd7961e94e58293b02d6e9e92da +# https://github.com/microsoft/vcpkg/pull/6698 +if (LIBCURL_FOUND) + find_package(OpenSSL QUIET) + find_package(ZLIB QUIET) + + if (OPENSSL_FOUND) + list(APPEND LIBCURL_LIBRARIES + OpenSSL::SSL + OpenSSL::Crypto + ) + endif () + + if (ZLIB_FOUND) + list(APPEND LIBCURL_LIBRARIES + ZLIB::ZLIB + ) + endif () + + if (WIN32) + list(APPEND LIBCURL_LIBRARIES + Crypt32 + ) + endif () +endif () diff --git a/ports/czmq/Findlibmicrohttpd.cmake b/ports/czmq/Findlibmicrohttpd.cmake new file mode 100644 index 000000000..476cb2add --- /dev/null +++ b/ports/czmq/Findlibmicrohttpd.cmake @@ -0,0 +1,28 @@ +find_path(LIBMICROHTTPD_INCLUDE_DIRS NAMES microhttpd.h) + +get_filename_component(_prefix_path ${LIBMICROHTTPD_INCLUDE_DIRS} PATH) + +find_library( + LIBMICROHTTPD_LIBRARY_DEBUG + NAMES libmicrohttpd microhttpd + PATHS ${_prefix_path}/debug/lib + NO_DEFAULT_PATH +) + +find_library( + LIBMICROHTTPD_LIBRARY_RELEASE + NAMES libmicrohttpd microhttpd + PATHS ${_prefix_path}/lib + NO_DEFAULT_PATH +) + +unset(_prefix_path) + +include(SelectLibraryConfigurations) +select_library_configurations(LIBMICROHTTPD) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + LIBMICROHTTPD + REQUIRED_VARS LIBMICROHTTPD_LIBRARIES LIBMICROHTTPD_INCLUDE_DIRS +) diff --git a/ports/czmq/Findlibzmq.cmake b/ports/czmq/Findlibzmq.cmake new file mode 100644 index 000000000..706f063c3 --- /dev/null +++ b/ports/czmq/Findlibzmq.cmake @@ -0,0 +1,10 @@ +find_package(ZeroMQ CONFIG REQUIRED) + +set(LIBZMQ_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR}) +set(LIBZMQ_LIBRARIES libzmq libzmq-static) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + LIBZMQ + REQUIRED_VARS LIBZMQ_LIBRARIES LIBZMQ_INCLUDE_DIRS +) diff --git a/ports/czmq/Findlz4.cmake b/ports/czmq/Findlz4.cmake new file mode 100644 index 000000000..8ce17c5bd --- /dev/null +++ b/ports/czmq/Findlz4.cmake @@ -0,0 +1,13 @@ +find_path(LZ4_INCLUDE_DIRS NAMES lz4.h) + +find_library(LZ4_LIBRARY_DEBUG NAMES lz4d) +find_library(LZ4_LIBRARY_RELEASE NAMES lz4) + +include(SelectLibraryConfigurations) +select_library_configurations(LZ4) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + LZ4 + REQUIRED_VARS LZ4_LIBRARIES LZ4_INCLUDE_DIRS +) diff --git a/ports/czmq/Finduuid.cmake b/ports/czmq/Finduuid.cmake new file mode 100644 index 000000000..ba89aab56 --- /dev/null +++ b/ports/czmq/Finduuid.cmake @@ -0,0 +1,31 @@ +find_path( + UUID_INCLUDE_DIRS + NAMES uuid/uuid.h +) + +get_filename_component(_prefix_path ${UUID_INCLUDE_DIRS} PATH) + +find_library( + UUID_LIBRARY_DEBUG + NAMES uuid + PATHS ${_prefix_path}/debug/lib + NO_DEFAULT_PATH +) + +find_library( + UUID_LIBRARY_RELEASE + NAMES uuid + PATHS ${_prefix_path}/lib + NO_DEFAULT_PATH +) + +unset(_prefix_path) + +include(SelectLibraryConfigurations) +select_library_configurations(UUID) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + UUID + REQUIRED_VARS UUID_LIBRARIES UUID_INCLUDE_DIRS +) diff --git a/ports/czmq/fix-dependencies.patch b/ports/czmq/fix-dependencies.patch new file mode 100644 index 000000000..bb57247dc --- /dev/null +++ b/ports/czmq/fix-dependencies.patch @@ -0,0 +1,19 @@ +diff --git a/builds/cmake/Config.cmake.in b/builds/cmake/Config.cmake.in +index 9c15f36a..e1475cd6 100644 +--- a/builds/cmake/Config.cmake.in ++++ b/builds/cmake/Config.cmake.in +@@ -1,4 +1,14 @@ + @PACKAGE_INIT@ + ++include(CMakeFindDependencyMacro) ++ ++find_dependency(ZeroMQ) ++ ++if ("@CZMQ_WITH_LIBCURL@" AND "@LIBCURL_FOUND@") ++ find_dependency(OpenSSL) ++ find_dependency(ZLIB) ++endif () ++ ++ + include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") + check_required_components("@PROJECT_NAME@") diff --git a/ports/czmq/portfile.cmake b/ports/czmq/portfile.cmake new file mode 100644 index 000000000..2545feea5 --- /dev/null +++ b/ports/czmq/portfile.cmake @@ -0,0 +1,101 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zeromq/czmq + REF 7e29cf95305551daad197e32423d9cff5f9b6893 + SHA512 7d79494c904f5276c9d1e4a193a63882dc622a6db8998b9719de4aec8b223b3a8b3c92ea02be81f39afc12c1a883b310fd3662ea27ed736b0b9c7092b4843a18 + HEAD_REF master + PATCHES + fix-dependencies.patch +) + +foreach(_cmake_module + Findlibcurl.cmake + Findlibmicrohttpd.cmake + Findlibzmq.cmake + Findlz4.cmake + Finduuid.cmake +) + configure_file( + ${CMAKE_CURRENT_LIST_DIR}/${_cmake_module} + ${SOURCE_PATH}/${_cmake_module} + COPYONLY + ) +endforeach() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + draft ENABLE_DRAFTS + tool BUILD_TOOLS + curl CZMQ_WITH_LIBCURL + httpd CZMQ_WITH_LIBMICROHTTPD + lz4 CZMQ_WITH_LZ4 + uuid CZMQ_WITH_UUID +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DCZMQ_BUILD_SHARED=${BUILD_SHARED} + -DCZMQ_BUILD_STATIC=${BUILD_STATIC} + -DBUILD_TESTING=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/share/cmake/${PORT}) + vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/${PORT}) +endif() + +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) + +if(CMAKE_HOST_WIN32) + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") +endif() + +if ("tool" IN_LIST FEATURES) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/zmakecert${EXECUTABLE_SUFFIX} + DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/czmq_library.h + "if defined CZMQ_STATIC" + "if 1 //if defined CZMQ_STATIC" + ) +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/bin + ${CURRENT_PACKAGES_DIR}/debug/bin) +else() + file(REMOVE + ${CURRENT_PACKAGES_DIR}/debug/bin/zmakecert${EXECUTABLE_SUFFIX} + ${CURRENT_PACKAGES_DIR}/bin/zmakecert${EXECUTABLE_SUFFIX}) +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/czmq/vcpkg-cmake-wrapper.cmake b/ports/czmq/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..4535e889b --- /dev/null +++ b/ports/czmq/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) + +if(TARGET czmq AND NOT TARGET czmq-static) + add_library(czmq-static INTERFACE IMPORTED) + set_target_properties(czmq-static PROPERTIES INTERFACE_LINK_LIBRARIES czmq) +elseif(TARGET czmq-static AND NOT TARGET czmq) + add_library(czmq INTERFACE IMPORTED) + set_target_properties(czmq PROPERTIES INTERFACE_LINK_LIBRARIES czmq-static) +endif() diff --git a/ports/darknet/CONTROL b/ports/darknet/CONTROL index 88b4cdb7b..3665fa069 100644 --- a/ports/darknet/CONTROL +++ b/ports/darknet/CONTROL @@ -1,20 +1,38 @@ Source: darknet -Version: 0.2.5-1 +Version: 0.2.5.1-1 Description: Darknet is an open source neural network framework written in C and CUDA. You only look once (YOLO) is a state-of-the-art, real-time object detection system, best example of darknet functionalities. Build-Depends: pthreads (windows), stb -Default-Features: weights - -Feature: opencv -Build-Depends: opencv[ffmpeg] -Description: Build darknet with support for OpenCV Feature: cuda Build-Depends: cuda Description: Build darknet with support for CUDA -Feature: weights -Description: Download common weights from official websites, using vcpkg proxy-enabled functions +Feature: cudnn +Build-Depends: darknet[cuda], cudnn +Description: Build darknet with support for CUDNN + +Feature: opencv-base +Build-Depends: opencv[ffmpeg] +Description: Build darknet with support for OpenCV Feature: opencv-cuda -Build-Depends: opencv[ffmpeg],opencv[cuda] +Build-Depends: opencv[ffmpeg], opencv[cuda] Description: Build darknet with support for a CUDA-enabled OpenCV + +Feature: opencv3-base +Build-Depends: opencv3[ffmpeg] +Description: Build darknet with support for OpenCV3 + +Feature: opencv3-cuda +Build-Depends: opencv3[ffmpeg], opencv3[cuda] +Description: Build darknet with support for a CUDA-enabled OpenCV3 + +Feature: weights +Description: Download pre-built weights for test + +Feature: weights-train +Description: Download pre-built weights for training + +Feature: full +Build-Depends: darknet[opencv-cuda], darknet[cudnn], darknet[weights], darknet[weights-train] +Description: Build darknet fully-featured diff --git a/ports/darknet/fix_cmakelists.patch b/ports/darknet/fix_cmakelists.patch deleted file mode 100644 index 68451de45..000000000 --- a/ports/darknet/fix_cmakelists.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 585eb0e..7515d98 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -28,8 +28,7 @@ enable_language(CXX) - set(CMAKE_CXX_STANDARD 11) - set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH}) - --set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Install prefix" FORCE) --set(INSTALL_BIN_DIR "${CMAKE_CURRENT_LIST_DIR}" CACHE PATH "Path where exe and dll will be installed") -+set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") - set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") - set(INSTALL_INCLUDE_DIR "include" CACHE PATH "Path where headers will be installed") - set(INSTALL_CMAKE_DIR "share/darknet" CACHE PATH "Path where cmake configs will be installed") -@@ -88,7 +87,6 @@ if(USE_INTEGRATED_LIBS) - set(PThreads_windows_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/pthreads CACHE PATH "Path where pthreads for windows can be located") - add_definitions(-D_TIMESPEC_DEFINED) - endif() --set(Stb_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/stb CACHE PATH "Path where Stb image library can be located") - - set(CMAKE_DEBUG_POSTFIX d) - add_definitions(-DUSE_CMAKE_LIBS) diff --git a/ports/darknet/portfile.cmake b/ports/darknet/portfile.cmake index 986bdb03d..efbf26cde 100644 --- a/ports/darknet/portfile.cmake +++ b/ports/darknet/portfile.cmake @@ -11,26 +11,47 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AlexeyAB/darknet - REF 8c970498a296ed129ffef7d872ccc25d42d1afda - SHA512 70dda24656469b8a61a645533ac227b644d365c7d5f4dbc93077a3f46563dd45ae88c563fb1c8f8d02a2021760aba24bea35d81f0f307975d051d0f9bfe92265 + REF 35346d2ef80dc46b9eb4fba57da1737a49f4743e + SHA512 a905a5e42c4ecfdf2b8276fc565b82e30c97e249c0530b403d149a8e6276bb3852a956869c21efbe092799f3743cf529a577fb03275cfcfcc8322b92e9de0ff6 HEAD_REF master - PATCHES - fix_cmakelists.patch ) +# enable CUDA inside DARKNET set(ENABLE_CUDA OFF) if("cuda" IN_LIST FEATURES) set(ENABLE_CUDA ON) endif() set(ENABLE_OPENCV OFF) -if("opencv" IN_LIST FEATURES) +# enable OPENCV (basic version) inside DARKNET +if("opencv-base" IN_LIST FEATURES) + set(ENABLE_OPENCV ON) +endif() +if("opencv3-base" IN_LIST FEATURES) set(ENABLE_OPENCV ON) endif() +# enable OPENCV (with its own CUDA feature enabled) inside DARKNET +# (note: this does not mean that DARKNET itself will have CUDA support since by design it is independent, to have it you must require both opencv-cuda and cuda features!) +# DARKNET will be automatically able to distinguish an OpenCV that is built with or without CUDA support. if("opencv-cuda" IN_LIST FEATURES) set(ENABLE_OPENCV ON) - set(ENABLE_CUDA ON) +endif() +if("opencv3-cuda" IN_LIST FEATURES) + set(ENABLE_OPENCV ON) +endif() + +# enable CUDNN inside DARKNET (which depends on the "cuda" feature by design) +set(ENABLE_CUDNN OFF) +if("cudnn" IN_LIST FEATURES) + set(ENABLE_CUDNN ON) +endif() + +if ("cuda" IN_LIST FEATURES) + if (NOT VCPKG_CMAKE_SYSTEM_NAME AND NOT ENV{CUDACXX}) + #CMake looks for nvcc only in PATH and CUDACXX env vars for the Ninja generator. Since we filter path on vcpkg and CUDACXX env var is not set by CUDA installer on Windows, CMake cannot find CUDA when using Ninja generator, so we need to manually enlight it if necessary (https://gitlab.kitware.com/cmake/cmake/issues/19173). Otherwise we could just disable Ninja and use MSBuild, but unfortunately CUDA installer does not integrate with some distributions of MSBuild (like the ones inside Build Tools), making CUDA unavailable otherwise in those cases, which we want to avoid + set(ENV{CUDACXX} "$ENV{CUDA_PATH}/bin/nvcc.exe") + endif() endif() if("weights" IN_LIST FEATURES) @@ -56,19 +77,39 @@ if("weights" IN_LIST FEATURES) ) endif() -#make sure we don't use any integrated pre-built library +if("weights-train" IN_LIST FEATURES) + vcpkg_download_distfile(IMAGENET_CONV_WEIGHTS_V3 + URLS "https://pjreddie.com/media/files/darknet53.conv.74" + FILENAME "darknet-cache/darknet53.conv.74" + SHA512 8983e1c129e2d6e8e3da0cc0781ecb7a07813830ef5a87c24b53100df6a5f23db6c6e6a402aec78025a93fe060b75d1958f1b8f7439a04b54a3f19c81e2ae99b + ) + vcpkg_download_distfile(IMAGENET_CONV_WEIGHTS_V2 + URLS "https://pjreddie.com/media/files/darknet19_448.conv.23" + FILENAME "darknet-cache/darknet19_448.conv.23" + SHA512 8016f5b7ddc15c5d7dad231592f5351eea65f608ebdb204f545034dde904e11962f693080dfeb5a4510e7b71bdda151a9121ba0f8a243018d680f01b1efdbd31 + ) +endif() + +#make sure we don't use any integrated pre-built library nor any unnecessary CMake module file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty) +file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindPThreads_windows.cmake) +file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindCUDNN.cmake) +file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindStb.cmake) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE + PREFER_NINJA OPTIONS + -DINSTALL_BIN_DIR:STRING=bin + -DINSTALL_LIB_DIR:STRING=lib -DENABLE_CUDA=${ENABLE_CUDA} + -DENABLE_CUDNN=${ENABLE_CUDNN} -DENABLE_OPENCV=${ENABLE_OPENCV} ) vcpkg_install_cmake() -#somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it if(CMAKE_HOST_WIN32) set(EXECUTABLE_SUFFIX ".exe") else() @@ -80,15 +121,15 @@ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/uselib${EXECUTABLE_SUFFIX}) if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/bin/uselib_track${EXECUTABLE_SUFFIX}) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/uselib_track${EXECUTABLE_SUFFIX}) endif() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/darknet/) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/darknet${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/darknet/darknet${EXECUTABLE_SUFFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uselib${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/darknet/uselib${EXECUTABLE_SUFFIX}) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/darknet${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/darknet${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uselib${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/uselib${EXECUTABLE_SUFFIX}) if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/uselib_track${EXECUTABLE_SUFFIX}) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uselib_track${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/darknet/uselib_track${EXECUTABLE_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uselib_track${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/uselib_track${EXECUTABLE_SUFFIX}) endif() -file(COPY ${SOURCE_PATH}/cfg DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet) -file(COPY ${SOURCE_PATH}/data DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/darknet) +file(COPY ${SOURCE_PATH}/cfg DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(COPY ${SOURCE_PATH}/data DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) @@ -96,18 +137,19 @@ endif() vcpkg_fixup_cmake_targets() -file(COPY ${SOURCE_PATH}/cmake/Modules/FindCUDNN.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/darknet) -file(COPY ${SOURCE_PATH}/cmake/Modules/FindPThreads_windows.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/darknet) -file(COPY ${SOURCE_PATH}/cmake/Modules/FindStb.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/darknet) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/darknet RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) if("weights" IN_LIST FEATURES) - file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet) - file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet) - file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet) - file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/darknet) + file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov3-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/yolov2-tiny.weights DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +endif() + +if("weights-train" IN_LIST FEATURES) + file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/darknet53.conv.74 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + file(COPY ${VCPKG_ROOT_DIR}/downloads/darknet-cache/darknet19_448.conv.23 DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) endif() diff --git a/ports/date/0001-fix-uwp.patch b/ports/date/0001-fix-uwp.patch new file mode 100644 index 000000000..b414722cd --- /dev/null +++ b/ports/date/0001-fix-uwp.patch @@ -0,0 +1,13 @@ +diff --git i/include/date/date.h w/include/date/date.h +index fce6200..6a77ad4 100644 +--- i/include/date/date.h ++++ w/include/date/date.h +@@ -82,7 +82,7 @@ + #ifdef _MSC_VER + # pragma warning(push) + // warning C4127: conditional expression is constant +-# pragma warning(disable : 4127) ++# pragma warning(disable : 4127 4996) + #endif + + namespace date 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 + $ + ) + # 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=$,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/CMakeLists.txt b/ports/date/CMakeLists.txt deleted file mode 100644 index 292c1758a..000000000 --- a/ports/date/CMakeLists.txt +++ /dev/null @@ -1,44 +0,0 @@ -cmake_minimum_required(VERSION 3.5.1) -project(tz CXX) - -set(CMAKE_CXX_STANDARD 11) -if(MSVC) - add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) -endif() - -option(HAS_REMOTE_API "" 0) - -add_definitions(-DNOMINMAX -DHAS_REMOTE_API=${HAS_REMOTE_API}) - -add_library(date INTERFACE) -target_include_directories(date INTERFACE $) - -add_library(tz src/tz.cpp) -target_include_directories(tz PUBLIC $ $) - -if(HAS_REMOTE_API) - find_package(CURL REQUIRED) - target_link_libraries(tz PUBLIC $) - target_include_directories(tz PUBLIC $) -endif() - -if(BUILD_SHARED_LIBS) - target_compile_definitions(tz PRIVATE -DDATE_BUILD_DLL) -endif() - -install( - TARGETS tz date - EXPORT tz - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/unofficial-date-config.cmake" "include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-date-targets.cmake)\n") - -install(EXPORT tz FILE unofficial-date-targets.cmake NAMESPACE unofficial::date:: DESTINATION share/unofficial-date) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-date-config.cmake DESTINATION share/unofficial-date) - -if(NOT DISABLE_INSTALL_HEADERS) - install(FILES include/date/date.h include/date/tz.h include/date/julian.h include/date/iso_week.h include/date/islamic.h DESTINATION include/date) -endif() diff --git a/ports/date/CONTROL b/ports/date/CONTROL index 93f4b37cd..7aaa8a823 100644 --- a/ports/date/CONTROL +++ b/ports/date/CONTROL @@ -1,7 +1,7 @@ Source: date -Version: ed0368f +Version: 2019-11-08 Homepage: https://github.com/HowardHinnant/date -Description: A date and time library based on the C++11/14/17 header +Description: A date and time library based on the C++17 header Feature: remote-api Description: support automatic download of tz data diff --git a/ports/date/portfile.cmake b/ports/date/portfile.cmake index c82db3330..28c723a5f 100644 --- a/ports/date/portfile.cmake +++ b/ports/date/portfile.cmake @@ -10,37 +10,41 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HowardHinnant/date - REF ed0368fc75427ef05cefdf19a39b60d7bed2f039 - SHA512 5f6a0d7e094fd1ab7b6a1ea9a96e467138220e9207e2eda68f71b68d6c56759e7470fabdfa920d92876e9c9b466e56ea8102333f407a46bb4cba43a2dfeb5e3a + REF 3e376be2e9b4d32c946bd83c22601e4b7a1ce421 + SHA512 9dad181f8544bfcff8c42200552b6673e537c53b34fbad11663d6435d4e5fd5a3ac6cabbb76312481c9784b237151d9ccd161bb1b8c54c563fa75073896f3cff HEAD_REF master + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/0001-fix-uwp.patch" + "${CMAKE_CURRENT_LIST_DIR}/0002-fix-cmake-3.14.patch" ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -set(HAS_REMOTE_API 0) +set(DATE_USE_SYSTEM_TZ_DB 1) if("remote-api" IN_LIST FEATURES) - set(HAS_REMOTE_API 1) + set(DATE_USE_SYSTEM_TZ_DB 0) endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DHAS_REMOTE_API=${HAS_REMOTE_API} - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON + OPTIONS + -DBUILD_TZ_LIB=ON + -DUSE_SYSTEM_TZ_DB=${DATE_USE_SYSTEM_TZ_DB} ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-date TARGET_PATH share/unofficial-date) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/date) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/date TARGET_PATH share/date) +endif() vcpkg_copy_pdbs() -set(HEADER "${CURRENT_PACKAGES_DIR}/include/date/tz.h") -file(READ "${HEADER}" _contents) -string(REPLACE "#define TZ_H" "#define TZ_H\n#undef HAS_REMOTE_API\n#define HAS_REMOTE_API ${HAS_REMOTE_API}" _contents "${_contents}") -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - string(REPLACE "ifdef DATE_BUILD_DLL" "if 1" _contents "${_contents}") -endif() -file(WRITE "${HEADER}" "${_contents}") - +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 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/date/usage b/ports/date/usage new file mode 100644 index 000000000..82f42f7f2 --- /dev/null +++ b/ports/date/usage @@ -0,0 +1,4 @@ +The package date provides CMake targets: + + find_package(date CONFIG REQUIRED) + target_link_libraries(main PRIVATE date::date date::tz) diff --git a/ports/date/vcpkg-cmake-wrapper.cmake b/ports/date/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..317c49b8c --- /dev/null +++ b/ports/date/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,11 @@ +_find_package(${ARGS}) + +if(NOT TARGET unofficial::date::date AND TARGET date::date) + add_library(unofficial::date::date INTERFACE IMPORTED) + target_link_libraries(unofficial::date::date INTERFACE date::date) +endif() + +if(NOT TARGET unofficial::date::tz AND TARGET date::tz) + add_library(unofficial::date::tz INTERFACE IMPORTED) + target_link_libraries(unofficial::date::tz INTERFACE date::tz) +endif() diff --git a/ports/dbg-macro/CONTROL b/ports/dbg-macro/CONTROL new file mode 100644 index 000000000..80a2e3165 --- /dev/null +++ b/ports/dbg-macro/CONTROL @@ -0,0 +1,4 @@ +Source: dbg-macro +Version: 2019-07-11 +Description: A dbg(...) macro for C++ +Homepage: https://github.com/sharkdp/dbg-macro diff --git a/ports/dbg-macro/portfile.cmake b/ports/dbg-macro/portfile.cmake new file mode 100644 index 000000000..3aee7268d --- /dev/null +++ b/ports/dbg-macro/portfile.cmake @@ -0,0 +1,16 @@ +# single header file library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sharkdp/dbg-macro + REF 4409d8428baf700873bcfee42e63bbca6700b97e + SHA512 f9f936707631bee112566a24c92cbf171e54362099df689253ab38d0489400f65c284df81749376f18cb3ebcefea3cc18844554016798c2542ec73dc2afcc931 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/dbg.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/dbow2/CONTROL b/ports/dbow2/CONTROL new file mode 100644 index 000000000..4b5c4c1e0 --- /dev/null +++ b/ports/dbow2/CONTROL @@ -0,0 +1,5 @@ +Source: dbow2 +Version: 2019-08-05 +Homepage: https://github.com/dorian3d/DBoW2 +Description: DBoW2 is an improved version of the DBow library, an open source C++ library for indexing and converting images into a bag-of-word representation. +Build-Depends: opencv diff --git a/ports/dbow2/portfile.cmake b/ports/dbow2/portfile.cmake new file mode 100644 index 000000000..c569e89ac --- /dev/null +++ b/ports/dbow2/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dorian3d/DBoW2 + REF 4d08e9fc751fac9063874d85a43c1ccdcda8b401 + SHA512 0a4ad8506c731395cb23d96d0e8afe4131576af88468723b9496cdbc95a031089ecdeb61dbb7205cb3a7599acb60a39887fa9852e7d7a690b8152a1bd26d9bd0 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DBUILD_Demo=OFF +) + +vcpkg_install_cmake() + +# Move CMake files to the right place +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/DBoW2) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/DBoW2/DBoW2Config.cmake) + +# 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) + diff --git a/ports/dbow3/CONTROL b/ports/dbow3/CONTROL new file mode 100644 index 000000000..831ea9f0f --- /dev/null +++ b/ports/dbow3/CONTROL @@ -0,0 +1,4 @@ +Source: dbow3 +Version: 1.0.0 +Description: DBoW3 is an improved version of the DBow2 library, an open source C++ library for indexing and converting images into a bag-of-word representation. +Build-Depends: opencv3[contrib] \ No newline at end of file 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 +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=" ) +-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 ++ $ ++ $ ++) ++ ++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 + #include ++#include + #include "exports.h" + #if _WIN32 + #include +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 + #include + +-#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 +-#include +-#include +-#include +-#include +-#include +- +-#include "DescManip.h" +- +-using namespace std; +- +-namespace DBoW3 { +- +-// -------------------------------------------------------------------------- +- +-void DescManip::meanValue(const std::vector &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 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(); +- +- 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(); +- +- 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(); // a & b are actually CV_8U +- pb = b.ptr(); +- +- 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(0); +- const float *b_ptr=b.ptr(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 <(); +- for(int i = 0; i < a.cols; ++i, ++p) +- ss << (int)*p << " "; +- }else{ +- +- const float *p = a.ptr(); +- 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 data;data.reserve(100); +- while( ss>>val) data.push_back(val); +- //copy to a +- a.create(1,data.size(),CV_8UC1); +- memcpy(a.ptr(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(); +- int n; +- for(int i = 0; i < a.cols; ++i, ++p) +- if ( ss >> n) *p = (unsigned char)n; +- } +- else{ +- float *p = a.ptr(); +- for(int i = 0; i < a.cols; ++i, ++p) +- if ( !(ss >> *p))cerr<<"Error reading. Unexpected EOF. DescManip::fromString"< &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(); +- +- for(size_t i = 0; i < N; ++i) +- { +- const int C = descriptors[i].cols; +- const unsigned char *desc = descriptors[i].ptr(); +- +- 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(i),descriptors[i].ptr(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(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(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 ++#include ++#include ++#include ++#include ++#include ++ ++#include "DBow3/DescManip.h" ++ ++using namespace std; ++ ++namespace DBoW3 { ++ ++// -------------------------------------------------------------------------- ++ ++void DescManip::meanValue(const std::vector &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 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(); ++ ++ 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(); ++ ++ 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(); // a & b are actually CV_8U ++ pb = b.ptr(); ++ ++ 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(0); ++ const float *b_ptr=b.ptr(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 <(); ++ for(int i = 0; i < a.cols; ++i, ++p) ++ ss << (int)*p << " "; ++ }else{ ++ ++ const float *p = a.ptr(); ++ 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 data;data.reserve(100); ++ while( ss>>val) data.push_back(val); ++ //copy to a ++ a.create(1,data.size(),CV_8UC1); ++ memcpy(a.ptr(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(); ++ int n; ++ for(int i = 0; i < a.cols; ++i, ++p) ++ if ( ss >> n) *p = (unsigned char)n; ++ } ++ else{ ++ float *p = a.ptr(); ++ for(int i = 0; i < a.cols; ++i, ++p) ++ if ( !(ss >> *p))cerr<<"Error reading. Unexpected EOF. DescManip::fromString"< &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(); ++ ++ for(size_t i = 0; i < N; ++i) ++ { ++ const int C = descriptors[i].cols; ++ const unsigned char *desc = descriptors[i].ptr(); ++ ++ 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(i),descriptors[i].ptr(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(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(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 + #include + #include +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 + #include +-#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 +-#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 +-#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 ++ $<$:-msse4.1;-march=native> ++ $<$:/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 +-#include +- +-// DBoW3 +-#include "DBoW3.h" +- +-// OpenCV +-#include +-#include +-#include +-#ifdef USE_CONTRIB +-#include +-#include +-#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 readImagePaths(int argc,char **argv,int start){ +- vector paths; +- for(int i=start;i loadFeatures( std::vector path_to_images,string descriptor="") throw (std::exception){ +- //select detector +- cv::Ptr 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 features; +- +- +- cout << "Extracting features..." << endl; +- for(size_t i = 0; i < path_to_images.size(); ++i) +- { +- vector keypoints; +- cv::Mat descriptors; +- cout<<"reading image: "<detectAndCompute(image, cv::Mat(), keypoints, descriptors); +- features.push_back(descriptors); +- cout<<"done detecting features"< &features){ +- +- //test it is not created +- std::ifstream ifile(filename); +- if (ifile.is_open()){cerr<<"ERROR::: Output File "<(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)"< features= loadFeatures(images,descriptor); +- +- //save features to file +- saveToFile(argv[2],features); +- +- }catch(std::exception &ex){ +- cerr< ++#include ++ ++// DBoW3 ++#include "DBoW3.h" ++ ++// OpenCV ++#include ++#include ++#include ++#ifdef USE_CONTRIB ++#include ++#include ++#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 readImagePaths(int argc,char **argv,int start){ ++ vector paths; ++ for(int i=start;i loadFeatures( std::vector path_to_images,string descriptor="") throw (std::exception){ ++ //select detector ++ cv::Ptr 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 features; ++ ++ ++ cout << "Extracting features..." << endl; ++ for(size_t i = 0; i < path_to_images.size(); ++i) ++ { ++ vector keypoints; ++ cv::Mat descriptors; ++ cout<<"reading image: "<detectAndCompute(image, cv::Mat(), keypoints, descriptors); ++ features.push_back(descriptors); ++ cout<<"done detecting features"< &features){ ++ ++ //test it is not created ++ std::ifstream ifile(filename); ++ if (ifile.is_open()){cerr<<"ERROR::: Output File "<(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)"< features= loadFeatures(images,descriptor); ++ ++ //save features to file ++ saveToFile(argv[2],features); ++ ++ }catch(std::exception &ex){ ++ cerr< +-#include +- +-// DBoW3 +-#include "DBoW3.h" +- +-// OpenCV +-#include +-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 readFeaturesFromFile(string filename){ +-vector features; +- //test it is not created +- std::ifstream ifile(filename); +- if (!ifile.is_open()){cerr<<"could not open input file"<(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]"< ++#include ++ ++// DBoW3 ++#include "DBoW3.h" ++ ++// OpenCV ++#include ++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 readFeaturesFromFile(string filename){ ++vector features; ++ //test it is not created ++ std::ifstream ifile(filename); ++ if (!ifile.is_open()){cerr<<"could not open input file"<(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]"< +-#include +- +-// DBoW3 +-#include "DBoW3.h" +- +-// OpenCV +-#include +-#include +-#include +-#ifdef USE_CONTRIB +-#include +-#include +-#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 readImagePaths(int argc,char **argv,int start){ +- vector paths; +- for(int i=start;i loadFeatures( std::vector path_to_images,string descriptor="") throw (std::exception){ +- //select detector +- cv::Ptr 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 features; +- +- +- cout << "Extracting features..." << endl; +- for(size_t i = 0; i < path_to_images.size(); ++i) +- { +- vector keypoints; +- cv::Mat descriptors; +- cout<<"reading image: "<detectAndCompute(image, cv::Mat(), keypoints, descriptors); +- features.push_back(descriptors); +- cout<<"done detecting features"< &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 &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)"< features= loadFeatures(images,descriptor); +- testVocCreation(features); +- +- +- testDatabase(features); +- +- }catch(std::exception &ex){ +- cerr< ++#include ++ ++// DBoW3 ++#include "DBoW3.h" ++ ++// OpenCV ++#include ++#include ++#include ++#ifdef USE_CONTRIB ++#include ++#include ++#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 readImagePaths(int argc,char **argv,int start){ ++ vector paths; ++ for(int i=start;i loadFeatures( std::vector path_to_images,string descriptor="") throw (std::exception){ ++ //select detector ++ cv::Ptr 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 features; ++ ++ ++ cout << "Extracting features..." << endl; ++ for(size_t i = 0; i < path_to_images.size(); ++i) ++ { ++ vector keypoints; ++ cv::Mat descriptors; ++ cout<<"reading image: "<detectAndCompute(image, cv::Mat(), keypoints, descriptors); ++ features.push_back(descriptors); ++ cout<<"done detecting features"< &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 &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)"< features= loadFeatures(images,descriptor); ++ testVocCreation(features); ++ ++ ++ testDatabase(features); ++ ++ }catch(std::exception &ex){ ++ cerr< +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 new file mode 100644 index 000000000..d867dd5cb --- /dev/null +++ b/ports/dbow3/portfile.cmake @@ -0,0 +1,34 @@ +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 rmsalinas/DBow3 + REF master + SHA512 16e6789b77e8b42428d156ae5efa667861fa8ef2e85b54e3dd1d28e6f8dc7d119e973234c77cac82e775080fb9c859640d04159659a7d63941325e13e40b2814 + PATCHES + fix_cmake.patch +) + + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DUSE_SIMD=ON + -DUSE_OPENCV_CONTRIB=ON + -DBUILD_EXAMPLES=OFF + -DBUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake/DBow3) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL + ${SOURCE_PATH}/LICENSE.txt + DESTINATION ${CURRENT_PACKAGES_DIR}/share/DBow3 RENAME copyright) +vcpkg_copy_pdbs() \ No newline at end of file diff --git a/ports/dcmtk/CONTROL b/ports/dcmtk/CONTROL index ad087563d..3f512ab0e 100644 --- a/ports/dcmtk/CONTROL +++ b/ports/dcmtk/CONTROL @@ -1,3 +1,3 @@ Source: dcmtk -Version: 3.6.4 +Version: 3.6.4-2 Description: This DICOM ToolKit (DCMTK) package consists of source code, documentation and installation instructions for a set of software libraries and applications implementing part of the DICOM/MEDICOM Standard. diff --git a/ports/dcmtk/portfile.cmake b/ports/dcmtk/portfile.cmake index cdf9b73e6..9039a65db 100644 --- a/ports/dcmtk/portfile.cmake +++ b/ports/dcmtk/portfile.cmake @@ -28,7 +28,9 @@ vcpkg_configure_cmake( -DDCMTK_ENABLE_PRIVATE_TAGS=ON -DBUILD_APPS=OFF -DDCMTK_ENABLE_CXX11=ON - -DCMAKE_DEBUG_POSTFIX="d" + -DDCMTK_WIDE_CHAR_FILE_IO_FUNCTIONS=ON + -DDCMTK_WIDE_CHAR_MAIN_FUNCTION=ON + -DCMAKE_DEBUG_POSTFIX=d OPTIONS_DEBUG -DINSTALL_HEADERS=OFF -DINSTALL_OTHER=OFF diff --git a/ports/detours/portfile.cmake b/ports/detours/portfile.cmake index 038f8637c..fbb8136da 100644 --- a/ports/detours/portfile.cmake +++ b/ports/detours/portfile.cmake @@ -5,7 +5,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO Microsoft/Detours + REPO microsoft/Detours REF v4.0.1 SHA512 0a9c21b8222329add2de190d2e94d99195dfa55de5a914b75d380ffe0fb787b12e016d0723ca821001af0168fd1643ffd2455298bf3de5fdc155b3393a3ccc87 HEAD_REF master @@ -25,4 +25,4 @@ vcpkg_execute_required_process( 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 ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/dimcli/CONTROL b/ports/dimcli/CONTROL index e98f11565..4f6049616 100644 --- a/ports/dimcli/CONTROL +++ b/ports/dimcli/CONTROL @@ -1,4 +1,4 @@ Source: dimcli -Version: 4.1.0 +Version: 5.0.1 Homepage: https://github.com/gknowles/dimcli Description: C++ command line parser toolkit diff --git a/ports/dimcli/fix-NameBoolean.patch b/ports/dimcli/fix-NameBoolean.patch new file mode 100644 index 000000000..a0d9afb56 --- /dev/null +++ b/ports/dimcli/fix-NameBoolean.patch @@ -0,0 +1,63 @@ +diff --git a/libs/dimcli/cli.cpp b/libs/dimcli/cli.cpp +index 45dac3b..6129884 100644 +--- a/libs/dimcli/cli.cpp ++++ b/libs/dimcli/cli.cpp +@@ -392,8 +392,8 @@ GroupConfig const & Cli::Config::findGrpOrDie(Cli const & cli) { + ***/ + + //=========================================================================== +-Cli::OptBase::OptBase(string const & names, bool boolean) +- : m_bool{boolean} ++Cli::OptBase::OptBase(string const & names, bool in_boolean) ++ : m_bool{in_boolean} + , m_names{names} + { + // set m_fromName and assert if names is malformed +@@ -526,12 +526,12 @@ static bool includeName( + OptName const & name, + NameListType type, + Cli::OptBase const & opt, +- bool boolean, ++ bool in_boolean, + bool inverted + ) { + if (name.opt != &opt) + return false; +- if (boolean) { ++ if (in_boolean) { + if (type == kNameEnable) + return !name.invert; + if (type == kNameDisable) +diff --git a/libs/dimcli/cli.h b/libs/dimcli/cli.h +index d4941dc..fa8d526 100644 +--- a/libs/dimcli/cli.h ++++ b/libs/dimcli/cli.h +@@ -777,7 +777,7 @@ public: + }; + + public: +- OptBase(std::string const & keys, bool boolean); ++ OptBase(std::string const & keys, bool in_boolean); + virtual ~OptBase() {} + + //----------------------------------------------------------------------- +@@ -1062,7 +1062,7 @@ std::string Cli::OptBase::toValueDesc() const { + template + class Cli::OptShim : public OptBase { + public: +- OptShim(std::string const & keys, bool boolean); ++ OptShim(std::string const & keys, bool in_boolean); + OptShim(OptShim const &) = delete; + OptShim & operator=(OptShim const &) = delete; + +@@ -1249,8 +1249,8 @@ protected: + + //=========================================================================== + template +-Cli::OptShim::OptShim(std::string const & keys, bool boolean) +- : OptBase(keys, boolean) ++Cli::OptShim::OptShim(std::string const & keys, bool in_boolean) ++ : OptBase(keys, in_boolean) + { + if (std::is_arithmetic::value) + this->imbue(std::locale("")); diff --git a/ports/dimcli/portfile.cmake b/ports/dimcli/portfile.cmake index 6362aa987..938d313a9 100644 --- a/ports/dimcli/portfile.cmake +++ b/ports/dimcli/portfile.cmake @@ -3,9 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gknowles/dimcli - REF v4.1.0 - SHA512 5de010b5abfda9e6996bba8c621e03ae0cf81dbc2f69cd859e2ebf7b1706c451f7f8e142299784646d89ca3c3e5803e8711215680b8bdb8eb663158bff3b4f3d + REF v5.0.1 + SHA512 ff005777230f9ded5e407f11ebed7d70db2a18ec60da8c80d36644b96c9d090d2f211e3c36b7d296a446c1b54d61c359a51082034b94e2398cc2305316f33d0f HEAD_REF master + PATCHES + fix-NameBoolean.patch ) set(staticCrt OFF) if(VCPKG_CRT_LINKAGE STREQUAL "static") diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL index 700756964..63b94376d 100644 --- a/ports/directxmesh/CONTROL +++ b/ports/directxmesh/CONTROL @@ -1,4 +1,4 @@ Source: directxmesh -Version: apr2019 -Homepage: https://github.com/Microsoft/DirectXMesh +Version: aug2019 +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 53cd44b0c..9e95f3291 100644 --- a/ports/directxmesh/portfile.cmake +++ b/ports/directxmesh/portfile.cmake @@ -3,14 +3,14 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "DirectXMesh only supports dynamic CRT linkage") + message(FATAL_ERROR "DirectXMesh only supports dynamic CRT linkage") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXMesh - REF apr2019 - SHA512 a9e0dbf6483633a1727592de7e2fa733de993daff848d9ec2241ce54b67c7d24ed0419058f2f6ce256021dcf7e16d178b62ed9b8c7a1756504ab044f8740be1d + REF aug2019 + SHA512 7b5a02783444a89813c6736e3d6eadf66515bdd10055b9b6b1bc25b30ee0ec315ec9936d3a9bd52b2b8df78b3b5072465963c8123c04f77a1838d5cddc4eeb21 HEAD_REF master ) @@ -20,8 +20,24 @@ ELSE() SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) ENDIF() +if (VCPKG_PLATFORM_TOOLSET STREQUAL "v140") + set(VS_VERSION "2015") +elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v141") + set(VS_VERSION "2017") +elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v142") + set(VS_VERSION "2019") +else() + message(FATAL_ERROR "Unsupported platform toolset.") +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(SLN_NAME "Windows10_${VS_VERSION}") +else() + set(SLN_NAME "Desktop_${VS_VERSION}") +endif() + vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/DirectXMesh_Desktop_2017.sln + PROJECT_PATH ${SOURCE_PATH}/DirectXMesh_${SLN_NAME}.sln PLATFORM ${BUILD_ARCH} ) @@ -30,18 +46,22 @@ file(INSTALL ${SOURCE_PATH}/DirectXMesh/DirectXMesh.inl DESTINATION ${CURRENT_PACKAGES_DIR}/include ) + file(INSTALL - ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXMesh.lib + ${SOURCE_PATH}/DirectXMesh/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXMesh.lib + ${SOURCE_PATH}/DirectXMesh/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXMesh.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) file(INSTALL - ${SOURCE_PATH}/DirectXMesh/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXMesh.lib + ${SOURCE_PATH}/DirectXMesh/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXMesh.lib + ${SOURCE_PATH}/DirectXMesh/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXMesh.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools) -file(INSTALL - ${SOURCE_PATH}/Meshconvert/Bin/Desktop_2017/${BUILD_ARCH}/Release/Meshconvert.exe - DESTINATION ${TOOL_PATH}) +if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxmesh) + file(MAKE_DIRECTORY ${TOOL_PATH}) + file(INSTALL + ${SOURCE_PATH}/Meshconvert/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/Meshconvert.exe + DESTINATION ${TOOL_PATH}) +endif() -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/directxmesh) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/directxmesh/LICENSE ${CURRENT_PACKAGES_DIR}/share/directxmesh/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL index 69b6d2ee2..949dca929 100644 --- a/ports/directxtex/CONTROL +++ b/ports/directxtex/CONTROL @@ -1,4 +1,4 @@ Source: directxtex -Version: apr2019 -Homepage: https://github.com/Microsoft/DirectXTex +Version: oct2019 +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 94f9b69cb..d1267b420 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 apr2019 - SHA512 3e50c5beb25416a0720614321bb2b712b5677b50989909ca703801080023f8f8ad168bbe4e5dc522500325989a8f6982026d7dc5029ee28d9dcfe35efdd002de + REF oct2019 + SHA512 e9768d029033a049552a19b9f047a9dbae48982d10bc8fe0427ed7e72c89340a3b04d7ae321fe87475f209536ce37b5aa7d8150a376093787f43fe85a0955edf HEAD_REF master ) @@ -20,8 +20,24 @@ ELSE() SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) ENDIF() +if (VCPKG_PLATFORM_TOOLSET STREQUAL "v140") + set(VS_VERSION "2015") +elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v141") + set(VS_VERSION "2017") +elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v142") + set(VS_VERSION "2019") +else() + message(FATAL_ERROR "Unsupported platform toolset.") +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(SLN_NAME "Windows10_${VS_VERSION}") +else() + set(SLN_NAME "Desktop_${VS_VERSION}") +endif() + vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/DirectXTex_Desktop_2017.sln + PROJECT_PATH ${SOURCE_PATH}/DirectXTex_${SLN_NAME}.sln PLATFORM ${BUILD_ARCH} ) @@ -31,24 +47,26 @@ file(INSTALL DESTINATION ${CURRENT_PACKAGES_DIR}/include ) file(INSTALL - ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXTex.lib + ${SOURCE_PATH}/DirectXTex/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTex.lib + ${SOURCE_PATH}/DirectXTex/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTex.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) file(INSTALL - ${SOURCE_PATH}/DirectXTex/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXTex.lib + ${SOURCE_PATH}/DirectXTex/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTex.lib + ${SOURCE_PATH}/DirectXTex/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTex.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools) -file(MAKE_DIRECTORY ${TOOL_PATH}) -file(INSTALL - ${SOURCE_PATH}/Texdiag/Bin/Desktop_2017/${BUILD_ARCH}/Release/texdiag.exe - DESTINATION ${TOOL_PATH}) -file(INSTALL - ${SOURCE_PATH}/Texconv/Bin/Desktop_2017/${BUILD_ARCH}/Release/Texconv.exe - DESTINATION ${TOOL_PATH}) -file(INSTALL - ${SOURCE_PATH}/Texassemble/Bin/Desktop_2017/${BUILD_ARCH}/Release/Texassemble.exe - DESTINATION ${TOOL_PATH}) +if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxtex) + file(MAKE_DIRECTORY ${TOOL_PATH}) + file(INSTALL + ${SOURCE_PATH}/Texdiag/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/texdiag.exe + DESTINATION ${TOOL_PATH}) + file(INSTALL + ${SOURCE_PATH}/Texconv/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/Texconv.exe + DESTINATION ${TOOL_PATH}) + file(INSTALL + ${SOURCE_PATH}/Texassemble/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/Texassemble.exe + DESTINATION ${TOOL_PATH}) +endif() -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/DirectXTex) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/DirectXTex/LICENSE ${CURRENT_PACKAGES_DIR}/share/DirectXTex/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL index 469788934..3ce4f1670 100644 --- a/ports/directxtk/CONTROL +++ b/ports/directxtk/CONTROL @@ -1,4 +1,4 @@ Source: directxtk -Version: apr2019 -Homepage: https://github.com/Microsoft/DirectXTK +Version: oct2019 +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 245c8a4af..1e489ed81 100644 --- a/ports/directxtk/portfile.cmake +++ b/ports/directxtk/portfile.cmake @@ -3,14 +3,14 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "DirectXTK only supports dynamic CRT linkage") + message(FATAL_ERROR "DirectXTK only supports dynamic CRT linkage") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK - REF apr2019 - SHA512 811ed222c1650d34a8475e44719cca8972a85d96f9ccb10548e1501eb9d28fd8685de90832b517cdcbf21ae8c9160dea69000e8dca06fab745a15a7acc14ba98 + REF oct2019 + SHA512 d14cc3836986d4082edd34c39fda1d8c5ba4c8bfdc8640e61a3eac61e19c1eae6c7bc9ab57a353b7dc5cc04e084b71df43174aecfbd41975ebe97f0f8e7f4a86 HEAD_REF master ) @@ -20,34 +20,51 @@ ELSE() SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) ENDIF() +if (VCPKG_PLATFORM_TOOLSET STREQUAL "v140") + set(VS_VERSION "2015") +elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v141") + set(VS_VERSION "2017") +elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v142") + set(VS_VERSION "2019") +else() + message(FATAL_ERROR "Unsupported platform toolset.") +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(SLN_NAME "Windows10_${VS_VERSION}") +else() + set(SLN_NAME "Desktop_${VS_VERSION}") +endif() + vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/DirectXTK_Desktop_2017.sln + PROJECT_PATH ${SOURCE_PATH}/DirectXTK_${SLN_NAME}.sln PLATFORM ${BUILD_ARCH} ) file(INSTALL - ${SOURCE_PATH}/Bin/Desktop_2017/${BUILD_ARCH}/Release/DirectXTK.lib + ${SOURCE_PATH}/Inc/ + DESTINATION ${CURRENT_PACKAGES_DIR}/include/DirectXTK +) + +file(INSTALL + ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTK.lib + ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTK.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/lib) file(INSTALL - ${SOURCE_PATH}/Bin/Desktop_2017/${BUILD_ARCH}/Debug/DirectXTK.lib + ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTK.lib + ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTK.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) -set(DXTK_TOOL_PATH ${CURRENT_PACKAGES_DIR}/tools/directxtk) -file(MAKE_DIRECTORY ${DXTK_TOOL_PATH}) +if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + 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 + DESTINATION ${DXTK_TOOL_PATH}) +endif() -file(INSTALL - ${SOURCE_PATH}/MakeSpriteFont/bin/Release/MakeSpriteFont.exe - DESTINATION ${DXTK_TOOL_PATH}) - -file(INSTALL - ${SOURCE_PATH}/XWBTool/Bin/Desktop_2017/${BUILD_ARCH}/Release/XWBTool.exe - DESTINATION ${DXTK_TOOL_PATH}) - -file(INSTALL - ${SOURCE_PATH}/Inc/ - DESTINATION ${CURRENT_PACKAGES_DIR}/include/DirectXTK -) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/directxtk RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/directxtk12/CONTROL b/ports/directxtk12/CONTROL index 466acece6..10075c2be 100644 --- a/ports/directxtk12/CONTROL +++ b/ports/directxtk12/CONTROL @@ -1,4 +1,4 @@ Source: directxtk12 -Version: dec2016-1 -Homepage: https://github.com/Microsoft/DirectXTK12 +Version: oct2019 +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 d51a82b81..7ce28b84f 100644 --- a/ports/directxtk12/portfile.cmake +++ b/ports/directxtk12/portfile.cmake @@ -3,19 +3,15 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") - message(FATAL_ERROR "DirectXTk12 only supports dynamic CRT linkage") + message(FATAL_ERROR "DirectXTK12 only supports dynamic CRT linkage") endif() -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DirectXTK12-dec2016) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/Microsoft/DirectXTK12/archive/dec2016.tar.gz" - FILENAME "DirectXTK12-dec2016.tar.gz" - SHA512 7c98fbf1d7ef96807a38d396a87dacdc60fdcd7e461210d246cc424789c4c5c5fb1390db958c1bd1f77da8af756a9eae36813e5da6bbb0ea1432ff4004f1d010 -) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/DirectXTK_Desktop_2015_Win10.sln +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Microsoft/DirectXTK12 + REF oct2019 + SHA512 10ad63b35574900b8f68f7f836b1d3056d3e862ce2ff0707809fafd97c64bc9fd1ff402a2c4c237d7aee75a876762425c9d13bc2bd242ed4eb9c4d76ba3fc685 + HEAD_REF master ) IF (TRIPLET_SYSTEM_ARCH MATCHES "x86") @@ -24,17 +20,39 @@ ELSE() SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH}) ENDIF() -file(INSTALL - ${SOURCE_PATH}/Bin/Desktop_2015_Win10/${BUILD_ARCH}/Release/DirectXTK12.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib) -file(INSTALL - ${SOURCE_PATH}/Bin/Desktop_2015_Win10/${BUILD_ARCH}/Debug/DirectXTK12.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +if (VCPKG_PLATFORM_TOOLSET STREQUAL "v140") + set(VS_VERSION "2015") +elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v141") + set(VS_VERSION "2017") +elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v142") + set(VS_VERSION "2019") +else() + message(FATAL_ERROR "Unsupported platform toolset.") +endif() + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(SLN_NAME "Windows10_${VS_VERSION}") +else() + set(SLN_NAME "Desktop_${VS_VERSION}_Win10") +endif() + +vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/DirectXTK_${SLN_NAME}.sln +) file(INSTALL ${SOURCE_PATH}/Inc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/DirectXTK12 ) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/directxtk12 RENAME copyright) +file(INSTALL + ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTK12.lib + ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Release/DirectXTK12.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + +file(INSTALL + ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTK12.lib + ${SOURCE_PATH}/Bin/${SLN_NAME}/${BUILD_ARCH}/Debug/DirectXTK12.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/discount/CONTROL b/ports/discount/CONTROL new file mode 100644 index 000000000..51c8b5e90 --- /dev/null +++ b/ports/discount/CONTROL @@ -0,0 +1,4 @@ +Source: discount +Version: 2.2.6 +Homepage: https://github.com/Orc/discount +Description: DISCOUNT is a implementation of John Gruber & Aaron Swartz's Markdown markup language. diff --git a/ports/discount/blocktags b/ports/discount/blocktags new file mode 100644 index 000000000..dfd3957c3 --- /dev/null +++ b/ports/discount/blocktags @@ -0,0 +1,34 @@ +static struct kw blocktags[] = { + { "P", 1, 0 }, + { "DL", 2, 0 }, + { "H1", 2, 0 }, + { "H2", 2, 0 }, + { "H3", 2, 0 }, + { "H4", 2, 0 }, + { "H5", 2, 0 }, + { "H6", 2, 0 }, + { "HR", 2, 1 }, + { "OL", 2, 0 }, + { "UL", 2, 0 }, + { "BDO", 3, 0 }, + { "DFN", 3, 0 }, + { "DIV", 3, 0 }, + { "MAP", 3, 0 }, + { "PRE", 3, 0 }, + { "WBR", 3, 0 }, + { "XMP", 3, 0 }, + { "FORM", 4, 0 }, + { "NOBR", 4, 0 }, + { "STYLE", 5, 0 }, + { "TABLE", 5, 0 }, + { "CENTER", 6, 0 }, + { "IFRAME", 6, 0 }, + { "OBJECT", 6, 0 }, + { "SCRIPT", 6, 0 }, + { "ADDRESS", 7, 0 }, + { "LISTING", 7, 0 }, + { "PLAINTEXT", 9, 0 }, + { "BLOCKQUOTE", 10, 0 }, +}; + +#define NR_blocktags 30 diff --git a/ports/discount/cmake.patch b/ports/discount/cmake.patch new file mode 100644 index 000000000..8a2278cf7 --- /dev/null +++ b/ports/discount/cmake.patch @@ -0,0 +1,27 @@ +diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt +index 3895fdb..a183836 100644 +--- a/cmake/CMakeLists.txt ++++ b/cmake/CMakeLists.txt +@@ -182,7 +182,10 @@ if(${PROJECT_NAME}_MAKE_INSTALL) + target_include_directories(libmarkdown INTERFACE + $ + ) +- set(_TARGETS libmarkdown markdown) ++ set(_TARGETS libmarkdown) ++ if(NOT ${PROJECT_NAME}_ONLY_LIBRARY) ++ set(_TARGETS ${_TARGETS} markdown) ++ endif() + if(${PROJECT_NAME}_INSTALL_SAMPLES) + list(APPEND _TARGETS mkd2html makepage) + endif() +diff --git a/cmake/config.h.in b/cmake/config.h.in +index e08220d..e630934 100644 +--- a/cmake/config.h.in ++++ b/cmake/config.h.in +@@ -74,4 +74,6 @@ + + #define TABSTOP @TABSTOP@ + ++#define DESTRUCTOR ++ + #endif /* _CONFIG_D */ diff --git a/ports/discount/disable-deprecated-warnings.patch b/ports/discount/disable-deprecated-warnings.patch new file mode 100644 index 000000000..e8f4f0fb7 --- /dev/null +++ b/ports/discount/disable-deprecated-warnings.patch @@ -0,0 +1,16 @@ +diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt +index 11fa675..34cc9ed 100644 +--- a/cmake/CMakeLists.txt ++++ b/cmake/CMakeLists.txt +@@ -20,6 +20,11 @@ set(${PROJECT_NAME}_INSTALL_SAMPLES OFF CACHE BOOL + set(${PROJECT_NAME}_ONLY_LIBRARY OFF CACHE BOOL + "Set to ON to only build markdown library (default is OFF)") + ++# MSVC deprecated warnings (C4996,strdup, ...) ++if(MSVC) ++ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS) ++endif() ++ + # Check headers + include(CheckIncludeFile) + check_include_file(libgen.h HAVE_LIBGEN_H) diff --git a/ports/discount/generate-blocktags-command.patch b/ports/discount/generate-blocktags-command.patch new file mode 100644 index 000000000..13d63a25d --- /dev/null +++ b/ports/discount/generate-blocktags-command.patch @@ -0,0 +1,29 @@ +diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt +index a183836..e9deef5 100644 +--- a/cmake/CMakeLists.txt ++++ b/cmake/CMakeLists.txt +@@ -113,12 +115,19 @@ configure_file("${_ROOT}/mkdio.h.in" + + include_directories("${_ROOT}") + +-add_executable(mktags +- "${_ROOT}/mktags.c") + +-add_custom_command(OUTPUT "${_ROOT}/blocktags" +- COMMAND mktags > blocktags +- WORKING_DIRECTORY "${_ROOT}") ++if(NOT GENERATE_BLOCKTAGS) ++ message(STATUS "Not generating blocktags") ++else() ++ message(STATUS "Using mktags to generate blocktags") ++ ++ add_executable(mktags ++ "${_ROOT}/mktags.c") ++ ++ add_custom_command(OUTPUT "${_ROOT}/blocktags" ++ COMMAND mktags > blocktags ++ WORKING_DIRECTORY "${_ROOT}") ++endif() + + add_library(libmarkdown + "${_ROOT}/mkdio.c" diff --git a/ports/discount/portfile.cmake b/ports/discount/portfile.cmake new file mode 100644 index 000000000..6a40d5105 --- /dev/null +++ b/ports/discount/portfile.cmake @@ -0,0 +1,45 @@ +include(vcpkg_common_functions) + +# No dynamic link for MSVC +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Orc/discount + REF v2.2.6 + SHA512 4c5956dea78aacd3a105ddac13f1671d811a5b2b04990cdf8485c36190c8872c4b1b9432a7236f669c34b07564ecd0096632dced54d67de9eaf4f23641417ecc + HEAD_REF master + PATCHES + cmake.patch + generate-blocktags-command.patch + disable-deprecated-warnings.patch +) + +set(GENERATE_BLOCKTAGS ON) +if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" OR VCPKG_TARGET_ARCHITECTURE MATCHES "arm64" OR VCPKG_CMAKE_SYSTEM_NAME MATCHES "WindowsStore") + set(GENERATE_BLOCKTAGS OFF) +endif() + +if(NOT GENERATE_BLOCKTAGS) + configure_file("${CURRENT_PORT_DIR}/blocktags" "${SOURCE_PATH}/blocktags" COPYONLY) + message(STATUS "Copied blocktags") +endif() + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}/cmake" + PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DDISCOUNT_ONLY_LIBRARY=ON + -DGENERATE_BLOCKTAGS=${GENERATE_BLOCKTAGS} +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/discount) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/discount" RENAME copyright) + diff --git a/ports/distorm/CONTROL b/ports/distorm/CONTROL index 21dc43923..620dfa981 100644 --- a/ports/distorm/CONTROL +++ b/ports/distorm/CONTROL @@ -1,3 +1,3 @@ Source: distorm -Version: 2018-08-26-16e6f435-1 +Version: 3.4.1 Description: Powerful Disassembler Library For x86/AMD64 \ No newline at end of file diff --git a/ports/distorm/portfile.cmake b/ports/distorm/portfile.cmake index 9afec4e49..b1066ccd8 100644 --- a/ports/distorm/portfile.cmake +++ b/ports/distorm/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gdabah/distorm - REF 16e6f43509616234b8478187c00569a65f15287c - SHA512 2ecbacaaf07a07cf725adf25732807476fdaa1d3a44994a90c70ddbd2ec3db4c75c88b28188f8a48a0fb7b4fe79ae4f7b717cf72b3a0154232310ed56677a9a3 + REF v3.4.1 + SHA512 0e9f8b62bc190ef7d516f1902b6003adef9c7d5d4a5f985fb0bdfc5d4838b2805e2b8836b02d5eccdb3401e814417de615dec675aed9e606c93122ca8a0d2083 HEAD_REF master ) diff --git a/ports/dlfcn-win32/CONTROL b/ports/dlfcn-win32/CONTROL index 24af3631f..69968ae54 100644 --- a/ports/dlfcn-win32/CONTROL +++ b/ports/dlfcn-win32/CONTROL @@ -1,4 +1,4 @@ Source: dlfcn-win32 -Version: 1.1.1-1 +Version: 1.1.1-4 Homepage: https://github.com/dlfcn-win32/dlfcn-win32 Description: dlfcn-win32 is an implementation of dlfcn for Windows. diff --git a/ports/dlfcn-win32/portfile.cmake b/ports/dlfcn-win32/portfile.cmake index 77fd87b12..e2376ab63 100644 --- a/ports/dlfcn-win32/portfile.cmake +++ b/ports/dlfcn-win32/portfile.cmake @@ -1,27 +1,17 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) set(SOURCE_VERSION 1.1.1) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/dlfcn-win32-${SOURCE_VERSION}) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/dlfcn-win32/dlfcn-win32/archive/v${SOURCE_VERSION}.zip" - FILENAME "dlfcn-win32-v${SOURCE_VERSION}.zip" - SHA512 581043784d8c1b1b43c88c0da302f79d70e1d33e95977a355d849b8f8c45194b55fdc28e36a3f3ed192eca8fee6b00cb8bf1d1d1fc08b94d53be6f73bea6e09a + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dlfcn-win32/dlfcn-win32 + REF v${SOURCE_VERSION} + SHA512 557729511546f574487f8c7de437c53bcf5ae11640349c338ead9965a4ac0f937de647839b63c821003be54dca5bcbf28f2899d2348acf7dfef31e487da1cba1 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() @@ -35,6 +25,5 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/dlfcn-win32) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/dlfcn-win32/COPYING ${CURRENT_PACKAGES_DIR}/share/dlfcn-win32/copyright) +file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/dmlc/CONTROL b/ports/dmlc/CONTROL new file mode 100644 index 000000000..24d639ce3 --- /dev/null +++ b/ports/dmlc/CONTROL @@ -0,0 +1,8 @@ +Source: dmlc +Version: 2019-08-12-1 +Homepage: https://github.com/dmlc/dmlc-core +Description: DMLC-Core is the backbone library to support all DMLC projects, offers the bricks to build efficient and scalable distributed machine learning libraries. +Default-Features: openmp + +Feature: openmp +Description: Build with openmp \ No newline at end of file diff --git a/ports/dmlc/portfile.cmake b/ports/dmlc/portfile.cmake new file mode 100644 index 000000000..903e89882 --- /dev/null +++ b/ports/dmlc/portfile.cmake @@ -0,0 +1,44 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} currently doesn't supports UWP.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dmlc/dmlc-core + REF d3fd7c5e9b9c280d3081ada3fb62705547c00bf1 + SHA512 6887d52ddd00949866c27bea3c860abb8a7ecf61feeac79d67d260635e9c3e490b6f0538cbc0ccc1f03e90ab4094bfc0fcb938adb3fb5afe9fea813d47cc7430 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + openmp ENABLE_OPENMP +) + +if(VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(DMLC_FORCE_SHARED_CRT ON) +else() + set(DMLC_FORCE_SHARED_CRT OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + NO_PARALLEL_CONFIGURE + OPTIONS + -DDMLC_FORCE_SHARED_CRT=${DMLC_FORCE_SHARED_CRT} + -DUSE_OPENMP=${ENABLE_OPENMP} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/dmlc) + +# 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) \ No newline at end of file diff --git a/ports/doctest/CONTROL b/ports/doctest/CONTROL index e623f8b85..4b7f0cc1b 100644 --- a/ports/doctest/CONTROL +++ b/ports/doctest/CONTROL @@ -1,4 +1,4 @@ Source: doctest -Version: 2.3.2 +Version: 2.3.5 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 dbb94990e..427c771e9 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.2 - SHA512 316c804d04c51e38ee54edb321c3f6c11e8b45d542add865e930a36430bb2b768c4302ec85a7470d2df7952981432ec4c1da662be46021eff0fa377f5cea85ba + REF 2.3.5 + SHA512 bf94d6533bf9e91e7d37289263261a9d0a6ee129d41fe4070914c14357095f537868b01b557b8c40c655d1db78cfe6040ecb4a86dc9effe5fbc71f2cfd87146c HEAD_REF master ) @@ -21,3 +21,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/doctest) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/doctest/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/double-conversion/CONTROL b/ports/double-conversion/CONTROL index c6860524d..215bb77fb 100644 --- a/ports/double-conversion/CONTROL +++ b/ports/double-conversion/CONTROL @@ -1,4 +1,4 @@ Source: double-conversion -Version: 3.1.4 +Version: 3.1.5 Homepage: https://github.com/google/double-conversion Description: Efficient binary-decimal and decimal-binary conversion routines for IEEE doubles. diff --git a/ports/double-conversion/portfile.cmake b/ports/double-conversion/portfile.cmake index d7fd15f21..f5ebb4055 100644 --- a/ports/double-conversion/portfile.cmake +++ b/ports/double-conversion/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/double-conversion - REF v3.1.4 - SHA512 715a34ace2ff74b79d80a8c003c16cfbf958ebc92264e28cc572e1a12a786e1df9678abb46f032c2be387495e1a3d02957b12fa4a245ec6cfe19ca637519ac3c + REF v3.1.5 + SHA512 0aeabdbfa06c3c4802905ac4bf8c2180840577677b47d45e1c91034fe07746428c9db79260ce6bdbdf8b584746066cea9247ba43a9c38155caf1ef44e214180a HEAD_REF master ) diff --git a/ports/drlibs/CONTROL b/ports/drlibs/CONTROL new file mode 100644 index 000000000..284f99c35 --- /dev/null +++ b/ports/drlibs/CONTROL @@ -0,0 +1,4 @@ +Source: drlibs +Version: 2019-08-12 +Homepage: https://github.com/mackron/dr_libs +Description: A collection of public domain single-file libraries for C/C++. diff --git a/ports/drlibs/portfile.cmake b/ports/drlibs/portfile.cmake new file mode 100644 index 000000000..3c50aff94 --- /dev/null +++ b/ports/drlibs/portfile.cmake @@ -0,0 +1,17 @@ +#header-only library +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mackron/dr_libs + REF b777360d73c10a367d268a8bb51bc0d1f36020b5 + SHA512 65d2c01ea72868e1212dc5af6b8bad7603a40e030a6c6ee59ae4e723de9c974ed31385475e2bcf0f22d424666fc70c7851c3998d0c51afc845785e71ed267a8f + HEAD_REF master +) + +# Put the licence file where vcpkg expects it +file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/drlibs) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/drlibs/README.md ${CURRENT_PACKAGES_DIR}/share/drlibs/copyright) + +# Copy the header files +file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h) +file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/duckx/CONTROL b/ports/duckx/CONTROL new file mode 100644 index 000000000..ec0e6c356 --- /dev/null +++ b/ports/duckx/CONTROL @@ -0,0 +1,4 @@ +Source: duckx +Version: 1.0.0 +Homepage: https://github.com/amiremohamadi/DuckX +Description: DuckX is a library for creation of Office docx files. diff --git a/ports/duckx/portfile.cmake b/ports/duckx/portfile.cmake new file mode 100644 index 000000000..ae1b78b58 --- /dev/null +++ b/ports/duckx/portfile.cmake @@ -0,0 +1,20 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO amiremohamadi/DuckX + REF v1.0.0 + SHA512 21db28f5c62a5695363cb844ce0ca45057433dd622dad44278459dd0582c92a8ca98d8bf597955426636ad31776abdcfdbe51a7fbfe256cfa8adcb8a2fd9410d +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/duckx) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/duckx RENAME copyright) diff --git a/ports/duilib/CONTROL b/ports/duilib/CONTROL index 9154664ea..cb4c7ed3f 100644 --- a/ports/duilib/CONTROL +++ b/ports/duilib/CONTROL @@ -1,3 +1,3 @@ Source: duilib -Version: 2019-4-28-1 +Version: 2019-4-28-2 Description: Duilib is a free open source DirectUI interface library under Windows. It is widely accepted by major Internet companies due to its simple and easy to expand design and stable and efficient implementation. It is widely used in IM, video client, stock market software, navigation software, and mobile phone assistive software. Duilib is still evolving, and will continue to improve in many aspects such as documentation, examples, animations, and rendering engines. diff --git a/ports/duilib/portfile.cmake b/ports/duilib/portfile.cmake index 7e30c9940..5556d22cd 100644 --- a/ports/duilib/portfile.cmake +++ b/ports/duilib/portfile.cmake @@ -16,6 +16,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/DuiLib PREFER_NINJA + NO_CHARSET_FLAG ) vcpkg_build_cmake() diff --git a/ports/duktape/CMakeLists.txt b/ports/duktape/CMakeLists.txt index 3a9c869de..ebf2f32d8 100644 --- a/ports/duktape/CMakeLists.txt +++ b/ports/duktape/CMakeLists.txt @@ -1,21 +1,53 @@ -project (duktape) +cmake_minimum_required(VERSION 3.14) -file(GLOB_RECURSE DUKTAPE_SOURCES "src/*.c") -file(GLOB_RECURSE DUKTAPE_HEADERS "src/*.h") -if (BUILD_SHARED_LIBS) - add_definitions(-DDUK_F_DLL_BUILD) -endif () +set(duktape_MAJOR_VERSION 2) +set(duktape_MINOR_VERSION 4) +set(duktape_PATCH_VERSION 0) +set(duktape_VERSION ${duktape_MAJOR_VERSION}.${duktape_MINOR_VERSION}.${duktape_PATCH_VERSION}) -include_directories("src/") +option(CMAKE_VERBOSE_MAKEFILE "Create verbose makefile" OFF) +option(BUILD_SHARED_LIBS "Create duktape as a shared library" ON) + +project(duktape VERSION ${duktape_VERSION}) + +file(GLOB_RECURSE DUKTAPE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/src/*.c") +file(GLOB_RECURSE DUKTAPE_HEADERS "${CMAKE_CURRENT_LIST_DIR}/src/*.h") add_library(duktape ${DUKTAPE_SOURCES} ${DUKTAPE_HEADERS}) +target_include_directories(duktape PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src") +set_target_properties(duktape PROPERTIES PUBLIC_HEADER "${DUKTAPE_HEADERS}") -set_target_properties("duktape" PROPERTIES PUBLIC_HEADER "${DUKTAPE_HEADERS}") +if (BUILD_SHARED_LIBS) + target_compile_definitions(duktape PRIVATE -DDUK_F_DLL_BUILD) +endif () install(TARGETS duktape - EXPORT duktape-targets + EXPORT duktapeTargets ARCHIVE DESTINATION "lib" + LIBRARY DESTINATION "lib" RUNTIME DESTINATION "bin" - PUBLIC_HEADER DESTINATION "include") + PUBLIC_HEADER DESTINATION "include" + COMPONENT dev +) +install(EXPORT duktapeTargets + FILE duktapeTargets.cmake + NAMESPACE duktape:: + DESTINATION "share/duktape" +) + +export(PACKAGE duktape) + +include(CMakePackageConfigHelpers) +write_basic_package_version_file("${PROJECT_BINARY_DIR}/duktapeConfigVersion.cmake" + COMPATIBILITY SameMajorVersion +) + +configure_file(duktapeConfig.cmake.in "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/duktapeConfig.cmake" @ONLY) + +install(FILES + "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/duktapeConfig.cmake" + "${PROJECT_BINARY_DIR}/duktapeConfigVersion.cmake" + DESTINATION "share/duktape" +) diff --git a/ports/duktape/CONTROL b/ports/duktape/CONTROL index 007025398..8311a60a0 100644 --- a/ports/duktape/CONTROL +++ b/ports/duktape/CONTROL @@ -1,5 +1,4 @@ Source: duktape -Version: 2.3.0 +Version: 2.4.0-6 Homepage: https://github.com/svaarala/duktape Description: Embeddable Javascript engine with a focus on portability and compact footprint. -Build-Depends: diff --git a/ports/duktape/duk_config.h.patch b/ports/duktape/duk_config.h.patch deleted file mode 100644 index d0be961ce..000000000 --- a/ports/duktape/duk_config.h.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/duk_config.h b/src/duk_config.h -index a942563..8d3d309 100644 ---- a/src/duk_config.h -+++ b/src/duk_config.h -@@ -64,7 +64,7 @@ - - /* DLL build detection */ - /* not configured for DLL build */ --#undef DUK_F_DLL_BUILD -+// #undef DUK_F_DLL_BUILD - - /* Apple OSX, iOS */ - #if defined(__APPLE__) diff --git a/ports/duktape/duktapeConfig.cmake.in b/ports/duktape/duktapeConfig.cmake.in new file mode 100644 index 000000000..56d7798fd --- /dev/null +++ b/ports/duktape/duktapeConfig.cmake.in @@ -0,0 +1,33 @@ +# - Try to find duktape +# Once done this will define +# +# DUKTAPE_FOUND - system has Duktape +# DUKTAPE_INCLUDE_DIRS - the Duktape include directory +# DUKTAPE_LIBRARIES - Link these to use DUKTAPE +# DUKTAPE_DEFINITIONS - Compiler switches required for using Duktape +# + +find_package(PkgConfig QUIET) +pkg_check_modules(PC_DUK QUIET duktape libduktape) + +find_path(DUKTAPE_INCLUDE_DIR duktape.h + HINTS ${PC_DUK_INCLUDEDIR} ${PC_DUK_INCLUDE_DIRS} + PATH_SUFFIXES duktape) + +find_library(DUKTAPE_LIBRARY + NAMES duktape libduktape + HINTS ${PC_DUK_LIBDIR} ${PC_DUK_LIBRARY_DIRS}) + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Duktape + REQUIRED_VARS DUKTAPE_LIBRARY DUKTAPE_INCLUDE_DIR) + +if (DUKTAPE_FOUND) + set (DUKTAPE_LIBRARIES ${DUKTAPE_LIBRARY}) + set (DUKTAPE_INCLUDE_DIRS ${DUKTAPE_INCLUDE_DIR} ) +endif () + +MARK_AS_ADVANCED( + DUKTAPE_INCLUDE_DIR + DUKTAPE_LIBRARY +) \ No newline at end of file diff --git a/ports/duktape/portfile.cmake b/ports/duktape/portfile.cmake index ef1476a52..477c76c35 100644 --- a/ports/duktape/portfile.cmake +++ b/ports/duktape/portfile.cmake @@ -2,22 +2,26 @@ include(vcpkg_common_functions) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") message("${PORT} currently requires the following tools from the system package manager:\n python-yaml\n\nThis can be installed on Ubuntu systems via apt-get install python-yaml PYTHON2-yaml (depending on your current python default interpreter)") -endif() +endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO svaarala/duktape - REF v2.3.0 - SHA512 dd715eab481b948cf71d3ad16d2544166eb53da0df8936a4ac9c33e1f1277ef6efe542782a4c7f689f6c0c8963d7094749af455ff6a8c59593aa56ebb57e5c6f + REF v2.4.0 + SHA512 5f42ff6faab8d49531423e199c032fd2de49524bab71f39d1cf822e6f9ee82a6089c9a93837ae7849d19a95693318a8480986e4672f6f73f3182b4902e6b2daa HEAD_REF master ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/duktapeConfig.cmake.in DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -if(CMAKE_HOST_WIN32) +if(VCPKG_TARGET_IS_WINDOWS) set(EXECUTABLE_SUFFIX ".exe") + set(PYTHON_OPTION "") else() set(EXECUTABLE_SUFFIX "") + set(PYTHON_OPTION "--user") endif() vcpkg_find_acquire_program(PYTHON2) @@ -25,45 +29,44 @@ get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) vcpkg_add_to_path("${PYTHON2_DIR}") if(NOT EXISTS ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX}) if(NOT EXISTS ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) - vcpkg_download_distfile(GET_PIP - URLS "https://bootstrap.pypa.io/get-pip.py" - FILENAME "tools/python/python2/get-pip.py" - SHA512 99520d223819708b8f6e4b839d1fa215e4e8adc7fcd0db6c25a0399cf2fa10034b35673cf450609303646d12497f301ef53b7e7cc65c78e7bce4af0c673555ad + vcpkg_from_github( + OUT_SOURCE_PATH PYFILE_PATH + REPO pypa/get-pip + REF 309a56c5fd94bd1134053a541cb4657a4e47e09d #2019-08-25 + SHA512 bb4b0745998a3205cd0f0963c04fb45f4614ba3b6fcbe97efe8f8614192f244b7ae62705483a5305943d6c8fedeca53b2e9905aed918d2c6106f8a9680184c7a + HEAD_REF master ) - execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYTHON2_DIR}/get-pip.py) + execute_process(COMMAND ${PYTHON2_DIR}/python${EXECUTABLE_SUFFIX} ${PYFILE_PATH}/get-pip.py ${PYTHON_OPTION}) endif() - execute_process(COMMAND ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install pyyaml) + execute_process(COMMAND ${PYTHON2_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install pyyaml ${PYTHON_OPTION}) else() execute_process(COMMAND ${PYTHON2_DIR}/easy_install${EXECUTABLE_SUFFIX} pyyaml) endif() execute_process(COMMAND ${PYTHON2} ${SOURCE_PATH}/tools/configure.py --source-directory ${SOURCE_PATH}/src-input --output-directory ${SOURCE_PATH}/src --config-metadata ${SOURCE_PATH}/config -DDUK_USE_FASTINT) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - duk_config.h.patch -) +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(DUK_CONFIG_H_PATH "${SOURCE_PATH}/src/duk_config.h") + file(READ ${DUK_CONFIG_H_PATH} CONTENT) + string(REPLACE "#undef DUK_F_DLL_BUILD" "#define DUK_F_DLL_BUILD" CONTENT "${CONTENT}") + file(WRITE ${DUK_CONFIG_H_PATH} "${CONTENT}") +else() + set(DUK_CONFIG_H_PATH "${SOURCE_PATH}/src/duk_config.h") + file(READ ${DUK_CONFIG_H_PATH} CONTENT) + string(REPLACE "#define DUK_F_DLL_BUILD" "#undef DUK_F_DLL_BUILD" CONTENT "${CONTENT}") + file(WRITE ${DUK_CONFIG_H_PATH} "${CONTENT}") +endif() vcpkg_configure_cmake( + PREFER_NINJA SOURCE_PATH ${SOURCE_PATH} ) vcpkg_install_cmake() -set(DUK_CONFIG_H_PATH "${CURRENT_PACKAGES_DIR}/include/duk_config.h") -file(READ ${DUK_CONFIG_H_PATH} CONTENT) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - string(REPLACE "// #undef DUK_F_DLL_BUILD" "#undef DUK_F_DLL_BUILD\n#define DUK_F_DLL_BUILD" CONTENT "${CONTENT}") -else() - string(REPLACE "// #undef DUK_F_DLL_BUILD" "#undef DUK_F_DLL_BUILD" CONTENT "${CONTENT}") -endif() -file(WRITE ${DUK_CONFIG_H_PATH} "${CONTENT}") - -# Remove debug include file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Copy copright information -file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/duktape" RENAME "copyright") - +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() + +file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/duktape/usage b/ports/duktape/usage new file mode 100644 index 000000000..5870cb2bb --- /dev/null +++ b/ports/duktape/usage @@ -0,0 +1,5 @@ +find_package(duktape CONFIG REQUIRED) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${DUKTAPE_INCLUDE_DIRS}) + +target_link_libraries(main ${DUKTAPE_LIBRARY}) \ No newline at end of file diff --git a/ports/dxut/portfile.cmake b/ports/dxut/portfile.cmake index f89fe3982..a14d29d9b 100644 --- a/ports/dxut/portfile.cmake +++ b/ports/dxut/portfile.cmake @@ -6,13 +6,16 @@ if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic") message(FATAL_ERROR "DXUT only supports dynamic CRT linkage") endif() -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/DXUT-sept2016) -vcpkg_download_distfile(ARCHIVE_FILE +vcpkg_download_distfile(ARCHIVE URLS "https://github.com/Microsoft/DXUT/archive/sept2016.tar.gz" FILENAME "DXUT-sept2016.tar.gz" SHA512 190006c194284a1f5d614477896b0469a59ece05dff37477dadbe98808a5c33e274c0c1bb1390f22d1b5e06c9f534f4b50d6002157b2a391e01c2192b8e08869 ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) IF (TRIPLET_SYSTEM_ARCH MATCHES "x86") SET(BUILD_ARCH "Win32") diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL index f7f9c89a3..9a0c698db 100644 --- a/ports/eastl/CONTROL +++ b/ports/eastl/CONTROL @@ -1,5 +1,5 @@ Source: eastl -Version: 3.13.05-1 +Version: 3.14.01 Homepage: https://github.com/electronicarts/EASTL Description: Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations. diff --git a/ports/eastl/fix_cmake_install.patch b/ports/eastl/fix_cmake_install.patch new file mode 100644 index 000000000..b67e26f12 --- /dev/null +++ b/ports/eastl/fix_cmake_install.patch @@ -0,0 +1,19 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b8171cd..c771e77 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -41,6 +41,7 @@ add_definitions(-DEASTL_OPENSOURCE=1) + #------------------------------------------------------------------------------------------- + # Include dirs + #------------------------------------------------------------------------------------------- ++include_directories(APPEND test/packages) + target_include_directories(EASTL PUBLIC include) + + #------------------------------------------------------------------------------------------- +@@ -48,3 +49,6 @@ target_include_directories(EASTL PUBLIC include) + #------------------------------------------------------------------------------------------- + target_link_libraries(EASTL EABase) + ++install(TARGETS EASTL DESTINATION lib) ++install(DIRECTORY include/EASTL DESTINATION include) ++install(DIRECTORY test/packages/EABase DESTINATION include) diff --git a/ports/eastl/fix_uwp.patch b/ports/eastl/fix_uwp.patch new file mode 100644 index 000000000..4fd144a13 --- /dev/null +++ b/ports/eastl/fix_uwp.patch @@ -0,0 +1,13 @@ +diff --git a/include/Common/EABase/config/eaplatform.h b/include/Common/EABase/config/eaplatform.h +index 8b16146..54079ab 100644 +--- a/include/Common/EABase/config/eaplatform.h ++++ b/include/Common/EABase/config/eaplatform.h +@@ -125,7 +125,7 @@ + #endif + + +-#elif defined(EA_PLATFORM_XBOXONE) || defined(_DURANGO) || defined(EA_PLATFORM_CAPILANO) || (defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES || WINAPI_FAMILY == WINAPI_FAMILY_TV_TITLE)) ++#elif defined(EA_PLATFORM_XBOXONE) || defined(_DURANGO) || defined(EA_PLATFORM_CAPILANO) || (defined(WINAPI_FAMILY) && WINAPI_FAMILY && (WINAPI_FAMILY == WINAPI_FAMILY_GAMES || WINAPI_FAMILY == WINAPI_FAMILY_TV_TITLE)) + // XBox One + // Durango was Microsoft's code-name for the platform, which is now obsolete. + // Microsoft uses _DURANGO instead of some variation of _XBOX, though it's not natively defined by the compiler. diff --git a/ports/eastl/fixchar8_t.patch b/ports/eastl/fixchar8_t.patch deleted file mode 100644 index 51fcfe69a..000000000 --- a/ports/eastl/fixchar8_t.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/CMake/CommonCppFlags.cmake b/scripts/CMake/CommonCppFlags.cmake -index 566fbee..4fcca61 100644 ---- a/scripts/CMake/CommonCppFlags.cmake -+++ b/scripts/CMake/CommonCppFlags.cmake -@@ -54,7 +54,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") - message(FATAL_ERROR "Building with a gcc version less than 4.7.3 is not supported.") - endif() - elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest /W4 /permissive-") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++latest /W4 /permissive- /Zc:char8_t-") - endif() - - diff --git a/ports/eastl/portfile.cmake b/ports/eastl/portfile.cmake index 13cf14a21..fcbe02f7e 100644 --- a/ports/eastl/portfile.cmake +++ b/ports/eastl/portfile.cmake @@ -2,19 +2,36 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/eastl) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO electronicarts/EABase + REF 6f27a2f7aa21f2d71ae8c6bc1d889d0119677a56 + SHA512 9176fb2d508cf023c3c16c61a511196a2f6af36172145544bba44062a00ca7591e54e4fc16ac13562ef0e2d629b626f398bff3669b4cdb7ba0068548d6a53883 + HEAD_REF master + PATCHES + fix_uwp.patch +) + +set(EABASE_PATH ${SOURCE_PATH}) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO electronicarts/EASTL - REF 3.13.05 - SHA512 2364554339203c972f10d58ebe8f14fb221a40451f4cd2c3c5acd6891e8580c1a0a5d4ba592c91349d3feca50d9880648bb37358820a1c9552dde3f7af400a82 + REF 3.14.01 + SHA512 efc03bdd4b6371b3fb4b75cac31ce3081290e9177453914a4fbb601d1ba44d65a86f2e98b7b27efbd985f37bd59a80169cf58beb3a32e5b3672ea2a2d6dd78d1 HEAD_REF master - PATCHES fixchar8_t.patch # can be removed after electronicarts/EASTL#274 is resolved + PATCHES + fix_cmake_install.patch ) +file(COPY ${EABASE_PATH}/include/Common/EABase/ DESTINATION ${SOURCE_PATH}/test/packages/EABase) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DEASTL_BUILD_TESTS=OFF + -DEASTL_BUILD_BENCHMARK=OFF ) vcpkg_install_cmake() diff --git a/ports/easycl/CONTROL b/ports/easycl/CONTROL new file mode 100644 index 000000000..ad61f2260 --- /dev/null +++ b/ports/easycl/CONTROL @@ -0,0 +1,5 @@ +Source: easycl +Version: 0.3 +Homepage: https://github.com/architector1324/EasyCL +Build-Depends: opencl +Description: OpenCL based lightweight c++ computing library diff --git a/ports/easycl/portfile.cmake b/ports/easycl/portfile.cmake new file mode 100644 index 000000000..694a853bb --- /dev/null +++ b/ports/easycl/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO architector1324/EasyCL + REF 0.3 + SHA512 c0e9aa03c9039e9ffe4794ccc4e85654f8267924e577cf96fd8d5e141fab9e8f6dc4668ee4475d6df3ba77572e52a181493acd3dfdb0abf7bd83b7e3d4d08a29 + HEAD_REF master +) + +# Handle headers +file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp") + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/easycl RENAME copyright) diff --git a/ports/easyhook/CONTROL b/ports/easyhook/CONTROL new file mode 100644 index 000000000..a47eb803d --- /dev/null +++ b/ports/easyhook/CONTROL @@ -0,0 +1,4 @@ +Source: easyhook +Version: 2.7.6789.0 +Homepage: https://github.com/EasyHook/EasyHook +Description: This project supports extending (hooking) unmanaged code (APIs) with pure managed ones, from within a fully managed environment on 32- or 64-bit Windows Vista x64, Windows Server 2008 x64, Windows 7, Windows 8.1, and Windows 10. \ No newline at end of file diff --git a/ports/easyhook/fix-build.patch b/ports/easyhook/fix-build.patch new file mode 100644 index 000000000..230faf65d --- /dev/null +++ b/ports/easyhook/fix-build.patch @@ -0,0 +1,128 @@ +diff --git a/EasyHookDll/EasyHookDll.vcxproj b/EasyHookDll/EasyHookDll.vcxproj +index ec66f91..5773555 100644 +--- a/EasyHookDll/EasyHookDll.vcxproj ++++ b/EasyHookDll/EasyHookDll.vcxproj +@@ -188,7 +188,7 @@ + true + true + EnableFastChecks +- true ++ false + MultiThreadedDebug + + +@@ -207,10 +207,6 @@ + MachineX86 + false + +- +- copy "$(TargetPath)" "$(TargetDir)..\x64\EasyHook32.dll" +-copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" +- + + false + +@@ -223,7 +219,7 @@ copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" + true + true + EnableFastChecks +- true ++ false + MultiThreadedDebug + + +@@ -242,10 +238,6 @@ copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" + MachineX86 + false + +- +- copy "$(TargetPath)" "$(TargetDir)..\x64\EasyHook32.dll" +-copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" +- + + false + +@@ -261,7 +253,7 @@ copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" + true + true + EnableFastChecks +- true ++ false + MultiThreadedDebug + + +@@ -278,10 +270,6 @@ copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" + Windows + MachineX64 + +- +- copy "$(TargetPath)" "$(TargetDir)..\x86\EasyHook64.dll" +-copy "$(TargetDir)EasyHook64.lib" "$(TargetDir)..\x86\EasyHook64.lib" +- + + false + +@@ -297,7 +285,7 @@ copy "$(TargetDir)EasyHook64.lib" "$(TargetDir)..\x86\EasyHook64.lib" + true + true + EnableFastChecks +- true ++ false + MultiThreadedDebug + + +@@ -314,10 +302,6 @@ copy "$(TargetDir)EasyHook64.lib" "$(TargetDir)..\x86\EasyHook64.lib" + Windows + MachineX64 + +- +- copy "$(TargetPath)" "$(TargetDir)..\x86\EasyHook64.dll" +-copy "$(TargetDir)EasyHook64.lib" "$(TargetDir)..\x86\EasyHook64.lib" +- + + false + +@@ -355,10 +339,6 @@ copy "$(TargetDir)EasyHook64.lib" "$(TargetDir)..\x86\EasyHook64.lib" + MachineX86 + false + +- +- copy "$(TargetPath)" "$(TargetDir)..\x64\EasyHook32.dll" +-copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" +- + + false + false +@@ -397,10 +377,6 @@ copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" + MachineX86 + false + +- +- copy "$(TargetPath)" "$(TargetDir)..\x64\EasyHook32.dll" +-copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" +- + + false + false +@@ -439,10 +415,6 @@ copy "$(TargetDir)EasyHook32.lib" "$(TargetDir)..\x64\EasyHook32.lib" + true + MachineX64 + +- +- copy "$(TargetPath)" "$(TargetDir)..\x86\EasyHook64.dll" +-copy "$(TargetDir)EasyHook64.lib" "$(TargetDir)..\x86\EasyHook64.lib" +- + + false + false +@@ -481,10 +453,6 @@ copy "$(TargetDir)EasyHook64.lib" "$(TargetDir)..\x86\EasyHook64.lib" + true + MachineX64 + +- +- copy "$(TargetPath)" "$(TargetDir)..\x86\EasyHook64.dll" +-copy "$(TargetDir)EasyHook64.lib" "$(TargetDir)..\x86\EasyHook64.lib" +- + + false + false diff --git a/ports/easyhook/portfile.cmake b/ports/easyhook/portfile.cmake new file mode 100644 index 000000000..d74457880 --- /dev/null +++ b/ports/easyhook/portfile.cmake @@ -0,0 +1,38 @@ +include(vcpkg_common_functions) + +if (NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "easyhook only support windows.") +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + message(FATAL_ERROR "easyhook can only be built as dynamic library.") +endif() + +message(".Net framework 4.0 is required, please install it before install easyhook.") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO EasyHook/EasyHook + REF v2.7.6789.0 + SHA512 a48b4fe6dd2e55a2d515bc917c0f3ff5b73f08d1778e671df802347c3b8e1d4638005582a494acdf891ffe3fa6eae3eab0096083a8af2352e3f0883eb83421d6 + HEAD_REF master + PATCHES fix-build.patch +) + +vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH EasyHook.sln + TARGET EasyHookDll + RELEASE_CONFIGURATION "netfx4-Release" + DEBUG_CONFIGURATION "netfx4-Debug" +) + +# These libraries are useless, so remove. +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/EasyHook.dll ${CURRENT_PACKAGES_DIR}/bin/EasyHook.pdb) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/EasyHook.dll ${CURRENT_PACKAGES_DIR}/debug/bin/EasyHook.pdb) + +# Install includes +file(INSTALL ${SOURCE_PATH}/Public/easyhook.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/easyhook) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/easyhook RENAME copyright) diff --git a/ports/easyloggingpp/CONTROL b/ports/easyloggingpp/CONTROL index 9e2427ff9..a10dbb2d6 100644 --- a/ports/easyloggingpp/CONTROL +++ b/ports/easyloggingpp/CONTROL @@ -1,3 +1,3 @@ Source: easyloggingpp -Version: 9.96.7 +Version: 9.96.7-1 Description: Easylogging++ is a single header efficient logging library for C++ applications. \ No newline at end of file diff --git a/ports/easyloggingpp/portfile.cmake b/ports/easyloggingpp/portfile.cmake index 8294e0a81..56ba406b7 100644 --- a/ports/easyloggingpp/portfile.cmake +++ b/ports/easyloggingpp/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -Dbuild_static_lib=ON ) diff --git a/ports/ecm/CONTROL b/ports/ecm/CONTROL index 075cf894f..4f98c2290 100644 --- a/ports/ecm/CONTROL +++ b/ports/ecm/CONTROL @@ -1,4 +1,4 @@ Source: ecm -Version: 5.58.0 +Version: 5.60.0-1 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 8211fb97a..ab92b3086 100644 --- a/ports/ecm/portfile.cmake +++ b/ports/ecm/portfile.cmake @@ -4,13 +4,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/extra-cmake-modules - REF v5.58.0 - SHA512 c08408c5842789ce61d17642025edca022bcc0b78aba3d7dc0af5a6973f5f26ebe6f65e6d97e516e64eaf778d4a70397c76a96c45a6ee8bda3f2a9d9fff5966e + REF v5.60.0 + SHA512 98c7cbb0a84fbd4806cdf84538cb16717cbbb13fa5cce5c4bf9a507a699c579fa6f88af5091b3d311bdd504a119d6147114b2fad5de2dfd5f18448bca60cdc92 HEAD_REF master ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBUILD_HTML_DOCS=OFF -DBUILD_MAN_DOCS=OFF -DBUILD_QTHELP_DOCS=OFF 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 $ $) +target_include_directories(ecos-suitesparse INTERFACE $ $) +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 $ $) +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 $ $) +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 $ $) +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 3d6136dda..e272e2634 100644 --- a/ports/ecsutil/CONTROL +++ b/ports/ecsutil/CONTROL @@ -1,4 +1,4 @@ Source: ecsutil -Version: 1.0.6.1 +Version: 1.0.7.3 Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol. -Build-Depends: atlmfc +Build-Depends: atlmfc (windows) diff --git a/ports/ecsutil/NoLibSyms.patch b/ports/ecsutil/NoLibSyms.patch deleted file mode 100644 index e4f7e77bd..000000000 --- a/ports/ecsutil/NoLibSyms.patch +++ /dev/null @@ -1,41 +0,0 @@ - ECSUtil/ECSUtil.vcxproj | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/ECSUtil/ECSUtil.vcxproj b/ECSUtil/ECSUtil.vcxproj -index 05c5726..4b5de57 100644 ---- a/ECSUtil/ECSUtil.vcxproj -+++ b/ECSUtil/ECSUtil.vcxproj -@@ -289,7 +289,7 @@ - true - false - false -- ProgramDatabase -+ None - - - Windows -@@ -317,7 +317,7 @@ - true - false - false -- ProgramDatabase -+ None - - - Windows -@@ -462,6 +462,7 @@ - true - false - false -+ None - - - Windows -@@ -493,6 +494,7 @@ - true - false - false -+ None - - - Windows diff --git a/ports/ecsutil/portfile.cmake b/ports/ecsutil/portfile.cmake index 966281a4f..d59805f23 100644 --- a/ports/ecsutil/portfile.cmake +++ b/ports/ecsutil/portfile.cmake @@ -28,10 +28,9 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO EMCECS/ecs-object-client-windows-cpp - REF v1.0.6.1 - SHA512 4b16b9ce1dbc9f541fe95a40c10678cd2b0192acc94bc3d57e58fbdf37964af84cdc901686555aad1f58d133632b1ad6f57976a5ac71aed1fce2fb44a2d0f8d3 + REF v1.0.7.3 + SHA512 b678a784f26c8ac5fdac6f2be2c7fe2a2e1b0152d5cc21e629a077fce8dd9a72db46a348e4024a31273d45833f002a7823957295ec74392500ba069e8da8555d HEAD_REF master - PATCHES NoLibSyms.patch ) vcpkg_install_msbuild( diff --git a/ports/egl-registry/CONTROL b/ports/egl-registry/CONTROL index dc7cdec79..64b4745a4 100644 --- a/ports/egl-registry/CONTROL +++ b/ports/egl-registry/CONTROL @@ -1,3 +1,3 @@ Source: egl-registry -Version: 2018-06-30-1 +Version: 2019-08-08 Description: the EGL API and Extension Registry diff --git a/ports/egl-registry/portfile.cmake b/ports/egl-registry/portfile.cmake index ee6fc23dc..9c7265d6b 100644 --- a/ports/egl-registry/portfile.cmake +++ b/ports/egl-registry/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/EGL-Registry - REF e2562a9e7f567b837cdf96cf8b12e7fc0d88cc30 - SHA512 8c380c26f6afc0ce2ab2dd2fe834daae0d0dbe9e2bd55ab30c80f8dfa5e234f1902e5735c4d8acf016f03924a46431b9bb794bb77f1f091c56905a98c38f5d04 + REF 598f20e3b7b7eec3e8d8a83e64b9592a21c55bb6 + SHA512 360aa2399fec12ad23c5e4bce7e9287a9b1b1d98ba6c326dde2b1bc1c32735bc6933ca8e5c626ba421cda5aac216bc7c268e064cf0dd67605a23151e29ba1f36 HEAD_REF master ) diff --git a/ports/eigen3/CONTROL b/ports/eigen3/CONTROL index b67376ced..9eb611541 100644 --- a/ports/eigen3/CONTROL +++ b/ports/eigen3/CONTROL @@ -1,4 +1,4 @@ Source: eigen3 -Version: 3.3.7-1 +Version: 3.3.7-3 Homepage: https://bitbucket.org/eigen/eigen Description: C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. diff --git a/ports/eigen3/portfile.cmake b/ports/eigen3/portfile.cmake index 31806319f..b9a77701d 100644 --- a/ports/eigen3/portfile.cmake +++ b/ports/eigen3/portfile.cmake @@ -1,11 +1,6 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "eigen3's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/embree3/CONTROL b/ports/embree3/CONTROL index 77d06de9b..d27eefbcc 100644 --- a/ports/embree3/CONTROL +++ b/ports/embree3/CONTROL @@ -1,4 +1,5 @@ Source: embree3 -Version: 3.5.2 +Version: 3.5.2-3 +Homepage: https://github.com/embree/embree Description: High Performance Ray Tracing Kernels. Build-Depends: tbb diff --git a/ports/embree3/fix-InstallPath.patch b/ports/embree3/fix-InstallPath.patch new file mode 100644 index 000000000..316fa594d --- /dev/null +++ b/ports/embree3/fix-InstallPath.patch @@ -0,0 +1,15 @@ +diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake +index 3c3980d..0c365ac 100644 +--- a/common/cmake/package.cmake ++++ b/common/cmake/package.cmake +@@ -124,8 +124,8 @@ CONFIGURE_FILE(common/cmake/embree-config-version.cmake embree-config-version.cm + # create a config file for the build directory + CONFIGURE_FILE(common/cmake/embree-config-builddir.cmake embree-config.cmake @ONLY) + +-INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-install.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR} RENAME "embree-config.cmake" COMPONENT devel) +-INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-version.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-install.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR}/share/embree3 RENAME "embree-config.cmake" COMPONENT devel) ++INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-version.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR}/share/embree3 COMPONENT devel) + + ############################################################## + # CPack specific stuff diff --git a/ports/embree3/fix-cmake-path.patch b/ports/embree3/fix-cmake-path.patch new file mode 100644 index 000000000..e1e65eda3 --- /dev/null +++ b/ports/embree3/fix-cmake-path.patch @@ -0,0 +1,163 @@ +diff --git a/common/lexers/CMakeLists.txt b/common/lexers/CMakeLists.txt +index 10c8caf..95d96dc 100644 +--- a/common/lexers/CMakeLists.txt ++++ b/common/lexers/CMakeLists.txt +@@ -23,7 +23,7 @@ SET_PROPERTY(TARGET lexers PROPERTY FOLDER common) + SET_PROPERTY(TARGET lexers APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") + + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS lexers EXPORT lexers-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT lexers-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS lexers EXPORT lexers-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT lexers-targets DESTINATION share/embree3 COMPONENT devel) + SIGN_TARGET(lexers) + ENDIF() +diff --git a/common/math/CMakeLists.txt b/common/math/CMakeLists.txt +index e7ed3b1..13247ca 100644 +--- a/common/math/CMakeLists.txt ++++ b/common/math/CMakeLists.txt +@@ -19,8 +19,8 @@ SET_PROPERTY(TARGET math PROPERTY FOLDER common) + SET_PROPERTY(TARGET math APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") + + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS math EXPORT math-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT math-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS math EXPORT math-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT math-targets DESTINATION share/embree3 COMPONENT devel) + SIGN_TARGET(math) + ENDIF() + +diff --git a/common/simd/CMakeLists.txt b/common/simd/CMakeLists.txt +index 5b1658c..81d7c80 100644 +--- a/common/simd/CMakeLists.txt ++++ b/common/simd/CMakeLists.txt +@@ -19,7 +19,7 @@ SET_PROPERTY(TARGET simd PROPERTY FOLDER common) + SET_PROPERTY(TARGET simd APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") + + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS simd EXPORT simd-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT simd-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS simd EXPORT simd-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT simd-targets DESTINATION share/embree3 COMPONENT devel) + SIGN_TARGET(simd) + ENDIF() +diff --git a/common/sys/CMakeLists.txt b/common/sys/CMakeLists.txt +index e0e0848..b57e6be 100644 +--- a/common/sys/CMakeLists.txt ++++ b/common/sys/CMakeLists.txt +@@ -35,7 +35,7 @@ SET_PROPERTY(TARGET sys PROPERTY FOLDER common) + SET_PROPERTY(TARGET sys APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") + + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS sys EXPORT sys-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT sys-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS sys EXPORT sys-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT sys-targets DESTINATION share/embree3 COMPONENT devel) + SIGN_TARGET(sys) + ENDIF() +diff --git a/common/tasking/CMakeLists.txt b/common/tasking/CMakeLists.txt +index f5db33f..b96671a 100644 +--- a/common/tasking/CMakeLists.txt ++++ b/common/tasking/CMakeLists.txt +@@ -28,7 +28,7 @@ SET_PROPERTY(TARGET tasking PROPERTY FOLDER common) + SET_PROPERTY(TARGET tasking APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") + + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS tasking EXPORT tasking-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT tasking-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS tasking EXPORT tasking-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT tasking-targets DESTINATION share/embree3 COMPONENT devel) + SIGN_TARGET(tasking) + ENDIF() +diff --git a/kernels/CMakeLists.txt b/kernels/CMakeLists.txt +index a5774d2..b637321 100644 +--- a/kernels/CMakeLists.txt ++++ b/kernels/CMakeLists.txt +@@ -255,8 +255,8 @@ IF (EMBREE_ISA_SSE42 AND EMBREE_LIBRARY_FILES_SSE42) + SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_sse42) + CheckGlobals(embree_sse42) + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS embree_sse42 EXPORT embree_sse42-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT embree_sse42-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS embree_sse42 EXPORT embree_sse42-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT embree_sse42-targets DESTINATION share/embree3 COMPONENT devel) + ENDIF() + ENDIF () + +@@ -268,8 +268,8 @@ IF (EMBREE_ISA_AVX AND EMBREE_LIBRARY_FILES_AVX) + SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_avx) + CheckGlobals(embree_avx) + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS embree_avx EXPORT embree_avx-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT embree_avx-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS embree_avx EXPORT embree_avx-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT embree_avx-targets DESTINATION share/embree3 COMPONENT devel) + ENDIF() + ENDIF() + +@@ -281,8 +281,8 @@ IF (EMBREE_ISA_AVX2 AND EMBREE_LIBRARY_FILES_AVX2) + SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_avx2) + CheckGlobals(embree_avx2) + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS embree_avx2 EXPORT embree_avx2-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT embree_avx2-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS embree_avx2 EXPORT embree_avx2-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT embree_avx2-targets DESTINATION share/embree3 COMPONENT devel) + ENDIF() + ENDIF() + +@@ -294,8 +294,8 @@ IF (EMBREE_ISA_AVX512KNL AND EMBREE_LIBRARY_FILES_AVX512KNL) + SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_avx512knl) + CheckGlobals(embree_avx512knl) + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS embree_avx512knl EXPORT embree_avx512knl-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT embree_avx512knl-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS embree_avx512knl EXPORT embree_avx512knl-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT embree_avx512knl-targets DESTINATION share/embree3 COMPONENT devel) + ENDIF() + ENDIF() + +@@ -307,8 +307,8 @@ IF (EMBREE_ISA_AVX512SKX AND EMBREE_LIBRARY_FILES_AVX512SKX) + SET(EMBREE_LIBRARIES ${EMBREE_LIBRARIES} embree_avx512skx) + CheckGlobals(embree_avx512skx) + IF (EMBREE_STATIC_LIB) +- INSTALL(TARGETS embree_avx512skx EXPORT embree_avx512skx-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) +- INSTALL(EXPORT embree_avx512skx-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(TARGETS embree_avx512skx EXPORT embree_avx512skx-targets DESTINATION share/embree3 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) ++ INSTALL(EXPORT embree_avx512skx-targets DESTINATION share/embree3 COMPONENT devel) + ENDIF() + ENDIF() + +@@ -331,7 +331,7 @@ ELSE() + SET_TARGET_PROPERTIES(embree PROPERTIES VERSION ${EMBREE_VERSION} SOVERSION ${EMBREE_VERSION_MAJOR}) + ENDIF() + +-INSTALL(TARGETS embree EXPORT embree-targets ++INSTALL(TARGETS embree EXPORT embree-targets DESTINATION share/embree3 + LIBRARY NAMELINK_SKIP DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib + # on Windows put the dlls into bin + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT examples +@@ -340,7 +340,7 @@ INSTALL(TARGETS embree EXPORT embree-targets + ) + + IF (EMBREE_STATIC_LIB) +- INSTALL(EXPORT embree-targets DESTINATION ${EMBREE_CMAKECONFIG_DIR} COMPONENT devel) ++ INSTALL(EXPORT embree-targets DESTINATION share/embree3 COMPONENT devel) + ENDIF() + + IF (NOT EMBREE_STATIC_LIB) +diff --git a/common/cmake/package.cmake b/common/cmake/package.cmake +index 0c365ac..7b140a5 100644 +--- a/common/cmake/package.cmake ++++ b/common/cmake/package.cmake +@@ -124,8 +124,8 @@ CONFIGURE_FILE(common/cmake/embree-config-version.cmake embree-config-version.cm + # create a config file for the build directory + CONFIGURE_FILE(common/cmake/embree-config-builddir.cmake embree-config.cmake @ONLY) + +-INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-install.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR}/share/embree3 RENAME "embree-config.cmake" COMPONENT devel) +-INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-version.cmake" DESTINATION ${EMBREE_CMAKECONFIG_DIR}/share/embree3 COMPONENT devel) ++INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-install.cmake" DESTINATION share/embree3 RENAME "embree-config.cmake" COMPONENT devel) ++INSTALL(FILES "${PROJECT_BINARY_DIR}/embree-config-version.cmake" DESTINATION share/embree3 COMPONENT devel) + + ############################################################## + # CPack specific stuff diff --git a/ports/embree3/fix-embree-path.patch b/ports/embree3/fix-embree-path.patch new file mode 100644 index 000000000..316112755 --- /dev/null +++ b/ports/embree3/fix-embree-path.patch @@ -0,0 +1,26 @@ +diff --git a/common/cmake/embree-config.cmake b/common/cmake/embree-config.cmake +index cab4d41..da84d3d 100644 +--- a/common/cmake/embree-config.cmake ++++ b/common/cmake/embree-config.cmake +@@ -14,11 +14,19 @@ + ## limitations under the License. ## + ## ======================================================================== ## + +-SET(EMBREE_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/@EMBREE_RELATIV_ROOT_DIR@) ++SET(EMBREE_ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../../@EMBREE_RELATIV_ROOT_DIR@) + GET_FILENAME_COMPONENT(EMBREE_ROOT_DIR "${EMBREE_ROOT_DIR}" ABSOLUTE) + + SET(EMBREE_INCLUDE_DIRS ${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_INCLUDEDIR@) +-SET(EMBREE_LIBRARY ${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_LIBDIR@/@EMBREE_LIBRARY_FULLNAME@) ++ ++IF (CMAKE_BUILD_TYPE STREQUAL Debug) ++ SET(EMBREE_LIBRARY ${EMBREE_ROOT_DIR}/debug/@CMAKE_INSTALL_LIBDIR@/@EMBREE_LIBRARY_FULLNAME@) ++ENDIF () ++ ++IF (CMAKE_BUILD_TYPE STREQUAL Release) ++ SET(EMBREE_LIBRARY ${EMBREE_ROOT_DIR}/@CMAKE_INSTALL_LIBDIR@/@EMBREE_LIBRARY_FULLNAME@) ++ENDIF () ++ + SET(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) + + MARK_AS_ADVANCED(embree_DIR) diff --git a/ports/embree3/portfile.cmake b/ports/embree3/portfile.cmake index 142be6cd6..32deef693 100644 --- a/ports/embree3/portfile.cmake +++ b/ports/embree3/portfile.cmake @@ -6,6 +6,10 @@ vcpkg_from_github( REF v3.5.2 SHA512 f00403c8bc76428088a38990117245b5b11ac90a2df21fa12c2d5c2e8af45fb3708abb705c612e0d9d7b0cfe4edb51c8b9630b60081b39fcb4370f31ee37acc7 HEAD_REF master + PATCHES + fix-InstallPath.patch + fix-cmake-path.patch + fix-embree-path.patch ) file(REMOVE ${SOURCE_PATH}/common/cmake/FindTBB.cmake) @@ -16,6 +20,12 @@ else() set(EMBREE_STATIC_RUNTIME OFF) endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(EMBREE_STATIC_LIB ON) +else() + set(EMBREE_STATIC_LIB OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} DISABLE_PARALLEL_CONFIGURE @@ -24,6 +34,7 @@ vcpkg_configure_cmake( -DEMBREE_ISPC_SUPPORT=OFF -DEMBREE_TUTORIALS=OFF -DEMBREE_STATIC_RUNTIME=${EMBREE_STATIC_RUNTIME} + -DEMBREE_STATIC_LIB=${EMBREE_STATIC_LIB} "-DTBB_LIBRARIES=TBB::tbb" "-DTBB_INCLUDE_DIRS=${CURRENT_INSTALLED_DIR}/include" ) @@ -33,20 +44,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -# these cmake files do not seem to contain helpful configuration for find libs, just remove them -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/embree-config.cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/embree-config-version.cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/embree-config.cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/embree-config-version.cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/embree3 TARGET_PATH share/embree) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/models) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/models) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/embree3) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/doc ${CURRENT_PACKAGES_DIR}/share/embree3/doc) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/doc ${CURRENT_PACKAGES_DIR}/share/embree/doc) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/embree3) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/embree3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/embree3/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/enet/CONTROL b/ports/enet/CONTROL index 7d2a87bf5..d28284306 100644 --- a/ports/enet/CONTROL +++ b/ports/enet/CONTROL @@ -1,5 +1,5 @@ Source: enet -Version: 1.3.13 +Version: 1.3.13-1 Homepage: https://github.com/lsalzman/enet Description: Reliable UDP networking library diff --git a/ports/enet/portfile.cmake b/ports/enet/portfile.cmake index 2a7fa4585..11c56137c 100644 --- a/ports/enet/portfile.cmake +++ b/ports/enet/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO "lsalzman/enet" @@ -32,7 +20,6 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/enet RENAME copyright) +vcpkg_copy_pdbs() -vcpkg_copy_pdbs() \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/entityx/CONTROL b/ports/entityx/CONTROL index 9585262b8..281a4206b 100644 --- a/ports/entityx/CONTROL +++ b/ports/entityx/CONTROL @@ -1,4 +1,4 @@ Source: entityx -Version: 1.3.0-1 +Version: 1.3.0-2 Description: EntityX - A fast, type-safe C++ Entity-Component system. Homepage: https://github.com/alecthomas/entityx diff --git a/ports/entityx/enable-std14.patch b/ports/entityx/enable-std14.patch deleted file mode 100644 index 06eff08ee..000000000 --- a/ports/entityx/enable-std14.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 23f5063..1fa10b8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -24,6 +24,7 @@ set(ENTITYX_BUILD_SHARED true CACHE BOOL "Build shared libraries?") - include(${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake) - include(CheckCXXSourceCompiles) - -+set(CMAKE_CXX_STANDARD 14) - # Default compiler args - if(0) - if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "(GNU|.*Clang)") diff --git a/ports/entityx/portfile.cmake b/ports/entityx/portfile.cmake index b55f5f602..326a21bdf 100644 --- a/ports/entityx/portfile.cmake +++ b/ports/entityx/portfile.cmake @@ -8,8 +8,6 @@ vcpkg_from_github( REF 1.3.0 SHA512 724a3f421f802e60a1106ff8a69435c9a9da14e35c3e88565bbc17bff3a17f2d9771818aac83320cc4f14de0ec770a66f1eb7cbf4318f43abd516c63e077c07d HEAD_REF master - PATCHES - enable-std14.patch ) vcpkg_configure_cmake( diff --git a/ports/entt/CONTROL b/ports/entt/CONTROL index 4ce029aef..dcc2a92d0 100644 --- a/ports/entt/CONTROL +++ b/ports/entt/CONTROL @@ -1,4 +1,4 @@ Source: entt -Version: 3.0.0-1 +Version: 3.1.1 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 3aed9147f..4642d8f7b 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.0.0 - SHA512 4c68d202bf00cb3f317bcf6e3c0d281e97718f6e4e198b2e280ec8bbfb7d1493e369ec30d2aea40aec3dbb5715a03bf445d1ea4f033621531e63998800bf2564 + REF v3.1.1 + SHA512 eec6dfa82c0290d4c9da2dda5eb31b8fca9de7378aa1560bea78512fa358da34b64efa7cb6c70b7d6fed0ea8dd041d44c6348d847f14b071a61f3258a4f720c1 HEAD_REF master ) diff --git a/ports/epsilon/CONTROL b/ports/epsilon/CONTROL index 3b740a976..be2f78562 100644 --- a/ports/epsilon/CONTROL +++ b/ports/epsilon/CONTROL @@ -1,4 +1,4 @@ Source: epsilon -Version: 0.9.2 +Version: 0.9.2-1 Homepage: https://sourceforge.net/projects/epsilon-project/ Description: EPSILON is an Open Source wavelet image compressor, that is aimed on parallel and robust image processing. \ No newline at end of file diff --git a/ports/epsilon/portfile.cmake b/ports/epsilon/portfile.cmake index 70aee7e1e..e21cc3d3a 100644 --- a/ports/epsilon/portfile.cmake +++ b/ports/epsilon/portfile.cmake @@ -9,7 +9,7 @@ vcpkg_download_distfile(ARCHIVE # support out of source builds. set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/epsilon-0.9.2) set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/epsilon-0.9.2) - +file(REMOVE_RECURSE ${SOURCE_PATH_DEBUG} ${SOURCE_PATH_RELEASE}) # to be sure that the patches can be properly applied, we always clean the buildtrees folder foreach(BUILD_TYPE debug release) vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}) vcpkg_apply_patches( @@ -96,4 +96,3 @@ file(INSTALL ${FILTERS} vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH_RELEASE}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/epsilon/ RENAME copyright) message(STATUS "Packaging ${TARGET_TRIPLET} done") - diff --git a/ports/evpp/CONTROL b/ports/evpp/CONTROL index 7c61e4ebd..5f367929a 100644 --- a/ports/evpp/CONTROL +++ b/ports/evpp/CONTROL @@ -1,5 +1,5 @@ Source: evpp -Version: 0.7.0 +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 +Build-Depends: glog, libevent (windows), libevent[openssl] (!windows), rapidjson, concurrentqueue (!windows), boost-lockfree (!windows) \ No newline at end of file diff --git a/ports/evpp/fix-linux-build.patch b/ports/evpp/fix-linux-build.patch new file mode 100644 index 000000000..2b772a145 --- /dev/null +++ b/ports/evpp/fix-linux-build.patch @@ -0,0 +1,112 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7872fc8..2a06614 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -47,7 +47,11 @@ string (REPLACE ";" " " CMAKE_CXX_FLAGS "${CXX_FLAGS}") + if (UNIX) + SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -ggdb -D_DEBUG -DGOOGLE_STRIP_LOG=0") + SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -g -ggdb -DNDEBUG -DGOOGLE_STRIP_LOG=1") +- SET(DEPENDENT_LIBRARIES event glog pthread) ++ find_package(glog CONFIG REQUIRED) ++ find_path(GLOG_INCLUDE_DIRS logging.h PATH_SUFFIXES glog) ++ find_package(Libevent CONFIG REQUIRED) ++ list(APPEND DEPENDENT_INCLUDE_DIRS "${GLOG_INCLUDE_DIRS}/../") ++ SET(DEPENDENT_LIBRARIES event_static event_core_static event_extra_static event_openssl_static glog::glog pthread) + else (UNIX) + SET(DEPENDENT_LIBRARIES event glog) + endif (UNIX) +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt +index 469ed1c..8219424 100644 +--- a/apps/CMakeLists.txt ++++ b/apps/CMakeLists.txt +@@ -2,7 +2,7 @@ + include_directories(${PROJECT_SOURCE_DIR}/apps ${PROJECT_SOURCE_DIR}/3rdparty) + + if (UNIX) +-set(LIBRARIES evpp_concurrentqueue event glog pthread) ++set(LIBRARIES evpp_concurrentqueue event_static event_core_static event_extra_static event_openssl_static glog::glog pthread) + link_directories("/home/s/safe/lib" ${PROJECT_BUILD_DIR}/lib) + else(UNIX) + set(LIBRARIES evpp_static event glog) +diff --git a/benchmark/http/libevent/CMakeLists.txt b/benchmark/http/libevent/CMakeLists.txt +index 1148616..0356b71 100644 +--- a/benchmark/http/libevent/CMakeLists.txt ++++ b/benchmark/http/libevent/CMakeLists.txt +@@ -1,3 +1,3 @@ + + add_executable(benchmark_http_libevent libevent_http_bench.c) +-target_link_libraries(benchmark_http_libevent event) ++target_link_libraries(benchmark_http_libevent event_static event_core_static event_extra_static event_openssl_static) +diff --git a/benchmark/ioevent/libevent/CMakeLists.txt b/benchmark/ioevent/libevent/CMakeLists.txt +index dfa51a3..de4849d 100644 +--- a/benchmark/ioevent/libevent/CMakeLists.txt ++++ b/benchmark/ioevent/libevent/CMakeLists.txt +@@ -1,3 +1,3 @@ + + add_executable(benchmark_ioevent_libevent libevent_ioevent_bench.c) +-target_link_libraries(benchmark_ioevent_libevent event) ++target_link_libraries(benchmark_ioevent_libevent event_static event_core_static event_extra_static event_openssl_static) +diff --git a/benchmark/throughput/libevent/CMakeLists.txt b/benchmark/throughput/libevent/CMakeLists.txt +index 21dab84..aefe698 100644 +--- a/benchmark/throughput/libevent/CMakeLists.txt ++++ b/benchmark/throughput/libevent/CMakeLists.txt +@@ -1,5 +1,5 @@ + add_executable(benchmark_tcp_libevent_client client.c) +-target_link_libraries(benchmark_tcp_libevent_client event) ++target_link_libraries(benchmark_tcp_libevent_client event_static event_core_static event_extra_static event_openssl_static) + + add_executable(benchmark_tcp_libevent_server server.c) +-target_link_libraries(benchmark_tcp_libevent_server event) ++target_link_libraries(benchmark_tcp_libevent_server event_static event_core_static event_extra_static event_openssl_static) +diff --git a/examples/recipes/self_control_timer/basic_01/CMakeLists.txt b/examples/recipes/self_control_timer/basic_01/CMakeLists.txt +index 7834db4..82294c5 100644 +--- a/examples/recipes/self_control_timer/basic_01/CMakeLists.txt ++++ b/examples/recipes/self_control_timer/basic_01/CMakeLists.txt +@@ -1,7 +1,7 @@ + file(GLOB SRCS *.cc *.h) + + add_executable(example_recipes_self_control_timer_basic_01 ${SRCS}) +-target_link_libraries(example_recipes_self_control_timer_basic_01 event) ++target_link_libraries(example_recipes_self_control_timer_basic_01 event_static event_core_static event_extra_static event_openssl_static) + + + +diff --git a/examples/recipes/self_control_timer/basic_02/CMakeLists.txt b/examples/recipes/self_control_timer/basic_02/CMakeLists.txt +index a8be419..0329ccc 100644 +--- a/examples/recipes/self_control_timer/basic_02/CMakeLists.txt ++++ b/examples/recipes/self_control_timer/basic_02/CMakeLists.txt +@@ -1,7 +1,7 @@ + file(GLOB SRCS *.cc *.h) + + add_executable(example_recipes_self_control_timer_basic_02 ${SRCS}) +-target_link_libraries(example_recipes_self_control_timer_basic_02 event) ++target_link_libraries(example_recipes_self_control_timer_basic_02 event_static event_core_static event_extra_static event_openssl_static) + + + +diff --git a/examples/recipes/self_control_timer/cancel_03/CMakeLists.txt b/examples/recipes/self_control_timer/cancel_03/CMakeLists.txt +index 1cae9bb..218b771 100644 +--- a/examples/recipes/self_control_timer/cancel_03/CMakeLists.txt ++++ b/examples/recipes/self_control_timer/cancel_03/CMakeLists.txt +@@ -1,7 +1,7 @@ + file(GLOB SRCS *.cc *.h) + + add_executable(example_recipes_self_control_timer_cancel_03 ${SRCS}) +-target_link_libraries(example_recipes_self_control_timer_cancel_03 event) ++target_link_libraries(example_recipes_self_control_timer_cancel_03 event_static event_core_static event_extra_static event_openssl_static) + + + +diff --git a/examples/recipes/self_control_timer/periodic_04/CMakeLists.txt b/examples/recipes/self_control_timer/periodic_04/CMakeLists.txt +index 749c584..e7c658e 100644 +--- a/examples/recipes/self_control_timer/periodic_04/CMakeLists.txt ++++ b/examples/recipes/self_control_timer/periodic_04/CMakeLists.txt +@@ -1,7 +1,7 @@ + file(GLOB SRCS *.cc *.h) + + add_executable(example_recipes_self_control_timer_periodic_04 ${SRCS}) +-target_link_libraries(example_recipes_self_control_timer_periodic_04 event) ++target_link_libraries(example_recipes_self_control_timer_periodic_04 event_static event_core_static event_extra_static event_openssl_static) + + + diff --git a/ports/evpp/portfile.cmake b/ports/evpp/portfile.cmake index b20642bdd..ed75772de 100644 --- a/ports/evpp/portfile.cmake +++ b/ports/evpp/portfile.cmake @@ -1,32 +1,18 @@ include(vcpkg_common_functions) -set(EVPP_LOCAL_TEST OFF) - set(EVPP_VERSION 0.7.0) -if (EVPP_LOCAL_TEST) - set(EVPP_HASH bfefb3f7c1f620fbca2c3d94e2e7c39aa963156a084caf39bcc348a9380f97c73c9ee965126434d71c8b14836e669d554ed98632b3bb38eb65b421fd8eff49b2) - set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/evpp) - vcpkg_download_distfile(ARCHIVE - URLS "http://127.0.0.1:8000/evpp.zip" - FILENAME "evpp-${EVPP_VERSION}.zip" - SHA512 ${EVPP_HASH} - ) - vcpkg_extract_source_archive(${ARCHIVE}) -else () - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Qihoo360/evpp - REF v${EVPP_VERSION} - SHA512 ddcef8d2af6b3c46473d755c0f0994d63d56240ea85d6b44ceb6b77724c3c56bbf1156f7188e270fb5f9f36f25bfc2f96669d7249a34c921922671e3fe267e88 - HEAD_REF master - ) - file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/rapidjson ${SOURCE_PATH}/3rdparty/concurrentqueue) - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-rapidjson-1-1.patch - ) -endif () +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Qihoo360/evpp + REF v${EVPP_VERSION} + SHA512 ddcef8d2af6b3c46473d755c0f0994d63d56240ea85d6b44ceb6b77724c3c56bbf1156f7188e270fb5f9f36f25bfc2f96669d7249a34c921922671e3fe267e88 + HEAD_REF master + PATCHES + fix-rapidjson-1-1.patch + fix-linux-build.patch +) +file(REMOVE_RECURSE ${SOURCE_PATH}/3rdparty/rapidjson ${SOURCE_PATH}/3rdparty/concurrentqueue) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -36,10 +22,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# remove duplicated include files file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/evpp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/evpp/LICENSE ${CURRENT_PACKAGES_DIR}/share/evpp/copyright) - +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) 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/CONTROL b/ports/exiv2/CONTROL index a4ea22030..ed3fabcc6 100644 --- a/ports/exiv2/CONTROL +++ b/ports/exiv2/CONTROL @@ -1,8 +1,8 @@ Source: exiv2 -Version: 0.27.1 +Version: 0.27.2-1 Build-Depends: zlib, expat, libiconv, gettext Description: Image metadata library and tools Homepage: https://www.exiv2.org Feature: unicode -Description: Compile with unicode support on windows \ No newline at end of file +Description: Compile with unicode support on windows diff --git a/ports/exiv2/iconv.patch b/ports/exiv2/iconv.patch index dcea70b86..406298aec 100644 --- a/ports/exiv2/iconv.patch +++ b/ports/exiv2/iconv.patch @@ -1,23 +1,27 @@ +diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake +index a458a0c..9caffcf 100644 --- a/cmake/findDependencies.cmake +++ b/cmake/findDependencies.cmake -@@ -36,5 +36,5 @@ - +@@ -40,7 +40,7 @@ else() + endif() if (EXIV2_ENABLE_NLS) - find_package(Intl REQUIRED) + find_package(unofficial-gettext CONFIG) endif( ) + find_package(Iconv) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 91469b6..4c51068 100644 +index 76eaabc..68d29de 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -208,14 +208,14 @@ +@@ -214,16 +214,15 @@ if( EXIV2_ENABLE_PNG ) endif() if( EXIV2_ENABLE_NLS ) - target_link_libraries(exiv2lib PRIVATE ${Intl_LIBRARIES}) - target_include_directories(exiv2lib PRIVATE ${Intl_INCLUDE_DIRS}) +- target_include_directories(exiv2lib_int PRIVATE ${Intl_INCLUDE_DIRS}) + target_link_libraries(exiv2lib PRIVATE unofficial::gettext::libintl) # Definition needed for translations target_compile_definitions(exiv2lib PUBLIC EXV_LOCALEDIR="/../${CMAKE_INSTALL_LOCALEDIR}") @@ -25,12 +29,10 @@ index 91469b6..4c51068 100644 -if( ICONV_FOUND ) - target_link_libraries( exiv2lib PRIVATE Iconv::Iconv ) --endif() +if(NOT TARGET unofficial::iconv::libiconv) + find_package(unofficial-iconv CONFIG) -+endif() + endif() +target_link_libraries( exiv2lib PRIVATE unofficial::iconv::libiconv ) - - + write_basic_package_version_file(exiv2ConfigVersion.cmake COMPATIBILITY ExactVersion) diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index 64ecfc28f..86c495f4f 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -3,11 +3,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Exiv2/exiv2 - REF 0.27.1 - SHA512 1b637138cee019122d98ae3c54e84416ba1a90531b3f541748697c9f1a8faee18699f10cef5a63bf60b8588e8c670925cbac3ad6c82e41160442f8a66380d407 + REF v0.27.2 + SHA512 349063fd8ef6c44b5b2f3f68aad839271a9cb8ff206af237d28d9e9d05dcdf43b61f3232d4566780b2898d62c20134e8ea65d588a19a664c0224750e4ea1340d 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)) @@ -24,12 +25,10 @@ vcpkg_configure_cmake( -DEXIV2_BUILD_EXIV2_COMMAND:BOOL=FALSE -DEXIV2_BUILD_UNIT_TESTS:BOOL=FALSE -DEXIV2_BUILD_SAMPLES:BOOL=FALSE -# -DEXIV2_ENABLE_NLS:BOOL=OFF ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/exiv2/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/exiv2) configure_file( ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake @@ -48,5 +47,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() # Handle copyright -file(COPY ${SOURCE_PATH}/ABOUT-NLS DESTINATION ${CURRENT_PACKAGES_DIR}/share/exiv2) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/exiv2/ABOUT-NLS ${CURRENT_PACKAGES_DIR}/share/exiv2/copyright) +file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/exiv2) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/exiv2/COPYING ${CURRENT_PACKAGES_DIR}/share/exiv2/copyright) diff --git a/ports/expat/CONTROL b/ports/expat/CONTROL index f01b5b9e1..68629eb2d 100644 --- a/ports/expat/CONTROL +++ b/ports/expat/CONTROL @@ -1,4 +1,4 @@ Source: expat -Version: 2.2.6 +Version: 2.2.7 Homepage: https://github.com/libexpat/libexpat Description: XML parser library written in C diff --git a/ports/expat/portfile.cmake b/ports/expat/portfile.cmake index 7e2c322db..7b97fb3de 100644 --- a/ports/expat/portfile.cmake +++ b/ports/expat/portfile.cmake @@ -6,8 +6,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libexpat/libexpat - REF R_2_2_6 - SHA512 727fbd24041c9af71b32353448583a6d8b38ddf93b10c97510e847939c2ad2be9b40ff6e6e27b725bff277982c2fc96c75f19c4a3ac4a246133eb62870c963d8 + REF R_2_2_7 + SHA512 11b1f9a135c4501ef0112e17da8381e956366165a11a384daedd4cdef9a00c3112c8f6ff8c8f6d3b5e7b71b9a73041f23beac0f27e9cfafe1ec0266d95870408 HEAD_REF master) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) diff --git a/ports/exprtk/CONTROL b/ports/exprtk/CONTROL index d55d903ae..f2d1c383e 100644 --- a/ports/exprtk/CONTROL +++ b/ports/exprtk/CONTROL @@ -1,4 +1,4 @@ Source: exprtk -Version: 2019-03-29 +Version: 2019-07-11 Homepage: https://github.com/ArashPartow/exprtk Description: Simple to use, easy to integrate and extremely efficient run-time C++ mathematical expression parser and evaluation engine. diff --git a/ports/exprtk/portfile.cmake b/ports/exprtk/portfile.cmake index c82f9cfa5..12aaeee1b 100644 --- a/ports/exprtk/portfile.cmake +++ b/ports/exprtk/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArashPartow/exprtk - REF 9fad72832c70348725c073e369a3321781001766 - SHA512 6a2a4bdc331806bb5f97737316cc126ab5e8ec75626dd5a63e854a24b7ae41cddccfee8ea09168ed0d272a92dd89cfc9878507ecf70c3f03d5b4f5e53d877727 + REF 7ccb123e9e79bc3df30a66c0bffe921d195702d7 + SHA512 75b6adaa254060053f56e3978be3e10847c9dae22f675eae728cb0c7fd9a5e6fee8c8278764826e0e0be3bcb2cfd2288e091d0f965ac2e331403683f15764b92 ) file(COPY ${SOURCE_PATH}/exprtk.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/fadbad/portfile.cmake b/ports/fadbad/portfile.cmake index af9721962..db947be82 100644 --- a/ports/fadbad/portfile.cmake +++ b/ports/fadbad/portfile.cmake @@ -1,11 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/FADBAD++) + vcpkg_download_distfile(ARCHIVE URLS "http://www.fadbad.com/download/FADBAD++-2.1.tar.gz" FILENAME "FADBAD++-2.1.tar.gz" SHA512 7a82c51c03acb0806d673853f391379ea974e304c831ee15ef05a90c30661736ff572481b5b8254b2646c63968043ee90a06cba88261b87fc34d01f92403360a ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(INSTALL ${SOURCE_PATH}/tadiff.h diff --git a/ports/fast-cpp-csv-parser/CONTROL b/ports/fast-cpp-csv-parser/CONTROL new file mode 100644 index 000000000..a9766a66a --- /dev/null +++ b/ports/fast-cpp-csv-parser/CONTROL @@ -0,0 +1,4 @@ +Source: fast-cpp-csv-parser +Version: 2019-08-14 +Description: A small, easy-to-use and fast header-only library for reading comma separated value (CSV) files +Homepage: https://github.com/ben-strasser/fast-cpp-csv-parser diff --git a/ports/fast-cpp-csv-parser/portfile.cmake b/ports/fast-cpp-csv-parser/portfile.cmake new file mode 100644 index 000000000..be3ef7e88 --- /dev/null +++ b/ports/fast-cpp-csv-parser/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ben-strasser/fast-cpp-csv-parser + REF 78f413248fdeea27368481c4a1d48c059ac36680 + SHA512 f8eb477e0b5e82f5b5d7bdf045094dcc59433e7b6305a1e16e45c2c24f4bbb7f6e9540e17a8ffafce29ea2ebe3a2647174824abe80da5f2054f7df3d7da8c28d + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/csv.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/fastcdr/CONTROL b/ports/fastcdr/CONTROL index 4d3dc062c..6acb9a941 100644 --- a/ports/fastcdr/CONTROL +++ b/ports/fastcdr/CONTROL @@ -1,3 +1,3 @@ Source: fastcdr -Version: 1.0.9-1 +Version: 1.0.11 Description: eProsima FastCDR is a C++ library that provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation that modifies the standard. diff --git a/ports/fastcdr/portfile.cmake b/ports/fastcdr/portfile.cmake index f4f2f81f0..27ac7e328 100644 --- a/ports/fastcdr/portfile.cmake +++ b/ports/fastcdr/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eProsima/Fast-CDR - REF v1.0.9 - SHA512 2825e61fc4736c9364fc3130f649798cec11fcb56dc5e202c17731121ad8a2795f0fbf8acb5d8d662181bc470e7a3e95a5027283872714be505bb2562c2e2312 + REF v1.0.11 + SHA512 04b84437ffad6425ba7f934adb9ae6a88e710e50ca9259ae0ecdb9dbfcdbd59944fd21e85e81ba4d341df1ee2c76fa7040ab902b869ef3185cacee6e866f5e80 HEAD_REF master PATCHES install-cmake.patch ) diff --git a/ports/fastfeat/CONTROL b/ports/fastfeat/CONTROL index ff76128fc..934993034 100644 --- a/ports/fastfeat/CONTROL +++ b/ports/fastfeat/CONTROL @@ -1,3 +1,3 @@ Source: fastfeat -Version: 391d5e9 +Version: 391d5e9-1 Description: FAST feature detectors in C diff --git a/ports/fastfeat/portfile.cmake b/ports/fastfeat/portfile.cmake index 95d178ea4..7fd35b9f8 100644 --- a/ports/fastfeat/portfile.cmake +++ b/ports/fastfeat/portfile.cmake @@ -17,6 +17,7 @@ DESTINATION ${SOURCE_PATH} vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) diff --git a/ports/fastlz/CONTROL b/ports/fastlz/CONTROL index 4154ea953..98b53557e 100644 --- a/ports/fastlz/CONTROL +++ b/ports/fastlz/CONTROL @@ -1,4 +1,4 @@ Source: fastlz -Version: 1.0-2 +Version: 1.0-3 Homepage: https://github.com/ariya/FastLZ Description: A lightning-fast lossless compression library diff --git a/ports/fastlz/portfile.cmake b/ports/fastlz/portfile.cmake index 857dd7d0b..38c71aade 100644 --- a/ports/fastlz/portfile.cmake +++ b/ports/fastlz/portfile.cmake @@ -14,6 +14,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/fcl/CONTROL b/ports/fcl/CONTROL index bc1a27ccc..161192e79 100644 --- a/ports/fcl/CONTROL +++ b/ports/fcl/CONTROL @@ -1,5 +1,5 @@ Source: fcl -Version: 0.5.0-5 +Version: 0.5.0-7 Homepage: https://github.com/flexible-collision-library/fcl Description: a library for performing three types of proximity queries on a pair of geometric models composed of triangles Build-Depends: ccd, octomap diff --git a/ports/fcl/portfile.cmake b/ports/fcl/portfile.cmake index 1bb4e9a15..6c7f54551 100644 --- a/ports/fcl/portfile.cmake +++ b/ports/fcl/portfile.cmake @@ -8,13 +8,10 @@ vcpkg_from_github( REF 54e9619bc2b084ee50e986ac3308160d663481c4 SHA512 11bfa3fdeeda6766769a34d2248ca32b6b13ecb32b412c068aa1c7aa3495d55b3f7a82a93621965904f9813c3fd0f128a84f796ae5731d2ff15b85935a0e1261 HEAD_REF fcl-0.5 -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001_fix_package_detection.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-fix_dependencies.patch) + 0001_fix_package_detection.patch + 0002-fix_dependencies.patch +) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(FCL_STATIC_LIBRARY ON) @@ -34,9 +31,9 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake") + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/fcl") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/fcl) endif() diff --git a/ports/fdlibm/CONTROL b/ports/fdlibm/CONTROL index c1562c970..14bc9ad64 100644 --- a/ports/fdlibm/CONTROL +++ b/ports/fdlibm/CONTROL @@ -1,3 +1,3 @@ Source: fdlibm -Version: 5.3-3 +Version: 5.3-4 Description: FDLIBM (Freely Distributable LIBM) is a C math library for machines that support IEEE 754 floating-point arithmetic diff --git a/ports/fdlibm/portfile.cmake b/ports/fdlibm/portfile.cmake index ef069289d..7bbd21f06 100644 --- a/ports/fdlibm/portfile.cmake +++ b/ports/fdlibm/portfile.cmake @@ -1,22 +1,9 @@ include(vcpkg_common_functions) -# vcpkg_from_git uses git archive to generate the hash, -# depending on what system or git settings this runs with it will result in a different hash -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - set(FDLIBM_HASH 825dcbbb88e3ebda6d928e1794da58d5135d37e36551c12de7eeab58a67adc4f5629c65d6afde567daeb489c287302116b2a5bbdb16693a3b068bbe16b250cf7) -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(FDLIBM_HASH 954c75f9f7540f4efb21b1f8de296149c648c0ba10d5e9cc99a247164b9e99b6dc37349a9ddaa04ba93dc035562457665aacf7146926d716cd406b63b97c5d44) -else() - # depending on how git is configured the hash could be - # bc788c840a57716f996513980d31b203bd86ce9af1ac3656a187266bfdc2fbb22a9ddf88f79ffc91dd75f3f1f1e4fd3449a42b566ffe5e49e9384efd91a68613 - set(FDLIBM_HASH 75c49ba2875b73e0bfe3a4595be1478ce6041236653b803b02ba00997652c969c351c9647923692af0799149da86c737467ab2954bd8845a2f75b14fde71ac29) -endif() - vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH URL https://android.googlesource.com/platform/external/fdlibm REF 59f7335e4dd8275a7dc2f8aeb4fd00758fde37ac - SHA512 ${FDLIBM_HASH} ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/ffmpeg/0001-create-lib-libraries.patch b/ports/ffmpeg/0001-create-lib-libraries.patch new file mode 100644 index 000000000..493e24c1b --- /dev/null +++ b/ports/ffmpeg/0001-create-lib-libraries.patch @@ -0,0 +1,25 @@ +diff --git a/configure b/configure +index 34c2adb..1c8008a 100755 +--- a/configure ++++ b/configure +@@ -5352,15 +5352,17 @@ case $target_os in + ;; + win32|win64) + disable symver +- if enabled shared; then ++# if enabled shared; then + # Link to the import library instead of the normal static library + # for shared libs. + LD_LIB='%.lib' + # Cannot build both shared and static libs with MSVC or icl. +- disable static +- fi ++# disable static ++# fi + enabled x86_32 && check_ldflags -LARGEADDRESSAWARE + shlibdir_default="$bindir_default" ++ LIBPREF="" ++ LIBSUF=".lib" + SLIBPREF="" + SLIBSUF=".dll" + SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' diff --git a/ports/ffmpeg/0002-detect-openssl.patch b/ports/ffmpeg/0002-detect-openssl.patch new file mode 100644 index 000000000..87a7656c8 --- /dev/null +++ b/ports/ffmpeg/0002-detect-openssl.patch @@ -0,0 +1,14 @@ +diff --git a/configure b/configure +index 1c8008a..bd2de34 100755 +--- a/configure ++++ b/configure +@@ -6360,7 +6360,8 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP + check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || + check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || + check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || +- die "ERROR: openssl not found"; } ++ check_lib openssl openssl/ssl.h SSL_library_init -llibeay32 -lssleay32 || ++ die "ERROR: openssl not found"; } + enabled pocketsphinx && require_pkg_config pocketsphinx pocketsphinx pocketsphinx/pocketsphinx.h ps_init + enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && + require_pkg_config rockchip_mpp "rockchip_mpp >= 1.3.7" rockchip/rk_mpi.h mpp_create && diff --git a/ports/ffmpeg/0003-fix-windowsinclude.patch b/ports/ffmpeg/0003-fix-windowsinclude.patch new file mode 100644 index 000000000..8fe6a5474 --- /dev/null +++ b/ports/ffmpeg/0003-fix-windowsinclude.patch @@ -0,0 +1,28 @@ +diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c +index 9cfbc45..e3447e6 100644 +--- a/fftools/cmdutils.c ++++ b/fftools/cmdutils.c +@@ -63,6 +63,8 @@ + #include + #endif + #ifdef _WIN32 ++#define _WIN32_WINNT 0x0502 ++#define WIN32_LEAN_AND_MEAN + #include + #endif + +diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c +index 01f0410..dbb0736 100644 +--- a/fftools/ffmpeg.c ++++ b/fftools/ffmpeg.c +@@ -23,6 +23,10 @@ + * multimedia converter based on the FFmpeg libraries + */ + ++#define _WIN32_WINNT 0x0502 // Must be less than 0x0600, because otherwise WinSock2.h defines "pollfd" which then gets redefined in "os_support.h". ++#define WIN32_LEAN_AND_MEAN ++ ++ + #include "config.h" + #include + #include diff --git a/ports/ffmpeg/0004-fix-debug-build.patch b/ports/ffmpeg/0004-fix-debug-build.patch new file mode 100644 index 000000000..6fe0780db --- /dev/null +++ b/ports/ffmpeg/0004-fix-debug-build.patch @@ -0,0 +1,30 @@ +diff --git a/configure b/configure +index bd2de34..fba948a 100755 +--- a/configure ++++ b/configure +@@ -3993,6 +3993,9 @@ for opt do + --libfuzzer=*) + libfuzzer_path="$optval" + ;; ++ --debug) ++ enable debug_configure ++ ;; + *) + optname="${opt%%=*}" + optname="${optname#--}" +@@ -6152,8 +6155,13 @@ fi + + enabled zlib && { check_pkg_config zlib zlib "zlib.h" zlibVersion || + check_lib zlib zlib.h zlibVersion -lz; } +-enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2 +-enabled lzma && check_lib lzma lzma.h lzma_version_number -llzma ++if enabled debug_configure; then ++ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2d ++ enabled lzma && check_lib lzma lzma.h lzma_version_number -llzmad ++else ++ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2 ++ enabled lzma && check_lib lzma lzma.h lzma_version_number -llzma ++fi + + # On some systems dynamic loading requires no extra linker flags + check_lib libdl dlfcn.h "dlopen dlsym" || check_lib libdl dlfcn.h "dlopen dlsym" -ldl diff --git a/ports/ffmpeg/0005-fix-libvpx-linking.patch b/ports/ffmpeg/0005-fix-libvpx-linking.patch new file mode 100644 index 000000000..dac5e5928 --- /dev/null +++ b/ports/ffmpeg/0005-fix-libvpx-linking.patch @@ -0,0 +1,53 @@ +diff --git a/configure b/configure +index fba948a..50eea9b 100755 +--- a/configure ++++ b/configure +@@ -5207,6 +5207,8 @@ case "$arch" in + ;; + esac + ++libvpx_name=vpx ++ + # OS specific + case $target_os in + aix) +@@ -5379,6 +5381,15 @@ case $target_os in + enabled x86_64 && objformat="win64" || objformat="win32" + ranlib=: + enable dos_paths ++ if [ -z "${extra_cflags##*-MDd*}" ]; then ++ libvpx_name=vpxmdd ++ elif [ -z "${extra_cflags##*-MD*}" ]; then ++ libvpx_name=vpxmd ++ elif [ -z "${extra_cflags##*-MTd*}" ]; then ++ libvpx_name=vpxmtd ++ elif [ -z "${extra_cflags##*-MT*}" ]; then ++ libvpx_name=vpxmt ++ fi + ;; + cygwin*) + target_os=cygwin +@@ -6290,19 +6301,19 @@ enabled libvorbis && require_pkg_config libvorbis vorbis vorbis/codec.h + enabled libvpx && { + enabled libvpx_vp8_decoder && { + check_pkg_config libvpx_vp8_decoder "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp8_dx || +- check_lib libvpx_vp8_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp8_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs $pthreads_extralibs" ++ check_lib libvpx_vp8_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp8_dx VPX_IMG_FMT_HIGHBITDEPTH" "-l$libvpx_name $libm_extralibs $pthreads_extralibs" + } + enabled libvpx_vp8_encoder && { + check_pkg_config libvpx_vp8_encoder "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp8_cx || +- check_lib libvpx_vp8_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp8_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs $pthreads_extralibs" ++ check_lib libvpx_vp8_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp8_cx VPX_IMG_FMT_HIGHBITDEPTH" "-l$libvpx_name $libm_extralibs $pthreads_extralibs" + } + enabled libvpx_vp9_decoder && { + check_pkg_config libvpx_vp9_decoder "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx || +- check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs $pthreads_extralibs" ++ check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-l$libvpx_name $libm_extralibs $pthreads_extralibs" + } + enabled libvpx_vp9_encoder && { + check_pkg_config libvpx_vp9_encoder "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx || +- check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs $pthreads_extralibs" ++ check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-l$libvpx_name $libm_extralibs $pthreads_extralibs" + } + if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder libvpx_vp8_encoder libvpx_vp9_encoder; then + die "libvpx enabled but no supported decoders found" diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL index 209bb2306..e8f12f97e 100644 --- a/ports/ffmpeg/CONTROL +++ b/ports/ffmpeg/CONTROL @@ -1,12 +1,14 @@ Source: ffmpeg -Version: 4.1-6 +Version: 4.2-1 +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. FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations. +Default-Features: avresample Feature: ffmpeg Description: build the ffmpeg.exe application - + Feature: ffserver Description: ffserver appplication support in ffmpeg @@ -45,3 +47,6 @@ Description: allow nonfree and unredistributable libraries Feature: gpl Description: allow GPL licensed libraries + +Feature: avresample +Description: Libav audio resampling library support in ffmpeg diff --git a/ports/ffmpeg/FindFFMPEG.cmake b/ports/ffmpeg/FindFFMPEG.cmake deleted file mode 100644 index f8e65f53a..000000000 --- a/ports/ffmpeg/FindFFMPEG.cmake +++ /dev/null @@ -1,13 +0,0 @@ -include(FindPackageHandleStandardArgs) - -find_path(FFMPEG_INCLUDE_DIRS NAMES libavcodec/avcodec.h) -unset(FFMPEG_LIBRARIES) -foreach(FFMPEG_SUBLIBRARY avformat avdevice avcodec avutil swscale) - find_library(FFMPEG_lib${FFMPEG_SUBLIBRARY}_LIBRARY NAMES ${FFMPEG_SUBLIBRARY}) - list(APPEND FFMPEG_LIBRARIES ${FFMPEG_lib${FFMPEG_SUBLIBRARY}_LIBRARY}) -endforeach() -if(WIN32) - list(APPEND FFMPEG_LIBRARIES wsock32 ws2_32 Secur32) -endif() - -find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS) diff --git a/ports/ffmpeg/FindFFMPEG.cmake.in b/ports/ffmpeg/FindFFMPEG.cmake.in new file mode 100644 index 000000000..d5139220b --- /dev/null +++ b/ports/ffmpeg/FindFFMPEG.cmake.in @@ -0,0 +1,174 @@ +# Distributed under the OSI-approved BSD 3-Clause License. +# +#.rst: +# FindFFMPEG +# -------- +# +# Find the FFPMEG libraries +# +# Result Variables +# ^^^^^^^^^^^^^^^^ +# +# The following variables will be defined: +# +# ``FFMPEG_FOUND`` +# True if FFMPEG found on the local system +# +# ``FFMPEG_INCLUDE_DIRS`` +# Location of FFMPEG header files +# +# ``FFMPEG_LIBRARY_DIRS`` +# Location of FFMPEG libraries +# +# ``FFMPEG_LIBRARIES`` +# List of the FFMPEG libraries found +# +# + +include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) +include(${CMAKE_ROOT}/Modules/CMakeFindDependencyMacro.cmake) + +set(FFMPEG_VERSION "4.2") + +find_dependency(Threads) +if(UNIX) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS -pthread -lvdpau -lX11) +endif() + +if(@ENABLE_BZIP2@) + find_dependency(BZip2) + get_target_property(BZip2_LIBRARY_RELEASE BZip2::BZip2 IMPORTED_LOCATION_RELEASE) + get_target_property(BZip2_LIBRARY_DEBUG BZip2::BZip2 IMPORTED_LOCATION_DEBUG) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$:${BZip2_LIBRARY_DEBUG}>$<$:${BZip2_LIBRARY_RELEASE}>") +endif() + +if(@ENABLE_LZMA@) + find_dependency(LibLZMA) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS "$<$:${LibLZMA_LIBRARY_DEBUG}>$<$:${LibLZMA_LIBRARY_RELEASE}>") +endif() + +# Platform dependent libraries required by FFMPEG +if(WIN32) + if(NOT CYGWIN) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS wsock32 ws2_32 Secur32 bcrypt) + endif() +else() + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS m) +endif() + +macro(FFMPEG_FIND varname shortname headername) + if(NOT FFMPEG_${varname}_INCLUDE_DIRS) + find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATH_SUFFIXES ffmpeg) + endif() + if(NOT FFMPEG_${varname}_LIBRARY) + find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATH_SUFFIXES ffmpeg ffmpeg/lib) + get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY) + find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS debug PATH_SUFFIXES ffmpeg ffmpeg/lib ffmpeg/debug/lib debug/ffmpeg/lib) + get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY) + select_library_configurations(FFMPEG_${varname}) + endif() + if (FFMPEG_${varname}_LIBRARY AND FFMPEG_${varname}_INCLUDE_DIRS) + set(FFMPEG_${varname}_FOUND 1) + list(APPEND FFMPEG_LIBRARY_DIRS ${FFMPEG_${varname}_LIBRARY_RELEASE_DIR} ${FFMPEG_${varname}_LIBRARY_DEBUG_DIR}) + endif() +endmacro(FFMPEG_FIND) + +macro(FFMPEG_FIND_GENEX varname shortname headername) + if(NOT FFMPEG_${varname}_INCLUDE_DIRS) + find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATH_SUFFIXES ffmpeg) + endif() + if(NOT FFMPEG_${varname}_LIBRARY) + find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATH_SUFFIXES ffmpeg ffmpeg/lib) + get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY) + find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS debug PATH_SUFFIXES ffmpeg ffmpeg/lib ffmpeg/debug/lib debug/ffmpeg/lib) + get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY) + set(FFMPEG_${varname}_LIBRARY "$<$:${FFMPEG_${varname}_LIBRARY_DEBUG}>$<$:${FFMPEG_${varname}_LIBRARY_RELEASE}>" CACHE STRING "") + set(FFMPEG_${varname}_LIBRARIES ${FFMPEG_${varname}_LIBRARY} CACHE STRING "") + endif() + if (FFMPEG_${varname}_LIBRARY AND FFMPEG_${varname}_INCLUDE_DIRS) + set(FFMPEG_${varname}_FOUND 1) + list(APPEND FFMPEG_LIBRARY_DIRS ${FFMPEG_${varname}_LIBRARY_RELEASE_DIR} ${FFMPEG_${varname}_LIBRARY_DEBUG_DIR}) + endif() +endmacro(FFMPEG_FIND_GENEX) + +if(WIN32) + FFMPEG_FIND_GENEX(libzlib zlib zlib.h) +else() + FFMPEG_FIND_GENEX(libzlib z zlib.h) +endif() + +if(APPLE) + find_library(VT_UNIT VideoToolbox) + if (NOT VT_UNIT) + message(FATAL_ERROR "VideoToolbox not found") + endif() + find_library(AT_UNIT AudioToolbox) + if (NOT AT_UNIT) + message(FATAL_ERROR "AudioToolbox not found") + endif() + find_library(SEC_UNIT Security) + if (NOT SEC_UNIT) + message(FATAL_ERROR "Security not found") + endif() + find_library(CF_UNIT CoreFoundation) + if (NOT CF_UNIT) + message(FATAL_ERROR "CoreFoundation not found") + endif() + find_library(CM_UNIT CoreMedia) + if (NOT CM_UNIT) + message(FATAL_ERROR "CoreMedia not found") + endif() + find_library(CV_UNIT CoreVideo) + if (NOT CV_UNIT) + message(FATAL_ERROR "CoreVideo not found") + endif() + find_package(Iconv QUIET) + list(APPEND FFMPEG_PLATFORM_DEPENDENT_LIBS ${VT_UNIT} ${AT_UNIT} ${SEC_UNIT} ${CF_UNIT} ${CM_UNIT} ${CV_UNIT} ${Iconv_LIBRARIES}) +endif() + +FFMPEG_FIND(libavcodec avcodec avcodec.h) +FFMPEG_FIND(libavdevice avdevice avdevice.h) +FFMPEG_FIND(libavfilter avfilter avfilter.h) +FFMPEG_FIND(libavformat avformat avformat.h) +FFMPEG_FIND(libavresample avresample avresample.h) +FFMPEG_FIND(libavutil avutil avutil.h) +FFMPEG_FIND(libswresample swresample swresample.h) +FFMPEG_FIND(libswscale swscale swscale.h) + +if (FFMPEG_libavcodec_FOUND AND FFMPEG_libavdevice_FOUND AND FFMPEG_libavfilter_FOUND AND FFMPEG_libavformat_FOUND AND FFMPEG_libavutil_FOUND AND FFMPEG_libswresample_FOUND AND FFMPEG_libswscale_FOUND AND FFMPEG_libzlib_FOUND) + list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_libavformat_INCLUDE_DIRS} ${FFMPEG_libavdevice_INCLUDE_DIRS} ${FFMPEG_libavcodec_INCLUDE_DIRS} ${FFMPEG_libavutil_INCLUDE_DIRS} ${FFMPEG_libswscale_INCLUDE_DIRS}) + list(REMOVE_DUPLICATES FFMPEG_INCLUDE_DIRS) + list(REMOVE_DUPLICATES FFMPEG_LIBRARY_DIRS) + + set(FFMPEG_libavcodec_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavdevice_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavfilter_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libavformat_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + if(FFMPEG_libavresample_FOUND) + set(FFMPEG_libavresample_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + endif() + set(FFMPEG_libavutil_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libswresample_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + set(FFMPEG_libswscale_VERSION "${FFMPEG_VERSION}" CACHE STRING "") + + list(APPEND FFMPEG_LIBRARIES + ${FFMPEG_libavformat_LIBRARY} + ${FFMPEG_libavdevice_LIBRARY} + ${FFMPEG_libavcodec_LIBRARY} + ${FFMPEG_libavutil_LIBRARY} + ${FFMPEG_libswscale_LIBRARY} + ${FFMPEG_libavfilter_LIBRARY} + ${FFMPEG_libswresample_LIBRARY} + ${FFMPEG_libavresample_LIBRARY} + ${FFMPEG_libzlib_LIBRARY} + ${FFMPEG_PLATFORM_DEPENDENT_LIBS} + ) + set(FFMPEG_LIBRARY ${FFMPEG_LIBRARIES}) + + set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE STRING "") + set(FFMPEG_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIRS} CACHE STRING "") + set(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBRARY_DIRS} CACHE STRING "") +endif() + +find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_LIBRARY_DIRS FFMPEG_INCLUDE_DIRS) diff --git a/ports/ffmpeg/configure_opencv.patch b/ports/ffmpeg/configure_opencv.patch deleted file mode 100644 index ac5c82797..000000000 --- a/ports/ffmpeg/configure_opencv.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/configure -+++ b/configure -@@ -6110,7 +6110,7 @@ enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec - enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb - enabled libopencv && { check_headers opencv2/core/core_c.h && - { check_pkg_config libopencv opencv opencv2/core/core_c.h cvCreateImageHeader || -- require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } || -+ require opencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core341 -lopencv_imgproc341; } || - require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; } - enabled libopenh264 && require_pkg_config libopenh264 openh264 wels/codec_api.h WelsGetCodecVersion - enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version || diff --git a/ports/ffmpeg/create-lib-libraries.patch b/ports/ffmpeg/create-lib-libraries.patch deleted file mode 100644 index ccad5ff8c..000000000 --- a/ports/ffmpeg/create-lib-libraries.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5f7c72d6c93fb1f4a730e2315fff6e5eb9bb95c8 Mon Sep 17 00:00:00 2001 -From: Anonymous Maarten -Date: Wed, 27 Sep 2017 15:50:40 +0200 -Subject: [PATCH] configure: create .lib static libraries using MSVC compiler - (instead of .a) - ---- - configure | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/configure b/configure -index ba38a73906..0a3f308323 100755 ---- a/configure -+++ b/configure -@@ -4890,15 +4890,17 @@ - ;; - win32|win64) - disable symver -- if enabled shared; then -+# if enabled shared; then - # Link to the import library instead of the normal static library - # for shared libs. - LD_LIB='%.lib' - # Cannot build both shared and static libs with MSVC or icl. -- disable static -- fi -+# disable static -+# fi - enabled x86_32 && check_ldflags -LARGEADDRESSAWARE - shlibdir_default="$bindir_default" -+ LIBPREF="" -+ LIBSUF=".lib" - SLIBPREF="" - SLIBSUF=".dll" - SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' --- -2.14.1.windows.1 - diff --git a/ports/ffmpeg/detect-openssl.patch b/ports/ffmpeg/detect-openssl.patch deleted file mode 100644 index affd37d15..000000000 --- a/ports/ffmpeg/detect-openssl.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 18de5c60ae0a987680681d5a0602009b428504fa Mon Sep 17 00:00:00 2001 -From: Gilles Khouzam -Date: Mon, 19 Jun 2017 16:33:38 -0700 -Subject: [PATCH] Add better detection for Openssl on Windows. - -Look for libeay32 and ssleay32 as another detection mechanism ---- - configure | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure b/configure -index a1818dc..1cf2a7c 100755 ---- a/configure -+++ b/configure -@@ -6127,6 +6127,7 @@ - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || - check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || -+ check_lib openssl openssl/ssl.h SSL_library_init -llibeay32 -lssleay32 || - die "ERROR: openssl not found"; } - enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && - require_pkg_config rockchip_mpp "rockchip_mpp >= 1.3.7" rockchip/rk_mpi.h mpp_create && diff --git a/ports/ffmpeg/fix_libvpx_windows_linking.patch b/ports/ffmpeg/fix_libvpx_windows_linking.patch deleted file mode 100644 index 805cd7e78..000000000 --- a/ports/ffmpeg/fix_libvpx_windows_linking.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git "a/configure" "b/configure" -index c8be177..2fef830 100644 ---- "a/configure" -+++ "b/configure" -@@ -5098,6 +5098,8 @@ case "$arch" in - ;; - esac - -+libvpx_name=vpx -+ - # OS specific - case $target_os in - aix) -@@ -5269,6 +5271,15 @@ case $target_os in - enabled x86_64 && objformat="win64" || objformat="win32" - ranlib=: - enable dos_paths -+ if [ -z "${extra_cflags##*-MDd*}" ]; then -+ libvpx_name=vpxmdd -+ elif [ -z "${extra_cflags##*-MD*}" ]; then -+ libvpx_name=vpxmd -+ elif [ -z "${extra_cflags##*-MTd*}" ]; then -+ libvpx_name=vpxmtd -+ elif [ -z "${extra_cflags##*-MT*}" ]; then -+ libvpx_name=vpxmt -+ fi - ;; - cygwin*) - target_os=cygwin -@@ -6153,21 +6164,21 @@ enabled libvorbis && require_pkg_config libvorbis vorbis vorbis/codec.h - enabled libvpx && { - enabled libvpx_vp8_decoder && { - check_pkg_config libvpx_vp8_decoder "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp8_dx || -- check_lib libvpx_vp8_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" -lvpx || -+ check_lib libvpx_vp8_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_dec_init_ver VPX_IMG_FMT_HIGHBITDEPTH" -l$libvpx_name || - die "ERROR: libvpx decoder version must be >=1.4.0"; - } - enabled libvpx_vp8_encoder && { - check_pkg_config libvpx_vp8_encoder "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp8_cx || -- check_lib libvpx_vp8_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" -lvpx || -+ check_lib libvpx_vp8_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_enc_init_ver VPX_IMG_FMT_HIGHBITDEPTH" -l$libvpx_name || - die "ERROR: libvpx encoder version must be >=1.4.0"; - } - enabled libvpx_vp9_decoder && { - check_pkg_config libvpx_vp9_decoder "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx || -- check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs" -+ check_lib libvpx_vp9_decoder "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VPX_IMG_FMT_HIGHBITDEPTH" "-l$libvpx_name $libm_extralibs" - } - enabled libvpx_vp9_encoder && { - check_pkg_config libvpx_vp9_encoder "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx || -- check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs" -+ check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-l$libvpx_name $libm_extralibs" - } - if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder libvpx_vp8_encoder libvpx_vp9_encoder; then - die "libvpx enabled but no supported decoders found" diff --git a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch deleted file mode 100644 index 09ee1219f..000000000 --- a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-1.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/fftools/cmdutils.c 2017-07-29 19:49:29.000000000 +0200 -+++ b/fftools/cmdutils.c 2018-09-02 20:31:42.509408400 +0200 -@@ -62,6 +62,8 @@ - #include - #endif - #ifdef _WIN32 -+#define _WIN32_WINNT 0x0600 -+#define WIN32_LEAN_AND_MEAN - #include - #endif - diff --git a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch b/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch deleted file mode 100644 index 69d725e2a..000000000 --- a/ports/ffmpeg/fix_windowsinclude-in-ffmpegexe-2.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/fftools/ffmpeg.c 2017-07-29 19:49:29.000000000 +0200 -+++ b/fftools/ffmpeg.c 2018-09-02 20:32:27.666725200 +0200 -@@ -23,6 +23,11 @@ - * multimedia converter based on the FFmpeg libraries - */ - -+#define _WIN32_WINNT 0x0502 // Must be less than 0x0600, because otherwise WinSock2.h defines "pollfd" which then gets redefined in "os_support.h". -+ // I suppose that "HAVE_STRUCT_POLLFD" should be 1, but it happens to be 0. Sorry, this is somewhat beyond me. -+#define WIN32_LEAN_AND_MEAN -+ -+ - #include "config.h" - #include - #include diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake index 1ce53a996..71bea6e95 100644 --- a/ports/ffmpeg/portfile.cmake +++ b/ports/ffmpeg/portfile.cmake @@ -1,21 +1,17 @@ include(vcpkg_common_functions) -vcpkg_download_distfile(ARCHIVE - URLS "http://ffmpeg.org/releases/ffmpeg-4.1.tar.bz2" - FILENAME "ffmpeg-4.1.tar.bz2" - SHA512 ccf6d07268dc47e08ca619eb182a003face2a8ee73ec1a28157330dd7de1df88939def1fc1c7e6b6ac7b59752cdad84657d589b2fafb73e14e5ef03fb6e33417 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} + REPO ffmpeg/ffmpeg + REF n4.2 + SHA512 9fa56364696f91e2bf4287954d26f0c35b3f8aad241df3fbd3c9fc617235d8c83b28ddcac88436383b2eb273f690322e6f349e2f9c64d02f0058a4b76fa55035 + HEAD_REF master PATCHES - create-lib-libraries.patch - detect-openssl.patch - configure_opencv.patch - fix_windowsinclude-in-ffmpegexe-1.patch - fix_windowsinclude-in-ffmpegexe-2.patch - fix_libvpx_windows_linking.patch + 0001-create-lib-libraries.patch + 0002-detect-openssl.patch + 0003-fix-windowsinclude.patch + 0004-fix-debug-build.patch + 0005-fix-libvpx-linking.patch ) if (${SOURCE_PATH} MATCHES " ") @@ -25,7 +21,7 @@ endif() vcpkg_find_acquire_program(YASM) get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_WINDOWS) set(SEP ";") #We're assuming that if we're building for Windows we're using MSVC set(INCLUDE_VAR "INCLUDE") @@ -36,7 +32,7 @@ else() set(LIB_PATH_VAR "LIBRARY_PATH") endif() -if (WIN32) +if(VCPKG_TARGET_IS_WINDOWS) set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}") set(BUILD_SCRIPT ${CMAKE_CURRENT_LIST_DIR}\\build.sh) @@ -113,18 +109,26 @@ else() set(OPTIONS "${OPTIONS} --disable-opencl") endif() +set (ENABLE_LZMA OFF) if("lzma" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-lzma") + set (ENABLE_LZMA ON) #necessary for configuring FFMPEG CMake Module else() set(OPTIONS "${OPTIONS} --disable-lzma") endif() +set (ENABLE_BZIP2 OFF) if("bzip2" IN_LIST FEATURES) set(OPTIONS "${OPTIONS} --enable-bzlib") + set (ENABLE_BZIP2 ON) #necessary for configuring FFMPEG CMake Module else() set(OPTIONS "${OPTIONS} --disable-bzlib") endif() +if("avresample" IN_LIST FEATURES) + set(OPTIONS "${OPTIONS} --enable-avresample") +endif() + set(OPTIONS_CROSS "") if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") @@ -147,11 +151,10 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(OPTIONS_CROSS " --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}") endif() -set(OPTIONS_DEBUG "") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html +set(OPTIONS_DEBUG "--debug") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html set(OPTIONS_RELEASE "") set(OPTIONS "${OPTIONS} ${OPTIONS_CROSS}") -set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0") if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(OPTIONS "${OPTIONS} --disable-static --enable-shared") @@ -160,9 +163,8 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") endif() endif() -message(STATUS "Building Options: ${OPTIONS}") - -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(VCPKG_TARGET_IS_WINDOWS) + set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0") if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd") set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MD --extra-cxxflags=-MD") @@ -173,33 +175,46 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore endif() set(ENV_LIB_PATH "$ENV{${LIB_PATH_VAR}}") -set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/lib${SEP}${ENV_LIB_PATH}") -message(STATUS "Building ${_csc_PROJECT_PATH} for Release") -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc "${BUILD_SCRIPT}" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" # BUILD DIR - "${SOURCE_PATH}" # SOURCE DIR - "${CURRENT_PACKAGES_DIR}" # PACKAGE DIR - "${OPTIONS} ${OPTIONS_RELEASE}" - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME build-${TARGET_TRIPLET}-rel -) +message(STATUS "Building Options: ${OPTIONS}") -set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/debug/lib${SEP}${ENV_LIB_PATH}") +# Relase build +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL release) + message(STATUS "Building Relase 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}") + message(STATUS "Building ${_csc_PROJECT_PATH} for Release") + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc "${BUILD_SCRIPT}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" # BUILD DIR + "${SOURCE_PATH}" # SOURCE DIR + "${CURRENT_PACKAGES_DIR}" # PACKAGE DIR + "${OPTIONS} ${OPTIONS_RELEASE}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME build-${TARGET_TRIPLET}-rel + ) +endif() -message(STATUS "Building ${_csc_PROJECT_PATH} for Debug") -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc "${BUILD_SCRIPT}" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" # BUILD DIR - "${SOURCE_PATH}" # SOURCE DIR - "${CURRENT_PACKAGES_DIR}/debug" # PACKAGE DIR - "${OPTIONS} ${OPTIONS_DEBUG}" - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME build-${TARGET_TRIPLET}-dbg -) +# Debug build +if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL debug) + message(STATUS "Building Debug Options: ${OPTIONS_DEBUG}") + set(ENV{${LIB_PATH_VAR}} "${CURRENT_INSTALLED_DIR}/debug/lib${SEP}${ENV_LIB_PATH}") + set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG}") + set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}") + message(STATUS "Building ${_csc_PROJECT_PATH} for Debug") + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc "${BUILD_SCRIPT}" + "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" # BUILD DIR + "${SOURCE_PATH}" # SOURCE DIR + "${CURRENT_PACKAGES_DIR}/debug" # PACKAGE DIR + "${OPTIONS} ${OPTIONS_DEBUG}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME build-${TARGET_TRIPLET}-dbg + ) +endif() file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/debug/lib/*.def) @@ -243,8 +258,7 @@ vcpkg_copy_pdbs() # Handle copyright # TODO: Examine build log and confirm that this license matches the build output -file(COPY ${SOURCE_PATH}/COPYING.LGPLv2.1 DESTINATION ${CURRENT_PACKAGES_DIR}/share/ffmpeg) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ffmpeg/COPYING.LGPLv2.1 ${CURRENT_PACKAGES_DIR}/share/ffmpeg/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING.LGPLv2.1 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -# Used by OpenCV -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindFFMPEG.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/ffmpeg) +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/ffmpeg/vcpkg-cmake-wrapper.cmake b/ports/ffmpeg/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..322387565 --- /dev/null +++ b/ports/ffmpeg/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(FFMPEG_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT FFMPEG_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${FFMPEG_PREV_MODULE_PATH}) diff --git a/ports/ffnvcodec/CONTROL b/ports/ffnvcodec/CONTROL new file mode 100644 index 000000000..5cc6cb19b --- /dev/null +++ b/ports/ffnvcodec/CONTROL @@ -0,0 +1,4 @@ +Source: ffnvcodec +Version: 9.1.23.0 +Homepage: https://github.com/FFmpeg/nv-codec-headers +Description: FFmpeg version of Nvidia Codec SDK headers. \ No newline at end of file diff --git a/ports/ffnvcodec/LICENSE.txt b/ports/ffnvcodec/LICENSE.txt new file mode 100644 index 000000000..a91215677 --- /dev/null +++ b/ports/ffnvcodec/LICENSE.txt @@ -0,0 +1,169 @@ +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 + +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] +Preamble +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. + +This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. + +When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. + +To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. + +For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. + +We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. + +To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. + +Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. + +Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. + +When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. + +We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. + +For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. + +In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. + +Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. + +The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". + +A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + +a) The modified work must itself be a software library. +b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. +c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. +d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. +(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. + +Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the Library into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. + +If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. + +5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. + +However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. + +When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. + +If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. + +6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: + +a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) +b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. +c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. +d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. +e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. +For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + +It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. + +7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: + +a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. +b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. +8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. + +11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Libraries +If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). + +To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + +one line to give the library's name and an idea of what it does. +Copyright (C) year name of author + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice +That's all there is to it! \ No newline at end of file diff --git a/ports/ffnvcodec/portfile.cmake b/ports/ffnvcodec/portfile.cmake new file mode 100644 index 000000000..c6f13e711 --- /dev/null +++ b/ports/ffnvcodec/portfile.cmake @@ -0,0 +1,13 @@ +# Header-only-library +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO FFmpeg/nv-codec-headers + REF n9.1.23.0 + SHA512 d9cb1ad496d971da31165e643c6c4f433561a856050503783051604f24ea5f9997859b05695632ea94ce9659966915789e6d7f7d536764804c9f673d1c8c63e4 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + +#Handle copyright +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/fftwpp/CONTROL b/ports/fftwpp/CONTROL new file mode 100644 index 000000000..9c701d5ef --- /dev/null +++ b/ports/fftwpp/CONTROL @@ -0,0 +1,5 @@ +Source: fftwpp +Version: 2.05 +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 new file mode 100644 index 000000000..f178d5f12 --- /dev/null +++ b/ports/fftwpp/portfile.cmake @@ -0,0 +1,34 @@ + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dealias/fftwpp + REF f31cf133f9f4ddf23878cb0a83e848b1f76df1a7 #2.05 + SHA512 c929fb76aba8aa5f60615bdb9d3226118a8c6686adae39fc35c75dcebbc8c199a6ef20078aa82b0b0fd3a8db494c969fc7ba749659666eceb483afed9db5b5f6 + HEAD_REF master +) + +# fftwpp is a header-only library +set (FFWTPP_SOURCE_FILES + ${SOURCE_PATH}/Array.h + ${SOURCE_PATH}/Array.cc + ${SOURCE_PATH}/Complex.h + ${SOURCE_PATH}/Complex.cc + ${SOURCE_PATH}/align.h + ${SOURCE_PATH}/cmult-sse2.h + ${SOURCE_PATH}/convolution.h + ${SOURCE_PATH}/convolution.cc + ${SOURCE_PATH}/fftw++.h + ${SOURCE_PATH}/fftw++.cc + ${SOURCE_PATH}/seconds.h + ${SOURCE_PATH}/statistics.h + ${SOURCE_PATH}/transposeoptions.h +) + +set(FFWTPP_DOXY_CFG ${SOURCE_PATH}/fftw++.doxycfg) + +file(INSTALL ${FFWTPP_SOURCE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(INSTALL ${FFWTPP_DOXY_CFG} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) + +file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/field3d/CONTROL b/ports/field3d/CONTROL new file mode 100644 index 000000000..487075eb4 --- /dev/null +++ b/ports/field3d/CONTROL @@ -0,0 +1,5 @@ +Source: field3d +Version: 1.7.2 +Homepage: https://github.com/imageworks/Field3D +Description: An open source library for storing voxel data. It provides C++ classes that handle in-memory storage and a file format based on HDF5 that allows the C++ objects to be written to and read from disk. +Build-Depends: hdf5, boost-regex, boost-thread, boost-program-options, boost-system, openexr, boost-foreach, boost-test, boost-timer, boost-format diff --git a/ports/field3d/fix-build_error.patch b/ports/field3d/fix-build_error.patch new file mode 100644 index 000000000..e2f44c093 --- /dev/null +++ b/ports/field3d/fix-build_error.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e9ad44f..45f3fad 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -147,7 +147,7 @@ IF ( CMAKE_HOST_UNIX ) + ${MPI_LIBRARIES} ) + ENDIF ( MPI_FOUND ) + LIST ( APPEND Field3D_Libraries_Shared +- Iex Half IlmThread Imath ++ Iex-2_3 Half-2_3 IlmThread-2_3 Imath-2_3 + pthread dl z ) + SET ( Field3D_DSO_Libraries ${Field3D_Libraries_Shared} ) + SET ( Field3D_BIN_Libraries Field3D ${Field3D_Libraries_Shared} diff --git a/ports/field3d/portfile.cmake b/ports/field3d/portfile.cmake new file mode 100644 index 000000000..5170e97a3 --- /dev/null +++ b/ports/field3d/portfile.cmake @@ -0,0 +1,35 @@ +include(vcpkg_common_functions) + +if (VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "Windows is currently not supported.") +elseif (TRIPLET_SYSTEM_ARCH MATCHES "arm") + message(FATAL_ERROR "ARM is currently not supported.") +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) + message(FATAL_ERROR "Error: UWP builds are currently not supported.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO imageworks/Field3D + REF v1.7.2 + SHA512 e4ea51310105980f759dce48830db8ae3592ce32a02b246214d8aed9df7a7f5c500314f2daf92196b7a76d648f2909b18112df4c5c3c8949c0676d710dfbf1f2 + HEAD_REF master + PATCHES + fix-build_error.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(COPY ${SOURCE_PATH}/COPYING ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/field3d) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/field3d/COPYING ${CURRENT_PACKAGES_DIR}/share/field3d/copyright) diff --git a/ports/fizz/CONTROL b/ports/fizz/CONTROL index 4f4856c47..86dbc6da6 100644 --- a/ports/fizz/CONTROL +++ b/ports/fizz/CONTROL @@ -1,4 +1,4 @@ Source: fizz -Version: 2019.05.20.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/fix-build_error.patch b/ports/fizz/fix-build_error.patch new file mode 100644 index 000000000..e85f16c6e --- /dev/null +++ b/ports/fizz/fix-build_error.patch @@ -0,0 +1,13 @@ +diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt +index 7f8769a..debac4e 100644 +--- a/fizz/CMakeLists.txt ++++ b/fizz/CMakeLists.txt +@@ -81,7 +81,7 @@ if(TARGET event) + message(STATUS "Found libevent from package config") + list(APPEND FIZZ_SHINY_DEPENDENCIES event) + else() +- find_package(Libevent MODULE REQUIRED) ++ find_package(Libevent CONFIG REQUIRED) + list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB}) + list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR}) + endif() diff --git a/ports/fizz/portfile.cmake b/ports/fizz/portfile.cmake index 0eb0f81bf..1647eb1ef 100644 --- a/ports/fizz/portfile.cmake +++ b/ports/fizz/portfile.cmake @@ -1,14 +1,14 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebookincubator/fizz - REF 6d26a1be8d7a20d8d89c374ee3dc5c452d18c18d - SHA512 bc6aa17a97fdfc53d0a247b876cbd1fea8214608b7e463dcf21e34df65015fe77e617c5a6c6bfa84b87e60e56b6aeb89aa2d8d774f97fc1f76f415869948a48a + REF 3e933cff04c27c97d0fb0b899ed0c883b4e02e3b # v2019.10.28.00 + SHA512 522b677f9e6cb0dd7ce2dad226efd831877ce12352efa6a34e743d1ec7a02ba65e7425472a57e88832f68fa4503206d9846580e305da6a0843034455e510b68d HEAD_REF master - PATCHES find-zlib.patch + PATCHES + find-zlib.patch + fix-build_error.patch ) # Prefer installed config files @@ -28,7 +28,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/fizz") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/fizz) vcpkg_copy_pdbs() file(READ ${CURRENT_PACKAGES_DIR}/share/fizz/fizz-config.cmake _contents) diff --git a/ports/flann/CONTROL b/ports/flann/CONTROL index fd8ecebc1..b1aa87235 100644 --- a/ports/flann/CONTROL +++ b/ports/flann/CONTROL @@ -1,5 +1,5 @@ Source: flann -Version: jan2019 +Version: 2019-04-07-1 Homepage: https://github.com/mariusmuja/flann Build-Depends: lz4 Description: Fast Library for Approximate Nearest Neighbors diff --git a/ports/flann/fix-build-error.patch b/ports/flann/fix-build-error.patch new file mode 100644 index 000000000..f4867cba9 --- /dev/null +++ b/ports/flann/fix-build-error.patch @@ -0,0 +1,208 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4b94d2..7ff331a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -146,8 +146,7 @@ if (BUILD_CUDA_LIB) + endif(CUDA_FOUND) + endif(BUILD_CUDA_LIB) + +-find_package(PkgConfig REQUIRED) +-pkg_check_modules(LZ4 REQUIRED liblz4) ++find_package(lz4 REQUIRED) + + #set the C/C++ include path to the "include" directory + include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src/cpp) +diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in +index 6b95a71..778aec4 100644 +--- a/cmake/Config.cmake.in ++++ b/cmake/Config.cmake.in +@@ -3,3 +3,5 @@ + include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") + check_required_components("flann") + ++include(CMakeFindDependencyMacro) ++find_dependency(lz4) +\ No newline at end of file +diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake +index afe4742..8aef8e0 100644 +--- a/cmake/flann_utils.cmake ++++ b/cmake/flann_utils.cmake +@@ -1,8 +1,7 @@ + macro(GET_OS_INFO) + string(REGEX MATCH "Linux" OS_IS_LINUX ${CMAKE_SYSTEM_NAME}) +- set(FLANN_LIB_INSTALL_DIR "lib${LIB_SUFFIX}") +- set(FLANN_INCLUDE_INSTALL_DIR +- "include/${PROJECT_NAME_LOWER}-${FLANN_MAJOR_VERSION}.${FLANN_MINOR_VERSION}") ++ set(FLANN_LIB_INSTALL_DIR "lib") ++ set(FLANN_INCLUDE_INSTALL_DIR "include") + endmacro(GET_OS_INFO) + + +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 3f4655a..bc1d758 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -1,9 +1,10 @@ + add_custom_target(examples ALL) + ++find_package(lz4 REQUIRED) + + if (BUILD_C_BINDINGS) + add_executable(flann_example_c flann_example.c) +- target_link_libraries(flann_example_c -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) ++ target_link_libraries(flann_example_c lz4::lz4) + target_link_libraries(flann_example_c flann) + set_target_properties(flann_example_c PROPERTIES COMPILE_FLAGS -std=c99) + +@@ -15,7 +16,7 @@ if (HDF5_FOUND) + include_directories(${HDF5_INCLUDE_DIR}) + + add_executable(flann_example_cpp flann_example.cpp) +- target_link_libraries(flann_example_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) ++ target_link_libraries(flann_example_cpp lz4::lz4) + target_link_libraries(flann_example_cpp ${HDF5_LIBRARIES} flann_cpp) + if (HDF5_IS_PARALLEL) + target_link_libraries(flann_example_cpp ${MPI_LIBRARIES}) +@@ -27,7 +28,7 @@ if (HDF5_FOUND) + + if (USE_MPI AND HDF5_IS_PARALLEL) + add_executable(flann_example_mpi flann_example_mpi.cpp) +- target_link_libraries(flann_example_mpi -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) ++ target_link_libraries(flann_example_mpi lz4::lz4) + target_link_libraries(flann_example_mpi flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES}) + + add_dependencies(examples flann_example_mpi) +diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt +index b421abb..78f9a64 100644 +--- a/src/cpp/CMakeLists.txt ++++ b/src/cpp/CMakeLists.txt +@@ -1,6 +1,6 @@ + #include_directories(${CMAKE_SOURCE_DIR}/include algorithms ext util nn .) + +-add_definitions(-D_FLANN_VERSION=${FLANN_VERSION}) ++add_definitions(-D_FLANN_VERSION=${FLANN_VERSION} -std=c++11) + + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/flann/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/flann/config.h) + +@@ -8,12 +8,11 @@ file(GLOB_RECURSE C_SOURCES flann.cpp) + file(GLOB_RECURSE CPP_SOURCES flann_cpp.cpp) + file(GLOB_RECURSE CU_SOURCES *.cu) + +-add_library(flann_cpp_s STATIC ${CPP_SOURCES}) +-target_link_libraries(flann_cpp_s ${LZ4_LIBRARIES}) +-if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) +- set_target_properties(flann_cpp_s PROPERTIES COMPILE_FLAGS -fPIC) +-endif() +-set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC FLANN_USE_CUDA) ++find_package(lz4 REQUIRED) ++set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++add_library(flann_cpp STATIC ${CPP_SOURCES}) ++target_link_libraries(flann_cpp PRIVATE lz4::lz4) ++set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) + + if (BUILD_CUDA_LIB) + SET(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-DFLANN_USE_CUDA") +@@ -25,45 +24,9 @@ if (BUILD_CUDA_LIB) + else() + set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};" ) + endif() +- cuda_add_library(flann_cuda_s STATIC ${CU_SOURCES}) +- set_property(TARGET flann_cuda_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) +-endif() +- +-if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) +- add_library(flann_cpp SHARED "") +- set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) +- target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) +- +- if (BUILD_CUDA_LIB) +- cuda_add_library(flann_cuda SHARED "") +- set_target_properties(flann_cuda PROPERTIES LINKER_LANGUAGE CXX) +- target_link_libraries(flann_cuda -Wl,-whole-archive flann_cuda_s -Wl,-no-whole-archive) +- set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) +- # target_link_libraries(flann_cuda cudpp_x86_64) +- endif() +-else() +- add_library(flann_cpp SHARED ${CPP_SOURCES}) +- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) +- # export lz4 headers, so that MSVC to creates flann_cpp.lib +- set_target_properties(flann_cpp PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS YES) +- if (BUILD_CUDA_LIB) +- cuda_add_library(flann_cuda SHARED ${CPP_SOURCES}) +- set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) +- endif() +-endif() +- +-set_target_properties(flann_cpp PROPERTIES +- VERSION ${FLANN_VERSION} +- SOVERSION ${FLANN_SOVERSION} +- DEFINE_SYMBOL FLANN_EXPORTS +-) +- +-if (BUILD_CUDA_LIB) +- set_target_properties(flann_cuda PROPERTIES +- VERSION ${FLANN_VERSION} +- SOVERSION ${FLANN_SOVERSION} +- DEFINE_SYMBOL FLANN_EXPORTS +- ) ++ cuda_add_library(flann_cuda STATIC ${CU_SOURCES}) ++ set_property(TARGET flann_cuda PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) ++ set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) + endif() + + +@@ -80,6 +43,7 @@ endif() + + + if (BUILD_C_BINDINGS) ++ if (0) + add_library(flann_s STATIC ${C_SOURCES}) + target_link_libraries(flann_s -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) + if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) +@@ -105,6 +69,10 @@ if (BUILD_C_BINDINGS) + SOVERSION ${FLANN_SOVERSION} + DEFINE_SYMBOL FLANN_EXPORTS + ) ++ endif() ++ add_library(flann STATIC ${C_SOURCES}) ++ target_link_libraries(flann PRIVATE lz4::lz4) ++ set_property(TARGET flann PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) + endif() + + if(WIN32) +@@ -118,9 +86,9 @@ endif(WIN32) + + + install ( +- TARGETS flann_cpp flann_cpp_s ++ TARGETS flann_cpp + EXPORT ${targets_export_name} +- INCLUDES DESTINATION include ++ INCLUDES DESTINATION ${FLANN_INCLUDE_INSTALL_DIR} + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} +@@ -128,9 +96,9 @@ install ( + + if (BUILD_CUDA_LIB) + install ( +- TARGETS flann_cuda flann_cuda_s ++ TARGETS flann_cuda + EXPORT ${targets_export_name} +- INCLUDES DESTINATION include ++ INCLUDES DESTINATION ${FLANN_INCLUDE_INSTALL_DIR} + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} +@@ -139,9 +107,9 @@ endif() + + if (BUILD_C_BINDINGS) + install ( +- TARGETS flann flann_s ++ TARGETS flann + EXPORT ${targets_export_name} +- INCLUDES DESTINATION include ++ INCLUDES DESTINATION ${FLANN_INCLUDE_INSTALL_DIR} + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} + ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} diff --git a/ports/flann/fix_targets.patch b/ports/flann/fix_targets.patch deleted file mode 100644 index b9ebe7cb7..000000000 --- a/ports/flann/fix_targets.patch +++ /dev/null @@ -1,243 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f4b94d2..e55195b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -146,9 +146,6 @@ if (BUILD_CUDA_LIB) - endif(CUDA_FOUND) - endif(BUILD_CUDA_LIB) - --find_package(PkgConfig REQUIRED) --pkg_check_modules(LZ4 REQUIRED liblz4) -- - #set the C/C++ include path to the "include" directory - include_directories(BEFORE ${PROJECT_SOURCE_DIR}/src/cpp) - -diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in -index 6b95a71..2c95b6e 100644 ---- a/cmake/Config.cmake.in -+++ b/cmake/Config.cmake.in -@@ -3,3 +3,5 @@ - include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") - check_required_components("flann") - -+include(CMakeFindDependencyMacro) -+find_dependency(lz4) -diff --git a/cmake/flann_utils.cmake b/cmake/flann_utils.cmake -index afe4742..0cf8289 100644 ---- a/cmake/flann_utils.cmake -+++ b/cmake/flann_utils.cmake -@@ -1,8 +1,7 @@ - macro(GET_OS_INFO) - string(REGEX MATCH "Linux" OS_IS_LINUX ${CMAKE_SYSTEM_NAME}) -- set(FLANN_LIB_INSTALL_DIR "lib${LIB_SUFFIX}") -- set(FLANN_INCLUDE_INSTALL_DIR -- "include/${PROJECT_NAME_LOWER}-${FLANN_MAJOR_VERSION}.${FLANN_MINOR_VERSION}") -+ set(FLANN_LIB_INSTALL_DIR "lib") -+ set(FLANN_INCLUDE_INSTALL_DIR "include") - endmacro(GET_OS_INFO) - - -@@ -27,7 +26,7 @@ macro(find_hdf5) - set( HDF5_IS_PARALLEL FALSE ) - foreach( _dir ${HDF5_INCLUDE_DIRS} ) - if( EXISTS "${_dir}/H5pubconf.h" ) -- file( STRINGS "${_dir}/H5pubconf.h" -+ file( STRINGS "${_dir}/H5pubconf.h" - HDF5_HAVE_PARALLEL_DEFINE - REGEX "HAVE_PARALLEL 1" ) - if( HDF5_HAVE_PARALLEL_DEFINE ) -@@ -106,7 +105,7 @@ endmacro(flann_add_pyunit) - - macro(flann_download_test_data _name _md5) - string(REPLACE "/" "_" _dataset_name dataset_${_name}) -- -+ - add_custom_target(${_dataset_name} - COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/bin/download_checkmd5.py http://people.cs.ubc.ca/~mariusm/uploads/FLANN/datasets/${_name} ${TEST_OUTPUT_PATH}/${_name} ${_md5} - VERBATIM) -diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt -index 3f4655a..918b94a 100644 ---- a/examples/CMakeLists.txt -+++ b/examples/CMakeLists.txt -@@ -1,9 +1,10 @@ - add_custom_target(examples ALL) - -+find_package(lz4 REQUIRED) - - if (BUILD_C_BINDINGS) - add_executable(flann_example_c flann_example.c) -- target_link_libraries(flann_example_c -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) -+ target_link_libraries(flann_example_c lz4::lz4) - target_link_libraries(flann_example_c flann) - set_target_properties(flann_example_c PROPERTIES COMPILE_FLAGS -std=c99) - -@@ -15,7 +16,7 @@ if (HDF5_FOUND) - include_directories(${HDF5_INCLUDE_DIR}) - - add_executable(flann_example_cpp flann_example.cpp) -- target_link_libraries(flann_example_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) -+ target_link_libraries(flann_example_cpp lz4::lz4) - target_link_libraries(flann_example_cpp ${HDF5_LIBRARIES} flann_cpp) - if (HDF5_IS_PARALLEL) - target_link_libraries(flann_example_cpp ${MPI_LIBRARIES}) -@@ -27,7 +28,7 @@ if (HDF5_FOUND) - - if (USE_MPI AND HDF5_IS_PARALLEL) - add_executable(flann_example_mpi flann_example_mpi.cpp) -- target_link_libraries(flann_example_mpi -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) -+ target_link_libraries(flann_example_mpi lz4::lz4) - target_link_libraries(flann_example_mpi flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES}) - - add_dependencies(examples flann_example_mpi) -@@ -36,7 +37,3 @@ if (HDF5_FOUND) - else() - message("hdf5 library not found, not compiling flann_example.cpp") - endif() -- -- -- -- -diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt -index b30f3da..1535d37 100644 ---- a/src/cpp/CMakeLists.txt -+++ b/src/cpp/CMakeLists.txt -@@ -8,12 +8,13 @@ file(GLOB_RECURSE C_SOURCES flann.cpp) - file(GLOB_RECURSE CPP_SOURCES flann_cpp.cpp) - file(GLOB_RECURSE CU_SOURCES *.cu) - --add_library(flann_cpp_s STATIC ${CPP_SOURCES}) --target_link_libraries(flann_cpp_s ${LZ4_LIBRARIES}) --if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) -- set_target_properties(flann_cpp_s PROPERTIES COMPILE_FLAGS -fPIC) --endif() --set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC FLANN_USE_CUDA) -+find_package(lz4 REQUIRED) -+ -+set(CMAKE_POSITION_INDEPENDENT_CODE ON) -+ -+add_library(flann_cpp STATIC ${CPP_SOURCES}) -+target_link_libraries(flann_cpp PRIVATE lz4::lz4) -+set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) - - if (BUILD_CUDA_LIB) - SET(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};-DFLANN_USE_CUDA") -@@ -25,48 +26,11 @@ if (BUILD_CUDA_LIB) - else() - set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS};" ) - endif() -- cuda_add_library(flann_cuda_s STATIC ${CU_SOURCES}) -- set_property(TARGET flann_cuda_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) --endif() -- --if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) -- add_library(flann_cpp SHARED "") -- set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) -- target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) -- -- if (BUILD_CUDA_LIB) -- cuda_add_library(flann_cuda SHARED "") -- set_target_properties(flann_cuda PROPERTIES LINKER_LANGUAGE CXX) -- target_link_libraries(flann_cuda -Wl,-whole-archive flann_cuda_s -Wl,-no-whole-archive) -- set_property(TARGET flann_cpp_s PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) -- # target_link_libraries(flann_cuda cudpp_x86_64) -- endif() --else() -- add_library(flann_cpp SHARED ${CPP_SOURCES}) -- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) -- # export lz4 headers, so that MSVC to creates flann_cpp.lib -- set_target_properties(flann_cpp PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS YES) -- if (BUILD_CUDA_LIB) -- cuda_add_library(flann_cuda SHARED ${CPP_SOURCES}) -- set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) -- endif() --endif() -- --set_target_properties(flann_cpp PROPERTIES -- VERSION ${FLANN_VERSION} -- SOVERSION ${FLANN_SOVERSION} -- DEFINE_SYMBOL FLANN_EXPORTS --) -- --if (BUILD_CUDA_LIB) -- set_target_properties(flann_cuda PROPERTIES -- VERSION ${FLANN_VERSION} -- SOVERSION ${FLANN_SOVERSION} -- DEFINE_SYMBOL FLANN_EXPORTS -- ) -+ cuda_add_library(flann_cuda STATIC ${CU_SOURCES}) -+ set_property(TARGET flann_cuda PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -+ set_property(TARGET flann_cpp PROPERTY COMPILE_DEFINITIONS FLANN_USE_CUDA) - endif() - -- - if (USE_MPI AND HDF5_IS_PARALLEL) - add_executable(flann_mpi_server flann/mpi/flann_mpi_server.cpp) - target_link_libraries(flann_mpi_server flann_cpp ${HDF5_LIBRARIES} ${MPI_LIBRARIES} ${Boost_LIBRARIES}) -@@ -80,31 +44,9 @@ endif() - - - if (BUILD_C_BINDINGS) -- add_library(flann_s STATIC ${C_SOURCES}) -- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) -- if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) -- set_target_properties(flann_s PROPERTIES COMPILE_FLAGS -fPIC) -- endif() -- set_property(TARGET flann_s PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) -- -- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) -- add_library(flann SHARED "") -- set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) -- target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) -- else() -- add_library(flann SHARED ${C_SOURCES}) -- target_link_libraries(flann_cpp -Wl,--push-state,--no-as-needed ${LZ4_LIBRARIES} -Wl,--pop-state) -- -- if(MINGW AND OPENMP_FOUND) -- target_link_libraries(flann gomp) -- endif() -- endif() -- -- set_target_properties(flann PROPERTIES -- VERSION ${FLANN_VERSION} -- SOVERSION ${FLANN_SOVERSION} -- DEFINE_SYMBOL FLANN_EXPORTS -- ) -+ add_library(flann STATIC ${C_SOURCES}) -+ target_link_libraries(flann PRIVATE lz4::lz4) -+ set_property(TARGET flann PROPERTY COMPILE_DEFINITIONS FLANN_STATIC) - endif() - - if(WIN32) -@@ -118,9 +60,9 @@ endif(WIN32) - - - install ( -- TARGETS flann_cpp flann_cpp_s -+ TARGETS flann_cpp - EXPORT ${targets_export_name} -- INCLUDES DESTINATION include -+ INCLUDES DESTINATION ${FLANN_INCLUDE_INSTALL_DIR} - RUNTIME DESTINATION bin - LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} - ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} -@@ -128,9 +70,9 @@ install ( - - if (BUILD_CUDA_LIB) - install ( -- TARGETS flann_cuda flann_cuda_s -+ TARGETS flann_cuda - EXPORT ${targets_export_name} -- INCLUDES DESTINATION include -+ INCLUDES DESTINATION ${FLANN_INCLUDE_INSTALL_DIR} - RUNTIME DESTINATION bin - LIBRARY DESTINATION ${FLANN_LIB_INSTALL_DIR} - ARCHIVE DESTINATION ${FLANN_LIB_INSTALL_DIR} -@@ -139,7 +81,7 @@ endif() - - if (BUILD_C_BINDINGS) - install ( -- TARGETS flann flann_s -+ TARGETS flann - EXPORT ${targets_export_name} - INCLUDES DESTINATION include - RUNTIME DESTINATION bin diff --git a/ports/flann/portfile.cmake b/ports/flann/portfile.cmake index 17770bd29..ec9637212 100644 --- a/ports/flann/portfile.cmake +++ b/ports/flann/portfile.cmake @@ -7,16 +7,16 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mariusmuja/flann - REF aa40936816f4feaa714d3a09f92a495da017d95c - SHA512 f6f2e75f4ce4bc4bc4cc1feab27fe683b8a5f9f5dcea35de4df5136a683b5dff5e68776008821a16ccf1a52a9807cb053c0062deba4fe121948248acd52864ef + REF 1d04523268c388dabf1c0865d69e1b638c8c7d9d + SHA512 61e322222c2daa0b9677095e5ca231cba7c305ce754ad8e659eee350111c1e04351181c3af04e45ab6e5c9edea49c7b9ec6499bb0dbc080b87af36eb11c6ef7c HEAD_REF master - PATCHES - fix_targets.patch + PATCHES fix-build-error.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL index 8d553c197..3baf26b02 100644 --- a/ports/flatbuffers/CONTROL +++ b/ports/flatbuffers/CONTROL @@ -1,5 +1,5 @@ -Source: flatbuffers -Version: 1.11.0 -Description: Memory Efficient Serialization Library - FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility. -Homepage: https://google.github.io/flatbuffers/ +Source: flatbuffers +Version: 1.11.0-1 +Description: Memory Efficient Serialization Library + FlatBuffers is an efficient cross platform serialization library for games and other memory constrained apps. It allows you to directly access serialized data without unpacking/parsing it first, while still having great forwards/backwards compatibility. +Homepage: https://google.github.io/flatbuffers/ diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index b954affe8..c619ac9ee 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -29,7 +29,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/flatbuffers") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/flatbuffers) file(GLOB flatc_path ${CURRENT_PACKAGES_DIR}/bin/flatc*) if(flatc_path) diff --git a/ports/flint/CONTROL b/ports/flint/CONTROL index 9b45b6608..cac9d2569 100644 --- a/ports/flint/CONTROL +++ b/ports/flint/CONTROL @@ -1,5 +1,5 @@ Source: flint -Version: 2.5.2-3 +Version: 2.5.2-4 Homepage: https://www.flintlib.org/ Description: Fast Library for Number Theory Build-Depends: mpir, mpfr, pthreads, gettimeofday diff --git a/ports/flint/portfile.cmake b/ports/flint/portfile.cmake index 9a9d5136b..a60227617 100644 --- a/ports/flint/portfile.cmake +++ b/ports/flint/portfile.cmake @@ -2,19 +2,19 @@ include(vcpkg_common_functions) set(FLINT_VERSION 2.5.2) set(FLINT_HASH "8606b369af505d5fcedd05d95fcd04afac2a916fc5291501c56785891cfdb2f9bc98700b2d05afd1d9482fb96df2a8c8bf1cd0e5696df46775df9fa743eb900b") -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/flint-${FLINT_VERSION}) -vcpkg_download_distfile(ARCHIVE_FILE +vcpkg_download_distfile(ARCHIVE URLS "http://www.flintlib.org/flint-${FLINT_VERSION}.zip" FILENAME "flint-${FLINT_VERSION}.zip" SHA512 ${FLINT_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/lib_flint.patch" - "${CMAKE_CURRENT_LIST_DIR}/dll_flint.patch" +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + lib_flint.patch + dll_flint.patch ) set(MSVC_VERSION 14) diff --git a/ports/fltk/CONTROL b/ports/fltk/CONTROL index da9d7223a..a029a5e85 100644 --- a/ports/fltk/CONTROL +++ b/ports/fltk/CONTROL @@ -1,5 +1,5 @@ -Source: fltk -Version: 1.3.4-6 -Homepage: https://www.fltk.org/ -Description: FLTK (pronounced fulltick) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation. -Build-Depends: zlib, libpng, libjpeg-turbo +Source: fltk +Version: 1.3.5-1 +Homepage: https://www.fltk.org/ +Description: FLTK (pronounced fulltick) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its built-in GLUT emulation. +Build-Depends: zlib, libpng, libjpeg-turbo diff --git a/ports/fltk/portfile.cmake b/ports/fltk/portfile.cmake index 5b7e246a3..bc3853857 100644 --- a/ports/fltk/portfile.cmake +++ b/ports/fltk/portfile.cmake @@ -1,98 +1,88 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fltk-1.3.4-1) -vcpkg_download_distfile(ARCHIVE - URLS "http://fltk.org/pub/fltk/1.3.4/fltk-1.3.4-1-source.tar.gz" - FILENAME "fltk.tar.gz" - SHA512 0be1c8e6bb7a8c7ef484941a73868d5e40b90e97a8e5dc747bac2be53a350621975406ecfd4a9bcee8eeb7afd886e75bf7a6d6478fd6c56d16e54059f22f0891 -) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fltk-1.3.4-1 - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/findlibsfix.patch" - "${CMAKE_CURRENT_LIST_DIR}/add-link-libraries.patch" -) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_SHARED ON) -else() - set(BUILD_SHARED OFF) -endif() - -if (VCPKG_TARGET_ARCHITECTURE MATCHES "arm" OR VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") - set(OPTION_USE_GL "-DOPTION_USE_GL=OFF") -else() - set(OPTION_USE_GL) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DOPTION_BUILD_EXAMPLES=OFF - -DOPTION_USE_SYSTEM_ZLIB=ON - -DOPTION_USE_SYSTEM_LIBPNG=ON - -DOPTION_USE_SYSTEM_LIBJPEG=ON - -DOPTION_BUILD_SHARED_LIBS=${BUILD_SHARED} - ${OPTION_USE_GL} -) - -vcpkg_install_cmake() - -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/CMAKE - ${CURRENT_PACKAGES_DIR}/debug/CMAKE - ${CURRENT_PACKAGES_DIR}/debug/include -) - -file(COPY ${CURRENT_PACKAGES_DIR}/bin/fluid.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/fltk) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/fluid.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/fltk-config) - -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fluid.exe) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fltk-config) - -vcpkg_copy_pdbs() - -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/fltk) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/bin - ${CURRENT_PACKAGES_DIR}/bin - ) -else() - file(GLOB SHARED_LIBS "${CURRENT_PACKAGES_DIR}/lib/*_SHARED.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/*_SHAREDd.lib") - file(GLOB STATIC_LIBS "${CURRENT_PACKAGES_DIR}/lib/*.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/*.lib") - list(FILTER STATIC_LIBS EXCLUDE REGEX "_SHAREDd?\\.lib\$") - file(REMOVE ${STATIC_LIBS}) - foreach(SHARED_LIB ${SHARED_LIBS}) - string(REGEX REPLACE "_SHARED(d?)\\.lib\$" "\\1.lib" NEWNAME ${SHARED_LIB}) - file(RENAME ${SHARED_LIB} ${NEWNAME}) - endforeach() -endif() - -foreach(FILE Fl_Export.H fl_utf8.h) - file(READ ${CURRENT_PACKAGES_DIR}/include/FL/${FILE} FLTK_HEADER) - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - string(REPLACE "defined(FL_DLL)" "0" FLTK_HEADER "${FLTK_HEADER}") - else() - string(REPLACE "defined(FL_DLL)" "1" FLTK_HEADER "${FLTK_HEADER}") - endif() - file(WRITE ${CURRENT_PACKAGES_DIR}/include/FL/${FILE} "${FLTK_HEADER}") -endforeach() - -file(INSTALL - ${SOURCE_PATH}/COPYING - DESTINATION ${CURRENT_PACKAGES_DIR}/share/fltk - RENAME copyright -) +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "https://fltk.org/pub/fltk/1.3.5/fltk-1.3.5-source.tar.gz" + FILENAME "fltk-1.3.5.tar.gz" + SHA512 db7ea7c5f3489195a48216037b9371a50f1119ae7692d66f71b6711e5ccf78814670581bae015e408dee15c4bba921728309372c1cffc90113cdc092e8540821 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + findlibsfix.patch + add-link-libraries.patch +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_SHARED ON) +else() + set(BUILD_SHARED OFF) +endif() + +if (VCPKG_TARGET_ARCHITECTURE MATCHES "arm" OR VCPKG_TARGET_ARCHITECTURE MATCHES "arm64") + set(OPTION_USE_GL "-DOPTION_USE_GL=OFF") +else() + set(OPTION_USE_GL "-DOPTION_USE_GL=ON") +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DOPTION_BUILD_EXAMPLES=OFF + -DOPTION_LARGE_FILE=ON + -DOPTION_USE_THREADS=ON + -DOPTION_USE_SYSTEM_ZLIB=ON + -DOPTION_USE_SYSTEM_LIBPNG=ON + -DOPTION_USE_SYSTEM_LIBJPEG=ON + -DOPTION_BUILD_SHARED_LIBS=${BUILD_SHARED} + ${OPTION_USE_GL} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/CMAKE + ${CURRENT_PACKAGES_DIR}/debug/CMAKE + ${CURRENT_PACKAGES_DIR}/debug/include +) + +file(COPY ${CURRENT_PACKAGES_DIR}/bin/fluid.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/fltk) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/fluid.exe) +file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/fltk-config) + +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fluid.exe) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/fltk-config) + +vcpkg_copy_pdbs() + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/fltk) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/bin + ) +else() + file(GLOB SHARED_LIBS "${CURRENT_PACKAGES_DIR}/lib/*_SHARED.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/*_SHAREDd.lib") + file(GLOB STATIC_LIBS "${CURRENT_PACKAGES_DIR}/lib/*.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/*.lib") + list(FILTER STATIC_LIBS EXCLUDE REGEX "_SHAREDd?\\.lib\$") + file(REMOVE ${STATIC_LIBS}) + foreach(SHARED_LIB ${SHARED_LIBS}) + string(REGEX REPLACE "_SHARED(d?)\\.lib\$" "\\1.lib" NEWNAME ${SHARED_LIB}) + file(RENAME ${SHARED_LIB} ${NEWNAME}) + endforeach() +endif() + +foreach(FILE Fl_Export.H fl_utf8.h) + file(READ ${CURRENT_PACKAGES_DIR}/include/FL/${FILE} FLTK_HEADER) + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + string(REPLACE "defined(FL_DLL)" "0" FLTK_HEADER "${FLTK_HEADER}") + else() + string(REPLACE "defined(FL_DLL)" "1" FLTK_HEADER "${FLTK_HEADER}") + endif() + file(WRITE ${CURRENT_PACKAGES_DIR}/include/FL/${FILE} "${FLTK_HEADER}") +endforeach() + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/fluidsynth/CONTROL b/ports/fluidsynth/CONTROL index fc79995bc..4532fa60e 100644 --- a/ports/fluidsynth/CONTROL +++ b/ports/fluidsynth/CONTROL @@ -1,4 +1,4 @@ Source: fluidsynth -Version: 2.0.5 +Version: 2.0.5-1 Description: FluidSynth reads and handles MIDI events from the MIDI input device. It is the software analogue of a MIDI synthesizer. FluidSynth can also play midifiles using a Soundfont. -Build-Depends: glib \ No newline at end of file +Build-Depends: glib diff --git a/ports/fluidsynth/force-x86-gentables.patch b/ports/fluidsynth/force-x86-gentables.patch new file mode 100644 index 000000000..d477ebd36 --- /dev/null +++ b/ports/fluidsynth/force-x86-gentables.patch @@ -0,0 +1,34 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index f731632..226f408 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -368,10 +368,23 @@ endif ( MACOSX_FRAMEWORK ) + # ******* Auto Generated Lookup Tables ****** + + include(ExternalProject) +-ExternalProject_Add(gentables +- DOWNLOAD_COMMAND "" +- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables +- BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables +- INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/" +-) ++if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) ++ ExternalProject_Add(gentables ++ DOWNLOAD_COMMAND "" ++ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables ++ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables ++ CONFIGURE_COMMAND ++ "${CMAKE_COMMAND}" "${CMAKE_CURRENT_SOURCE_DIR}/gentables" -G "${CMAKE_GENERATOR}" -A Win32 -B "${CMAKE_CURRENT_BINARY_DIR}/gentables" ++ BUILD_COMMAND ++ "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/gentables" ++ INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/" ++ ) ++else() ++ ExternalProject_Add(gentables ++ DOWNLOAD_COMMAND "" ++ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables ++ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables ++ INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/" ++ ) ++endif() + add_dependencies(libfluidsynth-OBJ gentables) diff --git a/ports/fluidsynth/portfile.cmake b/ports/fluidsynth/portfile.cmake index 5060faa8e..8554e9734 100644 --- a/ports/fluidsynth/portfile.cmake +++ b/ports/fluidsynth/portfile.cmake @@ -1,5 +1,4 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fluidsynth-1.1.10) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -7,11 +6,12 @@ vcpkg_from_github( REF v2.0.5 SHA512 5344ac889d2927dc2465bae40096d756a9bf9b1100e287ba0621c55ffc76f9cb8fa763f6bc832d701cd0ad2997965cf344f58ae4b3dd445eb3491e3659c093d9 HEAD_REF master + PATCHES + force-x86-gentables.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA # Disable this option if project cannot be built with Ninja OPTIONS -Denable-pkgconfig=0 ) diff --git a/ports/fmi4cpp/CONTROL b/ports/fmi4cpp/CONTROL index 2a05be3b5..20f8f641c 100644 --- a/ports/fmi4cpp/CONTROL +++ b/ports/fmi4cpp/CONTROL @@ -1,5 +1,6 @@ Source: fmi4cpp -Version: 0.7.0 +Version: 0.7.0-2 +Homepage: https://github.com/NTNU-IHB/FMI4cpp Description: FMI 2.0 implementation written in modern C++ Build-Depends: boost-property-tree, libzip[openssl] diff --git a/ports/fmi4cpp/fix-build_error.patch b/ports/fmi4cpp/fix-build_error.patch new file mode 100644 index 000000000..ef0950e87 --- /dev/null +++ b/ports/fmi4cpp/fix-build_error.patch @@ -0,0 +1,25 @@ +diff --git a/include/fmi4cpp/fmu_resource.hpp b/include/fmi4cpp/fmu_resource.hpp +index 98f2067..8e88dcf 100644 +--- a/include/fmi4cpp/fmu_resource.hpp ++++ b/include/fmi4cpp/fmu_resource.hpp +@@ -24,6 +24,7 @@ + + #ifndef FMI4CPP_FMURESOURCE_HPP + #define FMI4CPP_FMURESOURCE_HPP ++#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING + + #include + #include +diff --git a/src/fmi2/fmu.cpp b/src/fmi2/fmu.cpp +index a0d5f75..bd01487 100644 +--- a/src/fmi2/fmu.cpp ++++ b/src/fmi2/fmu.cpp +@@ -26,6 +26,8 @@ + #include + #endif + ++#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING ++ + #include + #include + diff --git a/ports/fmi4cpp/portfile.cmake b/ports/fmi4cpp/portfile.cmake index 0952f5c5a..6babc78ed 100644 --- a/ports/fmi4cpp/portfile.cmake +++ b/ports/fmi4cpp/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_from_github( @@ -18,6 +6,8 @@ vcpkg_from_github( REF v0.7.0 SHA512 5846f5b28badb5b4836ffd9d284f602dd243df20d3c82cab5e2b62b8be37e0ab05b7422bca066f37ca67ee0d5b35abd2febe87f623fc3b9854d245e86e1e21fe HEAD_REF master + PATCHES + fix-build_error.patch ) set(WITH_CURL OFF) @@ -38,7 +28,7 @@ vcpkg_configure_cmake( -DFMI4CPP_BUILD_TESTS=OFF -DFMI4CPP_BUILD_EXAMPLES=OFF -DFMI4CPP_WITH_CURL=${WITH_CURL} - -DFMI4CPP_WITH_ODEINT=${WITH_ODEINT} + -DFMI4CPP_WITH_ODEINT=${WITH_ODEINT} ) vcpkg_install_cmake() @@ -47,7 +37,8 @@ vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fmi4cpp RENAME copyright) - vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + + diff --git a/ports/fmilib/0001-remove-install-prefix.patch b/ports/fmilib/0001-remove-install-prefix.patch new file mode 100644 index 000000000..b54c903d7 --- /dev/null +++ b/ports/fmilib/0001-remove-install-prefix.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f7372bf..f3c11f1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,7 +26,6 @@ set(FMILIBRARYHOME ${FMILibrary_SOURCE_DIR}) + set(FMILIBRARYBUILD ${FMILibrary_BINARY_DIR}) + + # User configuration options and parameters +-SET(FMILIB_INSTALL_PREFIX ${FMILibrary_BINARY_DIR}/../install CACHE PATH "Prefix prepended to install directories") + set(FMILIB_THIRDPARTYLIBS ${FMILibrary_SOURCE_DIR}/ThirdParty CACHE PATH "Path to the ThirdParty library dir" ) + set(FMILIB_FMI_STANDARD_HEADERS ${FMILIB_THIRDPARTYLIBS}/FMI/default CACHE PATH "Path to the FMI standard headers dir" ) + +@@ -84,7 +83,6 @@ IF(NOT CMAKE_BUILD_TYPE) + SET(CMAKE_BUILD_TYPE ${FMILIB_DEFAULT_BUILD_TYPE}) + ENDIF(NOT CMAKE_BUILD_TYPE) + +-SET(CMAKE_INSTALL_PREFIX ${FMILIB_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories" FORCE) + + # debug_message is used to trace the build script + function(debug_message) +@@ -350,7 +348,6 @@ endfunction() + + if(FMILIB_GENERATE_DOXYGEN_DOC) + +- file(MAKE_DIRECTORY "${FMILIB_INSTALL_PREFIX}/doc") + + set(DOXYFILE_IN ${FMILIBRARYHOME}/Config.cmake/fmilib_doxydoc.conf CACHE INTERNAL "Doxygen config file") + set(DOXYFILE_IMAGE_DIR "${FMILIBRARYHOME}/images" CACHE INTERNAL "Doxygen images" FORCE) +@@ -372,7 +369,6 @@ if(FMILIB_GENERATE_DOXYGEN_DOC) + set(DOXYFILE_SOURCE_DIR "${FMILIBRARYBUILD}/doc" CACHE INTERNAL "Doxygen default source dir" FORCE) + set(DOXYFILE_EXTRA_SOURCES "${DOXYFILE_EXTRA_SOURCES} \"${FMILIBRARYHOME}/Test\"") + +- set(DOXYFILE_OUTPUT_DIR "${FMILIB_INSTALL_PREFIX}/doc") + + set(DOXYFILE_STRIP_FROM_PATH "${FMILIBRARYHOME}") + diff --git a/ports/fmilib/CONTROL b/ports/fmilib/CONTROL index 4037af506..4a837377d 100644 --- a/ports/fmilib/CONTROL +++ b/ports/fmilib/CONTROL @@ -1,4 +1,4 @@ Source: fmilib -Version: 2.0.3-1 +Version: 2.0.3-2 Description: FMI library is intended as a foundation for applications interfacing FMUs (Functional Mockup Units) that follow FMI Standard. This version of the library supports FMI 1.0 and FMI2.0. Homepage: https://www.fmi-standard.org/ diff --git a/ports/fmilib/LICENSE b/ports/fmilib/LICENSE deleted file mode 100644 index 27d973645..000000000 --- a/ports/fmilib/LICENSE +++ /dev/null @@ -1,26 +0,0 @@ -License -------- - -Copyright (C) 2012 Modelon AB - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -- Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -- Neither the name of the Modelon AB 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 MODELON AB BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/ports/fmilib/portfile.cmake b/ports/fmilib/portfile.cmake index 46912d440..39b0e0377 100644 --- a/ports/fmilib/portfile.cmake +++ b/ports/fmilib/portfile.cmake @@ -1,25 +1,19 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/FMILibrary-2.0.3) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_download_distfile(ARCHIVE URLS "https://jmodelica.org/fmil/FMILibrary-2.0.3-src.zip" FILENAME "FMILibrary-2.0.3-src.zip" SHA512 86e4b5019d8f2a76b01141411845d977fb3949617604de0b34351f23647e3e8b378477de184e1c4f2f59297bc4c7de3155e0edba9099b8924594a36b37b04cc8 ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + 0001-remove-install-prefix.patch +) # Note that if you have configured and built both static and shared library on Windows # but want to link with the static library compile time define "FMILIB_BUILDING_LIBRARY" must be set. @@ -57,141 +51,18 @@ else() SET(FMILIB_BUILD_SHARED_LIB ON) endif() -SET(OPTIONS - -DFMILIB_BUILD_TESTS=OFF - -DFMILIB_BUILD_STATIC_LIB=${FMILIB_BUILD_STATIC_LIB} - -DFMILIB_BUILD_SHARED_LIB=${FMILIB_BUILD_SHARED_LIB} - -DFMILIB_BUILDING_LIBRARY=${FMILIB_BUILDING_LIBRARY} - -DFMILIB_BUILD_WITH_STATIC_RTLIB=${FMILIB_BUILD_WITH_STATIC_RTLIB} +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFMILIB_BUILD_TESTS=OFF + -DFMILIB_BUILD_STATIC_LIB=${FMILIB_BUILD_STATIC_LIB} + -DFMILIB_BUILD_SHARED_LIB=${FMILIB_BUILD_SHARED_LIB} + -DFMILIB_BUILDING_LIBRARY=${FMILIB_BUILDING_LIBRARY} + -DFMILIB_BUILD_WITH_STATIC_RTLIB=${FMILIB_BUILD_WITH_STATIC_RTLIB} ) -# Reset package dir -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}) - -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - - if(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") - set(GENERATOR "Visual Studio 12 2013") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") - set(GENERATOR "Visual Studio 12 2013 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") - set(GENERATOR "Visual Studio 12 2013 ARM") - - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") - set(GENERATOR "Visual Studio 14 2015") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") - set(GENERATOR "Visual Studio 14 2015 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") - set(GENERATOR "Visual Studio 14 2015 ARM") - - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(GENERATOR "Visual Studio 15 2017") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(GENERATOR "Visual Studio 15 2017 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(GENERATOR "Visual Studio 15 2017 ARM") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(GENERATOR "Visual Studio 15 2017") - else() - message(FATAL_ERROR "Unable to determine appropriate generator for: ${VCPKG_CMAKE_SYSTEM_NAME}-${VCPKG_TARGET_ARCHITECTURE}-${VCPKG_PLATFORM_TOOLSET}") - endif() - -endif() - -foreach(BUILDTYPE "rel" "dbg") - - message("Building ${TARGET_TRIPLET}-${BUILDTYPE}...") - - string(COMPARE EQUAL ${BUILDTYPE} "rel" RELEASE_BUILD) - - SET(BUILD_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILDTYPE}) - - # Reset working dir - file(REMOVE_RECURSE ${BUILD_DIR}) - file(MAKE_DIRECTORY ${BUILD_DIR}) - - SET(FMILIB_INSTALL_PREFIX ${CURRENT_PACKAGES_DIR}) - if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - SET(OPTIONS ${OPTIONS} -G ${GENERATOR}) - endif() - if(NOT RELEASE_BUILD) - STRING(APPEND FMILIB_INSTALL_PREFIX "/debug") - endif() - - # Step 1: Configure - vcpkg_execute_required_process(COMMAND - cmake - -DFMILIB_INSTALL_PREFIX=${FMILIB_INSTALL_PREFIX} - -DFMILIB_DEFAULT_BUILD_TYPE_RELEASE=${RELEASE_BUILD} - ${OPTIONS} - ${SOURCE_PATH} - WORKING_DIRECTORY - ${BUILD_DIR} - ) - - # Step 2: Build - # Custom build - becouse vcpkg_configure_cmake() + vcpkg_install_cmake() fails on Linux for some unknown reason - if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - find_program(MAKE make) - if(NOT MAKE) - message(FATAL_ERROR "Could not find make. Please install it through your package manager.") - endif() - vcpkg_execute_required_process(COMMAND make "install" WORKING_DIRECTORY ${BUILD_DIR}) - else() - if(RELEASE_BUILD) - SET(CONFIG "MinSizeRel") - else() - SET(CONFIG "Debug") - endif() - vcpkg_execute_required_process(COMMAND - cmake - --build . - --config ${CONFIG} - --target "install" - WORKING_DIRECTORY - ${BUILD_DIR} - ) - endif() - - if (RELEASE_BUILD) - - # remove /doc folder - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) - - # Move .dll files (if any) from /lib to /bin - file(GLOB TMP ${CURRENT_PACKAGES_DIR}/lib/*.dll) - if (TMP) - file(COPY ${TMP} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE ${TMP}) - - # Add bin to path - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin;$ENV{PATH}") - endif() - - else() - - # remove duplicate folders in /debug - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) - - # Move .dll files (if any) from /lib to /bin - file(GLOB TMP ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) - if (TMP) - file(COPY ${TMP} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${TMP}) - - # Add bin to path - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/bin;$ENV{PATH}") - endif() - - endif() - - message("Building ${TARGET_TRIPLET}-${BUILDTYPE}... Done") - -endforeach() - +vcpkg_install_cmake() vcpkg_copy_pdbs() - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/fmilib RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/fmt/CONTROL b/ports/fmt/CONTROL index c789e86f8..bc6de38f8 100644 --- a/ports/fmt/CONTROL +++ b/ports/fmt/CONTROL @@ -1,4 +1,4 @@ Source: fmt -Version: 5.3.0-2 +Version: 6.0.0 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/portfile.cmake b/ports/fmt/portfile.cmake index f1778d985..0809aaeb9 100644 --- a/ports/fmt/portfile.cmake +++ b/ports/fmt/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fmtlib/fmt - REF 5.3.0 - SHA512 9ef0f3d328681253c1e1776576d54d67dec49c19fd7fc422ae63c3610b01a3f05f6e83cdf5e913dfd09bac42e52fe35c38ebe1ea91f4207d226a32aaf69eb4a8 + REF 6.0.0 + SHA512 7deb5bd843ae6b9d4b58dca9c68c1cfe7b55a41040f358247f5309655188d1ae194ff414437c068f74367f078faa214b5883e8c9e634c7623dcda50850e24766 HEAD_REF master ) vcpkg_configure_cmake( @@ -19,10 +19,14 @@ vcpkg_install_cmake() file(INSTALL ${SOURCE_PATH}/LICENSE.rst DESTINATION ${CURRENT_PACKAGES_DIR}/share/fmt RENAME copyright) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fmt.dll ${CURRENT_PACKAGES_DIR}/bin/fmt.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fmtd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fmtd.dll) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fmtd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fmtd.dll) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fmt.dll ${CURRENT_PACKAGES_DIR}/bin/fmt.dll) + endif() endif() # Force FMT_SHARED to 1 @@ -35,12 +39,16 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_fixup_cmake_targets() if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) - file(READ ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake FMT_DEBUG_MODULE) - string(REPLACE "lib/fmtd.dll" "bin/fmtd.dll" FMT_DEBUG_MODULE ${FMT_DEBUG_MODULE}) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake "${FMT_DEBUG_MODULE}") - file(READ ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake FMT_RELEASE_MODULE) - string(REPLACE "lib/fmt.dll" "bin/fmt.dll" FMT_RELEASE_MODULE ${FMT_RELEASE_MODULE}) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake "${FMT_RELEASE_MODULE}") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(READ ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake FMT_DEBUG_MODULE) + string(REPLACE "lib/fmtd.dll" "bin/fmtd.dll" FMT_DEBUG_MODULE ${FMT_DEBUG_MODULE}) + file(WRITE ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake "${FMT_DEBUG_MODULE}") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(READ ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake FMT_RELEASE_MODULE) + string(REPLACE "lib/fmt.dll" "bin/fmt.dll" FMT_RELEASE_MODULE ${FMT_RELEASE_MODULE}) + file(WRITE ${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake "${FMT_RELEASE_MODULE}") + endif() endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index 1709a4515..1ec16d009 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,5 +1,5 @@ Source: folly -Version: 2019.05.20.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 // @manual -+#include -+#include -+#include - - #include - -@@ -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(), -+ 0,0, - const_cast(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 // @manual ++#include ++#include ++#include + + #include + +@@ -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(), ++ 0,0, + const_cast(value), + false); + return 0; diff --git a/ports/folly/disable-non-underscore-posix-names.patch b/ports/folly/disable-non-underscore-posix-names.patch new file mode 100644 index 000000000..bbe79481c --- /dev/null +++ b/ports/folly/disable-non-underscore-posix-names.patch @@ -0,0 +1,27 @@ +diff --git a/folly/portability/Windows.h b/folly/portability/Windows.h +index f7990ca..b22fac5 100644 +--- a/folly/portability/Windows.h ++++ b/folly/portability/Windows.h +@@ -26,16 +26,12 @@ + // These have to be this way because we define our own versions + // of close(), because the normal Windows versions don't handle + // sockets at all. +-#ifndef __STDC__ +-/* nolint */ +-#define __STDC__ 1 +-#include // @manual nolint +-#include // @manual nolint +-#undef __STDC__ +-#else +-#include // @manual nolint +-#include // @manual nolint +-#endif ++#include ++#pragma push_macro("_CRT_INTERNAL_NONSTDC_NAMES") ++#define _CRT_INTERNAL_NONSTDC_NAMES 0 ++#include ++#include ++#pragma pop_macro("_CRT_INTERNAL_NONSTDC_NAMES") + + #if defined(min) || defined(max) + #error Windows.h needs to be included by this header, or else NOMINMAX needs \ diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index 7e7f40565..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,13 +12,14 @@ vcpkg_add_to_path("${PYTHON3_DIR}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/folly - REF 354223ec1602913667c52cee1ce0782a82cb0cad - SHA512 53dd401e5fe8aebf35bec7c1b49e45a7abf152ad12f7392f31653f9e644207d0926424948ad2d7974bf3e5eabaa97e3e9113f1318883bfc99b968b3700b19023 + 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 @@ -72,7 +71,7 @@ vcpkg_install_cmake(ADD_BIN_TO_PATH) vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/folly) +vcpkg_fixup_cmake_targets() # Release folly-targets.cmake does not link to the right libraries in debug mode. # We substitute with generator expressions so that the right libraries are linked for debug and release. @@ -93,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/fontconfig/CONTROL b/ports/fontconfig/CONTROL index fbcc3f536..d350c7fc4 100644 --- a/ports/fontconfig/CONTROL +++ b/ports/fontconfig/CONTROL @@ -1,5 +1,5 @@ -Source: fontconfig -Version: 2.12.4-9 -Homepage: https://www.freedesktop.org/software/fontconfig/front.html -Description: Library for configuring and customizing font access. -Build-Depends: freetype, expat, libiconv, dirent +Source: fontconfig +Version: 2.12.4-10 +Homepage: https://www.freedesktop.org/software/fontconfig/front.html +Description: Library for configuring and customizing font access. +Build-Depends: freetype, expat, libiconv, dirent diff --git a/ports/fontconfig/fcobjtypehash.patch b/ports/fontconfig/fcobjtypehash.patch index bf86ca3b0..e0db68942 100644 --- a/ports/fontconfig/fcobjtypehash.patch +++ b/ports/fontconfig/fcobjtypehash.patch @@ -1,18 +1,18 @@ -diff --git a/src/fcobjs.c b/src/fcobjs.c -index 33bba8d..e6b0808 100644 ---- a/src/fcobjs.c -+++ b/src/fcobjs.c -@@ -24,11 +24,13 @@ - - #include "fcint.h" - -+#if 0 - static unsigned int - FcObjectTypeHash (register const char *str, register FC_GPERF_SIZE_T len); - - static const struct FcObjectTypeInfo * - FcObjectTypeLookup (register const char *str, register FC_GPERF_SIZE_T len); -+#endif - - #include "fcobjshash.h" - +diff --git a/src/fcobjs.c b/src/fcobjs.c +index 33bba8d..e6b0808 100644 +--- a/src/fcobjs.c ++++ b/src/fcobjs.c +@@ -24,11 +24,13 @@ + + #include "fcint.h" + ++#if 0 + static unsigned int + FcObjectTypeHash (register const char *str, register FC_GPERF_SIZE_T len); + + static const struct FcObjectTypeInfo * + FcObjectTypeLookup (register const char *str, register FC_GPERF_SIZE_T len); ++#endif + + #include "fcobjshash.h" + diff --git a/ports/fontconfig/portfile.cmake b/ports/fontconfig/portfile.cmake index 772e741fd..db7692779 100644 --- a/ports/fontconfig/portfile.cmake +++ b/ports/fontconfig/portfile.cmake @@ -1,51 +1,51 @@ - -include(vcpkg_common_functions) - -set(FONTCONFIG_VERSION 2.12.4) -vcpkg_download_distfile(ARCHIVE - URLS "https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.gz" - FILENAME "fontconfig-${FONTCONFIG_VERSION}.tar.gz" - SHA512 2be3ee0e8e0e3b62571135a3cae06e456c289dd1ad40ef2a7c780406418ee5efce863a833eca5a8ef55bc737a0ea04ef562bba6fd27e174ae43e42131b52810d -) - -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${FONTCONFIG_VERSION} - PATCHES fcobjtypehash.patch -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DFC_INCLUDE_DIR=${CMAKE_CURRENT_LIST_DIR}/include - OPTIONS_DEBUG - -DFC_SKIP_TOOLS=ON - -DFC_SKIP_HEADERS=ON -) - -vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-fontconfig TARGET_PATH share/unofficial-fontconfig) - -vcpkg_copy_pdbs() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - foreach(HEADER fcfreetype.h fontconfig.h) - file(READ ${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER} FC_HEADER) - if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - string(REPLACE "#define FcPublic" "#define FcPublic __declspec(dllimport)" FC_HEADER "${FC_HEADER}") - else() - string(REPLACE "#define FcPublic" "#define FcPublic __attribute__((visibility(\"default\")))" FC_HEADER "${FC_HEADER}") - endif() - file(WRITE ${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER} "${FC_HEADER}") - endforeach() -endif() - -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fontconfig) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/fontconfig/COPYING ${CURRENT_PACKAGES_DIR}/share/fontconfig/copyright) - -vcpkg_test_cmake(PACKAGE_NAME unofficial-fontconfig) + +include(vcpkg_common_functions) + +set(FONTCONFIG_VERSION 2.12.4) +vcpkg_download_distfile(ARCHIVE + URLS "https://www.freedesktop.org/software/fontconfig/release/fontconfig-${FONTCONFIG_VERSION}.tar.gz" + FILENAME "fontconfig-${FONTCONFIG_VERSION}.tar.gz" + SHA512 2be3ee0e8e0e3b62571135a3cae06e456c289dd1ad40ef2a7c780406418ee5efce863a833eca5a8ef55bc737a0ea04ef562bba6fd27e174ae43e42131b52810d +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${FONTCONFIG_VERSION} + PATCHES fcobjtypehash.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFC_INCLUDE_DIR=${CMAKE_CURRENT_LIST_DIR}/include + OPTIONS_DEBUG + -DFC_SKIP_TOOLS=ON + -DFC_SKIP_HEADERS=ON +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-fontconfig TARGET_PATH share/unofficial-fontconfig) + +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + foreach(HEADER fcfreetype.h fontconfig.h) + file(READ ${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER} FC_HEADER) + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + string(REPLACE "#define FcPublic" "#define FcPublic __declspec(dllimport)" FC_HEADER "${FC_HEADER}") + else() + string(REPLACE "#define FcPublic" "#define FcPublic __attribute__((visibility(\"default\")))" FC_HEADER "${FC_HEADER}") + endif() + file(WRITE ${CURRENT_PACKAGES_DIR}/include/fontconfig/${HEADER} "${FC_HEADER}") + endforeach() +endif() + +file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fontconfig) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/fontconfig/COPYING ${CURRENT_PACKAGES_DIR}/share/fontconfig/copyright) + +vcpkg_test_cmake(PACKAGE_NAME unofficial-fontconfig) diff --git a/ports/foonathan-memory/CONTROL b/ports/foonathan-memory/CONTROL new file mode 100644 index 000000000..8c105a104 --- /dev/null +++ b/ports/foonathan-memory/CONTROL @@ -0,0 +1,8 @@ +Source: foonathan-memory +Version: 2019-07-21-1 +Description: STL compatible C++ memory allocator library +Homepage: https://foonathan.net/doc/memory/ +Default-Features: tool + +Feature: tool +Description: Build foonathan memory tool diff --git a/ports/foonathan-memory/portfile.cmake b/ports/foonathan-memory/portfile.cmake new file mode 100644 index 000000000..f8fdeea33 --- /dev/null +++ b/ports/foonathan-memory/portfile.cmake @@ -0,0 +1,130 @@ +include(vcpkg_common_functions) + +# WINDOWS_EXPORT_ALL_SYMBOLS doesn't work. +# unresolved external symbol "public: static unsigned int const foonathan::memory::detail::memory_block_stack::implementation_offset +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO foonathan/memory + REF 885a9d97bebe9a2f131d21d3c0928c42ab377c8b + SHA512 7ce78a6e67d590a41b7f8a3d4ae0f6c1fa157c561b718a63973dffc000df74a9f0a0d7955a099e84fbeb3cf4085092eb866a6b8cec8bafd50bdcee94d069f65d + HEAD_REF master +) + +vcpkg_from_github( + OUT_SOURCE_PATH COMP_SOURCE_PATH + REPO foonathan/compatibility + REF cd142129e30f5b3e6c6d96310daf94242c0b03bf + SHA512 1d144f82ec46dcc546ee292846330d39536a3145e5a5d8065bda545f55699aeb9a4ef7dea5e5f684ce2327fad210488fe6bb4ba7f84ceac867ac1c72b90c6d69 + HEAD_REF master +) + +file(COPY ${COMP_SOURCE_PATH}/comp_base.cmake DESTINATION ${SOURCE_PATH}/cmake/comp) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + tool FOONATHAN_MEMORY_BUILD_TOOLS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + ${FEATURE_OPTIONS} + -DFOONATHAN_MEMORY_BUILD_EXAMPLES=OFF + -DFOONATHAN_MEMORY_BUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/foonathan_memory) +elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/foonathan_memory/cmake) + vcpkg_fixup_cmake_targets(CONFIG_PATH share/foonathan_memory/cmake TARGET_PATH share/foonathan_memory) +endif() + +vcpkg_copy_pdbs() + +# Place header files into the right folders +# The original layout is not a problem for CMake-based project. +file(COPY + ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/foonathan + DESTINATION ${CURRENT_PACKAGES_DIR}/include +) +file(GLOB + COMP_INCLUDE_FILES + ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/comp/foonathan/*.hpp +) +file(COPY + ${COMP_INCLUDE_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/include/foonathan +) +file(COPY + ${CURRENT_PACKAGES_DIR}/include/foonathan_memory/config_impl.hpp + DESTINATION ${CURRENT_PACKAGES_DIR}/include/foonathan/memory +) +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/include/foonathan_memory +) +vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/share/foonathan_memory/foonathan_memory-config.cmake + "\${_IMPORT_PREFIX}/include/foonathan_memory/comp;\${_IMPORT_PREFIX}/include/foonathan_memory" + "\${_IMPORT_PREFIX}/include" +) +# Place header files into the right folders - Done! + +# The Debug version of this lib is built with: +# #define FOONATHAN_MEMORY_DEBUG_FILL 1 +# and Release version is built with: +# #define FOONATHAN_MEMORY_DEBUG_FILL 0 +# We only have the Release version header files installed, however. +vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/include/foonathan/memory/detail/debug_helpers.hpp + "#if FOONATHAN_MEMORY_DEBUG_FILL" + "#ifndef NDEBUG //#if FOONATHAN_MEMORY_DEBUG_FILL" +) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) + +file(REMOVE + ${CURRENT_PACKAGES_DIR}/debug/LICENSE + ${CURRENT_PACKAGES_DIR}/debug/README.md + ${CURRENT_PACKAGES_DIR}/LICENSE + ${CURRENT_PACKAGES_DIR}/README.md +) + +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR + VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") +endif() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX}) + file(COPY + ${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX} + DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT} + ) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/bin + ${CURRENT_PACKAGES_DIR}/debug/bin + ) + else() + file(REMOVE + ${CURRENT_PACKAGES_DIR}/bin/nodesize_dbg${EXECUTABLE_SUFFIX} + ${CURRENT_PACKAGES_DIR}/debug/bin/nodesize_dbg${EXECUTABLE_SUFFIX} + ) + endif() +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/forest/CONTROL b/ports/forest/CONTROL index 39fda4672..9e2659811 100644 --- a/ports/forest/CONTROL +++ b/ports/forest/CONTROL @@ -1,4 +1,4 @@ Source: forest -Version: 12.0.0 +Version: 12.0.4 Homepage: https://github.com/xorz57/forest -Description: Template library of tree data structures +Description: Template Library of Tree Data Structures in C++17 diff --git a/ports/forest/portfile.cmake b/ports/forest/portfile.cmake index b142d181e..a1211b069 100644 --- a/ports/forest/portfile.cmake +++ b/ports/forest/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xorz57/forest - REF 12.0.0 - SHA512 c6f7a7ca098755bc6ac2f02048962d9f1d619c2d76671e9bb558524f760c3e28604db21991c2d9ebc90ffdb12ea00708d9a4fee1f4416ee216f3ef1dea0a1b97 + REF 12.0.4 + SHA512 d9251c8de5998f320bc45e100845c00482c5db9037c880731169da722d7a53c1d241483df46ecaa54750637b8eb49dcf1bb9d11992af37f5d3ca12eb01478fdf HEAD_REF master ) diff --git a/ports/fplus/CONTROL b/ports/fplus/CONTROL new file mode 100644 index 000000000..10c95ac63 --- /dev/null +++ b/ports/fplus/CONTROL @@ -0,0 +1,4 @@ +Source: fplus +Version: 0.2.3-p0 +Description: Functional Programming Library for C++. Write concise and readable C++ code. +Homepage: https://github.com/Dobiasd/FunctionalPlus \ No newline at end of file diff --git a/ports/fplus/portfile.cmake b/ports/fplus/portfile.cmake new file mode 100644 index 000000000..fc7da4cbc --- /dev/null +++ b/ports/fplus/portfile.cmake @@ -0,0 +1,22 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Dobiasd/FunctionalPlus + REF v0.2.3-p0 + SHA512 99fe07e68cd5630b9b243670778772f396cabb89845fb3ae5105884fab1cdbb7fae4080f57d0aea4d9282f84036572c0dd1e4b9602997dec4171a90b98416759 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + -DFPLUS_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) \ No newline at end of file diff --git a/ports/freeglut/CONTROL b/ports/freeglut/CONTROL index 1ee44b7f3..7489109c4 100644 --- a/ports/freeglut/CONTROL +++ b/ports/freeglut/CONTROL @@ -1,4 +1,4 @@ Source: freeglut -Version: 3.0.0-6 +Version: 3.0.0-7 Homepage: https://sourceforge.net/projects/freeglut/ Description: Open source implementation of GLUT with source and binary backwards compatibility. diff --git a/ports/freeglut/portfile.cmake b/ports/freeglut/portfile.cmake index 86d691593..bec7489b8 100644 --- a/ports/freeglut/portfile.cmake +++ b/ports/freeglut/portfile.cmake @@ -1,5 +1,5 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/freeglut-3.0.0) + vcpkg_download_distfile(ARCHIVE URLS "http://downloads.sourceforge.net/project/freeglut/freeglut/3.0.0/freeglut-3.0.0.tar.gz" FILENAME "freeglut-3.0.0.tar.gz" @@ -36,6 +36,7 @@ file(WRITE ${SOURCE_PATH}/include/GL/freeglut_std.h "${FREEGLUT_STDH}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DFREEGLUT_BUILD_STATIC_LIBS=${FREEGLUT_STATIC} -DFREEGLUT_BUILD_SHARED_LIBS=${FREEGLUT_DYNAMIC} diff --git a/ports/freeimage/CMakeLists.txt b/ports/freeimage/CMakeLists.txt index 60c7f9bd8..af3d1c37f 100644 --- a/ports/freeimage/CMakeLists.txt +++ b/ports/freeimage/CMakeLists.txt @@ -4,9 +4,6 @@ include(GNUInstallDirs) project(FreeImage C CXX) -set(CMAKE_MODULE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/share/JXR" ${CMAKE_MODULE_PATH}) -set(CMAKE_MODULE_PATH "${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET}/share/OpenEXR" ${CMAKE_MODULE_PATH}) - if(MSVC) add_definitions("-D_CRT_SECURE_NO_WARNINGS") set(CMAKE_CXX_FLAGS "/wd4828 ${CMAKE_CXX_FLAGS}") diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL index 2420b5a56..c911df6c7 100644 --- a/ports/freeimage/CONTROL +++ b/ports/freeimage/CONTROL @@ -1,5 +1,5 @@ Source: freeimage -Version: 3.18.0-5 -Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp[all], libraw, jxrlib, openexr +Version: 3.18.0-7 +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 dc57a5691..237ed2466 100644 --- a/ports/freeimage/portfile.cmake +++ b/ports/freeimage/portfile.cmake @@ -1,6 +1,5 @@ -include(${CMAKE_TRIPLET_FILE}) include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/FreeImage) + vcpkg_download_distfile(ARCHIVE URLS "http://downloads.sourceforge.net/freeimage/FreeImage3180.zip" FILENAME "FreeImage3180.zip" diff --git a/ports/freerdp/CONTROL b/ports/freerdp/CONTROL index f880f30a3..c5c3d657e 100644 --- a/ports/freerdp/CONTROL +++ b/ports/freerdp/CONTROL @@ -1,5 +1,5 @@ Source: freerdp -Version: 2.0.0-rc4-1 +Version: 2.0.0-rc4-2 Homepage: https://github.com/FreeRDP/FreeRDP Description: A free implementation of the Remote Desktop Protocol (RDP) Build-Depends: openssl diff --git a/ports/freerdp/portfile.cmake b/ports/freerdp/portfile.cmake index 7fa0b3c72..ca42af8a0 100644 --- a/ports/freerdp/portfile.cmake +++ b/ports/freerdp/portfile.cmake @@ -62,7 +62,7 @@ foreach(PACKAGE FreeRDP-Client2 FreeRDP2 WinPR2) endforeach() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP-Client2_temp/FreeRDP-Client2 TARGET_PATH share/freerdp-client) -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/FreeRDP2_temp/FreeRDP2 TARGET_PATH share/freerdp) +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) diff --git a/ports/freetds/CONTROL b/ports/freetds/CONTROL index 4a7a008bb..77be05f40 100644 --- a/ports/freetds/CONTROL +++ b/ports/freetds/CONTROL @@ -1,5 +1,6 @@ Source: freetds -Version: 1.1.6 +Version: 1.1.6-1 +Homepage: https://www.freetds.org Description: Implementation of the Tabular Data Stream protocol Default-Features: openssl diff --git a/ports/freetds/portfile.cmake b/ports/freetds/portfile.cmake index 65b8afde4..a03fd0c9c 100644 --- a/ports/freetds/portfile.cmake +++ b/ports/freetds/portfile.cmake @@ -1,19 +1,15 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/freetds-1.1.6) + 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 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) set(BUILD_freetds_openssl OFF) if("openssl" IN_LIST FEATURES) @@ -64,6 +60,4 @@ 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}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freetds) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/freetds/COPYING ${CURRENT_PACKAGES_DIR}/share/freetds/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/freetype-gl/0001-Use-external-Glew-and-Freetype.patch b/ports/freetype-gl/0001-Use-external-Glew-and-Freetype.patch deleted file mode 100644 index 6c33f9e0e..000000000 --- a/ports/freetype-gl/0001-Use-external-Glew-and-Freetype.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 653dae652bac66e4e96a94ba8ebfabb2227738b7 Mon Sep 17 00:00:00 2001 -From: Daniel Olivier -Date: Thu, 19 Oct 2017 21:26:09 -0400 -Subject: [PATCH] Use external Glew and Freetype - - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4eb55e9..2546de6 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -74,13 +74,6 @@ if(NOT HAVE_M_PI) - endif() - endif() - --if(NOT MINGW AND (WIN32 OR WIN64)) -- set(GLEW_ROOT_DIR -- ${CMAKE_CURRENT_SOURCE_DIR}/windows/glew) -- set(ENV{FREETYPE_DIR} -- ${CMAKE_CURRENT_SOURCE_DIR}/windows/freetype) --endif() -- - find_package(OpenGL REQUIRED) - find_package(Freetype REQUIRED) - \ No newline at end of file diff --git a/ports/freetype-gl/CONTROL b/ports/freetype-gl/CONTROL index 57af93cbc..5419d6596 100644 --- a/ports/freetype-gl/CONTROL +++ b/ports/freetype-gl/CONTROL @@ -1,5 +1,5 @@ Source: freetype-gl -Version: 2019-03-29-1 +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 c23a21da9..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( @@ -8,7 +6,6 @@ vcpkg_from_github( REF a91a3dda326ceaf66b7279bf64ba07014d3f81b8 SHA512 8e04573dfb400e14e2c1d3a2cd851a66f8218ccfdaa4f701ed9369d7f040d7028582e72af9b236af42d9d3c6c128014670e8ae0261c6f4770affd1aea1454b1e HEAD_REF master - PATCHES 0001-Use-external-Glew-and-Freetype.patch ) # make sure that no "internal" libraries are used by removing them @@ -40,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/0002-Add-CONFIG_INSTALL_PATH-option.patch b/ports/freetype/0002-Add-CONFIG_INSTALL_PATH-option.patch index 993576160..65f9631ca 100644 --- a/ports/freetype/0002-Add-CONFIG_INSTALL_PATH-option.patch +++ b/ports/freetype/0002-Add-CONFIG_INSTALL_PATH-option.patch @@ -1,23 +1,22 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 32324d6..89a73a4 100644 +index a418c44..db48e9f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -151,6 +151,9 @@ option(FT_WITH_BZIP2 "Support bzip2 compressed fonts." OFF) +@@ -156,6 +156,8 @@ option(FT_WITH_BZIP2 "Support bzip2 compressed fonts." OFF) option(FT_WITH_PNG "Support PNG compressed OpenType embedded bitmaps." OFF) option(FT_WITH_HARFBUZZ "Improve auto-hinting of OpenType fonts." OFF) +# vcpkg config install path +option(CONFIG_INSTALL_PATH "location to install cmake config files" lib/cmake/freetype) -+ # Disallow in-source builds - if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}") -@@ -475,7 +478,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) + if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}") +@@ -488,7 +490,7 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) COMPONENT libraries) install( EXPORT freetype-targets - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype -+ DESTINATION ${CONFIG_INSTALL_PATH} ++ DESTINATION ${CONFIG_INSTALL_PATH} FILE freetype-config.cmake COMPONENT headers) endif () diff --git a/ports/freetype/0003-Fix-UWP.patch b/ports/freetype/0003-Fix-UWP.patch index 937942189..b3a04188c 100644 --- a/ports/freetype/0003-Fix-UWP.patch +++ b/ports/freetype/0003-Fix-UWP.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 89a73a4..fe9bc65 100644 +index db48e9f..5c35276 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -321,6 +321,10 @@ else () +@@ -328,6 +328,10 @@ else () list(APPEND BASE_SRCS src/base/ftdebug.c) endif () @@ -14,14 +14,14 @@ index 89a73a4..fe9bc65 100644 list(APPEND BASE_SRCS builds/mac/freetype-Info.plist) endif () diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h -index 9664404..f56335a 100644 +index 4f2eaca..1e01fe4 100644 --- a/include/freetype/freetype.h +++ b/include/freetype/freetype.h -@@ -1066,6 +1066,11 @@ FT_BEGIN_HEADER - /* Especially for TrueType fonts see also the documentation for */ - /* @FT_Size_Metrics. */ - /* */ -+ +@@ -1038,6 +1038,11 @@ FT_BEGIN_HEADER + * Especially for TrueType fonts see also the documentation for + * @FT_Size_Metrics. + */ ++ +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) +#define generic GenericFromFreeTypeLibrary +#endif @@ -29,7 +29,7 @@ index 9664404..f56335a 100644 typedef struct FT_FaceRec_ { FT_Long num_faces; -@@ -1942,6 +1947,9 @@ FT_BEGIN_HEADER +@@ -1910,6 +1915,9 @@ FT_BEGIN_HEADER } FT_GlyphSlotRec; @@ -40,28 +40,26 @@ index 9664404..f56335a 100644 /*************************************************************************/ /*************************************************************************/ diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c -index 8d07e35..ce6fffd 100644 +index 3f8619d..edf03b6 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c -@@ -491,6 +491,10 @@ +@@ -528,6 +528,9 @@ return error; } +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) +#define generic GenericFromFreeTypeLibrary +#endif -+ static void ft_glyphslot_clear( FT_GlyphSlot slot ) -@@ -1151,6 +1155,10 @@ +@@ -1195,6 +1198,9 @@ FT_FREE( face ); } +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) +#undef generic +#endif -+ static void Destroy_Driver( FT_Driver driver ) diff --git a/ports/freetype/0004-Fix-DLL-install.patch b/ports/freetype/0004-Fix-DLL-install.patch deleted file mode 100644 index 8d70b993f..000000000 --- a/ports/freetype/0004-Fix-DLL-install.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fe9bc65..dd8a878 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -478,6 +478,8 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) - EXPORT freetype-targets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+# DLL is RUNTIME -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - FRAMEWORK DESTINATION Library/Frameworks - COMPONENT libraries) - install( diff --git a/ports/freetype/0005-Fix-DLL-EXPORTS.patch b/ports/freetype/0005-Fix-DLL-EXPORTS.patch index 96abaffb7..7ea02bbed 100644 --- a/ports/freetype/0005-Fix-DLL-EXPORTS.patch +++ b/ports/freetype/0005-Fix-DLL-EXPORTS.patch @@ -1,13 +1,14 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index dd8a878..75f9ab7 100644 +index ede5daf..46c1e55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -141,7 +141,7 @@ set(VERSION_PATCH "1") - # Increment REVISION. - set(LIBRARY_VERSION "6.16.0") - set(LIBRARY_SOVERSION "6") -- -+ADD_DEFINITIONS(-DDLL_EXPORT) - # These options mean "require x and complain if not found". They'll get +@@ -151,6 +151,9 @@ set(LIBRARY_SOVERSION "6") # optionally found anyway. Use `-DCMAKE_DISABLE_FIND_PACKAGE_x=TRUE` to disable # searching for a packge entirely (x is the CMake package name, so "BZip2" + # instead of "BZIP2"). ++if (ENABLE_DLL_EXPORT) ++ ADD_DEFINITIONS(-DDLL_EXPORT) ++endif() + option(FT_WITH_ZLIB "Use system zlib instead of internal library." OFF) + option(FT_WITH_BZIP2 "Support bzip2 compressed fonts." OFF) + option(FT_WITH_PNG "Support PNG compressed OpenType embedded bitmaps." OFF) diff --git a/ports/freetype/CONTROL b/ports/freetype/CONTROL index 21b6c59f4..20d4bb93c 100644 --- a/ports/freetype/CONTROL +++ b/ports/freetype/CONTROL @@ -1,5 +1,5 @@ Source: freetype -Version: 2.9.1-2 +Version: 2.10.1-1 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 654cff2b9..d1822481f 100644 --- a/ports/freetype/portfile.cmake +++ b/ports/freetype/portfile.cmake @@ -1,35 +1,27 @@ include(vcpkg_common_functions) -set(FT_VERSION 2.9.1) +set(FT_VERSION 2.10.1) vcpkg_download_distfile(ARCHIVE - URLS "https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${FT_VERSION}.tar.bz2" "https://downloads.sourceforge.net/project/freetype/freetype2/${FT_VERSION}/freetype-${FT_VERSION}.tar.bz2" - FILENAME "freetype-${FT_VERSION}.tar.bz2" - SHA512 856766e1f3f4c7dc8afb2b5ee991138c8b642c6a6e5e007cd2bc04ae58bde827f082557cf41bf541d97e8485f7fd064d10390d1ee597f19d1daed6c152e27708 + URLS "https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${FT_VERSION}.tar.xz" "https://downloads.sourceforge.net/project/freetype/freetype2/${FT_VERSION}/freetype-${FT_VERSION}.tar.xz" + FILENAME "freetype-${FT_VERSION}.tar.xz" + SHA512 c7a565b0ab3dce81927008a6965d5c7540f0dc973fcefdc1677c2e65add8668b4701c2958d25593cb41f706f4488765365d40b93da71dbfa72907394f28b2650 ) +vcpkg_extract_source_archive_ex( +OUT_SOURCE_PATH SOURCE_PATH +ARCHIVE ${ARCHIVE} +REF ${FT_VERSION} +PATCHES + 0001-Fix-install-command.patch + 0002-Add-CONFIG_INSTALL_PATH-option.patch + 0003-Fix-UWP.patch + 0005-Fix-DLL-EXPORTS.patch +) + if(NOT ${VCPKG_LIBRARY_LINKAGE} STREQUAL "dynamic") - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${FT_VERSION} - PATCHES - 0001-Fix-install-command.patch - 0002-Add-CONFIG_INSTALL_PATH-option.patch - 0003-Fix-UWP.patch - 0004-Fix-DLL-install.patch - ) + set(ENABLE_DLL_EXPORT OFF) else() - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${FT_VERSION} - PATCHES - 0001-Fix-install-command.patch - 0002-Add-CONFIG_INSTALL_PATH-option.patch - 0003-Fix-UWP.patch - 0004-Fix-DLL-install.patch - 0005-Fix-DLL-EXPORTS.patch - ) + set(ENABLE_DLL_EXPORT ON) endif() vcpkg_configure_cmake( @@ -42,6 +34,7 @@ vcpkg_configure_cmake( -DFT_WITH_PNG=ON -DFT_WITH_HARFBUZZ=OFF -DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE + -DENABLE_DLL_EXPORT=${ENABLE_DLL_EXPORT} ) vcpkg_install_cmake() diff --git a/ports/freexl/CONTROL b/ports/freexl/CONTROL index 00f97f562..23f6b3468 100644 --- a/ports/freexl/CONTROL +++ b/ports/freexl/CONTROL @@ -1,6 +1,5 @@ Source: freexl -Version: 1.0.4-1 +Version: 1.0.4-8 Homepage: https://www.gaia-gis.it/gaia-sins/freexl-sources Description: FreeXL is an open source library to extract valid data from within an Excel (.xls) spreadsheet Build-Depends: libiconv - diff --git a/ports/freexl/portfile.cmake b/ports/freexl/portfile.cmake index ff8879fba..825378837 100644 --- a/ports/freexl/portfile.cmake +++ b/ports/freexl/portfile.cmake @@ -1,90 +1,91 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/freexl-1.0.4) +set(FREEXL_VERSION_STR "1.0.4") + vcpkg_download_distfile(ARCHIVE - URLS "http://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-1.0.4.tar.gz" - FILENAME "freexl-1.0.4.tar.gz" + URLS "http://www.gaia-gis.it/gaia-sins/freexl-sources/freexl-${FREEXL_VERSION_STR}.tar.gz" + FILENAME "freexl-${FREEXL_VERSION_STR}.tar.gz" SHA512 d72561f7b82e0281cb211fbf249e5e45411a7cdd009cfb58da3696f0a0341ea7df210883bfde794be28738486aeb4ffc67ec2c98fd2acde5280e246e204ce788 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES + fix-makefiles.patch + fix-sources.patch + ) + + set(LIBS_ALL_DBG + "\"${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib\" \ + \"${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib\"" + ) + set(LIBS_ALL_REL + "\"${CURRENT_INSTALLED_DIR}/lib/libiconv.lib\" \ + \"${CURRENT_INSTALLED_DIR}/lib/libcharset.lib\"" + ) + + vcpkg_install_nmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS_DEBUG + INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}/debug" + INST_DIR="${CURRENT_PACKAGES_DIR}/debug" + "LINK_FLAGS=/debug" + "LIBS_ALL=${LIBS_ALL_DBG}" + OPTIONS_RELEASE + INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" + INST_DIR="${CURRENT_PACKAGES_DIR}" + "LINK_FLAGS=" + "LIBS_ALL=${LIBS_ALL_REL}" + + ) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright) + + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib) + else() + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/lib/freexl.lib) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib) + endif() + endif() + +elseif (CMAKE_HOST_UNIX OR CMAKE_HOST_APPLE) # Build in UNIX + + vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + ) + + vcpkg_configure_make( SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch -) -find_program(NMAKE nmake) - -set(LIBS_ALL_DBG - "\"${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib\" \ - \"${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib\"" - ) -set(LIBS_ALL_REL - "\"${CURRENT_INSTALLED_DIR}/lib/libiconv.lib\" \ - \"${CURRENT_INSTALLED_DIR}/lib/libcharset.lib\"" - ) - - -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CL_FLAGS_DBG "/MDd /Zi") - set(CL_FLAGS_REL "/MD /Ox") -else() - set(CL_FLAGS_DBG "/MTd /Zi") - set(CL_FLAGS_REL "/MT /Ox") -endif() - - -################ -# Debug build -################ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG) - vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc clean install - INST_DIR="${INST_DIR_DBG}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-debug + OPTIONS_DEBUG + INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" + "LINK_FLAGS=/debug" + "CL_FLAGS=${CL_FLAGS_DBG}" + "LIBS_ALL=${LIBS_ALL_DBG}" + OPTIONS_RELEASE + INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" + "LINK_FLAGS=" + "CL_FLAGS=${CL_FLAGS_REL}" + "LIBS_ALL=${LIBS_ALL_REL}" ) - message(STATUS "Building ${TARGET_TRIPLET}-dbg done") - vcpkg_copy_pdbs() + + vcpkg_install_make() + + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright) + +else()# Other build system + message(FATAL_ERROR "Unsupported build system.") endif() -################ -# Release build -################ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Building ${TARGET_TRIPLET}-rel") - - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL) - vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc clean install - INST_DIR="${INST_DIR_REL}" INSTALLED_ROOT="${CURRENT_INSTALLED_DIR}" "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-release - ) - message(STATUS "Building ${TARGET_TRIPLET}-rel done") -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/freexl RENAME copyright) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib) -else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/freexl.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/lib/freexl.lib) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/freexl_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/freexl.lib) - endif() -endif() - - message(STATUS "Packaging ${TARGET_TRIPLET} done") diff --git a/ports/fribidi/CONTROL b/ports/fribidi/CONTROL index 098748ee8..771c4716e 100644 --- a/ports/fribidi/CONTROL +++ b/ports/fribidi/CONTROL @@ -1,3 +1,4 @@ Source: fribidi -Version: 58c6cb3 +Version: 2019-02-04-2 Description: GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi) +Build-Depends: tool-meson diff --git a/ports/fribidi/fix-win-static-suffix.patch b/ports/fribidi/fix-win-static-suffix.patch new file mode 100644 index 000000000..87f288e93 --- /dev/null +++ b/ports/fribidi/fix-win-static-suffix.patch @@ -0,0 +1,39 @@ +diff --git a/lib/meson.build b/lib/meson.build +index 573d47f..c9b249e 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -71,14 +71,26 @@ fribidi_sources = [ + 'fribidi-shape.c', + ] + +-libfribidi = library('fribidi', +- fribidi_sources, fribidi_unicode_version_h, fribidi_config_h, +- generated_tab_include_files, config_h, +- include_directories: incs, +- c_args: ['-DHAVE_CONFIG_H'] + visibility_args, +- version: libversion, +- soversion: soversion, +- install: true) ++if host_machine.system() == 'windows' and get_option('default_library') == 'static' ++ libfribidi = library('fribidi', ++ fribidi_sources, fribidi_unicode_version_h, fribidi_config_h, ++ generated_tab_include_files, config_h, ++ include_directories: incs, ++ c_args: ['-DHAVE_CONFIG_H'] + visibility_args, ++ version: libversion, ++ soversion: soversion, ++ install: true, ++ name_suffix: 'lib') ++else ++ libfribidi = library('fribidi', ++ fribidi_sources, fribidi_unicode_version_h, fribidi_config_h, ++ generated_tab_include_files, config_h, ++ include_directories: incs, ++ c_args: ['-DHAVE_CONFIG_H'] + visibility_args, ++ version: libversion, ++ soversion: soversion, ++ install: true) ++endif + + libfribidi_dep = declare_dependency(link_with: libfribidi, + include_directories: incs, diff --git a/ports/fribidi/portfile.cmake b/ports/fribidi/portfile.cmake index 5b45a17b1..843964500 100644 --- a/ports/fribidi/portfile.cmake +++ b/ports/fribidi/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( REF 58c6cb390a9a18c98b2cbaac555d8ea9352a9e4f SHA512 1ec9c19faa87886786ce1589e2c66cab173b48e34d0e43487becc8606001f21f6ed17d0abd1c322fbbcaeb96a47ed882cad228be2e9beb019020ca2a475fc298 HEAD_REF master + PATCHES fix-win-static-suffix.patch ) vcpkg_configure_meson( diff --git a/ports/g2o/CONTROL b/ports/g2o/CONTROL index 483824107..0e6b43f7d 100644 --- a/ports/g2o/CONTROL +++ b/ports/g2o/CONTROL @@ -1,5 +1,5 @@ Source: g2o -Version: 20170730_git-4 +Version: 20170730_git-5 Build-Depends: suitesparse, eigen3, clapack (!osx), ceres Description: g2o: A General Framework for Graph Optimization Homepage: https://openslam.org/g2o.html diff --git a/ports/g2o/portfile.cmake b/ports/g2o/portfile.cmake index 6d09b8a8c..312bbc8e8 100644 --- a/ports/g2o/portfile.cmake +++ b/ports/g2o/portfile.cmake @@ -24,7 +24,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(VCPKG_USE_HEAD_VERSION) - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/g2o") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/g2o) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) diff --git a/ports/g3log/CONTROL b/ports/g3log/CONTROL index 717166079..aeeee688c 100644 --- a/ports/g3log/CONTROL +++ b/ports/g3log/CONTROL @@ -1,3 +1,4 @@ Source: g3log -Version: 2019-05-14-1 +Version: 2019-07-29 Description: Asynchronous logger with Dynamic Sinks +Homepage: https://github.com/KjellKod/g3log diff --git a/ports/g3log/portfile.cmake b/ports/g3log/portfile.cmake index f07ae0b1c..f0ae8a23a 100644 --- a/ports/g3log/portfile.cmake +++ b/ports/g3log/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KjellKod/g3log - REF 376c417ad170228fa6d1b9994a6e07a2ac143a51 - SHA512 fd442b895f0be2489d2be099b1faca5c964f1a3880e3867726efb5f5a17192fbf2c2d60cf118e1b68bea73cf328f0b16c0265ec0f0c0fbbb1f62f68a994f5b86 + REF f1491791785101d4ae948f8ecee7e9cc3e6b0be8 + SHA512 852ed7c9eb2345f02414be7fb7dfbd4be340dcbf8abc4e6ba6327d181cf10e33969279166151b4eeab78b290d3fecbf4a5094696c412f7b2ab815df415652bd8 HEAD_REF master ) @@ -12,7 +12,7 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" G3_SHARED_LIB) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" G3_SHARED_RUNTIME) # https://github.com/KjellKod/g3log#prerequisites -set(VERSION "1.3.2-95") +set(VERSION "1.3.2-80") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/gainput/CONTROL b/ports/gainput/CONTROL index 65b347dee..834f5d6fc 100644 --- a/ports/gainput/CONTROL +++ b/ports/gainput/CONTROL @@ -1,4 +1,4 @@ Source: gainput -Version: 1.0.0-1 +Version: 1.0.0-2 Homepage: https://github.com/jkuhlmann/gainput Description: Gainput is a multiplatform C++ input library, supporting mouse, keyboard and controllers diff --git a/ports/gainput/portfile.cmake b/ports/gainput/portfile.cmake index c1f1f6158..b84ed79dc 100644 --- a/ports/gainput/portfile.cmake +++ b/ports/gainput/portfile.cmake @@ -1,42 +1,24 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gainput-1.0.0) -vcpkg_download_distfile(ARCHIVE - URLS "http://github.com/jkuhlmann/gainput/archive/v1.0.0.zip" - FILENAME "gainput-1.0.0.zip" - SHA512 dab221290560298693f54bebced1da5ec3dfae2d2adbfd6ceb17b5b28dc2a637a49e479d49fe98680915b29beb5dd2d5c74258598233a053230696186593c88e + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jkuhlmann/gainput + REF v1.0.0 + SHA512 56fdc4c0613d7260861885b270ebe9e624e940175f41e3ac82516e2eb0d6d229e405fbcc2e54608e7d6751c1d8658b5b5e186153193badc6487274cb284a8cd6 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) - - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DGAINPUT_TESTS=OFF - -DGAINPUT_SAMPLES=OFF - # Disable this option if project cannot be built with Ninja - # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 - # OPTIONS_RELEASE -DOPTIMIZE=1 - # OPTIONS_DEBUG -DDEBUGGABLE=1 + PREFER_NINJA + OPTIONS + -DGAINPUT_TESTS=OFF + -DGAINPUT_SAMPLES=OFF ) vcpkg_install_cmake() vcpkg_copy_pdbs() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gainput RENAME copyright) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -45,3 +27,5 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gainputstaticd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gainputd.lib) endif() endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/gaussianlib/CONTROL b/ports/gaussianlib/CONTROL new file mode 100644 index 000000000..7f0be1d5a --- /dev/null +++ b/ports/gaussianlib/CONTROL @@ -0,0 +1,4 @@ +Source: gaussianlib +Version: 2019-08-04 +Description: Basic linear algebra C++ library for 2D and 3D applications +Homepage: https://github.com/LukasBanana/GaussianLib diff --git a/ports/gaussianlib/portfile.cmake b/ports/gaussianlib/portfile.cmake new file mode 100644 index 000000000..219196738 --- /dev/null +++ b/ports/gaussianlib/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LukasBanana/GaussianLib + REF 8630d4ac14a37f01c71bdf0c1c653e3746aa08da + SHA512 70de394496f20fe7037782d16cfa4bcd85beefdb25094247b8b572e6bb55866be6e2c82722d705141919b91f24428dde7b32f3d8a39670e7ef324c81b1ebe7e2 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/include/Gauss DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/gdal/CONTROL b/ports/gdal/CONTROL index 5df9a7fa2..48e48c080 100644 --- a/ports/gdal/CONTROL +++ b/ports/gdal/CONTROL @@ -1,8 +1,8 @@ Source: gdal -Version: 2.4.1-5 +Version: 2.4.1-9 Homepage: https://gdal.org/ Description: The Geographic Data Abstraction Library for reading and writing geospatial raster and vector data. -Build-Depends: proj, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5, zlib +Build-Depends: proj4, libpng, geos, sqlite3, curl, expat, libpq, openjpeg, libwebp, libxml2, liblzma, netcdf-c, hdf5, zlib Feature: mysql-libmariadb Build-Depends: libmariadb diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake index 61609d3d3..843459d8a 100644 --- a/ports/gdal/portfile.cmake +++ b/ports/gdal/portfile.cmake @@ -37,20 +37,20 @@ foreach(BUILD_TYPE IN LISTS BUILD_TYPES) vcpkg_apply_patches( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-debug-crt-flags.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-static-build.patch + 0001-Fix-debug-crt-flags.patch + 0002-Fix-static-build.patch ) else() vcpkg_apply_patches( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-debug-crt-flags.patch + 0001-Fix-debug-crt-flags.patch ) endif() vcpkg_apply_patches( SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/gdal-${GDAL_VERSION_STR}/ogr PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0003-Fix-std-fabs.patch + 0003-Fix-std-fabs.patch ) endforeach() @@ -65,7 +65,7 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor # Setup proj4 libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PROJ_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/proj.lib" PROJ_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/projd.lib" PROJ_LIBRARY_DBG) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib" PROJ_LIBRARY_DBG) # Setup libpng libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" PNG_INCLUDE_DIR) @@ -80,8 +80,8 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor # Setup geos libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" GEOS_INCLUDE_DIR) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libgeos.lib" GEOS_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.lib" GEOS_LIBRARY_DBG) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libgeos_c.lib ${CURRENT_INSTALLED_DIR}/lib/libgeos.lib" GEOS_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libgeos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.lib" GEOS_LIBRARY_DBG) else() file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib" GEOS_LIBRARY_REL) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib" GEOS_LIBRARY_DBG) @@ -133,7 +133,15 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor # Setup liblzma libraries + include path file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/include" LZMA_INCLUDE_DIR) file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/lzma.lib" LZMA_LIBRARY_REL) - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/lzma.lib" LZMA_LIBRARY_DBG) + 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) + + # Setup libiconv libraries path + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/lib/libiconv.lib ${CURRENT_INSTALLED_DIR}/lib/libcharset.lib" ICONV_LIBRARY_REL) + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib" ICONV_LIBRARY_DBG) if("mysql-libmysql" IN_LIST FEATURES OR "mysql-libmariadb" IN_LIST FEATURES) # Setup MySQL libraries + include path @@ -184,6 +192,7 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor PNGDIR=${PNG_INCLUDE_DIR} ZLIB_INC=-I${ZLIB_INCLUDE_DIR} ZLIB_EXTERNAL_LIB=1 + ACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1 MSVC_VER=1900 ) @@ -192,7 +201,6 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor endif() if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - list(APPEND NMAKE_OPTIONS PROJ_FLAGS=-DPROJ_STATIC) list(APPEND NMAKE_OPTIONS CURL_CFLAGS=-DCURL_STATICLIB) else() # Enables PDBs for release and debug builds @@ -210,39 +218,34 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor CXX_CRT_FLAGS=${LINKAGE_FLAGS} PROJ_LIBRARY=${PROJ_LIBRARY_REL} PNG_LIB=${PNG_LIBRARY_REL} - GEOS_LIB=${GEOS_LIBRARY_REL} + "GEOS_LIB=${GEOS_LIBRARY_REL}" EXPAT_LIB=${EXPAT_LIBRARY_REL} "CURL_LIB=${CURL_LIBRARY_REL} wsock32.lib wldap32.lib winmm.lib" "SQLITE_LIB=${SQLITE_LIBRARY_REL} ${SPATIALITE_LIBRARY_REL}" OPENJPEG_LIB=${OPENJPEG_LIBRARY_REL} WEBP_LIBS=${WEBP_LIBRARY_REL} - LIBXML2_LIB=${XML2_LIBRARY_REL} + "LIBXML2_LIB=${XML2_LIBRARY_REL} ${ICONV_LIBRARY_REL} ${LZMA_LIBRARY_REL}" ZLIB_LIB=${ZLIB_LIBRARY_REL} + "PG_LIB=${PGSQL_LIBRARY_REL} Secur32.lib Shell32.lib Advapi32.lib Crypt32.lib Gdi32.lib ${OPENSSL_LIBRARY_REL}" ) - if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # Static Build does not like PG_LIB - list(APPEND NMAKE_OPTIONS_REL PG_LIB=${PGSQL_LIBRARY_REL}) - endif() list(APPEND NMAKE_OPTIONS_DBG ${NMAKE_OPTIONS} CXX_CRT_FLAGS="${LINKAGE_FLAGS}d" PROJ_LIBRARY=${PROJ_LIBRARY_DBG} PNG_LIB=${PNG_LIBRARY_DBG} - GEOS_LIB=${GEOS_LIBRARY_DBG} + "GEOS_LIB=${GEOS_LIBRARY_DBG}" EXPAT_LIB=${EXPAT_LIBRARY_DBG} "CURL_LIB=${CURL_LIBRARY_DBG} wsock32.lib wldap32.lib winmm.lib" "SQLITE_LIB=${SQLITE_LIBRARY_DBG} ${SPATIALITE_LIBRARY_DBG}" OPENJPEG_LIB=${OPENJPEG_LIBRARY_DBG} WEBP_LIBS=${WEBP_LIBRARY_DBG} - LIBXML2_LIB=${XML2_LIBRARY_DBG} + "LIBXML2_LIB=${XML2_LIBRARY_DBG} ${ICONV_LIBRARY_DBG} ${LZMA_LIBRARY_DBG}" ZLIB_LIB=${ZLIB_LIBRARY_DBG} + "PG_LIB=${PGSQL_LIBRARY_DBG} Secur32.lib Shell32.lib Advapi32.lib Crypt32.lib Gdi32.lib ${OPENSSL_LIBRARY_DBG}" DEBUG=1 ) - if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") - # Static Build does not like PG_LIB - list(APPEND NMAKE_OPTIONS_DBG PG_LIB=${PGSQL_LIBRARY_DBG}) - endif() + # Begin build process if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") ################ @@ -290,15 +293,14 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor if (VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal_i.lib) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY ${SOURCE_PATH_RELEASE}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib) + file(COPY ${SOURCE_PATH_DEBUG}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_id.lib) endif() else() @@ -324,6 +326,10 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor # Copy over PDBs vcpkg_copy_pdbs() + + if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/gdal204.pdb) + endif() elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") # Build in UNIX # Check build system first @@ -346,8 +352,9 @@ elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STRE ) message(STATUS "Building ${TARGET_TRIPLET}-rel") - vcpkg_execute_required_process( - COMMAND make + vcpkg_execute_build_process( + COMMAND make -j ${VCPKG_CONCURRENCY} + NO_PARALLEL_COMMAND make WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} LOGNAME make-build-${TARGET_TRIPLET}-release ) @@ -382,8 +389,9 @@ elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STRE ) message(STATUS "Building ${TARGET_TRIPLET}-dbg") - vcpkg_execute_required_process( - COMMAND make + vcpkg_execute_build_process( + COMMAND make -j ${VCPKG_CONCURRENCY} + NO_PARALLEL_COMMAND make WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} LOGNAME make-build-${TARGET_TRIPLET}-debug ) diff --git a/ports/gdcm/CONTROL b/ports/gdcm/CONTROL index d0dbcc652..7baae4d43 100644 --- a/ports/gdcm/CONTROL +++ b/ports/gdcm/CONTROL @@ -1,4 +1,4 @@ Source: gdcm -Version: 3.0.0-1 +Version: 3.0.3 Description: Grassroots DICOM library Build-Depends: zlib, expat, openjpeg diff --git a/ports/gdcm/Fix-Cmake_DIR.patch b/ports/gdcm/Fix-Cmake_DIR.patch new file mode 100644 index 000000000..189b28e05 --- /dev/null +++ b/ports/gdcm/Fix-Cmake_DIR.patch @@ -0,0 +1,41 @@ +diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in +index f8e9d0b..ab28546 100644 +--- a/CMake/ExportConfiguration/GDCMConfig.cmake.in ++++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in +@@ -33,28 +33,28 @@ if(GDCM_USE_VTK) + set(GDCM_VTK_DIR "@GDCM_VTK_DIR_CONFIG@") + endif() + +-get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-if(EXISTS ${SELF_DIR}/GDCMTargets.cmake) ++get_filename_component(GDCM_SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) ++if(EXISTS ${GDCM_SELF_DIR}/GDCMTargets.cmake) + # This is an install tree +- include(${SELF_DIR}/GDCMTargets.cmake) +- get_filename_component(GDCM_INCLUDE_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE) ++ include(${GDCM_SELF_DIR}/GDCMTargets.cmake) ++ get_filename_component(GDCM_INCLUDE_ROOT "${GDCM_SELF_DIR}/../../@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE) + set(GDCM_INCLUDE_DIRS ${GDCM_INCLUDE_ROOT}) +- get_filename_component(GDCM_LIB_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_LIB_DIR@" ABSOLUTE) ++ get_filename_component(GDCM_LIB_ROOT "${GDCM_SELF_DIR}/../../@GDCM_INSTALL_LIB_DIR@" ABSOLUTE) + set(GDCM_LIBRARY_DIRS ${GDCM_LIB_ROOT}) + else() +- if(EXISTS ${SELF_DIR}/GDCMExports.cmake) ++ if(EXISTS ${GDCM_SELF_DIR}/GDCMExports.cmake) + # This is a build tree + set( GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@") + set(GDCM_LIBRARY_DIRS "@GDCM_LIBRARY_DIR@") + +- include(${SELF_DIR}/GDCMExports.cmake) ++ include(${GDCM_SELF_DIR}/GDCMExports.cmake) + + else() + message(FATAL_ERROR "ooops") + endif() + endif() + +-set(GDCM_USE_FILE ${SELF_DIR}/UseGDCM.cmake) ++set(GDCM_USE_FILE ${GDCM_SELF_DIR}/UseGDCM.cmake) + + # Backward compatible part: + set(GDCM_FOUND TRUE) diff --git a/ports/gdcm/portfile.cmake b/ports/gdcm/portfile.cmake index 3fba69409..154fe9dd5 100644 --- a/ports/gdcm/portfile.cmake +++ b/ports/gdcm/portfile.cmake @@ -5,22 +5,29 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO malaterre/GDCM - REF v3.0.0 - SHA512 2ac076dd49011234f4431ffe67fcba84a1ca9042ec5fc4dfc8aed2ed16bec5f499fa7aa666e5630796afc266ce76741d931cca333534b55fdc477e25a9189d33 + REF v3.0.3 + SHA512 d1b95ec342341f026f03ead569c20d4482611b6ba1616fab2aaeec617675c678db7e7d9d14820364231b1319ece284f0cd3c35f356b20ef22f7e8ccf8a3fbc21 HEAD_REF master PATCHES use-openjpeg-config.patch fix-share-path.patch + Fix-Cmake_DIR.patch ) file(REMOVE ${SOURCE_PATH}/CMake/FindOpenJPEG.cmake) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DGDCM_BUILD_DOCBOOK_MANPAGES=OFF - -DGDCM_BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DGDCM_BUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS} -DGDCM_INSTALL_INCLUDE_DIR=include -DGDCM_USE_SYSTEM_EXPAT=ON -DGDCM_USE_SYSTEM_ZLIB=ON @@ -29,7 +36,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/gdcm TARGET_PATH share/gdcm) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/gdcm) vcpkg_copy_pdbs() file(REMOVE_RECURSE @@ -37,6 +44,12 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share ) +file(READ ${CURRENT_PACKAGES_DIR}/share/gdcm/GDCMTargets.cmake GDCM_TARGETS) +string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" + "set(CMAKE_IMPORT_FILE_VERSION 1) +find_package(OpenJPEG QUIET)" GDCM_TARGETS "${GDCM_TARGETS}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/gdcm/GDCMTargets.cmake "${GDCM_TARGETS}") + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() diff --git a/ports/gdk-pixbuf/portfile.cmake b/ports/gdk-pixbuf/portfile.cmake index ef65115d0..7a72623a7 100644 --- a/ports/gdk-pixbuf/portfile.cmake +++ b/ports/gdk-pixbuf/portfile.cmake @@ -4,13 +4,18 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) set(GDK_PIXBUF_VERSION 2.36) set(GDK_PIXBUF_PATCH 9) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}) + vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/${GDK_PIXBUF_VERSION}/gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz" FILENAME "gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz" - SHA512 ab8f2cda4490012936b094a1321e64b85e1fa1f8d070fae135a514f87f695201b845f4192e4a02954e2767d44314c0a95d727118853528182952d15890130261) + SHA512 ab8f2cda4490012936b094a1321e64b85e1fa1f8d070fae135a514f87f695201b845f4192e4a02954e2767d44314c0a95d727118853528182952d15890130261 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.linux ${SOURCE_PATH}/config.h.linux) diff --git a/ports/genann/CMakeLists.txt b/ports/genann/CMakeLists.txt new file mode 100644 index 000000000..80b7ab9bf --- /dev/null +++ b/ports/genann/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.11) +project(genann) + +set(SRC_FILES +genann.c +) + +add_library(genann ${SRC_FILES}) + +target_include_directories(genann PUBLIC + $ + $ +) + +# Install targets +install(TARGETS genann + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +# Install headers +if (INSTALL_HEADERS) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/genann.h DESTINATION include/genann) +endif() \ No newline at end of file diff --git a/ports/genann/CONTROL b/ports/genann/CONTROL new file mode 100644 index 000000000..6397319bb --- /dev/null +++ b/ports/genann/CONTROL @@ -0,0 +1,4 @@ +Source: genann +Version: 2019-07-10 +Homepage: https://github.com/codeplea/genann +Description: Genann is a minimal, well-tested library for training and using feedforward artificial neural networks (ANN) in C. diff --git a/ports/genann/portfile.cmake b/ports/genann/portfile.cmake new file mode 100644 index 000000000..4f1c21d06 --- /dev/null +++ b/ports/genann/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO codeplea/genann + REF 122243f9449b3e33a4e11450b70c10576d4559d7 + SHA512 d70cb8bc678d80ed3e790866f6060850cf9309eefe90d3ca4d77e28538639a927333d49c4d1af3e81123b8e88224f2f51b74ec41ca22639a276359568652ed15 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_RELEASE -DINSTALL_HEADERS=ON + OPTIONS_DEBUG -DINSTALL_HEADERS=OFF +) + +vcpkg_install_cmake() + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/genann) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/genann/LICENSE ${CURRENT_PACKAGES_DIR}/share/genann/copyright) + diff --git a/ports/geogram/CONTROL b/ports/geogram/CONTROL index 6d449c882..4eb40eee0 100644 --- a/ports/geogram/CONTROL +++ b/ports/geogram/CONTROL @@ -1,5 +1,5 @@ Source: geogram -Version: 1.6.9-3 +Version: 1.6.9-7 Homepage: https://gforge.inria.fr/projects/geogram/ Description: Geogram is a programming library of geometric algorithms. Build-Depends: openblas (!osx), clapack (!osx) diff --git a/ports/geogram/portfile.cmake b/ports/geogram/portfile.cmake index 44f74f107..3bf583d51 100644 --- a/ports/geogram/portfile.cmake +++ b/ports/geogram/portfile.cmake @@ -12,7 +12,8 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${GEOGRAM_VERSION} - PATCHES fix-cmake-config-and-install.patch + PATCHES + fix-cmake-config-and-install.patch ) file(COPY ${CURRENT_PORT_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}/cmake) @@ -65,13 +66,18 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/geogram") +vcpkg_fixup_cmake_targets() file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(READ ${CURRENT_PACKAGES_DIR}/share/geogram/GeogramTargets.cmake TARGET_CONFIG) +string(REPLACE [[INTERFACE_INCLUDE_DIRECTORIES "/src/lib;${_IMPORT_PREFIX}/include"]] + [[INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"]] TARGET_CONFIG "${TARGET_CONFIG}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/geogram/GeogramTargets.cmake "${TARGET_CONFIG}") + # Handle copyright file(COPY ${SOURCE_PATH}/doc/devkit/license.dox DESTINATION ${CURRENT_PACKAGES_DIR}/share/geogram) file(RENAME ${CURRENT_PACKAGES_DIR}/share/geogram/license.dox ${CURRENT_PACKAGES_DIR}/share/geogram/copyright) diff --git a/ports/geographiclib/CONTROL b/ports/geographiclib/CONTROL index 0d585a281..2738c3d74 100644 --- a/ports/geographiclib/CONTROL +++ b/ports/geographiclib/CONTROL @@ -1,4 +1,4 @@ Source: geographiclib -Version: 1.47-patch1-5 +Version: 1.47-patch1-10 Homepage: https://sourceforge.net/projects/geographiclib/ Description: a small set of C++ classes for performing conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, for gravity (e.g., EGM2008), geoid height, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems. diff --git a/ports/geographiclib/fix-usage.patch b/ports/geographiclib/fix-usage.patch new file mode 100644 index 000000000..9b558edf0 --- /dev/null +++ b/ports/geographiclib/fix-usage.patch @@ -0,0 +1,16 @@ +diff --git a/cmake/project-config-version.cmake.in b/cmake/project-config-version.cmake.in +index 1f207b8..d469658 100644 +--- a/cmake/project-config-version.cmake.in ++++ b/cmake/project-config-version.cmake.in +@@ -22,9 +22,9 @@ elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR + # Reject if there's a mismatch in MSVC compiler versions + # set (REASON "_MSC_VER = @MSVC_VERSION@") + # set (PACKAGE_VERSION_UNSUITABLE TRUE) +-elseif (NOT CMAKE_CROSSCOMPILING STREQUAL "@CMAKE_CROSSCOMPILING@") ++elseif (NOT CMAKE_CROSSCOMPILING STREQUAL FALSE) + # Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING} +- set (REASON "cross-compiling = @CMAKE_CROSSCOMPILING@") ++ set (REASON "cross-compiling = FALSE") + set (PACKAGE_VERSION_UNSUITABLE TRUE) + elseif (CMAKE_CROSSCOMPILING AND + NOT (CMAKE_SYSTEM_NAME STREQUAL "@CMAKE_SYSTEM_NAME@" AND diff --git a/ports/geographiclib/portfile.cmake b/ports/geographiclib/portfile.cmake index 95db365cf..e4fe5ad7a 100644 --- a/ports/geographiclib/portfile.cmake +++ b/ports/geographiclib/portfile.cmake @@ -1,19 +1,7 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_download_distfile(ARCHIVE - URLS "https://jaist.dl.sourceforge.net/project/geographiclib/distrib/GeographicLib-1.47-patch1.zip" + URLS "https://jaist.dl.sourceforge.net/project/geographiclib/distrib/archive/GeographicLib-1.47-patch1.zip" FILENAME "geographiclib-1.47-patch1.zip" SHA512 d8fdfd7ae093057ec1a4ab922457fe71a3fb9975df5b673c276d62a0e9c4f212dc63652830b9d89e3890bc96aafd335992943cf6a1bce8260acf932d1eb7abfd ) @@ -22,6 +10,7 @@ vcpkg_extract_source_archive_ex( ARCHIVE ${ARCHIVE} PATCHES remove-tools-and-fix-version.patch + fix-usage.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -46,13 +35,16 @@ endif() vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/geographiclib) +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/GeographicLib) +endif() vcpkg_copy_pdbs() -file(COPY ${CURRENT_PACKAGES_DIR}/lib/pkgconfig DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib) +file(COPY ${CURRENT_PACKAGES_DIR}/lib/pkgconfig DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/00README.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib RENAME readme) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib RENAME copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/geographiclib/usage b/ports/geographiclib/usage new file mode 100644 index 000000000..7ba01a433 --- /dev/null +++ b/ports/geographiclib/usage @@ -0,0 +1,8 @@ +The package geographiclib:x64-linux provides CMake targets: + + find_package(GeographicLib CONFIG REQUIRED) + #dynamic + target_link_libraries(main PRIVATE GeographicLib GeographicLib::GeographicLib) + #static + target_link_libraries(main PRIVATE GeographicLib_STATIC GeographicLib::GeographicLib_STATIC) + \ No newline at end of file diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL index a6adfefc6..1816f8b76 100644 --- a/ports/gettext/CONTROL +++ b/ports/gettext/CONTROL @@ -1,5 +1,5 @@ Source: gettext -Version: 0.19-10 +Version: 0.19-11 Homepage: https://www.gnu.org/software/gettext/ Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages. Provides libintl. Build-Depends: libiconv diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake index d7283cc90..a9ab3d2e7 100644 --- a/ports/gettext/portfile.cmake +++ b/ports/gettext/portfile.cmake @@ -1,5 +1,8 @@ if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + if (NOT EXISTS "/usr/include/libintl.h") + message(FATAL_ERROR "Please use command \"sudo apt-get install gettext\" to install gettext on linux.") + endif() file(COPY ${CMAKE_CURRENT_LIST_DIR}/unofficial-gettext-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-gettext) return() endif() diff --git a/ports/gherkin-c/CONTROL b/ports/gherkin-c/CONTROL index b25786ca3..e1533180f 100644 --- a/ports/gherkin-c/CONTROL +++ b/ports/gherkin-c/CONTROL @@ -1,3 +1,3 @@ Source: gherkin-c -Version: 4.1.2 +Version: 2019-10-07-1 Description: Gherkin parser/compiler in C diff --git a/ports/gherkin-c/portfile.cmake b/ports/gherkin-c/portfile.cmake index 453387f5f..adb13076d 100644 --- a/ports/gherkin-c/portfile.cmake +++ b/ports/gherkin-c/portfile.cmake @@ -3,13 +3,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO c-libs/gherkin-c - REF 8f31c2ff6a7b58196a061c8847508563679f67b3 - SHA512 f78a1f9da7ff38fe2546e0db9ed33a2e25e12aa8a407ce827933a379ce083e6f872b39eb2321ff8c35199015c3c2299e46567171c5edfeff07600765f3f0a6ec + REF dd180edc7d092311f2e90a0c4957061156d39dd3 + SHA512 c6b38ab0e7a0fd1061d86b0ff9d9140f8c3d6f15cfc1673e947254c6c03a66d3e6aae5b267b074aa10fa30ba2850190c9e9ea7c12e340e4f8c5575b9bf31bab3 HEAD_REF master ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBUILD_GHERKIN_TESTS=OFF ) diff --git a/ports/gl2ps/CONTROL b/ports/gl2ps/CONTROL index ae8aab8fa..deb9483aa 100644 --- a/ports/gl2ps/CONTROL +++ b/ports/gl2ps/CONTROL @@ -1,5 +1,5 @@ Source: gl2ps -Version: 1.4.0-1 +Version: 1.4.0-3 Homepage: https://gitlab.onelab.info/gl2ps/gl2ps Description: OpenGL to PostScript Printing Library Build-Depends: freeglut, zlib, libpng diff --git a/ports/gl2ps/portfile.cmake b/ports/gl2ps/portfile.cmake index 7f08f8de4..eaee56270 100644 --- a/ports/gl2ps/portfile.cmake +++ b/ports/gl2ps/portfile.cmake @@ -1,19 +1,18 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gl2ps-gl2ps_1_4_0-e7b16f8f80382e45b681651e6381de09250243a6) -vcpkg_download_distfile(ARCHIVE - URLS "http://gitlab.onelab.info/gl2ps/gl2ps/repository/archive.tar.gz?ref=gl2ps_1_4_0" - FILENAME "gl2ps_1_4_0.tar.gz" - SHA512 6ec18debdf94e8de22ca7084fe6fef72fb858fc6295a35fa3c98c3c45211f9f72e23a14224a85877f64031077da4978b8d5d81f24dfe18de8c2ec32a680eba60 -) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/separate-static-dynamic-build.patch" +vcpkg_from_gitlab( + GITLAB_URL http://gitlab.onelab.info + OUT_SOURCE_PATH SOURCE_PATH + REPO gl2ps/gl2ps + REF gl2ps_1_4_0 + SHA512 ee10e3fd312eae896934c39b8d115f28017874f918e4dd3350ca8f7cbf47dfc44101a5c6eb8826707620fcc336ca51ddc4eb7bf653af4b27651277625bac3cce + HEAD_REF master + PATCHES separate-static-dynamic-build.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) diff --git a/ports/gl3w/CONTROL b/ports/gl3w/CONTROL index ff4f51206..02550fdc5 100644 --- a/ports/gl3w/CONTROL +++ b/ports/gl3w/CONTROL @@ -1,5 +1,5 @@ Source: gl3w -Version: 99ed3211 +Version: 2018-05-31-2 Homepage: https://github.com/skaslev/gl3w Description: Simple OpenGL core profile loading Build-Depends: opengl-registry diff --git a/ports/gl3w/portfile.cmake b/ports/gl3w/portfile.cmake index c5010491a..d53fc61b1 100644 --- a/ports/gl3w/portfile.cmake +++ b/ports/gl3w/portfile.cmake @@ -6,16 +6,13 @@ vcpkg_from_github( REF 99ed321100d37032cb6bfa7dd8dea85f10c86132 SHA512 217f65644c73c33383b09893fa5ede066cc4b1cddab051feac11d7e939dba14ed637b297ea42a0426bc0a1a3bc665998a91c27ca10d28704ce9e2d3d90e73595 HEAD_REF master + PATCHES + 0001-enable-shared-build.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CURRENT_INSTALLED_DIR}/include/GL/glcorearb.h DESTINATION ${SOURCE_PATH}/include/GL) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-enable-shared-build.patch -) - vcpkg_find_acquire_program(PYTHON3) vcpkg_execute_required_process( @@ -32,8 +29,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/gl3w) +vcpkg_fixup_cmake_targets() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(HEADER ${CURRENT_PACKAGES_DIR}/include/GL/gl3w.h) diff --git a/ports/glad/CONTROL b/ports/glad/CONTROL index 98a427195..f5ac7ac02 100644 --- a/ports/glad/CONTROL +++ b/ports/glad/CONTROL @@ -1,4 +1,4 @@ Source: glad -Version: 0.1.30 +Version: 0.1.31 Description: Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs. Build-Depends: egl-registry, opengl-registry diff --git a/ports/glad/portfile.cmake b/ports/glad/portfile.cmake index eb1a226e9..2be191fc1 100644 --- a/ports/glad/portfile.cmake +++ b/ports/glad/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Dav1dde/glad - REF v0.1.30 - SHA512 2db0f75e5859be039bf4dcbea239dd6d35bdc92e69912e807dfacdb01581c73b6a5eb0f0889f2ffcd705415abe5f28cf204b4010d08f5477b51c0ce3ae6a35b5 + REF 1a42f8a6099c60f6a4522731fadad4191d64e6ff + SHA512 02870cf43b5ee33a733122885f748a1368e4487fc08f32ba376d6d53c0efd9ed6e9aea350b723d955869ed47b4d9d69235a52f01723215cf4393d6ca99e2ac00 HEAD_REF master ) diff --git a/ports/glbinding/force-system-install.patch b/ports/glbinding/0001_force-system-install.patch similarity index 100% rename from ports/glbinding/force-system-install.patch rename to ports/glbinding/0001_force-system-install.patch diff --git a/ports/glbinding/fix-uwpmacro.patch b/ports/glbinding/0002_fix-uwpmacro.patch similarity index 100% rename from ports/glbinding/fix-uwpmacro.patch rename to ports/glbinding/0002_fix-uwpmacro.patch diff --git a/ports/glbinding/0003_fix-cmake-configs-paths.patch b/ports/glbinding/0003_fix-cmake-configs-paths.patch new file mode 100644 index 000000000..359837784 --- /dev/null +++ b/ports/glbinding/0003_fix-cmake-configs-paths.patch @@ -0,0 +1,62 @@ +diff --git a/3rdparty/KHR/CMakeLists.txt b/3rdparty/KHR/CMakeLists.txt +index 25fac3a..429544f 100644 +--- a/3rdparty/KHR/CMakeLists.txt ++++ b/3rdparty/KHR/CMakeLists.txt +@@ -43,7 +43,7 @@ add_library(${target} INTERFACE) + add_library(externals::${target} ALIAS ${target}) + + # Export library for downstream projects +-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake) ++export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake) + + + # +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 700b48b..8aaab8d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -141,15 +141,15 @@ endif() + if(1) + # Install into the system (/usr/bin or /usr/local/bin) + set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/ +- set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share//cmake ++ set(INSTALL_CMAKE "share/${project}") # /usr/[local]/share//cmake + set(INSTALL_EXAMPLES "share/${project}") # /usr/[local]/share/ + set(INSTALL_DATA "share/${project}") # /usr/[local]/share/ + set(INSTALL_BIN "bin") # /usr/[local]/bin + set(INSTALL_SHARED "lib") # /usr/[local]/lib + set(INSTALL_LIB "lib") # /usr/[local]/lib + set(INSTALL_INCLUDE "include") # /usr/[local]/include +- set(INSTALL_DOC "share/doc/${project}") # /usr/[local]/share/doc/ +- set(INSTALL_SHORTCUTS "share/applications") # /usr/[local]/share/applications ++ set(INSTALL_DOC "share/${project}/doc") # /usr/[local]/share/doc/ ++ set(INSTALL_SHORTCUTS "share/${project}/applications") # /usr/[local]/share/applications + set(INSTALL_ICONS "share/pixmaps") # /usr/[local]/share/pixmaps + set(INSTALL_INIT "etc/init") # /etc/init (upstart init scripts) + else() +diff --git a/source/glbinding-aux/CMakeLists.txt b/source/glbinding-aux/CMakeLists.txt +index 61cc166..cb0758a 100644 +--- a/source/glbinding-aux/CMakeLists.txt ++++ b/source/glbinding-aux/CMakeLists.txt +@@ -137,7 +137,7 @@ add_library(${target} + add_library(${META_PROJECT_NAME}::${target} ALIAS ${target}) + + # Export library for downstream projects +-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake) ++export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake) + + # Create API export header + generate_export_header(${target} +diff --git a/source/glbinding/CMakeLists.txt b/source/glbinding/CMakeLists.txt +index bca68d1..f014494 100644 +--- a/source/glbinding/CMakeLists.txt ++++ b/source/glbinding/CMakeLists.txt +@@ -172,7 +172,7 @@ add_library(${target} + add_library(${META_PROJECT_NAME}::${target} ALIAS ${target}) + + # Export library for downstream projects +-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake) ++export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake) + + # Create API export header + generate_export_header(${target} diff --git a/ports/glbinding/0004_fix-config-expected-paths.patch b/ports/glbinding/0004_fix-config-expected-paths.patch new file mode 100644 index 000000000..e6fb16440 --- /dev/null +++ b/ports/glbinding/0004_fix-config-expected-paths.patch @@ -0,0 +1,35 @@ +diff --git a/glbinding-config.cmake b/glbinding-config.cmake +index 03fc505..01b6cc8 100644 +--- a/glbinding-config.cmake ++++ b/glbinding-config.cmake +@@ -1,7 +1,7 @@ + + # This config script tries to locate the project either in its source tree + # or from an install location. +-# ++# + # Please adjust the list of submodules to search for. + + +@@ -35,20 +35,11 @@ endmacro() + + # Try install location + set(MODULE_FOUND FALSE) +-find_modules("cmake") ++find_modules(".") + + if(MODULE_FOUND) + return() + endif() + +-# Try common build locations +-if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +- find_modules("build-debug/cmake") +- find_modules("build/cmake") +-else() +- find_modules("build/cmake") +- find_modules("build-debug/cmake") +-endif() +- + # Signal success/failure to CMake + set(glbinding_FOUND ${MODULE_FOUND}) diff --git a/ports/glbinding/CONTROL b/ports/glbinding/CONTROL index 016283ca9..5bef7210a 100644 --- a/ports/glbinding/CONTROL +++ b/ports/glbinding/CONTROL @@ -1,5 +1,5 @@ Source: glbinding -Version: 3.1.0-1 +Version: 3.1.0-2 Description: glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API Homepage: https://github.com/cginternals/glbinding Build-Depends: egl-registry diff --git a/ports/glbinding/portfile.cmake b/ports/glbinding/portfile.cmake index 99f233982..863426282 100644 --- a/ports/glbinding/portfile.cmake +++ b/ports/glbinding/portfile.cmake @@ -5,36 +5,35 @@ vcpkg_from_github( REF v3.1.0 SHA512 d7294c9a0dc47a7c107b134e5dfa78c5812fc6bf739b9fd778fa7ce946d5ea971839a65c3985e0915fd75311e4a85fb221d33a71856c460199eab0e7622f7151 HEAD_REF master - PATCHES - force-system-install.patch - fix-uwpmacro.patch + PATCHES + 0001_force-system-install.patch + 0002_fix-uwpmacro.patch + 0003_fix-cmake-configs-paths.patch + 0004_fix-config-expected-paths.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DOPTION_BUILD_TESTS=OFF -DOPTION_BUILD_GPU_TESTS=OFF -DOPTION_BUILD_TOOLS=OFF + -DOPTION_BUILD_EXAMPLES=OFF -DGIT_REV=0 -DCMAKE_DISABLE_FIND_PACKAGE_cpplocate=ON -DOPTION_BUILD_EXAMPLES=OFF ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/glbinding) +vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/glbinding/cmake) - -# _IMPORT_PREFIX needs to go up one extra level in the directory tree. -# These files should be modified. -# /share/glbinding/glbinding-export.cmake -# /share/glbinding-aux/glbinding-aux-export.cmake +## _IMPORT_PREFIX needs to go up one extra level in the directory tree. file(GLOB_RECURSE TARGET_CMAKES "${CURRENT_PACKAGES_DIR}/*-export.cmake") foreach(TARGET_CMAKE IN LISTS TARGET_CMAKES) file(READ ${TARGET_CMAKE} _contents) - string(REPLACE + string(REPLACE [[ get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) @@ -50,13 +49,11 @@ get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) file(WRITE ${TARGET_CMAKE} "${_contents}") endforeach() -file(WRITE ${CURRENT_PACKAGES_DIR}/share/glbinding/glbinding-config.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/glbinding/glbinding-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/glbinding-aux/glbinding-aux-export.cmake)\ninclude(\${CMAKE_CURRENT_LIST_DIR}/KHRplatform/KHRplatform-export.cmake)\nset(glbinding_FOUND TRUE)\n") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Remove files already published by egl-registry file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/KHR) # Handle copyright file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/LICENSE ${CURRENT_PACKAGES_DIR}/share/glbinding/copyright) - -vcpkg_copy_pdbs() diff --git a/ports/glew/CONTROL b/ports/glew/CONTROL index 8d336de5a..011b631b4 100644 --- a/ports/glew/CONTROL +++ b/ports/glew/CONTROL @@ -1,4 +1,4 @@ Source: glew -Version: 2.1.0-4 +Version: 2.1.0-6 Description: The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. Homepage: https://github.com/nigels-com/glew diff --git a/ports/glew/portfile.cmake b/ports/glew/portfile.cmake index f05934f05..796574df1 100644 --- a/ports/glew/portfile.cmake +++ b/ports/glew/portfile.cmake @@ -1,31 +1,30 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glew-58abdfb190) - -# Don't change to vcpkg_from_github! The github-auto-generated archives are missing some files. +# Don't change to vcpkg_from_github! The sources in the git repository (archives) are missing some files that are distributed inside releases. # More info: https://github.com/nigels-com/glew/issues/31 and https://github.com/nigels-com/glew/issues/13 -vcpkg_download_distfile(ARCHIVE_FILE +vcpkg_download_distfile(ARCHIVE URLS "https://github.com/nigels-com/glew/releases/download/glew-2.1.0/glew-2.1.0.tgz" FILENAME "glew-2.1.0.tgz" SHA512 9a9b4d81482ccaac4b476c34ed537585ae754a82ebb51c3efa16d953c25cc3931be46ed2e49e79c730cd8afc6a1b78c97d52cd714044a339c3bc29734cd4d2ab ) + vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH ${SOURCE_PATH} - ARCHIVE ${ARCHIVE_FILE} + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} REF glew PATCHES fix-LNK2019.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/build/cmake + PREFER_NINJA DISABLE_PARALLEL_CONFIGURE OPTIONS -DBUILD_UTILS=OFF - ) +) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/glew") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glew) set(_targets_cmake_files) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") @@ -63,5 +62,6 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/glew ) file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/glew RENAME copyright) file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/glew/vcpkg-cmake-wrapper.cmake b/ports/glew/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..6ad9ae434 --- /dev/null +++ b/ports/glew/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,25 @@ +include(SelectLibraryConfigurations) +_find_package(GLEW CONFIG) +if(GLEW_FOUND AND TARGET GLEW::GLEW AND NOT DEFINED GLEW_INCLUDE_DIRS) + get_target_property(GLEW_INCLUDE_DIRS GLEW::GLEW INTERFACE_INCLUDE_DIRECTORIES) + set(GLEW_INCLUDE_DIR ${GLEW_INCLUDE_DIRS}) + get_target_property(_GLEW_DEFS GLEW::GLEW INTERFACE_COMPILE_DEFINITIONS) + if("${_GLEW_DEFS}" MATCHES "GLEW_STATIC") + get_target_property(GLEW_LIBRARY_DEBUG GLEW::GLEW IMPORTED_LOCATION_DEBUG) + get_target_property(GLEW_LIBRARY_RELEASE GLEW::GLEW IMPORTED_LOCATION_RELEASE) + else() + get_target_property(GLEW_LIBRARY_DEBUG GLEW::GLEW IMPORTED_IMPLIB_DEBUG) + get_target_property(GLEW_LIBRARY_RELEASE GLEW::GLEW IMPORTED_IMPLIB_RELEASE) + endif() + get_target_property(_GLEW_LINK_INTERFACE GLEW::GLEW IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE) # same for debug and release + list(APPEND GLEW_LIBRARIES ${_GLEW_LINK_INTERFACE}) + list(APPEND GLEW_LIBRARY ${_GLEW_LINK_INTERFACE}) + select_library_configurations(GLEW) + if("${_GLEW_DEFS}" MATCHES "GLEW_STATIC") + set(GLEW_STATIC_LIBRARIES ${GLEW_LIBRARIES}) + else() + set(GLEW_SHARED_LIBRARIES ${GLEW_LIBRARIES}) + endif() + unset(_GLEW_DEFS) + unset(_GLEW_LINK_INTERFACE) +endif() \ No newline at end of file diff --git a/ports/glfw3/CONTROL b/ports/glfw3/CONTROL index 361820820..6c99ef4a7 100644 --- a/ports/glfw3/CONTROL +++ b/ports/glfw3/CONTROL @@ -1,4 +1,4 @@ Source: glfw3 -Version: 3.3 +Version: 3.3-3 Homepage: https://github.com/glfw/glfw Description: GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc. diff --git a/ports/glfw3/fix-config.patch b/ports/glfw3/fix-config.patch new file mode 100644 index 000000000..181d7d91b --- /dev/null +++ b/ports/glfw3/fix-config.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3c0f625..0c985cf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -319,7 +319,8 @@ set(GLFW_CONFIG_PATH "${CMAKE_INSTALL_LIBDIR}/cmake/glfw3") + configure_package_config_file(src/glfw3Config.cmake.in + src/glfw3Config.cmake + INSTALL_DESTINATION "${GLFW_CONFIG_PATH}" +- NO_CHECK_REQUIRED_COMPONENTS_MACRO) ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO ++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR) + + write_basic_package_version_file(src/glfw3ConfigVersion.cmake + VERSION ${GLFW_VERSION_FULL} +diff --git a/src/glfw3Config.cmake.in b/src/glfw3Config.cmake.in +index 1fa200e..861df93 100644 +--- a/src/glfw3Config.cmake.in ++++ b/src/glfw3Config.cmake.in +@@ -1 +1,5 @@ ++@PACKAGE_INIT@ ++ ++set_and_check(glfw_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") ++ + include("${CMAKE_CURRENT_LIST_DIR}/glfw3Targets.cmake") diff --git a/ports/glfw3/move-cmake-min-req.patch b/ports/glfw3/move-cmake-min-req.patch deleted file mode 100644 index 7b5c595df..000000000 --- a/ports/glfw3/move-cmake-min-req.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b1476bd..00fc0b9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,8 +1,8 @@ - set(CMAKE_LEGACY_CYGWIN_WIN32 OFF) - -+cmake_minimum_required(VERSION 2.8.12) - project(GLFW C) - --cmake_minimum_required(VERSION 2.8.12) - - if (NOT CMAKE_VERSION VERSION_LESS "3.0") - # Until all major package systems have moved to CMake 3, diff --git a/ports/glfw3/portfile.cmake b/ports/glfw3/portfile.cmake index ea3e4eaec..5b399134b 100644 --- a/ports/glfw3/portfile.cmake +++ b/ports/glfw3/portfile.cmake @@ -6,20 +6,24 @@ vcpkg_from_github( REF 3.3 SHA512 e74bb7ba0c1c3a524a193c4fb5a2d13ba0e75f8e309612ea19cdcc944859d6e2fe29d8b2e3db76236e1011b637564ddd5f4a176dcccfeb84d09bda060f08f774 HEAD_REF master - PATCHES move-cmake-min-req.patch + PATCHES + fix-config.patch ) -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if(NOT VCPKG_TARGET_IS_WINDOWS) message( "GLFW3 currently requires the following libraries from the system package manager: xinerama xcursor + xorg + libglu1-mesa -These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxcursor-dev") +These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev") endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF @@ -45,7 +49,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) endif() endif() -file(COPY ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/glfw3) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/glfw3/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/glfw3/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt index ccc2a77e2..341b163c8 100644 --- a/ports/glib/CMakeLists.txt +++ b/ports/glib/CMakeLists.txt @@ -73,35 +73,42 @@ else() set(ENV{PCRE_CFLAGS} "-I${PCRE_INCLUDE_DIR}") set(ENV{MSGFMT} "/bin/echo") set(ENV{GMSGFMT} "/bin/echo") - if(NOT EXISTS "${CMAKE_BINARY_DIR}/config/config.h") - string(TOUPPER UPPER_CONFIG "${CMAKE_BUILD_TYPE}") - set(CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPER_CONFIG}} -I${PCRE_INCLUDE_DIR}") - set(CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${UPPER_CONFIG}} -I${PCRE_INCLUDE_DIR}") - if(BUILD_SHARED_LIBS) - set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_${UPPER_CONFIG}} -L${LIB_DIR}") - else() - set(LDFLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_STATIC_LINKER_FLAGS_${UPPER_CONFIG}} -L${LIB_DIR}") - endif() - - string(STRIP "${CXXFLAGS}" CXXFLAGS) - string(STRIP "${CFLAGS}" CFLAGS) - string(STRIP "${LDFLAGS}" LDFLAGS) - execute_process( - COMMAND "${CMAKE_SOURCE_DIR}/configure" - --disable-libelf - --disable-libmount - "CPPFLAGS=${CXXFLAGS}" - "CFLAGS=${CFLAGS}" - "LDFLAGS=${LDFLAGS}" - WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config - RESULT_VARIABLE res - ) - if(NOT res EQUAL 0) - message(FATAL_ERROR "Configure failed.") - endif() + string(TOUPPER UPPER_CONFIG "${CMAKE_BUILD_TYPE}") + set(CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPER_CONFIG}} -I${PCRE_INCLUDE_DIR}") + set(CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${UPPER_CONFIG}} -I${PCRE_INCLUDE_DIR}") + if(BUILD_SHARED_LIBS) + set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_${UPPER_CONFIG}} -L${LIB_DIR}") + else() + set(LDFLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_STATIC_LINKER_FLAGS_${UPPER_CONFIG}} -L${LIB_DIR}") endif() + + string(STRIP "${CXXFLAGS}" CXXFLAGS) + string(STRIP "${CFLAGS}" CFLAGS) + string(STRIP "${LDFLAGS}" LDFLAGS) + execute_process( + COMMAND "${CMAKE_SOURCE_DIR}/configure" + --disable-libelf + --disable-libmount + "CPPFLAGS=${CXXFLAGS}" + "CFLAGS=${CFLAGS}" + "LDFLAGS=${LDFLAGS}" + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config + RESULT_VARIABLE res + ) + if(NOT res EQUAL 0) + message(FATAL_ERROR "Configure failed.") + endif() + + if (NOT HAVE_SELINUX) + file(READ "${CMAKE_BINARY_DIR}/config/config.h" CONFIG_H) + string(REPLACE "#define HAVE_SELINUX 1" + "#undef HAVE_SELINUX" CONFIG_H "${CONFIG_H}") + file(WRITE "${CMAKE_BINARY_DIR}/config/config.h" "${CONFIG_H}") + endif() + add_definitions("-DGIO_MODULE_DIR=\"gio/modules\"") endif() +install(FILES ${CMAKE_BINARY_DIR}/config/config.h DESTINATION include/glib) include_directories(${CMAKE_BINARY_DIR}/config ${CMAKE_BINARY_DIR}/config/glib ${CMAKE_BINARY_DIR}/config/gio ${CMAKE_BINARY_DIR}/config/gmodule) include_directories(. glib) @@ -252,8 +259,14 @@ if(WIN32) target_link_libraries(gio PRIVATE ws2_32 shlwapi dnsapi iphlpapi advapi32 shell32) elseif(APPLE) target_link_libraries(gio PRIVATE xdgmime kqueue) + if (HAVE_SELINUX) + target_link_libraries(gio PRIVATE selinux) + endif() else() target_link_libraries(gio PRIVATE xdgmime inotify) + if (HAVE_SELINUX) + target_link_libraries(gio PRIVATE selinux) + endif() endif() list(APPEND GLIB_TARGETS gio) diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL index e589ba426..c754e0785 100644 --- a/ports/glib/CONTROL +++ b/ports/glib/CONTROL @@ -1,5 +1,8 @@ Source: glib -Version: 2.52.3-14-2 +Version: 2.52.3-14-4 Homepage: https://developer.gnome.org/glib/ Description: Portable, general-purpose utility library. Build-Depends: zlib, pcre, libffi, gettext, libiconv + +Feature: selinux +Description: Build with selinux support. \ No newline at end of file diff --git a/ports/glib/portfile.cmake b/ports/glib/portfile.cmake index 44a499320..41c3c5017 100644 --- a/ports/glib/portfile.cmake +++ b/ports/glib/portfile.cmake @@ -32,10 +32,18 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/glib/pcre) file(WRITE ${SOURCE_PATH}/glib/pcre/Makefile.in) file(REMOVE ${SOURCE_PATH}/glib/win_iconv.c) +if (selinux IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS AND NOT EXISTS "/usr/include/selinux") + message("Selinux was not found in its typical system location. Your build may fail. You can install Selinux with \"apt-get install selinux\".") +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + selinux HAVE_SELINUX +) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS ${FEATURE_OPTIONS} -DGLIB_VERSION=${GLIB_VERSION} OPTIONS_DEBUG -DGLIB_SKIP_HEADERS=ON @@ -48,5 +56,7 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-glib TARGET_PATH share/un vcpkg_copy_pdbs() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/glib) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/glib) file(RENAME ${CURRENT_PACKAGES_DIR}/share/glib/COPYING ${CURRENT_PACKAGES_DIR}/share/glib/copyright) diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL index 4b2b8283f..4baf236e8 100644 --- a/ports/glibmm/CONTROL +++ b/ports/glibmm/CONTROL @@ -1,5 +1,5 @@ Source: glibmm -Version: 2.52.1-9 +Version: 2.52.1-10 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 diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index 460e32cac..61e71a399 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -5,19 +5,18 @@ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glibmm-2.52.1) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/glibmm/2.52/glibmm-2.52.1.tar.xz" FILENAME "glibmm-2.52.1.tar.xz" SHA512 702158762cb28972b315ab98dc00a62e532bda08b6e76dc2a2556e8cb381c2021290891887a4af2fbff5a62bab4d50581be73037dc8e0dc47d5febd6cbeb7bda ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/glibmm-api-variant.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-define-glibmmconfig.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + glibmm-api-variant.patch + fix-define-glibmmconfig.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/globjects/CONTROL b/ports/globjects/CONTROL index fb9ca9a1f..0de66a3b2 100644 --- a/ports/globjects/CONTROL +++ b/ports/globjects/CONTROL @@ -1,6 +1,5 @@ Source: globjects -Maintainer: mattias@mattiascibien.net -Version: 1.1.0-2018-09-19-1 +Version: 1.1.0-2 Build-Depends: glbinding, glm Description: C++ library strictly wrapping OpenGL objects. Homepage: https://github.com/cginternals/globjects diff --git a/ports/globjects/portfile.cmake b/ports/globjects/portfile.cmake index 164edec71..524014a8b 100644 --- a/ports/globjects/portfile.cmake +++ b/ports/globjects/portfile.cmake @@ -20,7 +20,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/globjects/cmake/globjects TARGET_PATH share/globjects/cmake/globjects) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/globjects/cmake/globjects) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/glog/CONTROL b/ports/glog/CONTROL index 21625e159..ec6c47c84 100644 --- a/ports/glog/CONTROL +++ b/ports/glog/CONTROL @@ -1,5 +1,5 @@ Source: glog -Version: 0.4.0 +Version: 0.4.0-2 Homepage: https://github.com/google/glog Description: C++ implementation of the Google logging module Build-Depends: gflags diff --git a/ports/glog/portfile.cmake b/ports/glog/portfile.cmake index da6b76f4f..0417b8676 100644 --- a/ports/glog/portfile.cmake +++ b/ports/glog/portfile.cmake @@ -1,11 +1,3 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) vcpkg_from_github( @@ -25,12 +17,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/glog") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glog) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/glog) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/glog/COPYING ${CURRENT_PACKAGES_DIR}/share/glog/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/glslang/CMakeLists-targets.patch b/ports/glslang/CMakeLists-targets.patch index 73661fa35..36e923d92 100644 --- a/ports/glslang/CMakeLists-targets.patch +++ b/ports/glslang/CMakeLists-targets.patch @@ -1,133 +1,108 @@ -diff --git a/ChooseMSVCCRT.cmake b/ChooseMSVCCRT.cmake -index 2097881..f0cddd7 100644 ---- a/ChooseMSVCCRT.cmake -+++ b/ChooseMSVCCRT.cmake -@@ -102,4 +102,4 @@ set(MSVC_CRT - MT - MTd) - --choose_msvc_crt(MSVC_CRT) -+# choose_msvc_crt(MSVC_CRT) -diff --git a/OGLCompilersDLL/CMakeLists.txt b/OGLCompilersDLL/CMakeLists.txt -index 5bb3f0e..e7be6e6 100644 ---- a/OGLCompilersDLL/CMakeLists.txt -+++ b/OGLCompilersDLL/CMakeLists.txt -@@ -9,6 +9,12 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS OGLCompiler -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS OGLCompiler EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS OGLCompiler -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/OGLCompiler-config.cmake" -+ ) - endif(ENABLE_GLSLANG_INSTALL) -diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt -index b682419..3a10f1a 100755 ---- a/SPIRV/CMakeLists.txt -+++ b/SPIRV/CMakeLists.txt -@@ -64,8 +64,14 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS SPIRV SPVRemapper -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS SPIRV EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS SPIRV -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/glslang-config.cmake" -+ ) - - install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SPIRV/) - endif(ENABLE_GLSLANG_INSTALL) -diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt -index 7a50ab6..b70345e 100644 ---- a/glslang/CMakeLists.txt -+++ b/glslang/CMakeLists.txt -@@ -97,8 +97,19 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS glslang -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS glslang EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS glslang -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/glslang-config.cmake" -+ ) -+ install( -+ EXPORT glslangConfig -+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/glslang" -+ NAMESPACE glslang:: -+ ) - endif(ENABLE_GLSLANG_INSTALL) - - if(ENABLE_GLSLANG_INSTALL) -diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt -index 1bf49e1..edd733c 100644 ---- a/glslang/OSDependent/Unix/CMakeLists.txt -+++ b/glslang/OSDependent/Unix/CMakeLists.txt -@@ -3,6 +3,12 @@ set_property(TARGET OSDependent PROPERTY FOLDER glslang) - set_property(TARGET OSDependent PROPERTY POSITION_INDEPENDENT_CODE ON) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS OSDependent -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS OSDependent EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS OSDependent -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/OSDependent-config.cmake" -+ ) - endif(ENABLE_GLSLANG_INSTALL) -diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt -index f257418..cadd70d 100644 ---- a/glslang/OSDependent/Windows/CMakeLists.txt -+++ b/glslang/OSDependent/Windows/CMakeLists.txt -@@ -15,6 +15,12 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS OSDependent -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS OSDependent EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS OSDependent -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/OSDependent-config.cmake" -+ ) - endif(ENABLE_GLSLANG_INSTALL) -diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt -index 98dfad7..94d96a0 100755 ---- a/hlsl/CMakeLists.txt -+++ b/hlsl/CMakeLists.txt -@@ -26,6 +26,12 @@ if(WIN32) - endif(WIN32) - - if(ENABLE_GLSLANG_INSTALL) -- install(TARGETS HLSL -- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ install(TARGETS HLSL EXPORT glslangConfig -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ) -+ export(TARGETS HLSL -+ NAMESPACE glslang:: -+ FILE "${CMAKE_CURRENT_BINARY_DIR}/HLSL-config.cmake" -+ ) - endif(ENABLE_GLSLANG_INSTALL) +diff --git a/ChooseMSVCCRT.cmake b/ChooseMSVCCRT.cmake +index 2097881..f6320a9 100644 +--- a/ChooseMSVCCRT.cmake ++++ b/ChooseMSVCCRT.cmake +@@ -102,4 +102,3 @@ set(MSVC_CRT + MT + MTd) + +-choose_msvc_crt(MSVC_CRT) +diff --git a/OGLCompilersDLL/CMakeLists.txt b/OGLCompilersDLL/CMakeLists.txt +index 5bb3f0e..90ba3be 100644 +--- a/OGLCompilersDLL/CMakeLists.txt ++++ b/OGLCompilersDLL/CMakeLists.txt +@@ -9,6 +9,7 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- install(TARGETS OGLCompiler +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(TARGETS OGLCompiler EXPORT glslangConfig ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_GLSLANG_INSTALL) +diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt +index 1997e74..e2a0229 100644 +--- a/SPIRV/CMakeLists.txt ++++ b/SPIRV/CMakeLists.txt +@@ -46,7 +46,6 @@ endif(ENABLE_NV_EXTENSIONS) + add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS}) + set_property(TARGET SPIRV PROPERTY FOLDER glslang) + set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON) +-target_include_directories(SPIRV PUBLIC ..) + + if (ENABLE_SPVREMAPPER) + add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) +@@ -78,13 +77,13 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- if(BUILD_SHARED_LIBS) ++ if(BUILD_SHARED_LIBS OR TRUE) + if (ENABLE_SPVREMAPPER) + install(TARGETS SPVRemapper + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() +- install(TARGETS SPIRV ++ install(TARGETS SPIRV EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + else() +diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt +index 5f51476..7f11498 100644 +--- a/glslang/CMakeLists.txt ++++ b/glslang/CMakeLists.txt +@@ -86,7 +86,6 @@ add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${H + set_property(TARGET glslang PROPERTY FOLDER glslang) + set_property(TARGET glslang PROPERTY POSITION_INDEPENDENT_CODE ON) + target_link_libraries(glslang OGLCompiler OSDependent) +-target_include_directories(glslang PUBLIC ..) + + if(WIN32 AND BUILD_SHARED_LIBS) + set_target_properties(glslang PROPERTIES PREFIX "") +@@ -105,10 +104,15 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- if(BUILD_SHARED_LIBS) +- install(TARGETS glslang ++ if(BUILD_SHARED_LIBS OR TRUE) ++ install(TARGETS glslang EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install( ++ EXPORT glslangConfig ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/glslang" ++ NAMESPACE glslang:: ++ ) + else() + install(TARGETS glslang + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt +index e652f45..a9673fe 100644 +--- a/glslang/OSDependent/Unix/CMakeLists.txt ++++ b/glslang/OSDependent/Unix/CMakeLists.txt +@@ -20,6 +20,6 @@ else() + endif() + + if(ENABLE_GLSLANG_INSTALL) +- install(TARGETS OSDependent ++ install(TARGETS OSDependent EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_GLSLANG_INSTALL) +diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt +index f918d7a..329800f 100644 +--- a/hlsl/CMakeLists.txt ++++ b/hlsl/CMakeLists.txt +@@ -32,8 +32,8 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- if(BUILD_SHARED_LIBS) +- install(TARGETS HLSL ++ if(BUILD_SHARED_LIBS OR TRUE) ++ install(TARGETS HLSL EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + else() diff --git a/ports/glslang/CMakeLists-windows.patch b/ports/glslang/CMakeLists-windows.patch new file mode 100644 index 000000000..76ccf6077 --- /dev/null +++ b/ports/glslang/CMakeLists-windows.patch @@ -0,0 +1,12 @@ +diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt +index f257418..82a3f3c 100644 +--- a/glslang/OSDependent/Windows/CMakeLists.txt ++++ b/glslang/OSDependent/Windows/CMakeLists.txt +@@ -15,6 +15,6 @@ if(WIN32) + endif(WIN32) + + if(ENABLE_GLSLANG_INSTALL) +- install(TARGETS OSDependent ++ install(TARGETS OSDependent EXPORT glslangConfig + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif(ENABLE_GLSLANG_INSTALL) diff --git a/ports/glslang/CONTROL b/ports/glslang/CONTROL index f3a25620c..06f8f810f 100644 --- a/ports/glslang/CONTROL +++ b/ports/glslang/CONTROL @@ -1,4 +1,4 @@ Source: glslang -Version: 2018-03-02-2 +Version: 2019-03-05-1 Homepage: https://github.com/KhronosGroup/glslang -Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator +Description: Khronos reference front-end for GLSL and ESSL, and sample SPIR-V generator \ No newline at end of file diff --git a/ports/glslang/portfile.cmake b/ports/glslang/portfile.cmake index 77e15052d..1bb8121b1 100644 --- a/ports/glslang/portfile.cmake +++ b/ports/glslang/portfile.cmake @@ -5,27 +5,31 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/glslang - REF b5b5f918c6b72d7cf2ee73641cc6c6ddb211ca70 - SHA512 ec0f7a23fa60457a481c7b3acf4c127c3bf898d23655d346aeafb304f74e798d632c83d676873f2c764d241de6dc4392cff8d6ce0ee509a4b74ee2233b01c008 + REF f88e5824d2cfca5edc58c7c2101ec9a4ec36afac + SHA512 92dc287e8930db6e00bde23b770f763dc3cf8a405a37b682bbd65e1dbde1f1f5161543fcc70b09eef07a5ce8bbe8f368ef84ac75003c122f42d1f6b9eaa8bd50 HEAD_REF master PATCHES CMakeLists-targets.patch + CMakeLists-windows.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DCMAKE_DEBUG_POSTFIX=d -DSKIP_GLSLANG_INSTALL=OFF + OPTIONS + -DCMAKE_DEBUG_POSTFIX=d + -DSKIP_GLSLANG_INSTALL=OFF ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/glslang) + +vcpkg_copy_pdbs() file(RENAME "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/tools") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") # Handle copyright file(COPY ${CMAKE_CURRENT_LIST_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/glslang) diff --git a/ports/gmmlib/CONTROL b/ports/gmmlib/CONTROL index ae6f760a9..4d043f870 100644 --- a/ports/gmmlib/CONTROL +++ b/ports/gmmlib/CONTROL @@ -1,3 +1,3 @@ Source: gmmlib -Version: 19.1.2 +Version: 19.2.3 Description: intel's graphics memory management library diff --git a/ports/gmmlib/portfile.cmake b/ports/gmmlib/portfile.cmake index d3bf8dbec..b64650d74 100644 --- a/ports/gmmlib/portfile.cmake +++ b/ports/gmmlib/portfile.cmake @@ -9,8 +9,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/gmmlib - REF intel-gmmlib-19.1.2 - SHA512 fcc0beedfc3716b6204627f7daa5e0a5aec720b2a29ab2f8262b613a11d31bfe14dc8476513515d8470cf7d66f58d109ed4d5cf203e041228f53a64cb4a6c243 + REF e834bcd677382fbebb7749ccbd678d86a82bffd3 + SHA512 a22593d8d075db7af7fd9ffb6a4e0696e9fe25b73efa9b80e8513452581bdd0ceb6f400dd691e6d52edd72ea6f725066a454a829177d4987ccb4664e4c70ed4d HEAD_REF master ) diff --git a/ports/google-cloud-cpp-common/CONTROL b/ports/google-cloud-cpp-common/CONTROL new file mode 100644 index 000000000..541fa6762 --- /dev/null +++ b/ports/google-cloud-cpp-common/CONTROL @@ -0,0 +1,5 @@ +Source: google-cloud-cpp-common +Version: 0.16.0 +Build-Depends: grpc, googleapis +Description: Base C++ Libraries for Google Cloud Platform APIs +Homepage: https://github.com/googleapis/google-cloud-cpp-common diff --git a/ports/google-cloud-cpp-common/portfile.cmake b/ports/google-cloud-cpp-common/portfile.cmake new file mode 100644 index 000000000..e333c069e --- /dev/null +++ b/ports/google-cloud-cpp-common/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO googleapis/google-cloud-cpp-common + REF v0.16.0 + SHA512 2325e4aa28cd883091a562f3de0390bb0139446920183487ed2fbc1e404c90ec6f5e42d5b6f59e1de65be66b61954bc4f66b3f441ad6ec89cd4591ce8ea3321d + 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 + -DGOOGLE_CLOUD_CPP_TESTING_UTIL_ENABLE_INSTALL=OFF) + +vcpkg_install_cmake(ADD_BIN_TO_PATH) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file( + INSTALL ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/google-cloud-cpp-common + RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/google-cloud-cpp/CONTROL b/ports/google-cloud-cpp/CONTROL index 6c1b23391..c593a3d6b 100644 --- a/ports/google-cloud-cpp/CONTROL +++ b/ports/google-cloud-cpp/CONTROL @@ -1,4 +1,5 @@ -Source: google-cloud-cpp -Version: 0.10.0 -Build-Depends: grpc, curl[ssl], crc32c -Description: C++ Client Libraries for Google Cloud Platform APIs. +Source: google-cloud-cpp +Version: 0.15.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 84c5c0240..aff9a25a5 100644 --- a/ports/google-cloud-cpp/portfile.cmake +++ b/ports/google-cloud-cpp/portfile.cmake @@ -5,18 +5,19 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO googleapis/google-cloud-cpp - REF v0.10.0 - SHA512 9a1774dcc39d1626c8a9cf8630fe3b3110df7e21e452c7b137e1911d10b304997571aadff5fc0216715729db4a29621066a5236a0b2cb027bba4ce3c56492fb3 + REF v0.15.0 + SHA512 f8cc8f9d47a4df1d76ac7b0836fe107f2f199070a89ab5136f66aa1be5f08737495dbb3f4cf7f709ac0a1346648d869af639836b85b552c6791fa8bb85362a91 HEAD_REF master ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE 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/googleapis/CONTROL b/ports/googleapis/CONTROL new file mode 100644 index 000000000..ac633e51b --- /dev/null +++ b/ports/googleapis/CONTROL @@ -0,0 +1,5 @@ +Source: googleapis +Version: 0.1.5 +Build-Depends: grpc, protobuf +Description: C++ Proto Libraries for Google APIs. +Homepage: https://github.com/googleapis/cpp-cmakefiles diff --git a/ports/googleapis/portfile.cmake b/ports/googleapis/portfile.cmake new file mode 100644 index 000000000..978d7a4b8 --- /dev/null +++ b/ports/googleapis/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +if (VCPKG_TARGET_IS_UWP) + message(FATAL_ERROR "Package `googleapis` doesn't support UWP") +endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO googleapis/cpp-cmakefiles + REF v0.1.5 + SHA512 7c940cd60490c64b67b608b10dc85f8be33b370737e0d2a6c73015fc5b9b921b07aceef672f6cdef86878d766e4f2c89af28869e06677ca1ddbbf11fe8b5f963 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake(ADD_BIN_TO_PATH) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/googleapis RENAME copyright) + +vcpkg_copy_pdbs() + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/googleapis/usage b/ports/googleapis/usage new file mode 100644 index 000000000..00ca628e5 --- /dev/null +++ b/ports/googleapis/usage @@ -0,0 +1,6 @@ +The package googleapis is compatible with built-in CMake targets: + + find_package(googleapis CONFIG REQUIRED) + + # Then link against the proto libraries that you want to use, for example: + target_link_libraries(main PRIVATE googleapis-c++::bigtable_protos gRPC::grpc gRPC::grpc++) diff --git a/ports/gppanel/00001-fix-build.patch b/ports/gppanel/00001-fix-build.patch new file mode 100644 index 000000000..bf394d63f --- /dev/null +++ b/ports/gppanel/00001-fix-build.patch @@ -0,0 +1,24 @@ +diff --git a/gpPanel/gpPanel.cpp b/gpPanel/gpPanel.cpp +index 7af20b5..908523c 100644 +--- a/gpPanel/gpPanel.cpp ++++ b/gpPanel/gpPanel.cpp +@@ -720,8 +720,8 @@ void gpPanel::OnMenuItemPrintPreview(wxCommandEvent& event) + gpLayer_s *gp = GetLayerByMenuId(event.GetId() ); + if(gp==NULL)return; + +- mpPrintout *plotPrint = new mpPrintout(gp->m_plot, gp->layer->GetName()); +- mpPrintout *plotPrintPreview = new mpPrintout(gp->m_plot, gp->layer->GetName()); ++ mpPrintout *plotPrint = new mpPrintout(gp->m_plot, gp->layer->GetName().c_str()); ++ mpPrintout *plotPrintPreview = new mpPrintout(gp->m_plot, gp->layer->GetName().c_str()); + + wxPrintPreview *preview = new wxPrintPreview(plotPrintPreview, plotPrint); + +@@ -765,7 +765,7 @@ void gpPanel::OnMenuItemSaveScreenshot(wxCommandEvent& event) + if(index!=-1) + { + wxString reso = aChoices.Item(index); +- if( reso.CompareTo(_("custom")) == 0 ){ ++ if( reso.CompareTo(_("custom").c_str()) == 0 ){ + reso = wxGetTextFromUser(_("Write image resolution (format: [width]x[height]"), _("Custom resolution for image"), _("640x480"), this); + } + if(reso.Find('x') != -1) diff --git a/ports/gppanel/CMakeLists.txt b/ports/gppanel/CMakeLists.txt new file mode 100644 index 000000000..ba3f22f7a --- /dev/null +++ b/ports/gppanel/CMakeLists.txt @@ -0,0 +1,32 @@ +cmake_minimum_required(VERSION 3.13) +project(gpPanel CXX) + +set(wxWidgets_EXCLUDE_COMMON_LIBRARIES TRUE) +find_package(wxWidgets REQUIRED COMPONENTS core base) +include(${wxWidgets_USE_FILE}) + +file(GLOB_RECURSE SOURCES "gpPanel/*.cpp") +file(GLOB HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/include" "include/*.h") + +add_library(gpPanel STATIC ${SOURCES}) +target_compile_definitions(gpPanel PRIVATE _CRT_SECURE_NO_WARNINGS) + +target_include_directories(gpPanel PUBLIC + $ + $ +) + +target_link_libraries(gpPanel PRIVATE ${wxWidgets_LIBRARIES}) + +install(TARGETS gpPanel EXPORT gpPanel-config + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +install(EXPORT gpPanel-config DESTINATION share/cmake/gpPanel) + +foreach (HEADER ${HEADERS} ) + get_filename_component(HEADER_DIR ${HEADER} DIRECTORY) + install(FILES include/${HEADER} DESTINATION include/gpPanel/${HEADER_DIR}) +endforeach() diff --git a/ports/gppanel/CONTROL b/ports/gppanel/CONTROL new file mode 100644 index 000000000..580f233d2 --- /dev/null +++ b/ports/gppanel/CONTROL @@ -0,0 +1,5 @@ +Source: gppanel +Version: 2018-04-06 +Build-Depends: wxwidgets +Homepage: https://github.com/woollybah/gppanel +Description: gpPanel is chart libary for wxWidget. It inheritance from wxPanel and use modified wxMathPlot library at chart engine. diff --git a/ports/gppanel/portfile.cmake b/ports/gppanel/portfile.cmake new file mode 100644 index 000000000..04ef9be56 --- /dev/null +++ b/ports/gppanel/portfile.cmake @@ -0,0 +1,42 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO woollybah/gppanel + REF 5ef9674d893bbf5e17da66841cbc6aeeef051b25 + SHA512 a52eb5c4d9065e29d84374e9c484bae14cf7ff9a80fe6b025be108942a6c4683dd7f64830f78f0f7d45971f930df68f58dadf7c3915178e8908dd220d06a1e2c + HEAD_REF master + PATCHES 00001-fix-build.patch +) + +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/gpPanel) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/gpPanel/copyright COPYONLY) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/gpPanel) diff --git a/ports/gppanel/usage b/ports/gppanel/usage new file mode 100644 index 000000000..1ad1e6c42 --- /dev/null +++ b/ports/gppanel/usage @@ -0,0 +1,4 @@ +The package gppanel provides CMake targets: + + find_package(gpPanel CONFIG REQUIRED) + target_link_libraries(main PRIVATE gpPanel) diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL index 631fd52f3..9f3d5b145 100644 --- a/ports/graphicsmagick/CONTROL +++ b/ports/graphicsmagick/CONTROL @@ -1,6 +1,5 @@ Source: graphicsmagick -Maintainer: josuegomes@gmail.com -Version: 1.3.32 +Version: 1.3.33-1 Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff Homepage: https://sourceforge.net/projects/graphicsmagick/ Description: Image processing library diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake index b976bfbee..5fc72b6ec 100644 --- a/ports/graphicsmagick/portfile.cmake +++ b/ports/graphicsmagick/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(GM_VERSION 1.3.32) +set(GM_VERSION 1.3.33) 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 1636f704bac65587d6526a10e7002a6158f951643a4e9eb936b0b734c1eb187155aa4d67febe897f9a2397ecadff736ba84cfe21704348e2d8481af01eff02f6 + SHA512 856fafe36693a7963f5944f489f4b7a0d15d9dcc575f96d31486e3abd886f681854cbb2271feb4b4cb19668480904d473138a2d9c2ec95539de705d75e2f49c9 ) vcpkg_extract_source_archive_ex( @@ -28,6 +28,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/magick_types.h DESTINATION ${SOURCE_PATH}/ma vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DINSTALL_HEADERS=OFF ) diff --git a/ports/graphite2/CONTROL b/ports/graphite2/CONTROL index e8af4d4a1..38bc0e4a4 100644 --- a/ports/graphite2/CONTROL +++ b/ports/graphite2/CONTROL @@ -1,5 +1,5 @@ Source: graphite2 -Version: 1.3.12 +Version: 1.3.13 Homepage: https://github.com/silnrsi/graphite Description: Graphite is a "smart font" system developed specifically to handle the complexities of lesser-known languages of the world. - Graphite2 is a rework of the original Graphite engine that is faster, smaller, and uses an API that is better suited to the layout architecture of most text-processing applications. \ No newline at end of file + Graphite2 is a rework of the original Graphite engine that is faster, smaller, and uses an API that is better suited to the layout architecture of most text-processing applications. diff --git a/ports/graphite2/disable-tests.patch b/ports/graphite2/disable-tests.patch index d88c1cee5..67a0d90e7 100644 --- a/ports/graphite2/disable-tests.patch +++ b/ports/graphite2/disable-tests.patch @@ -1,18 +1,45 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index a4c648e..db90735 100644 +index 496712d..3df05c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -80,11 +80,13 @@ if (BUILD_SHARED_LIBS) - endif (BUILD_SHARED_LIBS) +@@ -82,10 +82,12 @@ if (BUILD_SHARED_LIBS) + endif() add_subdirectory(src) +-add_subdirectory(tests) +-add_subdirectory(doc) +-if (NOT GRAPHITE2_NFILEFACE) +- add_subdirectory(gr2fonttest) +if(NOT DISABLE_TESTS) - add_subdirectory(tests) - add_subdirectory(doc) - if (NOT GRAPHITE2_NFILEFACE) - add_subdirectory(gr2fonttest) - endif (NOT GRAPHITE2_NFILEFACE) -+endif() ++ add_subdirectory(tests) ++ add_subdirectory(doc) ++ if (NOT GRAPHITE2_NFILEFACE) ++ add_subdirectory(gr2fonttest) ++ endif() + endif() set(version 3.0.1) - set(libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 389cf5a..94b7f99 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -127,7 +127,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + endif () + endif() + include(Graphite) +- if (BUILD_SHARED_LIBS) ++ if (NOT DISABLE_TESTS) + nolib_test(stdc++ $) + endif () + set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") +@@ -141,7 +141,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + LINKER_LANGUAGE C) + target_link_libraries(graphite2 c) + include(Graphite) +- nolib_test(stdc++ $) ++ if (NOT DISABLE_TESTS) ++ nolib_test(stdc++ $) ++ endif () + set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "") + CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}") + endif() diff --git a/ports/graphite2/portfile.cmake b/ports/graphite2/portfile.cmake index f5292ba83..110363571 100644 --- a/ports/graphite2/portfile.cmake +++ b/ports/graphite2/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO silnrsi/graphite - REF 1.3.12 - SHA512 d0aed05b54445a9664435d5aef9d78fc07a89be23d18b7b1339d37412b09faca6da3dc1e72524e4b114724b76aa6f36934e8ab1a01bd0752e353efa075c9e643 + REF b45f9b271214b95f3b42e5c9863eae4b0bfb7fd7 + SHA512 5bd1052c1e21ab523ce17804b7123858d17ca9893cbd972f0af58119c5419d771df13d374569a14dd82605536674d9b1a4787300eac4bd89a177a40df5a05282 HEAD_REF master PATCHES disable-tests.patch ) @@ -19,8 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/graphite2) +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/grpc/00001-fix-uwp.patch b/ports/grpc/00001-fix-uwp.patch index 6f7f2d90f..6b5d15490 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 8ba68c4a13..258a1609f6 100644 +index 48a0261825..2ba7077c4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -90,6 +90,9 @@ if(UNIX) +@@ -92,6 +92,9 @@ if(UNIX) endif() if(WIN32) set(_gRPC_PLATFORM_WINDOWS ON) @@ -12,7 +12,7 @@ index 8ba68c4a13..258a1609f6 100644 endif() set(CMAKE_POSITION_INDEPENDENT_CODE TRUE) -@@ -107,6 +110,9 @@ if (MSVC) +@@ -109,6 +112,9 @@ if (MSVC) add_definitions(/wd4267) # TODO(jtattermusch): needed to build boringssl with VS2017, revisit later add_definitions(/wd4987 /wd4774 /wd4819 /wd4996 /wd4619) @@ -22,7 +22,7 @@ index 8ba68c4a13..258a1609f6 100644 endif() if (gRPC_USE_PROTO_LITE) -@@ -177,6 +183,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) +@@ -179,6 +185,10 @@ file(MAKE_DIRECTORY ${_gRPC_PROTO_GENS_DIR}) # ``.proto`` files # function(protobuf_generate_grpc_cpp) @@ -33,7 +33,7 @@ index 8ba68c4a13..258a1609f6 100644 if(NOT ARGN) message(SEND_ERROR "Error: PROTOBUF_GENERATE_GRPC_CPP() called without any proto files") return() -@@ -218,6 +228,7 @@ function(protobuf_generate_grpc_cpp) +@@ -220,6 +230,7 @@ function(protobuf_generate_grpc_cpp) endforeach() endfunction() @@ -41,7 +41,7 @@ index 8ba68c4a13..258a1609f6 100644 add_custom_target(plugins DEPENDS grpc_cpp_plugin -@@ -247,6 +258,8 @@ add_custom_target(tools_cxx +@@ -249,6 +260,8 @@ add_custom_target(tools_cxx add_custom_target(tools DEPENDS tools_c tools_cxx) @@ -50,7 +50,7 @@ index 8ba68c4a13..258a1609f6 100644 if (gRPC_BUILD_TESTS) add_custom_target(buildtests_c) add_dependencies(buildtests_c algorithm_test) -@@ -4029,7 +4042,6 @@ foreach(_hdr +@@ -3532,7 +3545,6 @@ foreach(_hdr DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" ) endforeach() @@ -58,7 +58,7 @@ index 8ba68c4a13..258a1609f6 100644 if (gRPC_BUILD_CODEGEN) -@@ -4040,6 +4052,7 @@ if (gRPC_INSTALL) +@@ -3543,6 +3555,7 @@ if (gRPC_INSTALL) ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} ) endif() @@ -66,7 +66,23 @@ index 8ba68c4a13..258a1609f6 100644 endif (gRPC_BUILD_CODEGEN) if (gRPC_BUILD_TESTS) -@@ -4163,7 +4176,7 @@ foreach(_hdr +@@ -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() @@ -75,23 +91,7 @@ index 8ba68c4a13..258a1609f6 100644 if (gRPC_BUILD_CODEGEN) -@@ -4174,6 +4187,7 @@ if (gRPC_INSTALL) - ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} - ) - endif() -+endif (gRPC_BUILD_CODEGEN) - - endif (gRPC_BUILD_CODEGEN) - if (gRPC_BUILD_TESTS) -@@ -5196,7 +5210,6 @@ foreach(_hdr - DESTINATION "${gRPC_INSTALL_INCLUDEDIR}/${_path}" - ) - endforeach() --endif (gRPC_BUILD_CODEGEN) - - if (gRPC_BUILD_CODEGEN) - -@@ -5207,6 +5220,7 @@ if (gRPC_INSTALL) +@@ -4740,6 +4753,7 @@ if (gRPC_INSTALL) ARCHIVE DESTINATION ${gRPC_INSTALL_LIBDIR} ) endif() diff --git a/ports/grpc/00005-fix-uwp-error.patch b/ports/grpc/00005-fix-uwp-error.patch new file mode 100644 index 000000000..d23036367 --- /dev/null +++ b/ports/grpc/00005-fix-uwp-error.patch @@ -0,0 +1,12 @@ +diff --git a/src/core/lib/slice/slice.cc b/src/core/lib/slice/slice.cc +index eebf66b..6c6ee50 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 p, + size_t len) { + uint8_t* ptr = reinterpret_cast(p.get()); + grpc_slice slice; ++ memset(&slice, 0, sizeof(grpc_slice)); + if (len <= sizeof(slice.data.inlined.bytes)) { + slice.refcount = nullptr; + slice.data.inlined.length = len; diff --git a/ports/grpc/00006-crypt32.patch b/ports/grpc/00006-crypt32.patch new file mode 100644 index 000000000..312e70ef3 --- /dev/null +++ b/ports/grpc/00006-crypt32.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b3ca615..21b5aaf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -171,7 +171,7 @@ elseif(UNIX) + endif() + + if(WIN32 AND MSVC) +- set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 gdi32) ++ set(_gRPC_BASELIB_LIBRARIES wsock32 ws2_32 gdi32 crypt32) + endif() + + # Create directory for generated .proto files diff --git a/ports/grpc/00007-disable_grpcpp_channelz.patch b/ports/grpc/00007-disable_grpcpp_channelz.patch new file mode 100644 index 000000000..336077290 --- /dev/null +++ b/ports/grpc/00007-disable_grpcpp_channelz.patch @@ -0,0 +1,34 @@ +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 new file mode 100644 index 000000000..f093eb432 --- /dev/null +++ b/ports/grpc/00008-fix-duplicate-gettid.patch @@ -0,0 +1,66 @@ +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 + #include + +-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(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 + #include + +-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/CONTROL b/ports/grpc/CONTROL index 5edad1a16..09177e35d 100644 --- a/ports/grpc/CONTROL +++ b/ports/grpc/CONTROL @@ -1,5 +1,5 @@ Source: grpc -Version: 1.21.1 +Version: 1.23.1-1 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 e97082ede..c7a5fbe7d 100644 --- a/ports/grpc/portfile.cmake +++ b/ports/grpc/portfile.cmake @@ -13,14 +13,18 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO grpc/grpc - REF 75475f090875e737ad6909a6057c59577f0c79b1 - SHA512 db9ff82dee38cb0f4ba10874d10bf6cb20c8a4d49e7dd24bcd9f71388c54c782ee12fda6f1bfedd79ad988b0275d3f96df4686217465acfafcfb5e4c30093a5b + REF v1.23.1 + SHA512 c39a07554645402c36cb79eddfda7165dc26ce5f7f09cae7ee6f7bedcc2aca8873117ea401d40ce2e3246e3e5888bcce12d4746cba7ed75068ff145046754981 HEAD_REF master - PATCHES + PATCHES 00001-fix-uwp.patch 00002-static-linking-in-linux.patch 00003-undef-base64-macro.patch 00004-link-gdi32-on-windows.patch + 00005-fix-uwp-error.patch + 00006-crypt32.patch + 00007-disable_grpcpp_channelz.patch + 00008-fix-duplicate-gettid.patch ) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") @@ -63,7 +67,7 @@ vcpkg_configure_cmake( -DgRPC_GFLAGS_PROVIDER=none -DgRPC_BENCHMARK_PROVIDER=none -DgRPC_INSTALL_CSHARP_EXT=OFF - -DgRPC_INSTALL_BINDIR:STRING=bin + -DgRPC_INSTALL_BINDIR:STRING=tools/grpc -DgRPC_INSTALL_LIBDIR:STRING=lib -DgRPC_INSTALL_INCLUDEDIR:STRING=include -DgRPC_INSTALL_CMAKEDIR:STRING=share/grpc @@ -72,26 +76,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake(ADD_BIN_TO_PATH) -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/grpc") +vcpkg_fixup_cmake_targets() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/grpc RENAME copyright) -# Install tools -file(GLOB TOOLS "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*.exe") -if(TOOLS) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/grpc) - file(COPY ${TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/grpc) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/grpc) -endif() - -file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") -if(EXES) - file(REMOVE ${EXES}) -endif() +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/grpc) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/tools") # Ignore the C# extension DLL in bin/ SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -## \ No newline at end of file diff --git a/ports/grppi/CONTROL b/ports/grppi/CONTROL new file mode 100644 index 000000000..c638ad212 --- /dev/null +++ b/ports/grppi/CONTROL @@ -0,0 +1,4 @@ +Source: grppi +Version: 0.4.0 +Homepage: https://github.com/arcosuc3m/grppi +Description: GrPPI is an open source generic and reusable parallel pattern programming interface developed at University Carlos III of Madrid. \ No newline at end of file diff --git a/ports/grppi/fix-build-error.patch b/ports/grppi/fix-build-error.patch new file mode 100644 index 000000000..edbdc3ad5 --- /dev/null +++ b/ports/grppi/fix-build-error.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 09f1f9b..9ef62e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,7 +13,7 @@ message(STATUS "CMAKE_CXX_COMPILER_ID: " ${CMAKE_CXX_COMPILER_ID} ) + + set(CMAKE_CXX_STANDARD 14) + +-add_compile_options(-Wall -Werror -pedantic -pedantic-errors -Wextra -Weffc++) ++add_compile_options(-Wall -Werror -pedantic -pedantic-errors -Wextra) + + # Set specific options depending on compiler + if ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" ) diff --git a/ports/grppi/fix-support-other-compilers.patch b/ports/grppi/fix-support-other-compilers.patch new file mode 100644 index 000000000..d347b2674 --- /dev/null +++ b/ports/grppi/fix-support-other-compilers.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 09f1f9b..e7b562b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,22 +20,19 @@ if ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" ) + if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 3.9.0)) + message(FATAL_ERROR "Clang version " ${CMAKE_CXX_COMPILER_VERSION} + " not supported. Upgrade to 3.9 or above.") +- else() +- message( STATUS "C++ Compiler is Clang" ) + endif() + elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 6.0)) + message(FATAL_ERROR "g++ version " ${CMAKE_CXX_COMPILER_VERSION} + " not supported. Upgrade to 6.0 or above.") + else() +- message( STATUS "C++ Compiler is GNU") + if (${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 7.0) + #g++ 7 warns in non C++17 for over-aligned new otherwise + add_compile_options(-faligned-new) + endif() + endif() + elseif ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel" ) +- message(FATAL_ERROR "Intel compiler is not currently supported") ++ message(WARNING "Intel compiler is not currently supported") + # if(NOT(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 16.0)) + # message( FATAL_ERROR "Intel version " ${CMAKE_CXX_COMPILER_VERSION} + # " not supported. Upgrade to 16.0 or above.") +@@ -43,12 +40,11 @@ elseif ( ${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel" ) + # message( STATUS "C++ Compiler is Intel" ) + # message( WARNING "WARNING: GrPPI has not been fully tested with Intel compiler." ) + # endif() +-else() +- message( FATAL_ERROR "Unsupported compiler: " +- ${CMAKE_CXX_COMPILER_ID} +- ${CMAKE_CXX_COMPILER_VERSION}) + endif() + ++message(STATUS "C++ Compiler is " ${CMAKE_CXX_COMPILER_ID} ++ " version " ${CMAKE_CXX_COMPILER_VERSION}) ++ + # GrPPI library + include_directories("${CMAKE_SOURCE_DIR}/include") + diff --git a/ports/grppi/portfile.cmake b/ports/grppi/portfile.cmake new file mode 100644 index 000000000..6b1895d0f --- /dev/null +++ b/ports/grppi/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO arcosuc3m/grppi + REF v0.4.0 + SHA512 f8235af6832958de420a68d4465a6c63701ab4385f3430d32f77c1d5e8212001262aad1a8aae04261ba889d592798cd3963843b190d325bddc1fe7dcc4aebd7d + HEAD_REF master + PATCHES + fix-build-error.patch + fix-support-other-compilers.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DGRPPI_DOXY_ENABLE=OFF + -DGRPPI_EXAMPLE_APPLICATIONS_ENABLE=OFF + -DGRPPI_UNIT_TEST_ENABLE=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/gsl-lite/CONTROL b/ports/gsl-lite/CONTROL index 33149992d..37711d364 100644 --- a/ports/gsl-lite/CONTROL +++ b/ports/gsl-lite/CONTROL @@ -1,4 +1,4 @@ Source: gsl-lite -Version: 0.28.0 +Version: 0.34.0 Homepage: https://github.com/martinmoene/gsl-lite Description: A single-file header-only version of ISO C++ Guideline Support Library (GSL) for C++98, C++11 and later diff --git a/ports/gsl-lite/portfile.cmake b/ports/gsl-lite/portfile.cmake index 9bcae7d06..ae8dedd92 100644 --- a/ports/gsl-lite/portfile.cmake +++ b/ports/gsl-lite/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(GSL_LITE_VERSION v0.28.0) +set(GSL_LITE_VERSION v0.34.0) vcpkg_download_distfile(HEADER - URLS "https://github.com/martinmoene/gsl-lite/releases/download/${GSL_LITE_VERSION}/gsl-lite.hpp" + URLS "https://github.com/martinmoene/gsl-lite/raw/${GSL_LITE_VERSION}/include/gsl/gsl-lite.hpp" FILENAME "gsl-lite-${GSL_LITE_VERSION}.hpp" - SHA512 2c9705c9d17b5acbd7eb2f4a93a6fd07f9ce31e81a41d2ca6a961ed484d771742d7960305bbb20b82d810013c7473c9afa58c71468a15466e00c879449d38ba5 + SHA512 e8463ced48fb4c5aae9bab4e9bdf3deb8a6f17d6f712fd9e3855788f6f43c70ad689738f099735071e2e411b285d9b60312bbfc4f99fc0250bdc2ca0f38493d8 ) vcpkg_download_distfile(LICENSE diff --git a/ports/gsl/CONTROL b/ports/gsl/CONTROL index af68d6f02..12b96a5a2 100644 --- a/ports/gsl/CONTROL +++ b/ports/gsl/CONTROL @@ -1,4 +1,4 @@ Source: gsl -Version: 2.4-3 +Version: 2.4-4 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 12c0526bc..161b2defa 100644 --- a/ports/gsl/portfile.cmake +++ b/ports/gsl/portfile.cmake @@ -1,23 +1,22 @@ include(vcpkg_common_functions) set(GSL_VERSION 2.4) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gsl-${GSL_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "ftp://ftp.gnu.org/gnu/gsl/gsl-${GSL_VERSION}.tar.gz" FILENAME "gsl-${GSL_VERSION}.tar.gz" SHA512 12442b023dd959e8b22a9c486646b5cedec7fdba0daf2604cda365cf96d10d99aefdec2b42e59c536cc071da1525373454e5ed6f4b15293b305ca9b1dc6db130 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + 0001-configure.patch + 0002-add-fp-control.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-configure.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-add-fp-control.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -25,9 +24,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -# Handle copyright -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gsl) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/gsl/COPYING ${CURRENT_PACKAGES_DIR}/share/gsl/copyright) - vcpkg_copy_pdbs() + +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/gsoap/CONTROL b/ports/gsoap/CONTROL index 364deb380..174bd57c8 100644 --- a/ports/gsoap/CONTROL +++ b/ports/gsoap/CONTROL @@ -1,4 +1,5 @@ Source: gsoap -Version: 2.8.84-1 +Version: 2.8.93-2 Build-Depends: curl +Homepage: https://sourceforge.net/projects/gsoap2/ Description: The gSOAP toolkit is a C and C++ software development toolkit for SOAP and REST XML Web services and generic C/C++ XML data bindings. \ No newline at end of file diff --git a/ports/gsoap/portfile.cmake b/ports/gsoap/portfile.cmake index 79270c7cb..3208614dc 100644 --- a/ports/gsoap/portfile.cmake +++ b/ports/gsoap/portfile.cmake @@ -1,12 +1,9 @@ include(vcpkg_common_functions) -set(GSOAP_VERSION 2.8) -set(GSOAP_SUB_VERSION .84) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gsoap-${GSOAP_VERSION}) vcpkg_download_distfile(ARCHIVE - URLS "https://ayera.dl.sourceforge.net/project/gsoap2/gsoap-${GSOAP_VERSION}/gsoap_${GSOAP_VERSION}${GSOAP_SUB_VERSION}.zip" - FILENAME "gsoap_${GSOAP_VERSION}${GSOAP_SUB_VERSION}.zip" - SHA512 ec050119cd3e480b266cad36823f4862fe0ac21045ce901c3c91a552eae2fbf9e1cd515458835807cce54c04df7835a980a299d37f418190cd57684fd6bdcf79 + URLS "https://downloads.sourceforge.net/project/gsoap2/gsoap-2.8/gsoap_2.8.93.zip" + FILENAME "gsoap_2.8.93.zip" + SHA512 45965d04e1c46e06803467887f62d9bea5909fa2d4c4d9ffc935f9fced014efed9169a0171a555067c89ef47b2def9983b277eecee18eb9e70d7198bc72b1ece ) vcpkg_extract_source_archive_ex( diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL index 7c91eb253..df050f22f 100644 --- a/ports/gtest/CONTROL +++ b/ports/gtest/CONTROL @@ -1,4 +1,4 @@ Source: gtest -Version: 2019-01-04-2 +Version: 2019-10-09 Homepage: https://github.com/google/googletest Description: GoogleTest and GoogleMock testing frameworks. diff --git a/ports/gtest/fix-main-lib-path.patch b/ports/gtest/fix-main-lib-path.patch new file mode 100644 index 000000000..e07806eec --- /dev/null +++ b/ports/gtest/fix-main-lib-path.patch @@ -0,0 +1,68 @@ +diff --git a/googlemock/CMakeLists.txt b/googlemock/CMakeLists.txt +index 3e72d75..9d135ff 100644 +--- a/googlemock/CMakeLists.txt ++++ b/googlemock/CMakeLists.txt +@@ -115,7 +115,8 @@ endif() + ######################################################################## + # + # Install rules +-install_project(gmock gmock_main) ++install_project(gmock) ++install_project(gmock_main) + + ######################################################################## + # +diff --git a/googletest/CMakeLists.txt b/googletest/CMakeLists.txt +index e33718b..a049c2c 100644 +--- a/googletest/CMakeLists.txt ++++ b/googletest/CMakeLists.txt +@@ -136,7 +136,8 @@ target_link_libraries(gtest_main PUBLIC gtest) + ######################################################################## + # + # Install rules +-install_project(gtest gtest_main) ++install_project(gtest) ++install_project(gtest_main) + + ######################################################################## + # +diff --git a/googletest/cmake/internal_utils.cmake b/googletest/cmake/internal_utils.cmake +index 69defc8..cf7295a 100644 +--- a/googletest/cmake/internal_utils.cmake ++++ b/googletest/cmake/internal_utils.cmake +@@ -317,11 +317,15 @@ function(install_project) + install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + # Install the project targets. ++ set (LIB_INSTALL_DST ${CMAKE_INSTALL_LIBDIR}) ++ if (${ARGN} MATCHES "_main") ++ set (LIB_INSTALL_DST ${CMAKE_INSTALL_LIBDIR}/manual-link) ++ endif() + install(TARGETS ${ARGN} + EXPORT ${targets_export_name} + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++ ARCHIVE DESTINATION "${LIB_INSTALL_DST}" ++ LIBRARY DESTINATION "${LIB_INSTALL_DST}") + if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + # Install PDBs + foreach(t ${ARGN}) +@@ -330,7 +334,7 @@ function(install_project) + get_target_property(t_pdb_output_directory ${t} PDB_OUTPUT_DIRECTORY) + install(FILES + "${t_pdb_output_directory}/\${CMAKE_INSTALL_CONFIG_NAME}/$<$:${t_pdb_name_debug}>$<$>:${t_pdb_name}>.pdb" +- DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ DESTINATION ${LIB_INSTALL_DST} + OPTIONAL) + endforeach() + endif() +@@ -340,7 +344,7 @@ function(install_project) + configure_file("${PROJECT_SOURCE_DIR}/cmake/${t}.pc.in" + "${configured_pc}" @ONLY) + install(FILES "${configured_pc}" +- DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++ DESTINATION "${LIB_INSTALL_DST}/pkgconfig") + endforeach() + endif() + endfunction() diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake index 892221925..183f049c5 100644 --- a/ports/gtest/portfile.cmake +++ b/ports/gtest/portfile.cmake @@ -7,11 +7,12 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/googletest - REF b6cd405286ed8635ece71c72f118e659f4ade3fb - SHA512 1642a9cf1923d00c52c346399941517787431dad3e6d3a5da07bc02243a231a95e30e0a9568ffd29bb9b9757f15c1c47d2d811c2bedb301f2d27cf912be0a534 + REF cd17fa2abda2a2e4111cdabd62a87aea16835014 #version 1.10.0 commit on 2019.10.09 + SHA512 0899ebc21821e1978e8831ac89698fc88bf98ec7e22b9dd4f9eea0459396f6834ef35f6ee2afd1b8ca9432722e561c30905f8d87614d012bb711d295ebc1d833 HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-z7-override.patch + 0002-Fix-z7-override.patch + fix-main-lib-path.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" GTEST_FORCE_SHARED_CRT) diff --git a/ports/gtest/usage b/ports/gtest/usage index d40782e0e..3ed194453 100644 --- a/ports/gtest/usage +++ b/ports/gtest/usage @@ -1,6 +1,8 @@ The package gtest is compatible with built-in CMake targets: enable_testing() - find_package(GTest MODULE REQUIRED) - target_link_libraries(main PRIVATE GTest::GTest GTest::Main) + + find_package(GTest CONFIG REQUIRED) + target_link_libraries(main PRIVATE GTest::gtest GTest::gtest_main GTest::gmock GTest::gmock_main) + add_test(AllTestsInMain main) diff --git a/ports/gtk/portfile.cmake b/ports/gtk/portfile.cmake index b915ce5f3..ad729ba01 100644 --- a/ports/gtk/portfile.cmake +++ b/ports/gtk/portfile.cmake @@ -1,13 +1,18 @@ include(vcpkg_common_functions) set(GTK_VERSION 3.22.19) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gtk+-${GTK_VERSION}) + vcpkg_download_distfile(ARCHIVE URLS "https://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-${GTK_VERSION}.tar.xz" FILENAME "gtk+-${GTK_VERSION}.tar.xz" - SHA512 c83198794433ee6eb29f8740d59bd7056cd36808b4bff1a99563ab1a1742e6635dab4f2a8be33317f74d3b336f0d1adc28dd91410da056b50a08c215f184dce2) + SHA512 c83198794433ee6eb29f8740d59bd7056cd36808b4bff1a99563ab1a1742e6635dab4f2a8be33317f74d3b336f0d1adc28dd91410da056b50a08c215f184dce2 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH}) diff --git a/ports/gtkmm/CONTROL b/ports/gtkmm/CONTROL index 6ac1eede2..b346cd699 100644 --- a/ports/gtkmm/CONTROL +++ b/ports/gtkmm/CONTROL @@ -1,5 +1,5 @@ Source: gtkmm -Version: 3.22.2-1 +Version: 3.22.2-2 Homepage: https://www.gtkmm.org/ Description: gtkmm is the official C++ interface for the popular GUI library GTK+. Build-Depends: glib, atk, gtk, gdk-pixbuf, pango, cairo, libepoxy, gettext, glibmm, atkmm, cairomm, pangomm diff --git a/ports/gtkmm/README b/ports/gtkmm/README deleted file mode 100644 index ea1d8e0a6..000000000 --- a/ports/gtkmm/README +++ /dev/null @@ -1,3 +0,0 @@ -This is gtkmm, the C++ API for GTK+. -See http://www.gtkmm.org/ - diff --git a/ports/gtkmm/fix_charset.patch b/ports/gtkmm/fix_charset.patch deleted file mode 100644 index 027d74f99..000000000 --- a/ports/gtkmm/fix_charset.patch +++ /dev/null @@ -1,2053 +0,0 @@ -diff --git a/MSVC_Net2013/gdkmm.vcxproj b/MSVC_Net2013/gdkmm.vcxproj -index d9d08ac..8c6b528 100644 ---- a/MSVC_Net2013/gdkmm.vcxproj -+++ b/MSVC_Net2013/gdkmm.vcxproj -@@ -1,266 +1,267 @@ --??? -- -- -- -- Debug -- Win32 -- -- -- Debug -- x64 -- -- -- Release -- Win32 -- -- -- Release -- x64 -- -- -- -- gdkmm -- {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} -- Win32Proj -- -- -- -- DynamicLibrary -- MultiByte -- v120 -- -- -- DynamicLibrary -- MultiByte -- v120 -- -- -- DynamicLibrary -- MultiByte -- v120 -- -- -- DynamicLibrary -- MultiByte -- v120 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- true -- true -- true -- true -- $(ProjectName)$(DebugDllSuffix) -- $(ProjectName)$(DebugDllSuffix) -- $(ProjectName)$(ReleaseDllSuffix) -- $(ProjectName)$(ReleaseDllSuffix) -- -- -- -- %(AdditionalOptions) -- Disabled -- _DEBUG;$(GdkMMBuildDefs);%(PreprocessorDefinitions) -- true -- EnableFastChecks -- MultiThreadedDebugDLL -- true -- -- -- Level3 -- EditAndContinue -- -- -- Generate gdkmm def file -- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -- -- -+??? -+ -+ -+ -+ Debug -+ Win32 -+ -+ -+ Debug -+ x64 -+ -+ -+ Release -+ Win32 -+ -+ -+ Release -+ x64 -+ -+ -+ -+ gdkmm -+ {976C8F9C-1A1D-4E23-B79E-EC9091BBEA0E} -+ Win32Proj -+ 8.1 -+ -+ -+ -+ DynamicLibrary -+ Unicode -+ v120 -+ -+ -+ DynamicLibrary -+ Unicode -+ v120 -+ -+ -+ DynamicLibrary -+ Unicode -+ v120 -+ -+ -+ DynamicLibrary -+ Unicode -+ v120 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ true -+ true -+ true -+ true -+ $(ProjectName)$(DebugDllSuffix) -+ $(ProjectName)$(DebugDllSuffix) -+ $(ProjectName)$(ReleaseDllSuffix) -+ $(ProjectName)$(ReleaseDllSuffix) -+ -+ -+ -+ %(AdditionalOptions) -+ Disabled -+ _DEBUG;$(GdkMMBuildDefs);%(PreprocessorDefinitions) -+ true -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ true -+ -+ -+ Level3 -+ EditAndContinue -+ -+ -+ Generate gdkmm def file -+ $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -+ -+ - %(AdditionalDependencies) -- $(OutDir)$(ProjectName)$(DebugDllSuffix).dll -- $(IntDir)\$(ProjectName).def -- true -- false -- -- -- -- -- -- -- %(AdditionalOptions) -- $(GdkMMBuildDefs);%(PreprocessorDefinitions) -- MultiThreadedDLL -- true -- -- -- Level3 -- ProgramDatabase -- -- -- Generate gdkmm def file -- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -- -- -+ $(OutDir)$(ProjectName)$(DebugDllSuffix).dll -+ $(IntDir)\$(ProjectName).def -+ true -+ false -+ -+ -+ -+ -+ -+ -+ %(AdditionalOptions) -+ $(GdkMMBuildDefs);%(PreprocessorDefinitions) -+ MultiThreadedDLL -+ true -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ Generate gdkmm def file -+ $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -+ -+ - %(AdditionalDependencies) -- $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll -- $(IntDir)\$(ProjectName).def -- true -- true -- false -- -- -- -- -- -- -- X64 -- -- -- %(AdditionalOptions) -- Disabled -- _DEBUG;$(GdkMMBuildDefs);%(PreprocessorDefinitions) -- true -- EnableFastChecks -- MultiThreadedDebugDLL -- true -- -- -- Level3 -- ProgramDatabase -- -- -- Generate gdkmm def file -- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -- -- -+ $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll -+ $(IntDir)\$(ProjectName).def -+ true -+ true -+ false -+ -+ -+ -+ -+ -+ -+ X64 -+ -+ -+ %(AdditionalOptions) -+ Disabled -+ _DEBUG;$(GdkMMBuildDefs);%(PreprocessorDefinitions) -+ true -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ true -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ Generate gdkmm def file -+ $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -+ -+ - %(AdditionalDependencies) -- $(OutDir)$(ProjectName)$(DebugDllSuffix).dll -- $(IntDir)\$(ProjectName).def -- true -- false -- -- -- MachineX64 -- -- -- -- -- X64 -- -- -- %(AdditionalOptions) -- $(GdkMMBuildDefs);%(PreprocessorDefinitions) -- MultiThreadedDLL -- true -- -- -- Level3 -- ProgramDatabase -- -- -- Generate gdkmm def file -- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -- -- -+ $(OutDir)$(ProjectName)$(DebugDllSuffix).dll -+ $(IntDir)\$(ProjectName).def -+ true -+ false -+ -+ -+ MachineX64 -+ -+ -+ -+ -+ X64 -+ -+ -+ %(AdditionalOptions) -+ $(GdkMMBuildDefs);%(PreprocessorDefinitions) -+ MultiThreadedDLL -+ true -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ Generate gdkmm def file -+ $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -+ -+ - %(AdditionalDependencies) -- $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll -- $(IntDir)\$(ProjectName).def -- false -- true -- true -- -- -- MachineX64 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- {07324745-c9be-4d65-b08a-9c88188c0c28} -- false -- -- -- -- -- -- -\ No newline at end of file -+ $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll -+ $(IntDir)\$(ProjectName).def -+ false -+ true -+ true -+ -+ -+ MachineX64 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ {07324745-c9be-4d65-b08a-9c88188c0c28} -+ false -+ -+ -+ -+ -+ -+ -\ No newline at end of file -diff --git a/MSVC_Net2013/gendef.vcxproj b/MSVC_Net2013/gendef.vcxproj -index 33dfe5e..01b9271 100644 ---- a/MSVC_Net2013/gendef.vcxproj -+++ b/MSVC_Net2013/gendef.vcxproj -@@ -21,26 +21,27 @@ - - {07324745-C9BE-4D65-B08A-9C88188C0C28} - Win32Proj -+ 8.1 - - - - Application -- MultiByte -+ Unicode - v120 - - - Application -- MultiByte -+ Unicode - v120 - - - Application -- MultiByte -+ Unicode - v120 - - - Application -- MultiByte -+ Unicode - v120 - - -diff --git a/MSVC_Net2013/gtkmm.vcxproj b/MSVC_Net2013/gtkmm.vcxproj -index 2c732f8..ad9d312 100644 ---- a/MSVC_Net2013/gtkmm.vcxproj -+++ b/MSVC_Net2013/gtkmm.vcxproj -@@ -1,700 +1,701 @@ --??? -- -- -- -- Debug -- Win32 -- -- -- Debug -- x64 -- -- -- Release -- Win32 -- -- -- Release -- x64 -- -- -- -- gtkmm -- {907B8D15-7E12-4136-A7E6-B6ED5E055D39} -- gtkmm -- Win32Proj -- -- -- -- DynamicLibrary -- MultiByte -- v120 -- -- -- DynamicLibrary -- MultiByte -- v120 -- -- -- DynamicLibrary -- MultiByte -- v120 -- -- -- DynamicLibrary -- MultiByte -- v120 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- true -- true -- true -- true -- $(ProjectName)$(DebugDllSuffix) -- $(ProjectName)$(DebugDllSuffix) -- $(ProjectName)$(ReleaseDllSuffix) -- $(ProjectName)$(ReleaseDllSuffix) -- -- -- -- %(AdditionalOptions) -- Disabled -- .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories) -+??? -+ -+ -+ -+ Debug -+ Win32 -+ -+ -+ Debug -+ x64 -+ -+ -+ Release -+ Win32 -+ -+ -+ Release -+ x64 -+ -+ -+ -+ gtkmm -+ {907B8D15-7E12-4136-A7E6-B6ED5E055D39} -+ gtkmm -+ Win32Proj -+ 8.1 -+ -+ -+ -+ DynamicLibrary -+ Unicode -+ v120 -+ -+ -+ DynamicLibrary -+ Unicode -+ v120 -+ -+ -+ DynamicLibrary -+ Unicode -+ v120 -+ -+ -+ DynamicLibrary -+ Unicode -+ v120 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ true -+ true -+ true -+ true -+ $(ProjectName)$(DebugDllSuffix) -+ $(ProjectName)$(DebugDllSuffix) -+ $(ProjectName)$(ReleaseDllSuffix) -+ $(ProjectName)$(ReleaseDllSuffix) -+ -+ -+ -+ %(AdditionalOptions) -+ Disabled -+ .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories) - _DEBUG;_NO_CRT_STDIO_INLINE;$(GtkMMBuildDefs);_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions) -- true -- EnableFastChecks -- MultiThreadedDebugDLL -- true -- -- -- Level3 -- EditAndContinue -- -- -- Generate gtkmm def file -- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -- -- -+ true -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ true -+ -+ -+ Level3 -+ EditAndContinue -+ -+ -+ Generate gtkmm def file -+ $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -+ -+ - legacy_stdio_definitions.lib;%(AdditionalDependencies) -- $(OutDir)$(ProjectName)$(DebugDllSuffix).dll -- $(IntDir)\$(ProjectName).def -- true -- false -- -- -- -- -- -- -- %(AdditionalOptions) -- .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories) -+ $(OutDir)$(ProjectName)$(DebugDllSuffix).dll -+ $(IntDir)\$(ProjectName).def -+ true -+ false -+ -+ -+ -+ -+ -+ -+ %(AdditionalOptions) -+ .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories) - $(GtkMMBuildDefs);_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions) -- MultiThreadedDLL -- true -- -- -- Level3 -- ProgramDatabase -- -- -- Generate gtkmm def file -- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -- -- -+ MultiThreadedDLL -+ true -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ Generate gtkmm def file -+ $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -+ -+ - legacy_stdio_definitions.lib;%(AdditionalDependencies) -- $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll -- $(IntDir)\$(ProjectName).def -- false -- true -- true -- -- -- -- -- -- -- X64 -- -- -- %(AdditionalOptions) -- Disabled -- .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories) -+ $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll -+ $(IntDir)\$(ProjectName).def -+ false -+ true -+ true -+ -+ -+ -+ -+ -+ -+ X64 -+ -+ -+ %(AdditionalOptions) -+ Disabled -+ .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories) - _DEBUG;_NO_CRT_STDIO_INLINE;$(GtkMMBuildDefs);) -- true -- EnableFastChecks -- MultiThreadedDebugDLL -- true -- -- -- Level3 -- ProgramDatabase -- -- -- Generate gtkmm def file -- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -- -- -+ true -+ EnableFastChecks -+ MultiThreadedDebugDLL -+ true -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ Generate gtkmm def file -+ $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -+ -+ - legacy_stdio_definitions.lib;%(AdditionalDependencies) -- $(OutDir)$(ProjectName)$(DebugDllSuffix).dll -- $(IntDir)\$(ProjectName).def -- true -- false -- -- -- MachineX64 -- -- -- -- -- X64 -- -- -- %(AdditionalOptions) -- .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories) -+ $(OutDir)$(ProjectName)$(DebugDllSuffix).dll -+ $(IntDir)\$(ProjectName).def -+ true -+ false -+ -+ -+ MachineX64 -+ -+ -+ -+ -+ X64 -+ -+ -+ %(AdditionalOptions) -+ .\gtkmm;..\gtk;$(GlibEtcInstallRoot)\include\atkmm-1.6;$(GlibEtcInstallRoot)\lib\atkmm-1.6\include;%(AdditionalIncludeDirectories) - $(GtkMMBuildDefs);_NO_CRT_STDIO_INLINE;%(PreprocessorDefinitions) -- MultiThreadedDLL -- true -- -- -- Level3 -- ProgramDatabase -- -- -- Generate gtkmm def file -- $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -- -- -+ MultiThreadedDLL -+ true -+ -+ -+ Level3 -+ ProgramDatabase -+ -+ -+ Generate gtkmm def file -+ $(OutDir)\gendef.exe $(DefDir)\$(ProjectName).def $(TargetFileName) $(IntDir)*.obj -+ -+ - legacy_stdio_definitions.lib;%(AdditionalDependencies) -- $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll -- $(IntDir)\$(ProjectName).def -- true -- true -- false -- -- -- MachineX64 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- {976c8f9c-1a1d-4e23-b79e-ec9091bbea0e} -- false -- -- -- {07324745-c9be-4d65-b08a-9c88188c0c28} -- false -- -- -- -- -- -- -\ No newline at end of file -+ $(OutDir)$(ProjectName)$(ReleaseDllSuffix).dll -+ $(IntDir)\$(ProjectName).def -+ true -+ true -+ false -+ -+ -+ MachineX64 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ {976c8f9c-1a1d-4e23-b79e-ec9091bbea0e} -+ false -+ -+ -+ {07324745-c9be-4d65-b08a-9c88188c0c28} -+ false -+ -+ -+ -+ -+ -+ -\ No newline at end of file -diff --git a/MSVC_Net2013/gtkmm3-demo.vcxproj b/MSVC_Net2013/gtkmm3-demo.vcxproj -index 9c33d45..84a988a 100644 ---- a/MSVC_Net2013/gtkmm3-demo.vcxproj -+++ b/MSVC_Net2013/gtkmm3-demo.vcxproj -@@ -23,26 +23,27 @@ - {5A8BBE25-E8D8-487B-AD2D-690438F09FA1} - gtkmm3-demo - Win32Proj -+ 8.1 - - - - Application -- MultiByte -+ Unicode - v120 - - - Application -- MultiByte -+ Unicode - v120 - - - Application -- MultiByte -+ Unicode - v120 - - - Application -- MultiByte -+ Unicode - v120 - - -@@ -251,4 +252,4 @@ - - - -- -+ -\ No newline at end of file -diff --git a/MSVC_Net2013/install.vcxproj b/MSVC_Net2013/install.vcxproj -index 1df2f4b..a484bd6 100644 ---- a/MSVC_Net2013/install.vcxproj -+++ b/MSVC_Net2013/install.vcxproj -@@ -22,28 +22,29 @@ - {2093D218-190E-4194-9421-3BA7CBF33B10} - install - Win32Proj -+ 8.1 - - - - Utility -- MultiByte -+ Unicode - true - v120 - - - Utility -- MultiByte -+ Unicode - v120 - - - Utility -- MultiByte -+ Unicode - true - v120 - - - Utility -- MultiByte -+ Unicode - v120 - - diff --git a/ports/gtkmm/portfile.cmake b/ports/gtkmm/portfile.cmake index d3fc01bb7..23e939608 100644 --- a/ports/gtkmm/portfile.cmake +++ b/ports/gtkmm/portfile.cmake @@ -1,24 +1,22 @@ -# Glibmm uses winapi functions not available in WindowsStore, so gtkmm -# also if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) -message(FATAL_ERROR "Error: UWP builds are currently not supported.") + message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/gtkmm-3.22.2) vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/gtkmm/3.22/gtkmm-3.22.2.tar.xz" FILENAME "gtkmm-3.22.2.tar.xz" SHA512 6e96b543e459481145ee0f56f31a7ad2466bd8ccdd2abf3205998aecede73d235149ca6e5ba6e8d20a4fd5345e310870d81ac2a716d4f78d1460ed685badbdc2 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix_properties.patch ${CMAKE_CURRENT_LIST_DIR}/fix_charset.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix_properties.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013) @@ -27,6 +25,7 @@ set(VS_PLATFORM ${VCPKG_TARGET_ARCHITECTURE}) if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86) set(VS_PLATFORM "Win32") endif(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86) + vcpkg_build_msbuild( PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/gtkmm.sln TARGET gtkmm @@ -96,6 +95,4 @@ file( vcpkg_copy_pdbs() -# Handle copyright and readme file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtkmm RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtkmm RENAME readme.txt) diff --git a/ports/halide/CONTROL b/ports/halide/CONTROL index cd7008837..68360baf8 100644 --- a/ports/halide/CONTROL +++ b/ports/halide/CONTROL @@ -1,4 +1,49 @@ Source: halide -Version: release_2018_02_15-1 +Version: release_2019_08_27 Homepage: https://github.com/halide/Halide Description: Halide is a programming language designed to make it easier to write high-performance image processing code on modern machines. +Build-Depends: llvm, openblas + +Feature: app +Description: app support + +Feature: tutorials +Description: tutorials support + +Feature: utils +Description: utils + +Feature: nativeclient +Description: nativeclient + +Feature: hexagon +Description: hexagon + +Feature: metal +Description: metal support + +Feature: mips +Description: mips support + +Feature: powerpc +Description: powerpc support + +Feature: ptx +Description: ptx support + +Feature: opencl +Build-Depends: opencl +Description: opencl support + +Feature: opengl +Build-Depends: opengl +Description: opengl support + +Feature: rtti +Description: rtti support + +Feature: docs +Description: docs + +Feature: test +Description: test \ No newline at end of file diff --git a/ports/halide/fix-install-path.patch b/ports/halide/fix-install-path.patch new file mode 100644 index 000000000..46ca4bd45 --- /dev/null +++ b/ports/halide/fix-install-path.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4ba3843..6697118 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -450,7 +450,7 @@ install(FILES + DESTINATION include) + + install(DIRECTORY tutorial +- DESTINATION . ++ DESTINATION share/halide + FILES_MATCHING + PATTERN "*.cpp" + PATTERN "*.h" +@@ -478,12 +478,12 @@ endforeach() + # ---- README + file(GLOB FILES "${HALIDE_BASE_DIR}/*.md") + install(FILES ${FILES} +- DESTINATION .) ++ DESTINATION share/halide) + + # ---- halide.cmake + file(GLOB FILES "${HALIDE_BASE_DIR}/*.cmake") + install(FILES ${FILES} +- DESTINATION .) ++ DESTINATION share/halide) + + # ---- halide_config + file(GLOB FILES "${HALIDE_BASE_DIR}/tools/halide_config.*.tpl") +@@ -492,7 +492,7 @@ foreach(F ${FILES}) + string(REGEX REPLACE "\\.tpl$" "" FNAME "${FNAME}") # Strip .tpl extension + configure_file("${F}" "${CMAKE_BINARY_DIR}/${FNAME}" @ONLY) + install(FILES "${CMAKE_BINARY_DIR}/${FNAME}" +- DESTINATION .) ++ DESTINATION share/halide) + endforeach() + + add_custom_target(distrib diff --git a/ports/halide/portfile.cmake b/ports/halide/portfile.cmake index 6c6e6fe9d..be59c06af 100644 --- a/ports/halide/portfile.cmake +++ b/ports/halide/portfile.cmake @@ -1,85 +1,73 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO halide/Halide + REF 65c26cba6a3eca2d08a0bccf113ca28746012cc3 #release_2019_08_27 + SHA512 f95b31ec08a6c4e618a5c03b6ae9e0b41888035a268e82ee73abde8ea34dff325db270f1ff10387ef03de27e274ad27c7ccbc873c0b75bb6c1a8112cf3765c5d + HEAD_REF master + PATCHES + fix-install-path.patch +) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(TARGET_ARCHITECTURE 32) - set(FILE_HASH 4de27307f3355c318f21497a5b8641d215dbfbe2beb55472b9108e96aa9190300a5a8559f0c5e2788b56103f8284807e293ca362dee22adba62ae0f3b021766f) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(TARGET_ARCHITECTURE 64) - set(FILE_HASH a751c263335cbef725554b9a9b7b71811c0872d97109af5339124cb1db291a6f7e0bfb712f19982829477bf4fa2ad3c70ca5353b73697d1984504257b0894798) -else() - message(FATAL_ERROR "Error: halide does not support the ${VCPKG_TARGET_ARCHITECTURE} architecture.") +set(TARGET_X86 OFF) +set(TARGET_ARM OFF) +set(TARGET_AARCH64 OFF) +if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86 OR VCPKG_TARGET_ARCHITECTURE STREQUAL x64) + # llvm x86 components are required for llvm x64 + set(TARGET_X86 ON) +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL arm) + set(TARGET_X86 OFF) + if (TARGET_TRIPLET STREQUAL arm64) + set(TARGET_AARCH64 ON) + else() + set(TARGET_ARM ON) + endif() endif() -set(COMMIT_HASH 46d8e9e0cdae456489f1eddfd6d829956fc3c843) -set(RELEASE_DATE 2018_02_15) +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(HALIDE_SHARED_LIBRARY ON) +else() + set(HALIDE_SHARED_LIBRARY OFF) +endif() -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/halide-win-${TARGET_ARCHITECTURE}-distro-trunk-${COMMIT_HASH}) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/halide/Halide/releases/download/release_${RELEASE_DATE}/halide-win-${TARGET_ARCHITECTURE}-distro-trunk-${COMMIT_HASH}.zip" - FILENAME "halide-win-${TARGET_ARCHITECTURE}-distro-trunk-${COMMIT_HASH}.zip" - SHA512 ${FILE_HASH} -) -vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}) - -vcpkg_download_distfile(LICENSE - URLS "https://raw.githubusercontent.com/halide/Halide/release_${RELEASE_DATE}/LICENSE.txt" - FILENAME "halide-release_${RELEASE_DATE}-LICENSE.txt" - SHA512 bf11aa011ce872bcd51fe8d350f7238ad1eceb61eb7af788a2d78a6cfdfa9095abeeb2d230ead5c5299d245d6507a7b4374e3294703c126dcdae531db5a5ba7a +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + app WITH_APPS + test WITH_TESTS + tutorials WITH_TUTORIALS + docs WITH_DOCS + utils WITH_UTILS + nativeclient TARGET_NATIVE_CLIENT + hexagon TARGET_HEXAGON + metal TARGET_METAL + mips TARGET_MIPS + powerpc TARGET_POWERPC + ptx TARGET_PTX + opencl TARGET_OPENCL + opengl TARGET_OPENGL + opengl TARGET_OPENGLCOMPUTE + rtti HALIDE_ENABLE_RTTI ) -set(SOURCE_PATH ${SOURCE_PATH}/halide) - -file( - INSTALL - "${SOURCE_PATH}/include/Halide.h" - "${SOURCE_PATH}/include/HalideBuffer.h" - "${SOURCE_PATH}/include/HalideRuntime.h" - "${SOURCE_PATH}/include/HalideRuntimeCuda.h" - "${SOURCE_PATH}/include/HalideRuntimeHexagonHost.h" - "${SOURCE_PATH}/include/HalideRuntimeMetal.h" - "${SOURCE_PATH}/include/HalideRuntimeOpenCL.h" - "${SOURCE_PATH}/include/HalideRuntimeOpenGL.h" - "${SOURCE_PATH}/include/HalideRuntimeOpenGLCompute.h" - "${SOURCE_PATH}/include/HalideRuntimeQurt.h" - DESTINATION - ${CURRENT_PACKAGES_DIR}/include +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DTRIPLET_SYSTEM_ARCH=${TRIPLET_SYSTEM_ARCH} + -DHALIDE_SHARED_LIBRARY=${HALIDE_SHARED_LIBRARY} + -DTARGET_X86=${TARGET_X86} + -DTARGET_ARM=${TARGET_ARM} + -DTARGET_AARCH64=${TARGET_AARCH64} + #-DTARGET_AMDGPU + -DWARNINGS_AS_ERRORS=OFF ) -file( - INSTALL - "${SOURCE_PATH}/tools/halide_image_io.h" - DESTINATION - ${CURRENT_PACKAGES_DIR}/include -) +vcpkg_install_cmake() -file( - INSTALL - "${SOURCE_PATH}/Release/Halide.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/lib -) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/halide) -file( - INSTALL - "${SOURCE_PATH}/Debug/Halide.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/lib -) +vcpkg_copy_pdbs() -file( - INSTALL - "${SOURCE_PATH}/Release/Halide.dll" - DESTINATION - ${CURRENT_PACKAGES_DIR}/bin -) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file( - INSTALL - "${SOURCE_PATH}/Debug/Halide.dll" - DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/bin -) - -file(INSTALL "${LICENSE}" DESTINATION ${CURRENT_PACKAGES_DIR}/share/halide RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/harfbuzz/CONTROL b/ports/harfbuzz/CONTROL index 39bce8010..8952d04d4 100644 --- a/ports/harfbuzz/CONTROL +++ b/ports/harfbuzz/CONTROL @@ -1,5 +1,5 @@ Source: harfbuzz -Version: 2.5.1-1 +Version: 2.5.3 Description: HarfBuzz OpenType text shaping engine Homepage: https://github.com/behdad/harfbuzz Build-Depends: freetype, ragel, gettext (osx) diff --git a/ports/harfbuzz/portfile.cmake b/ports/harfbuzz/portfile.cmake index 48cfaf1b7..98e6b15af 100644 --- a/ports/harfbuzz/portfile.cmake +++ b/ports/harfbuzz/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO harfbuzz/harfbuzz - REF 2.5.1 - SHA512 e8b4b98e65d809579456551e4dd70bdd847d02cbfa80df479f6f544eff2bdbfaa7502f22e5f4e5217f063badc8874f6e568d49e9c40ab752b233fafa9e74aeab + REF 2.5.3 + SHA512 d541463b3647fc2c7ddaa29aedcea1c3bde5e26e0d529384d66d630af3aaf2a4befb3c4d47c93833f099339a0f951fb132011a02c57fc00ba543bd1b17026ffa HEAD_REF master PATCHES 0001-fix-cmake-export.patch @@ -70,8 +70,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/harfbuzz TARGET_PATH share/harfbuzz) +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() diff --git a/ports/hayai/CONTROL b/ports/hayai/CONTROL new file mode 100644 index 000000000..7943d301b --- /dev/null +++ b/ports/hayai/CONTROL @@ -0,0 +1,4 @@ +Source: hayai +Version: 2019-08-10 +Description: C++ benchmarking framework +Homepage: https://github.com/nickbruun/hayai diff --git a/ports/hayai/portfile.cmake b/ports/hayai/portfile.cmake new file mode 100644 index 000000000..c175d6633 --- /dev/null +++ b/ports/hayai/portfile.cmake @@ -0,0 +1,70 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nickbruun/hayai + REF 0234860c7a851362ab33efc6c018203cded3eb48 + SHA512 e4c65d834eddaeb77e73a3bc24645a531b93d26e32ff1daffbe71c579b76b4b8b4865f6c7ea07b378cafbe2da3a698414d4135f28fc9821eef995ed78d0987f2 + HEAD_REF master +) + +if(VCPKG_TARGET_IS_UWP) + set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS") + set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DINSTALL_HAYAI=ON + -DBUILD_HAYAI_TESTS=OFF + -DBUILD_HAYAI_SAMPLES=OFF +) + +vcpkg_install_cmake() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) +elseif(EXISTS ${CURRENT_PACKAGES_DIR}/lib/CMake/${PORT}) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/CMake/${PORT}) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle manual-link libraries +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/hayai_main.lib) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(RENAME + ${CURRENT_PACKAGES_DIR}/debug/lib/hayai_main.lib + ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/hayai_main.lib + ) + + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/share/${PORT}/hayai-targets-debug.cmake + "\${CMAKE_CURRENT_LIST_DIR}/../../debug/lib/hayai_main.lib" + "\${CMAKE_CURRENT_LIST_DIR}/../../debug/lib/manual-link/hayai_main.lib" + ) +endif() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/hayai_main.lib) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(RENAME + ${CURRENT_PACKAGES_DIR}/lib/hayai_main.lib + ${CURRENT_PACKAGES_DIR}/lib/manual-link/hayai_main.lib + ) + + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/share/${PORT}/hayai-targets-release.cmake + "\${CMAKE_CURRENT_LIST_DIR}/../../lib/hayai_main.lib" + "\${CMAKE_CURRENT_LIST_DIR}/../../lib/manual-link/hayai_main.lib" + ) +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/hdf5/CONTROL b/ports/hdf5/CONTROL index b22ee7b8e..542062c50 100644 --- a/ports/hdf5/CONTROL +++ b/ports/hdf5/CONTROL @@ -1,12 +1,12 @@ -Source: hdf5 -Version: 1.10.5-6 -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 - -Feature: parallel -Description: parallel support for HDF5 -Build-Depends: msmpi - -Feature: cpp -Description: Builds cpp lib +Source: hdf5 +Version: 1.10.5-8 +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 + +Feature: parallel +Description: parallel support for HDF5 +Build-Depends: mpi + +Feature: cpp +Description: Builds cpp lib diff --git a/ports/hdf5/portfile.cmake b/ports/hdf5/portfile.cmake index 593b38abf..2be080335 100644 --- a/ports/hdf5/portfile.cmake +++ b/ports/hdf5/portfile.cmake @@ -16,7 +16,6 @@ vcpkg_extract_source_archive_ex( PATCHES hdf5_config.patch ) -set(SOURCE_PATH ${SOURCE_PATH}/hdf5-1.10.5) if ("parallel" IN_LIST FEATURES) set(ENABLE_PARALLEL ON) @@ -30,12 +29,10 @@ else() set(ENABLE_CPP OFF) endif() -#Note: HDF5 Builds by default static as well as shared libraries. Set BUILD_SHARED_LIBS to OFF to only get static libraries -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) +file(REMOVE ${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake)#Outdated; does not find debug szip -file(REMOVE ${SOURCE_PATH}/config/cmake_ext_mod/FindSZIP.cmake)#Outdated; does not find debug szip vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH}/hdf5-1.10.5 DISABLE_PARALLEL_CONFIGURE PREFER_NINJA OPTIONS @@ -54,10 +51,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/hdf5) - -#Linux build create additional scripts here. I dont know what they are doing so I am deleting them and hope for the best +#Linux build create additional scripts here. I dont know what they are doing so I am deleting them and hope for the best if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() diff --git a/ports/hfsm2/CONTROL b/ports/hfsm2/CONTROL new file mode 100644 index 000000000..4677f8b08 --- /dev/null +++ b/ports/hfsm2/CONTROL @@ -0,0 +1,5 @@ +Source: hfsm2 +Version: beta7 +Homepage: https://github.com/andrew-gresyk/HFSM2 +Description: Header-only heriarchical FSM framework in C++14, with fully statically-defined structure (no dynamic allocations), built with variadic templates. +Build-Depends: catch2 diff --git a/ports/hfsm2/portfile.cmake b/ports/hfsm2/portfile.cmake new file mode 100644 index 000000000..0970d0111 --- /dev/null +++ b/ports/hfsm2/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO andrew-gresyk/HFSM2 + REF Beta7 + SHA512 f3365c0823fa63f7e6b82bd2dc84f8871eb58ffd9485753a60ea8f956856cbec7c5da3929ab8fe8b5902a7c840334a1d421417984124adf109f96756490ac437 + HEAD_REF master +) + +# Install include directory +file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/hidapi/CONTROL b/ports/hidapi/CONTROL new file mode 100644 index 000000000..80f18b493 --- /dev/null +++ b/ports/hidapi/CONTROL @@ -0,0 +1,4 @@ +Source: hidapi +Version: 2019-08-30 +Description: A Simple library for communicating with USB and Bluetooth HID devices on Linux, Mac and Windows. +Homepage: https://github.com/libusb/hidapi diff --git a/ports/hidapi/hidapi-config.cmake b/ports/hidapi/hidapi-config.cmake new file mode 100644 index 000000000..126685a89 --- /dev/null +++ b/ports/hidapi/hidapi-config.cmake @@ -0,0 +1,48 @@ +# - try to find HIDAPI library +# from http://www.signal11.us/oss/hidapi/ +# +# Cache Variables: (probably not for direct use in your scripts) +# HIDAPI_INCLUDE_DIR +# HIDAPI_LIBRARY +# +# Non-cache variables you might use in your CMakeLists.txt: +# HIDAPI_FOUND +# HIDAPI_INCLUDE_DIRS +# HIDAPI_LIBRARIES +# +# Requires these CMake modules: +# FindPackageHandleStandardArgs (known included with CMake >=2.6.2) +# +# Original Author: +# 2009-2010 Ryan Pavlik +# http://academic.cleardefinition.com +# Iowa State University HCI Graduate Program/VRAC +# +# Copyright Iowa State University 2009-2010. +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +# hacking FindHIDAPI.cmake as hidapi-config.cmake + +find_library(HIDAPI_LIBRARY + NAMES hidapi hidapi-libusb) + +find_path(HIDAPI_INCLUDE_DIR + NAMES hidapi.h + PATH_SUFFIXES + hidapi) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(HIDAPI + DEFAULT_MSG + HIDAPI_LIBRARY + HIDAPI_INCLUDE_DIR) + +if(HIDAPI_FOUND) + set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARY}") + + set(HIDAPI_INCLUDE_DIRS "${HIDAPI_INCLUDE_DIR}") +endif() + +mark_as_advanced(HIDAPI_INCLUDE_DIR HIDAPI_LIBRARY) diff --git a/ports/hidapi/portfile.cmake b/ports/hidapi/portfile.cmake new file mode 100644 index 000000000..93969227d --- /dev/null +++ b/ports/hidapi/portfile.cmake @@ -0,0 +1,34 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libusb/hidapi + REF fc677b81951d8facc99bab6b4f0060b5d89e2e15 # use commit from master for windows/hidapi.vcxproj + SHA512 8a779c1d4fe83e264046f3193a5cefe2d9765dcde30628767838180b3dec2bdd25c9c1ec9a96b3a7edaf00df7662b4d658f2b57bda67cebc7d7cb4e737cb1f88 + HEAD_REF master +) + +if(VCPKG_TARGET_IS_WINDOWS) + if(TRIPLET_SYSTEM_ARCH MATCHES "arm") + message(FATAL_ERROR "ARM builds are currently not supported!") + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) + message(FATAL_ERROR "UWP builds are currently not supported!") + endif() + + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH windows/hidapi.sln + INCLUDES_SUBPATH hidapi ALLOW_ROOT_INCLUDES + LICENSE_SUBPATH LICENSE-bsd.txt # use BSD license + ) + + file(COPY + ${CMAKE_CURRENT_LIST_DIR}/hidapi-config.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() +else() + message(FATAL_ERROR "Non-Windows builds are currently not supported!") +endif() diff --git a/ports/hiredis/CONTROL b/ports/hiredis/CONTROL new file mode 100644 index 000000000..053a9015a --- /dev/null +++ b/ports/hiredis/CONTROL @@ -0,0 +1,11 @@ +Source: hiredis +Version: 2019-11-1 +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 \ No newline at end of file diff --git a/ports/hiredis/portfile.cmake b/ports/hiredis/portfile.cmake new file mode 100644 index 000000000..afadee6ef --- /dev/null +++ b/ports/hiredis/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_fail_port_install(ON_TARGET "Windows") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO redis/hiredis + REF e777b0295eeeda89ee2ecef6ec5cb54889033d94 + SHA512 9486ce3e40580ca6a1da8a31c3e139eb8b5e17ac1b94bd0987f2435aeb2465ad271784d5e8e83dc6cbaf362f95c9e175efa5fbe80a63c56070ceb212d3d68470 + HEAD_REF master +) + +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/hpx/CONTROL b/ports/hpx/CONTROL index 99cc84d6f..a9d5059d4 100644 --- a/ports/hpx/CONTROL +++ b/ports/hpx/CONTROL @@ -1,5 +1,5 @@ Source: hpx -Version: 1.3.0-1 +Version: 1.3.0-2 Build-Depends: hwloc, boost-accumulators, boost-algorithm, boost-asio, boost-assign, boost-bimap, boost-chrono, boost-config, boost-context, boost-dynamic-bitset, boost-exception, boost-filesystem, boost-iostreams, boost-lockfree, boost-program-options, boost-range, boost-spirit, boost-system, boost-throw-exception, boost-variant, boost-winapi Homepage: https://github.com/STEllAR-GROUP/hpx Description: The C++ Standards Library for Concurrency and Parallelism diff --git a/ports/hpx/portfile.cmake b/ports/hpx/portfile.cmake index 80e79bac6..4eb785a50 100644 --- a/ports/hpx/portfile.cmake +++ b/ports/hpx/portfile.cmake @@ -7,7 +7,7 @@ vcpkg_from_github( REPO STEllAR-GROUP/hpx REF 1.3.0 SHA512 e55ca0c6fe1716b6ee72b0c4a9234a1136455ddc2f5509925395a80442d564b0db251968fef53d202a1f5140e12d0941d0173ab20a7b181632eac20cb925bf31 - HEAD_REF master + HEAD_REF stable ) vcpkg_configure_cmake( diff --git a/ports/http-parser/CONTROL b/ports/http-parser/CONTROL index 76cf87859..d97927cd2 100644 --- a/ports/http-parser/CONTROL +++ b/ports/http-parser/CONTROL @@ -1,4 +1,4 @@ Source: http-parser -Version: 2.9.2 +Version: 2.9.2-1 Homepage: https://github.com/nodejs/http-parser Description: HTTP Parser. diff --git a/ports/http-parser/portfile.cmake b/ports/http-parser/portfile.cmake index 8a208a5e7..f3cc67ec1 100644 --- a/ports/http-parser/portfile.cmake +++ b/ports/http-parser/portfile.cmake @@ -21,7 +21,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/unofficial-http-parser" TARGET_PATH "share/unofficial-http-parser") +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-http-parser TARGET_PATH share/unofficial-http-parser) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/http-parser) diff --git a/ports/hyperscan/CONTROL b/ports/hyperscan/CONTROL index bf45c2238..2f04703a9 100644 --- a/ports/hyperscan/CONTROL +++ b/ports/hyperscan/CONTROL @@ -1,4 +1,4 @@ Source: hyperscan -Version: 5.0.1-1 +Version: 5.0.1-2 Description: A regular expression library with O(length of input) match times that takes advantage of Intel hardware to provide blazing speed. Build-Depends: boost-array, boost-chrono, boost-config, boost-core, boost-detail, boost-functional, boost-regex, boost-system, boost-thread, boost-type-traits, boost-unordered, boost-utility, boost-dynamic-bitset, boost-random, boost-graph, boost-multi-array, boost-icl, boost-ptr-container, python3, ragel \ No newline at end of file diff --git a/ports/hyperscan/portfile.cmake b/ports/hyperscan/portfile.cmake index be8410b38..2b48087ba 100644 --- a/ports/hyperscan/portfile.cmake +++ b/ports/hyperscan/portfile.cmake @@ -1,24 +1,18 @@ -# Build with 'vcpkg.exe install hyperscan:x86-windows-static-release'; Hyperscan doesn't support dynamic libraries on Windows. include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - set(HYPERSCAN_VERSION 5.1.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/intel/hyperscan/archive/v${HYPERSCAN_VERSION}.zip" - FILENAME "v${HYPERSCAN_VERSION}.zip" - SHA512 89a826c1e66175f1781f57d0d430f2d5d245ab590acc4b5df6638c5f6fe43914db028f8bc86e566ea27b55883c91be0d8da079b3d7547899f7cf540b52a3cf0a + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO intel/hyperscan + REF v${HYPERSCAN_VERSION} + SHA512 5e6d11429e61dc061dd31e6b311a8c1dbfcd03af6e24d97b95eb2cef24dcd33d593064e5faa7c22807d785a8921bc410a69a43c4e5b3d7b4774f37c4a12a025d + HEAD_REF master ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${HYPERSCAN_VERSION}) - vcpkg_find_acquire_program(PYTHON3) - -# Add python3 to path get_filename_component(PYTHON_PATH ${PYTHON3} DIRECTORY) vcpkg_add_to_path(PREPEND ${PYTHON_PATH}) vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/bin) @@ -31,11 +25,6 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/hyperscan RENAME copyright) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Post-build test for cmake libraries -# vcpkg_test_cmake(PACKAGE_NAME hs) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/hypre/CONTROL b/ports/hypre/CONTROL index 907e64b87..a4db2f1e7 100644 --- a/ports/hypre/CONTROL +++ b/ports/hypre/CONTROL @@ -1,5 +1,5 @@ Source: hypre -Version: 2.11.2-1 +Version: 2.11.2-3 Homepage: https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods Description: SCALABLE LINEAR SOLVERS AND MULTIGRID METHODS -Build-Depends: msmpi +Build-Depends: mpi diff --git a/ports/hypre/fix-blas-vs14-math.patch b/ports/hypre/fix-blas-vs14-math.patch index 7fd0cd6fe..424b16eb0 100644 --- a/ports/hypre/fix-blas-vs14-math.patch +++ b/ports/hypre/fix-blas-vs14-math.patch @@ -1,5 +1,5 @@ ---- a/blas/f2c.h Fri Sep 11 18:57:56 2015 -+++ b/blas/f2c.h Thu Dec 22 18:20:08 2016 +--- a/src/blas/f2c.h Fri Sep 11 18:57:56 2015 ++++ b/src/blas/f2c.h Thu Dec 22 18:20:08 2016 @@ -190,18 +190,18 @@ typedef struct Namelist Namelist; diff --git a/ports/hypre/fix-export-global-data-symbols.patch b/ports/hypre/fix-export-global-data-symbols.patch index 79231f532..2714e365a 100644 --- a/ports/hypre/fix-export-global-data-symbols.patch +++ b/ports/hypre/fix-export-global-data-symbols.patch @@ -1,5 +1,5 @@ ---- a/utilities/_hypre_utilities.h Thu Jun 09 15:56:18 2016 -+++ b/utilities/_hypre_utilities.h Wed Jan 04 18:08:27 2017 +--- a/src/utilities/_hypre_utilities.h Thu Jun 09 15:56:18 2016 ++++ b/src/utilities/_hypre_utilities.h Wed Jan 04 18:08:27 2017 @@ -13,6 +13,7 @@ #ifndef hypre_UTILITIES_HEADER #define hypre_UTILITIES_HEADER diff --git a/ports/hypre/fix-lapack-vs14-math.patch b/ports/hypre/fix-lapack-vs14-math.patch index 68d905742..7be84aeb6 100644 --- a/ports/hypre/fix-lapack-vs14-math.patch +++ b/ports/hypre/fix-lapack-vs14-math.patch @@ -1,5 +1,5 @@ ---- a/lapack/f2c.h Fri Sep 11 18:57:56 2015 -+++ b/lapack/f2c.h Thu Dec 22 18:22:26 2016 +--- a/src/lapack/f2c.h Fri Sep 11 18:57:56 2015 ++++ b/src/lapack/f2c.h Thu Dec 22 18:22:26 2016 @@ -190,18 +190,18 @@ typedef struct Namelist Namelist; diff --git a/ports/hypre/fix-macro-to-template.patch b/ports/hypre/fix-macro-to-template.patch index 22994f96a..ca98e5d70 100644 --- a/ports/hypre/fix-macro-to-template.patch +++ b/ports/hypre/fix-macro-to-template.patch @@ -1,5 +1,5 @@ ---- a/struct_ls/pfmg3_setup_rap.c Thu Jun 09 15:56:18 2016 -+++ b/struct_ls/pfmg3_setup_rap.c Thu Dec 22 17:45:20 2016 +--- a/src/struct_ls/pfmg3_setup_rap.c Thu Jun 09 15:56:18 2016 ++++ b/src/struct_ls/pfmg3_setup_rap.c Thu Dec 22 17:45:20 2016 @@ -19,13 +19,28 @@ * allow for coarsening to be done in the x- and y-directions also. *--------------------------------------------------------------------------*/ diff --git a/ports/hypre/fix-root-cmakelists.patch b/ports/hypre/fix-root-cmakelists.patch index e69d6607e..b64914eb3 100644 --- a/ports/hypre/fix-root-cmakelists.patch +++ b/ports/hypre/fix-root-cmakelists.patch @@ -1,5 +1,5 @@ ---- a/CMakeLists.txt Mon Mar 13 21:37:24 2017 -+++ b/CMakeLists.txt Sun Aug 06 19:34:00 2017 +--- a/src/CMakeLists.txt Mon Mar 13 21:37:24 2017 ++++ b/src/CMakeLists.txt Sun Aug 06 19:34:00 2017 @@ -1,6 +1,8 @@ cmake_minimum_required (VERSION 2.8.8) project (hypre) diff --git a/ports/hypre/portfile.cmake b/ports/hypre/portfile.cmake index a0b38216e..92dd78a0d 100644 --- a/ports/hypre/portfile.cmake +++ b/ports/hypre/portfile.cmake @@ -1,20 +1,20 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/hypre-2.11.2/src) + vcpkg_download_distfile(ARCHIVE URLS "http://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods/download/hypre-2.11.2.tar.gz" FILENAME "hypre-2.11.2.tar.gz" SHA512 a06321028121e5420fa944ce4fae5f9b96e6021ec2802e68ec3c349f19a20543ed7eff774a4735666c5807ce124eb571b3f86757c67e91faa1c683c3f657469f ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-root-cmakelists.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-macro-to-template.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-blas-vs14-math.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-lapack-vs14-math.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-export-global-data-symbols.patch + fix-root-cmakelists.patch + fix-macro-to-template.patch + fix-blas-vs14-math.patch + fix-lapack-vs14-math.patch + fix-export-global-data-symbols.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -24,7 +24,8 @@ else() endif() vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH}/src + PREFER_NINJA OPTIONS ${OPTIONS} OPTIONS_RELEASE @@ -41,4 +42,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${SOURCE_PATH}/../COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/hypre/copyright) +file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/hypre/copyright) diff --git a/ports/icu/CONTROL b/ports/icu/CONTROL index 238ac176e..4fccc8622 100644 --- a/ports/icu/CONTROL +++ b/ports/icu/CONTROL @@ -1,4 +1,4 @@ Source: icu -Version: 61.1-7 +Version: 61.1-8 Homepage: http://icu-project.org/apiref/icu4c/ Description: Mature and widely used Unicode and localization library. diff --git a/ports/icu/portfile.cmake b/ports/icu/portfile.cmake index 9225246f3..97c1d086b 100644 --- a/ports/icu/portfile.cmake +++ b/ports/icu/portfile.cmake @@ -8,7 +8,6 @@ set(VERSION 61.1) set(VERSION2 61_1) set(ICU_VERSION_MAJOR 61) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/icu-${VERSION}/icu) vcpkg_download_distfile( ARCHIVE URLS "http://download.icu-project.org/files/icu4c/${VERSION}/icu4c-${VERSION2}-src.tgz" diff --git a/ports/idevicerestore/CONTROL b/ports/idevicerestore/CONTROL index 36c31d97c..ca6cabbd0 100644 --- a/ports/idevicerestore/CONTROL +++ b/ports/idevicerestore/CONTROL @@ -1,4 +1,4 @@ Source: idevicerestore -Version: 1.0.12-2 +Version: 1.0.12-3 Description: Restore/upgrade firmware of iOS devices Build-Depends: libimobiledevice, curl, libirecovery, libzip \ No newline at end of file diff --git a/ports/idevicerestore/libcurl_imp.patch b/ports/idevicerestore/libcurl_imp.patch deleted file mode 100644 index f93dfb2b5..000000000 --- a/ports/idevicerestore/libcurl_imp.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/idevicerestore.vcxproj b/idevicerestore.vcxproj -index fa209fae..cf89306b 100644 ---- a/idevicerestore.vcxproj -+++ b/idevicerestore.vcxproj -@@ -94,7 +94,7 @@ - _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS - - -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d_imp.lib;%(AdditionalDependencies) - - - -@@ -105,7 +105,7 @@ - _MBCS;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS - - -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl-d_imp.lib;%(AdditionalDependencies) - - - -@@ -120,7 +120,7 @@ - - true - true -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl_imp.lib;%(AdditionalDependencies) - - - -@@ -135,7 +135,7 @@ - - true - true -- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl.lib;%(AdditionalDependencies) -+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;Ws2_32.lib;libcurl_imp.lib;%(AdditionalDependencies) - - - diff --git a/ports/idevicerestore/portfile.cmake b/ports/idevicerestore/portfile.cmake index 271c249c6..67aeb4c37 100644 --- a/ports/idevicerestore/portfile.cmake +++ b/ports/idevicerestore/portfile.cmake @@ -6,20 +6,9 @@ vcpkg_from_github( REF 1.0.12 SHA512 ba623be56c2f37853516d7d4c32e16f1ec72f33d512f18aa812ce6830af4b9e389f7af5321888dd0ddd168e282b652e379b60f90970680e213eabf489f406915 HEAD_REF msvc-master + PATCHES libcurl_d.patch ) -if(${VCPKG_LIBRARY_LINKAGE} MATCHES dynamic) - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - libcurl_imp.patch) -else() - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - libcurl_d.patch) -endif() - vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH idevicerestore.vcxproj diff --git a/ports/ignition-cmake0/CONTROL b/ports/ignition-cmake0/CONTROL new file mode 100644 index 000000000..f4eea840b --- /dev/null +++ b/ports/ignition-cmake0/CONTROL @@ -0,0 +1,7 @@ +Source: ignition-cmake0 +Version: 0.6.2-1 +Homepage: https://ignitionrobotics.org/libs/cmake +Description: CMake helper functions for building robotic applications +Build-Depends: ignition-modularscripts + + diff --git a/ports/ignition-cmake0/do-not-compile-gtest.patch b/ports/ignition-cmake0/do-not-compile-gtest.patch new file mode 100644 index 000000000..7c20a0dbe --- /dev/null +++ b/ports/ignition-cmake0/do-not-compile-gtest.patch @@ -0,0 +1,14 @@ +diff --git a/cmake/IgnConfigureBuild.cmake b/cmake/IgnConfigureBuild.cmake +--- a/cmake/IgnConfigureBuild.cmake ++++ b/cmake/IgnConfigureBuild.cmake +@@ -109,7 +109,9 @@ + # Add all the source code directories + add_subdirectory(src) + add_subdirectory(include) +- add_subdirectory(test) ++ if(BUILD_TESTING) ++ add_subdirectory(test) ++ endif() + + + #-------------------------------------- diff --git a/ports/ignition-cmake0/fix-find-ign-curl.patch b/ports/ignition-cmake0/fix-find-ign-curl.patch new file mode 100644 index 000000000..9189712d2 --- /dev/null +++ b/ports/ignition-cmake0/fix-find-ign-curl.patch @@ -0,0 +1,16 @@ +diff -r 3276aecbcbb4 -r 33b5d95affd2 cmake/FindIgnCURL.cmake +--- a/cmake/FindIgnCURL.cmake ++++ b/cmake/FindIgnCURL.cmake +@@ -46,6 +46,12 @@ + + # Older versions of curl don't create imported targets, so we will create + # them here if they have not been provided. ++ if(TARGET CURL::libcurl AND NOT TARGET curl::curl) ++ add_library(curl::curl INTERFACE IMPORTED) ++ set_target_properties(curl::curl PROPERTIES ++ INTERFACE_LINK_LIBRARIES CURL::libcurl) ++ endif() ++ + include(IgnImportTarget) + + if(NOT TARGET curl::curl) diff --git a/ports/ignition-cmake0/portfile.cmake b/ports/ignition-cmake0/portfile.cmake new file mode 100644 index 000000000..c835238df --- /dev/null +++ b/ports/ignition-cmake0/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) + +include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) + +set(PACKAGE_VERSION "0.6.1") + +ignition_modular_library(NAME cmake + VERSION ${PACKAGE_VERSION} + REF "ignition-cmake_${PACKAGE_VERSION}" + SHA512 fcd3ad6b5289697c4928c71b820e2adaa758c730f52cba3f8cc714e44ca0c9f04f432ae5b98b5f258c4851c4666740b58066a25c55ff3a6de975cd8a57991b6b + # Ensure that gtest is not compiled (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/163) + PATCHES do-not-compile-gtest.patch + # Support for ARM64 (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/168) + support-arm64.patch + # Do not depend on pkg-config installed to find uuid + uuid-do-not-require-pkg-config.patch + # Fix FindIgnCURL.cmake (backport of https://bitbucket.org/ignitionrobotics/ign-cmake/pull-requests/175) + fix-find-ign-curl.patch + ) + +# Permit empty include folder +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) + +# Remove unneccessary directory, as ignition-cmake is a pure CMake package +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) + +# Install custom usage +configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) diff --git a/ports/ignition-cmake0/support-arm64.patch b/ports/ignition-cmake0/support-arm64.patch new file mode 100644 index 000000000..aba99ba35 --- /dev/null +++ b/ports/ignition-cmake0/support-arm64.patch @@ -0,0 +1,17 @@ +diff -r 8a976a308d77 -r 1bea7874cfec cmake/IgnSetCompilerFlags.cmake +--- a/cmake/IgnSetCompilerFlags.cmake ++++ b/cmake/IgnSetCompilerFlags.cmake +@@ -279,13 +279,6 @@ + # Don't pull in the Windows min/max macros + add_definitions(-DNOMINMAX) + +- if (MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8) +- # Not needed if a proper cmake generator (-G "...Win64") is passed +- # to cmake. Enable as a second measure to work around bug +- # http://www.cmake.org/Bug/print_bug_page.php?bug_id=11240 +- set(CMAKE_SHARED_LINKER_FLAGS "/machine:x64") +- endif() +- + if(USE_IGN_RECOMMENDED_FLAGS) + + # Gy: Prevent errors caused by multiply-defined symbols diff --git a/ports/ignition-cmake0/usage b/ports/ignition-cmake0/usage new file mode 100644 index 000000000..66da98102 --- /dev/null +++ b/ports/ignition-cmake0/usage @@ -0,0 +1,3 @@ +The package ignition-cmake0 provides CMake integration: + + find_package(ignition-cmake0 CONFIG REQUIRED) diff --git a/ports/ignition-cmake0/uuid-do-not-require-pkg-config.patch b/ports/ignition-cmake0/uuid-do-not-require-pkg-config.patch new file mode 100644 index 000000000..6953391fa --- /dev/null +++ b/ports/ignition-cmake0/uuid-do-not-require-pkg-config.patch @@ -0,0 +1,30 @@ +diff --git a/cmake/FindUUID.cmake b/cmake/FindUUID.cmake +index bf055d4..15be822 100644 +--- a/cmake/FindUUID.cmake ++++ b/cmake/FindUUID.cmake +@@ -18,4 +18,25 @@ + if (UNIX) + include(IgnPkgConfig) + ign_pkg_check_modules(UUID uuid) ++ ++ # If pkg-config is not available in the system, ++ # it is neccessary to manually find uuid ++ if(NOT TARGET UUID::UUID) ++ find_path(UUID_INCLUDE_DIRS NAMES uuid.h PATH_SUFFIXES uuid) ++ mark_as_advanced(UUID_INCLUDE_DIRS) ++ ++ find_library(UUID_LIBRARIES NAMES uuid libuuid) ++ mark_as_advanced(UUID_LIBRARIES) ++ ++ if(NOT UUID_INCLUDE_DIRS OR NOT UUID_LIBRARIES) ++ set(UUID_FOUND false) ++ else() ++ set(UUID_FOUND true) ++ endif() ++ ++ if(UUID_FOUND) ++ include(IgnImportTarget) ++ ign_import_target(UUID) ++ endif() ++ endif() + endif() diff --git a/ports/ignition-common1/CONTROL b/ports/ignition-common1/CONTROL new file mode 100644 index 000000000..4f4e0d569 --- /dev/null +++ b/ports/ignition-common1/CONTROL @@ -0,0 +1,4 @@ +Source: ignition-common1 +Version: 1.1.1 +Build-Depends: dlfcn-win32 (windows|uwp), ffmpeg (!windows&!uwp), freeimage (!windows&!uwp), gts (!windows&!uwp), ignition-cmake0, ignition-math4, tinyxml2 (!windows&!uwp) +Description: Common libraries for robotics applications diff --git a/ports/ignition-common1/portfile.cmake b/ports/ignition-common1/portfile.cmake new file mode 100644 index 000000000..da65aa09a --- /dev/null +++ b/ports/ignition-common1/portfile.cmake @@ -0,0 +1,8 @@ +include(vcpkg_common_functions) + +include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) + +ignition_modular_library(NAME common + VERSION "1.1.1" + REF ignition-common_1.1.1 + SHA512 8453e1cf2337898b81b313aeffd1a7b683fd03184edfae74c81aa861b28036f6b9094fcab36f7a0f68b4204956d7116bd03073c7bdf2e769e47dffcdaad454d6) diff --git a/ports/ignition-fuel-tools1/CONTROL b/ports/ignition-fuel-tools1/CONTROL new file mode 100644 index 000000000..96f12a5af --- /dev/null +++ b/ports/ignition-fuel-tools1/CONTROL @@ -0,0 +1,4 @@ +Source: ignition-fuel-tools1 +Version: 1.2.0 +Build-Depends: curl, ignition-cmake0, ignition-common1, libyaml, libzip, jsoncpp +Description: Tools for using fuel API to download robot models diff --git a/ports/ignition-fuel-tools1/link-correct-yaml-target.patch b/ports/ignition-fuel-tools1/link-correct-yaml-target.patch new file mode 100644 index 000000000..0ceab3406 --- /dev/null +++ b/ports/ignition-fuel-tools1/link-correct-yaml-target.patch @@ -0,0 +1,24 @@ +diff -r 29939b8a25be -r 8a0a85e63950 CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,7 +9,7 @@ + # Find ignition-cmake + #============================================================================ + # If you get an error at this line, you need to install ignition-cmake +-find_package(ignition-cmake0 REQUIRED) ++find_package(ignition-cmake0 0.4.1 REQUIRED) + + #============================================================================ + # Configure the project +diff -r 29939b8a25be -r 8a0a85e63950 src/CMakeLists.txt +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -52,7 +52,7 @@ + curl::curl + ignition-common${IGN_COMMON_MAJOR_VER}::ignition-common${IGN_COMMON_MAJOR_VER} + ${JSONCPP_TARGET} +- YAML::YAML ++ ${YAML_TARGET} + ZIP::ZIP + ) + diff --git a/ports/ignition-fuel-tools1/portfile.cmake b/ports/ignition-fuel-tools1/portfile.cmake new file mode 100644 index 000000000..3b809779f --- /dev/null +++ b/ports/ignition-fuel-tools1/portfile.cmake @@ -0,0 +1,10 @@ +include(vcpkg_common_functions) + +include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) + +ignition_modular_library(NAME fuel-tools + VERSION "1.2.0" + CMAKE_PACKAGE_NAME ignition-fuel_tools1 + SHA512 5ed8d1429e1f5c0716e06840a4163f7e79a614cf7b6ff326adb69d35639e3ec5f1862edc41c6dc0bd21b16db6d13bee509831a66b10ca2ae3999649f1554a68e + # Ensure yaml is correctly linked (backport of https://bitbucket.org/ignitionrobotics/ign-fuel-tools/pull-requests/103/use-yaml_target-instead-of-yaml-yaml/diff) + PATCHES link-correct-yaml-target.patch) diff --git a/ports/ignition-math4/CONTROL b/ports/ignition-math4/CONTROL new file mode 100644 index 000000000..44aa0c01a --- /dev/null +++ b/ports/ignition-math4/CONTROL @@ -0,0 +1,5 @@ +Source: ignition-math4 +Version: 4.0.0 +Homepage: https://ignitionrobotics.org/libs/math +Build-Depends: ignition-cmake0 +Description: Math API for robotic applications diff --git a/ports/ignition-math4/portfile.cmake b/ports/ignition-math4/portfile.cmake new file mode 100644 index 000000000..a6a00c849 --- /dev/null +++ b/ports/ignition-math4/portfile.cmake @@ -0,0 +1,7 @@ +include(vcpkg_common_functions) + +include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) + +ignition_modular_library(NAME math + VERSION "4.0.0" + SHA512 09023b559e7e544e628131189f3a7f57a9b73868f66f81e5ce1a353092940949973e1753f18ead8f655ad88c0e1d1bf51bbf63163760694aab7a97a4c0f6d519) diff --git a/ports/ignition-modularscripts/CONTROL b/ports/ignition-modularscripts/CONTROL new file mode 100644 index 000000000..796056b10 --- /dev/null +++ b/ports/ignition-modularscripts/CONTROL @@ -0,0 +1,3 @@ +Source: ignition-modularscripts +Version: 2019-09-11 +Description: Vcpkg helpers to package ignition libraries diff --git a/ports/ignition-modularscripts/ignition_modular_library.cmake b/ports/ignition-modularscripts/ignition_modular_library.cmake new file mode 100644 index 000000000..5672ab8f4 --- /dev/null +++ b/ports/ignition-modularscripts/ignition_modular_library.cmake @@ -0,0 +1,119 @@ + +function(ignition_modular_build_library NAME MAJOR_VERSION SOURCE_PATH CMAKE_PACKAGE_NAME DEFAULT_CMAKE_PACKAGE_NAME) + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DBUILD_TESTING=OFF + ) + + vcpkg_install_cmake() + + vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/${CMAKE_PACKAGE_NAME}" TARGET_PATH "share/${CMAKE_PACKAGE_NAME}") + + file(GLOB_RECURSE CMAKE_RELEASE_FILES + "${CURRENT_PACKAGES_DIR}/lib/cmake/${CMAKE_PACKAGE_NAME}/*") + + file(COPY ${CMAKE_RELEASE_FILES} DESTINATION + "${CURRENT_PACKAGES_DIR}/share/${CMAKE_PACKAGE_NAME}/") + + # Remove debug files + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/lib/cmake + ${CURRENT_PACKAGES_DIR}/debug/share) + + + + # Post-build test for cmake libraries + vcpkg_test_cmake(PACKAGE_NAME ${CMAKE_PACKAGE_NAME}) + + # Find the relevant license file and install it + if(EXISTS "${SOURCE_PATH}/LICENSE") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE") + elseif(EXISTS "${SOURCE_PATH}/README.md") + set(LICENSE_PATH "${SOURCE_PATH}/README.md") + endif() + file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +endfunction() + +## # ignition_modular_library +## +## Download and build a library from the Ignition Robotics project ( https://ignitionrobotics.org/ ). +## +## ## Usage: +## ```cmake +## ignition_modular_library(NAME +## VERSION +## SHA512 +## [REF ] +## [HEAD_REF ] +## [PATCHES ]) +## ``` +## +## ## Parameters: +## ### NAME +## The name of the specific ignition library, i.e. `cmake` for `ignition-cmake0`, `math` for `ignition-math4`. +## +## ### VERSION +## The complete version number. +## +## ### SHA512 +## The SHA512 hash that should match the downloaded archive. This is forwarded to the `vcpkg_from_bitbucket` command. +## +## ### REF +## Reference to the tag of the desired release. This is forwarded to the `vcpkg_from_bitbucket` command. +## If not specified, defaults to `ignition-${NAME}${MAJOR_VERSION}_${VERSION}`. +## +## ### HEAD_REF +## Reference (tag) to the desired release. This is forwarded to the `vcpkg_from_bitbucket` command. +## If not specified, defaults to `ign-${NAME}${MAJOR_VERSION}`. +## +## ### PATCHES +## A list of patches to be applied to the extracted sources. +## This is forwarded to the `vcpkg_from_bitbucket` command. +## +## ### CMAKE_PACKAGE_NAME +## The name of the CMake package for the port. +## If not specified, defaults to `ignition-${NAME}${MAJOR_VERSION}`. +## +## ## Examples: +## +## * [ignition-cmake0](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-cmake0/portfile.cmake) +## * [ignition-math4](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-math4/portfile.cmake) +## * [ignition-fuel-tools1](https://github.com/Microsoft/vcpkg/blob/master/ports/ignition-fuel-tools1/portfile.cmake) +function(ignition_modular_library) + set(oneValueArgs NAME VERSION SHA512 REF HEAD_REF CMAKE_PACKAGE_NAME) + set(multiValueArgs PATCHES) + cmake_parse_arguments(IML "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + string(REPLACE "." ";" IML_VERSION_LIST ${IML_VERSION}) + list(GET IML_VERSION_LIST 0 IML_MAJOR_VERSION) + + # If the REF option is omitted, use the canonical one + if(NOT DEFINED IML_REF) + set(IML_REF "ignition-${IML_NAME}${IML_MAJOR_VERSION}_${IML_VERSION}") + endif() + + # If the HEAD_REF option is omitted, use the canonical one + if(NOT DEFINED IML_HEAD_REF) + set(IML_HEAD_REF "ign-${IML_NAME}${IML_MAJOR_VERSION}") + endif() + + # If the CMAKE_PACKAGE_NAME option is omitted, use the canonical one + set(DEFAULT_CMAKE_PACKAGE_NAME "ignition-${IML_NAME}${IML_MAJOR_VERSION}") + if(NOT DEFINED IML_CMAKE_PACKAGE_NAME) + set(IML_CMAKE_PACKAGE_NAME ${DEFAULT_CMAKE_PACKAGE_NAME}) + endif() + + # Download library from bitbucket, to support also the --head option + vcpkg_from_bitbucket( + OUT_SOURCE_PATH SOURCE_PATH + REPO ignitionrobotics/ign-${IML_NAME} + REF ${IML_REF} + SHA512 ${IML_SHA512} + HEAD_REF ${IML_HEAD_REF} + PATCHES ${IML_PATCHES} + ) + + # Build library + ignition_modular_build_library(${IML_NAME} ${IML_MAJOR_VERSION} ${SOURCE_PATH} ${IML_CMAKE_PACKAGE_NAME} ${DEFAULT_CMAKE_PACKAGE_NAME}) +endfunction() diff --git a/ports/ignition-modularscripts/portfile.cmake b/ports/ignition-modularscripts/portfile.cmake new file mode 100644 index 000000000..509240d7d --- /dev/null +++ b/ports/ignition-modularscripts/portfile.cmake @@ -0,0 +1,8 @@ +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/ignition_modular_library.cmake + DESTINATION + ${CURRENT_PACKAGES_DIR}/share/ignitionmodularscripts +) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/ignitionmodularscripts/copyright "") + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/ignition-msgs1/CONTROL b/ports/ignition-msgs1/CONTROL new file mode 100644 index 000000000..09ab2ff43 --- /dev/null +++ b/ports/ignition-msgs1/CONTROL @@ -0,0 +1,4 @@ +Source: ignition-msgs1 +Version: 1.0.0 +Build-Depends: ignition-cmake0, ignition-math4, protobuf +Description: Middleware protobuf messages for robotics diff --git a/ports/ignition-msgs1/fix-protobuf-static-link-order.patch b/ports/ignition-msgs1/fix-protobuf-static-link-order.patch new file mode 100644 index 000000000..9f3e67466 --- /dev/null +++ b/ports/ignition-msgs1/fix-protobuf-static-link-order.patch @@ -0,0 +1,14 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -2,8 +2,8 @@ + # Build a custom protoc plugin + ign_add_executable(ign_msgs_gen Generator.cc generator_main.cc) + target_link_libraries(ign_msgs_gen +- protobuf::libprotobuf +- protobuf::libprotoc) ++ protobuf::libprotoc ++ protobuf::libprotobuf) + target_include_directories(ign_msgs_gen PRIVATE ${PROTOBUF_INCLUDE_DIR}) + target_compile_features(ign_msgs_gen PRIVATE ${IGN_CXX_11_FEATURES}) + diff --git a/ports/ignition-msgs1/portfile.cmake b/ports/ignition-msgs1/portfile.cmake new file mode 100644 index 000000000..a3173d2bc --- /dev/null +++ b/ports/ignition-msgs1/portfile.cmake @@ -0,0 +1,35 @@ +include(vcpkg_common_functions) + +include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) + +# Explicitly disable cross-compilation until the upstream discussion +# https://bitbucket.org/ignitionrobotics/ign-msgs/issues/34/add-support-for-cross-compilation is solved +if(CMAKE_HOST_WIN32 AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x86") + set(ignition_msgs_CROSSCOMPILING ON) +elseif(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME) + set(ignition_msgs_CROSSCOMPILING ON) +else() + set(ignition_msgs_CROSSCOMPILING OFF) +endif() + +if(ignition_msgs_CROSSCOMPILING) + message(FATAL_ERROR "This port does not currently support triplets that require cross-compilation.") +endif() + +# This port needs to generate protobuf messages with a custom plugin generator, +# so it needs to have in Windows the relative protobuf dll available in the PATH +set(path_backup $ENV{PATH}) +vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/bin) +vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/debug/bin) + +ignition_modular_library(NAME msgs + VERSION "1.0.0" + # See https://bitbucket.org/ignitionrobotics/ign-msgs/issues/33/the-ignition-msgs1_100-tag-does-not-match + REF ignition-msgs_1.0.0 + SHA512 15261d9c82c05952b1b7dfc50346e73ab041bf6e2e5a63698e17bfa36b2d261aad2777f770f6dccd0d58eb9c90979fe89a7371dc2ec6050149bf63cafc4f6779 + # Fix linking order of protobuf libraries (backport of https://bitbucket.org/ignitionrobotics/ign-msgs/pull-requests/151) + PATCHES fix-protobuf-static-link-order.patch) + + +# Restore old path +set(ENV{PATH} ${path_backup}) diff --git a/ports/ignition-transport4/CONTROL b/ports/ignition-transport4/CONTROL new file mode 100644 index 000000000..e228ca5b4 --- /dev/null +++ b/ports/ignition-transport4/CONTROL @@ -0,0 +1,4 @@ +Source: ignition-transport4 +Version: 4.0.0 +Build-Depends: cppzmq, ignition-cmake0, ignition-msgs1, libuuid (!windows&!uwp), protobuf, zeromq +Description: Transport middleware for robotics diff --git a/ports/ignition-transport4/portfile.cmake b/ports/ignition-transport4/portfile.cmake new file mode 100644 index 000000000..2d65c0945 --- /dev/null +++ b/ports/ignition-transport4/portfile.cmake @@ -0,0 +1,7 @@ +include(vcpkg_common_functions) + +include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake) + +ignition_modular_library(NAME transport + VERSION "4.0.0" + SHA512 4f8d947e046653fafb27063de3cd97a66c169d53ef48ee5f06b0c0c3a40d7ad0f58028b615a0321aa46ed56aef2acbeeb46a48b2ff3a3d1050df89a3688877c6) diff --git a/ports/imgui-sfml/0001-fix_find_package.patch b/ports/imgui-sfml/0001-fix_find_package.patch new file mode 100644 index 000000000..d5dc24456 --- /dev/null +++ b/ports/imgui-sfml/0001-fix_find_package.patch @@ -0,0 +1,50 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 53500fd..cb98701 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,34 +35,14 @@ if (IMGUI_SFML_FIND_SFML) + if (NOT BUILD_SHARED_LIBS) + set(SFML_STATIC_LIBRARIES ON) + endif() +- find_package(SFML 2.5 COMPONENTS graphics system window) ++ find_package(SFML COMPONENTS graphics system window) + + if(NOT SFML_FOUND) + message(FATAL_ERROR "SFML 2 directory not found. Set SFML_DIR to directory where SFML was built (or one which ccontains SFMLConfig.cmake)") + endif() + endif() + +-# ImGui does not provide native support for CMakeLists, workaround for now to have +-# users specify IMGUI_DIR. Waiting for this PR to get merged... +-# https://github.com/ocornut/imgui/pull/1713 +-if(NOT IMGUI_DIR) +- set(IMGUI_DIR "" CACHE PATH "imgui top-level directory") +- message(FATAL_ERROR "ImGui directory not found. Set IMGUI_DIR to imgui's top-level path (containing 'imgui.h' and other files).\n") +-endif() +- +-# This uses FindImGui.cmake provided in ImGui-SFML repo for now +-find_package(ImGui 1.68 REQUIRED) +- +-# these headers will be installed alongside ImGui-SFML +-set(IMGUI_PUBLIC_HEADERS +- ${IMGUI_INCLUDE_DIR}/imconfig.h +- ${IMGUI_INCLUDE_DIR}/imgui.h +- ${IMGUI_INCLUDE_DIR}/imgui_internal.h # not actually public, but users might need it +- ${IMGUI_INCLUDE_DIR}/imstb_rectpack.h +- ${IMGUI_INCLUDE_DIR}/imstb_textedit.h +- ${IMGUI_INCLUDE_DIR}/imstb_truetype.h +- ${IMGUI_INCLUDE_DIR}/misc/cpp/imgui_stdlib.h +-) ++find_package(imgui CONFIG REQUIRED) + + # CMake 3.11 and later prefer to choose GLVND, but we choose legacy OpenGL just because it's safer + # (unless the OpenGL_GL_PREFERENCE was explicitly set) +@@ -82,7 +62,7 @@ add_library(ImGui-SFML + add_library(ImGui-SFML::ImGui-SFML ALIAS ImGui-SFML) + + target_link_libraries(ImGui-SFML +- PUBLIC ++ imgui::imgui + sfml-graphics + sfml-system + sfml-window diff --git a/ports/imgui-sfml/0002-fix_imgui_config.patch b/ports/imgui-sfml/0002-fix_imgui_config.patch new file mode 100644 index 000000000..6966b63c7 --- /dev/null +++ b/ports/imgui-sfml/0002-fix_imgui_config.patch @@ -0,0 +1,11 @@ +diff --git a/imconfig-SFML.h b/imconfig-SFML.h +index f66ba20..0f43ce6 100644 +--- a/imconfig-SFML.h ++++ b/imconfig-SFML.h +@@ -28,5 +28,3 @@ + static_cast(z * 255.f), \ + static_cast(w * 255.f)); \ + } +- +-#define ImTextureID unsigned int +\ No newline at end of file diff --git a/ports/imgui-sfml/0003-fix_osx.patch b/ports/imgui-sfml/0003-fix_osx.patch new file mode 100644 index 000000000..8181ee8e1 --- /dev/null +++ b/ports/imgui-sfml/0003-fix_osx.patch @@ -0,0 +1,13 @@ +diff --git a/imconfig-SFML.h b/imconfig-SFML.h +index 0f43ce6..1fce2c1 100644 +--- a/imconfig-SFML.h ++++ b/imconfig-SFML.h +@@ -19,7 +19,7 @@ + + #define IM_VEC4_CLASS_EXTRA \ + ImVec4(const sf::Color & c) \ +- : ImVec4(c.r / 255.f, c.g / 255.f, c.b / 255.f, c.a / 255.f) { \ ++ : x(c.r / 255.f), y(c.g / 255.f), z(c.b / 255.f), w(c.a / 255.f) { \ + } \ + operator sf::Color() const { \ + return sf::Color( \ diff --git a/ports/imgui-sfml/CONTROL b/ports/imgui-sfml/CONTROL new file mode 100644 index 000000000..8db3a4ac6 --- /dev/null +++ b/ports/imgui-sfml/CONTROL @@ -0,0 +1,5 @@ +Source: imgui-sfml +Version: 2.1 +Homepage: https://github.com/eliasdaler/imgui-sfml +Description: ImGui binding for use with SFML +Build-Depends: sfml, imgui diff --git a/ports/imgui-sfml/portfile.cmake b/ports/imgui-sfml/portfile.cmake new file mode 100644 index 000000000..47c25669e --- /dev/null +++ b/ports/imgui-sfml/portfile.cmake @@ -0,0 +1,24 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eliasdaler/imgui-sfml + REF v2.1 + SHA512 134c49e9c57bc4d3882d99a52ec87f74c11d2f3134501c79b20bce4612f315f2e3f33a521597b387ca8f91942cf2b82ec9f4a8b1672a700e7233a9758897b6d0 + HEAD_REF master + PATCHES + 0001-fix_find_package.patch + 0002-fix_imgui_config.patch + 0003-fix_osx.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ImGui-SFML) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/imgui-sfml/copyright COPYONLY) diff --git a/ports/imgui-sfml/usage b/ports/imgui-sfml/usage new file mode 100644 index 000000000..ea9a5f63b --- /dev/null +++ b/ports/imgui-sfml/usage @@ -0,0 +1,10 @@ +The package imgui-sfml provides CMake targets: + + find_package(imgui CONFIG REQUIRED) + find_package(SFML CONFIG REQUIRED COMPONENTS graphics system window) + find_package(ImGui-SFML CONFIG REQUIRED) + target_link_libraries(main PRIVATE + imgui::imgui + sfml-graphics sfml-system sfml-window + ImGui-SFML::ImGui-SFML + ) diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL index 87364545a..6484a925a 100644 --- a/ports/imgui/CONTROL +++ b/ports/imgui/CONTROL @@ -1,4 +1,8 @@ Source: imgui -Version: 1.70 +Version: 1.73-1 Homepage: https://github.com/ocornut/imgui Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. + +Feature: example +Description: build with examples +Build-Depends: glfw3, freeglut, opengl, sdl1 diff --git a/ports/imgui/portfile.cmake b/ports/imgui/portfile.cmake index 3fa363886..62d674353 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ocornut/imgui - REF v1.70 - SHA512 b1a0fba339a9b19a49316494e58eabacd250e85e8ee17552c03ed99f50886072c882979039f18139e504c4406cf31aea3e9ce391d4641318f0022fa9b51bb9c4 + REF v1.73 + SHA512 1d67b7cc3f06ea77a2484e62034104386f42106fefe9b6eb62ee8a31fe949c9cda0cc095fbead9269e9da2a5d6199604d34c095eefd630655725265ac0fc4d92 HEAD_REF master ) @@ -20,7 +20,26 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() + +if ("example" IN_LIST FEATURES) + if (NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "Feature example only support windows.") + endif() + vcpkg_build_msbuild( + USE_VCPKG_INTEGRATION + PROJECT_PATH ${SOURCE_PATH}/examples/imgui_examples.sln + ) + + # Install headers + file(GLOB IMGUI_EXAMPLE_INCLUDES ${SOURCE_PATH}/examples/*.h) + file(INSTALL ${IMGUI_EXAMPLE_INCLUDES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + + # Install tools + file(GLOB_RECURSE IMGUI_EXAMPLE_BINARIES ${SOURCE_PATH}/examples/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}) + file(INSTALL ${IMGUI_EXAMPLE_BINARIES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) +endif() + vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/imgui) +vcpkg_fixup_cmake_targets() configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/imgui/copyright COPYONLY) diff --git a/ports/inih/CONTROL b/ports/inih/CONTROL index 22c519e21..1b933c675 100644 --- a/ports/inih/CONTROL +++ b/ports/inih/CONTROL @@ -1,3 +1,3 @@ Source: inih -Version: 44 +Version: 45 Description: Simple .INI file parser diff --git a/ports/inih/portfile.cmake b/ports/inih/portfile.cmake index a0a34d77f..369791bb6 100644 --- a/ports/inih/portfile.cmake +++ b/ports/inih/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO benhoyt/inih - REF b1dbff4b0bd1e1f40d237e21011f6dee0ec2fa69 - SHA512 b250a7d2a9a1a18793a5f7421d444cbf92c21f1aca5f767781221e2e64b0ba5e0804e82c3f8e4f2c0e08516f4ddbf1533e4d254c557bfb38d9a0da879b98cffb + REF r45 + SHA512 bbec8b798b2ca32741e58467bcb843f991eaa6d687e7ed14dfaf412a9ddea8086b3088267bd30ef6c775d7a81593e181c561f320f8466e38f4ecbbdce9ce26df HEAD_REF master ) diff --git a/ports/inja/CONTROL b/ports/inja/CONTROL index ec53d0748..ae7291bfb 100644 --- a/ports/inja/CONTROL +++ b/ports/inja/CONTROL @@ -1,4 +1,4 @@ Source: inja -Version: 2.1.0 +Version: 2.1.0-1 Build-Depends: nlohmann-json Description: Inja - A Template Engine for Modern C++ diff --git a/ports/inja/cmake-version.patch b/ports/inja/cmake-version.patch new file mode 100644 index 000000000..37b048870 --- /dev/null +++ b/ports/inja/cmake-version.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 115c898..176bf2d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.5) + + +-project(inja LANGUAGES CXX VERSION 2.0.0) ++project(inja LANGUAGES CXX VERSION 2.1.0) + + + option(INJA_USE_EMBEDDED_JSON "Use the shipped json header if not available on the system" ON) diff --git a/ports/inja/portfile.cmake b/ports/inja/portfile.cmake index 17bde913a..4fb028a1e 100644 --- a/ports/inja/portfile.cmake +++ b/ports/inja/portfile.cmake @@ -5,7 +5,27 @@ vcpkg_from_github( REF v2.1.0 SHA512 6b3a3a6a9e2adff14083a8e83c95fdc5ccf0c930acff40c4cf6c11d67b0df18fd941307e5d1f0c45dcfcb4c4afd0026b718ca510a2b297b9c6be048f5b144d42 HEAD_REF master + PATCHES + cmake-version.patch ) -file(INSTALL ${SOURCE_PATH}/single_include/inja/inja.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(INSTALL ${SOURCE_PATH}/single_include/inja/inja.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/share/inja RENAME copyright) + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA + OPTIONS + -DINJA_USE_EMBEDDED_JSON=OFF + -DBUILD_TESTING=OFF + -DBUILD_BENCHMARK=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/inja) vcpkg_copy_pdbs() + +# Inja is a header-only library +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib") +# Don't need built-in nlohmann-json as this package depends on nlohmann-json +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/inja/json") + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/inja RENAME copyright) diff --git a/ports/intelrdfpmathlib/CONTROL b/ports/intelrdfpmathlib/CONTROL index 5c7fe7b59..c5c1cd071 100644 --- a/ports/intelrdfpmathlib/CONTROL +++ b/ports/intelrdfpmathlib/CONTROL @@ -1,3 +1,3 @@ Source: intelrdfpmathlib -Version: 20U2 +Version: 20U2-1 Description: Intel(R) Decimal Floating-Point Math Library diff --git a/ports/intelrdfpmathlib/portfile.cmake b/ports/intelrdfpmathlib/portfile.cmake index e463f0a77..fc9b0ed13 100644 --- a/ports/intelrdfpmathlib/portfile.cmake +++ b/ports/intelrdfpmathlib/portfile.cmake @@ -1,12 +1,17 @@ include(vcpkg_common_functions) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/IntelRDFPMathLib20U2) + vcpkg_download_distfile(ARCHIVE URLS "http://www.netlib.org/misc/intel/IntelRDFPMathLib20U2.tar.gz" FILENAME "IntelRDFPMathLib20U2.tar.gz" SHA512 4d445855f41b066b784f0c6b4e52f854df4129fa9d43569b1e1518f002b860f69796459c78de46a8ea24fb6e7aefe7f8bc1f253e78971a5ef202dab2a7b1b75a ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH +) set(LIB_SOURCE_PATH "${SOURCE_PATH}/LIBRARY") @@ -14,7 +19,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION "${LIB_SOURCE_PAT vcpkg_configure_cmake( SOURCE_PATH "${LIB_SOURCE_PATH}" - PREFER_NINJA + PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) diff --git a/ports/io2d/CONTROL b/ports/io2d/CONTROL index 2376ce6de..c48e73334 100644 --- a/ports/io2d/CONTROL +++ b/ports/io2d/CONTROL @@ -1,4 +1,4 @@ Source: io2d -Version: 0.1-2 +Version: 2019-07-11-1 Description: a lightweight, cross platform drawing library -Build-Depends: cairo (!osx), graphicsmagick (!osx) +Build-Depends: cairo (!osx), cairo[x11] (linux), graphicsmagick (!osx) diff --git a/ports/io2d/find-package.patch b/ports/io2d/find-package.patch deleted file mode 100644 index 10d83f95b..000000000 --- a/ports/io2d/find-package.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff --git a/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt b/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt -index 3d4791c..1864b7a 100644 ---- a/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt -+++ b/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt -@@ -23,7 +23,15 @@ target_compile_features(io2d_cairo PUBLIC cxx_std_17) - - target_link_libraries(io2d_cairo PUBLIC io2d_core) - --if(MSVC) -+if(DEFINED VCPKG_TARGET_TRIPLET) -+ find_package(unofficial-cairo CONFIG REQUIRED) -+ set(CAIRO_INCLUDE_DIR) -+ set(CAIRO_LIB_DEBUG "CAIRO_LIB_DEBUG-NOTFOUND") -+ set(CAIRO_LIB_RELEASE unofficial::cairo::cairo) -+ find_package(unofficial-graphicsmagick CONFIG REQUIRED) -+ set(GRAPHICSMAGICK_INCLUDE_DIR) -+ set(GRAPHICSMAGICK_LIB unofficial::graphicsmagick::graphicsmagick) -+elseif(MSVC) - find_path(CAIRO_INCLUDE_DIR cairo.h) - find_path(GRAPHICSMAGICK_INCLUDE_DIR magick/api.h) - find_library(CAIRO_LIB_DEBUG cairod) -diff --git a/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt b/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt -index abb1501..b7a6e71 100644 ---- a/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt -+++ b/P0267_RefImpl/P0267_RefImpl/cairo/win32/CMakeLists.txt -@@ -24,20 +24,7 @@ target_compile_features(io2d_cairo_win32 PUBLIC cxx_std_17) - target_link_libraries(io2d_cairo_win32 PUBLIC io2d_cairo) - - if(MSVC) -- target_compile_definitions(io2d_cairo_win32 PUBLIC -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_WARNINGS) -- -- find_library(PIXMAN_LIB pixman-1) -- find_library(FREETYPE_LIB freetype) -- find_library(FONTCONFIG_LIB fontconfig) -- find_library(BZ_LIB bz2) -- find_library(JPEG_LIB jpeg) -- find_library(TIFF_LIB tiff) -- find_library(EXPAT_LIB expat) -- find_library(LZMA_LIB lzma) -- find_library(ICONV_LIB libiconv) -- find_library(CHARSET_LIB libcharset) -- -- target_link_libraries(io2d_cairo_win32 PUBLIC ${PIXMAN_LIB} ${FREETYPE_LIB} ${FONTCONFIG_LIB} ${BZ_LIB} ${JPEG_LIB} ${TIFF_LIB} ${EXPAT_LIB} ${LZMA_LIB} ${ICONV_LIB} ${CHARSET_LIB}) -+ target_compile_definitions(io2d_cairo_win32 PRIVATE -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_WARNINGS) - endif() - - install( diff --git a/ports/io2d/fix-linux-build.patch b/ports/io2d/fix-linux-build.patch new file mode 100644 index 000000000..be038fab4 --- /dev/null +++ b/ports/io2d/fix-linux-build.patch @@ -0,0 +1,22 @@ +diff --git a/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt b/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt +index 5ebeb6a..d0e9176 100644 +--- a/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt ++++ b/P0267_RefImpl/P0267_RefImpl/cairo/CMakeLists.txt +@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.8) + project(io2d CXX) + + find_package(Cairo REQUIRED) +-find_package(GraphicsMagick REQUIRED) ++find_package(unofficial-graphicsmagick REQUIRED) + + add_library(io2d_cairo + cairo_renderer-graphicsmagickinit.cpp +@@ -24,7 +24,7 @@ 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 GraphicsMagick::GraphicsMagick) ++target_link_libraries(io2d_cairo PUBLIC io2d_core 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 3411620f5..da0b23c88 100644 --- a/ports/io2d/portfile.cmake +++ b/ports/io2d/portfile.cmake @@ -1,20 +1,17 @@ - -# Allow use of vcpkg functions include(vcpkg_common_functions) -# For now, io2d is always a static library. vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO cpp-io2d/P0267_RefImpl - REF 21ae92c8be6916034e6e18f08aa57899a975dfb0 - SHA512 5b674f98ca7705d6901af339a4189d5ce4f2c3118bfb99430734f355159602f177bc8d1b345c3a2f17947a62547553f7b91747a1f16da063707a4da7f990391d + REF add3c9792dcd3f08c497ae3adafb2a3b5b5fc338 + SHA512 2727342fbb31523583374ab6df6ff7542e80b4f94319cf0f293e8c085711fa10ed312b4fc4b91391112b5e27eaaae519cb4141ea9d4108ffb5b7383a043b38b8 HEAD_REF master - PATCHES find-package.patch + PATCHES + fix-linux-build.patch ) -# Configure the library, using CMake if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin) set(IO2D_DEFAULT_OPTION "-DIO2D_DEFAULT=COREGRAPHICS_MAC") endif() @@ -29,11 +26,8 @@ vcpkg_configure_cmake( ${IO2D_DEFAULT_OPTION} ) -# Build + install the library, using CMake vcpkg_install_cmake() -# Don't have duplicate header files in both include/ and debug/include/ folders -# (within /installed/io2d_*/, as installed by vcpkg_install_cmake()): file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/io2d) @@ -49,6 +43,6 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin) ") endif() -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/io2d RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_test_cmake(PACKAGE_NAME io2d) diff --git a/ports/irrlicht/CMakeLists.txt b/ports/irrlicht/CMakeLists.txt index b58739836..3eda8264a 100644 --- a/ports/irrlicht/CMakeLists.txt +++ b/ports/irrlicht/CMakeLists.txt @@ -79,9 +79,9 @@ else() endif() target_link_libraries(Irrlicht PRIVATE - ${ZLIB_LIBRARY} ${PNG_LIBRARY} ${JPEG_LIBRARY} + ${ZLIB_LIBRARY} ${BZIP2_LIBRARY} ) @@ -137,6 +137,14 @@ if(NOT ${IRR_SHARED_LIB}) target_compile_definitions(Irrlicht PUBLIC _IRR_STATIC_LIB_) endif() +# Disable Irrlicht building already provided dependencies +target_compile_definitions(Irrlicht + PRIVATE NO_IRR_USE_NON_SYSTEM_ZLIB_ + PRIVATE NO_IRR_USE_NON_SYSTEM_LIB_PNG_ + PRIVATE NO_IRR_USE_NON_SYSTEM_BZLIB_ + PRIVATE NO_IRR_USE_NON_SYSTEM_JPEG_LIB_ + ) + # Per platform config # ------------------------------------------------------------------------------------------------- diff --git a/ports/irrlicht/CONTROL b/ports/irrlicht/CONTROL index 59071e8dc..155b2f38b 100644 --- a/ports/irrlicht/CONTROL +++ b/ports/irrlicht/CONTROL @@ -1,5 +1,6 @@ Source: irrlicht -Version: 1.8.4 +Version: 1.8.4-4 +Homepage: http://irrlicht.sourceforge.net Description: Irrlicht lightning fast 3d engine Build-Depends: zlib, libpng, bzip2, libjpeg-turbo diff --git a/ports/irrlicht/LICENSE.txt b/ports/irrlicht/LICENSE.txt new file mode 100644 index 000000000..17248fdb4 --- /dev/null +++ b/ports/irrlicht/LICENSE.txt @@ -0,0 +1,20 @@ +The Irrlicht Engine License +=========================== + +Copyright (C) 2002-2015 Nikolaus Gebhardt + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgement in the product documentation would be + appreciated but is not required. +2. Altered source versions must be clearly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. \ No newline at end of file diff --git a/ports/irrlicht/portfile.cmake b/ports/irrlicht/portfile.cmake index 0f9f4691e..09e42c954 100644 --- a/ports/irrlicht/portfile.cmake +++ b/ports/irrlicht/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_download_distfile(ARCHIVE @@ -29,6 +17,7 @@ vcpkg_extract_source_archive_ex( # Copy CMakeLists.txt to the source, because Irrlicht does not have one. file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt DESTINATION ${SOURCE_PATH}) set(FAST_MATH FALSE) if("fast-fpu" IN_LIST FEATURES) @@ -65,30 +54,13 @@ if(BUILD_TOOLS) endif() file(WRITE ${CURRENT_PACKAGES_DIR}/share/irrlicht/irrlicht-config.cmake "include(\${CMAKE_CURRENT_LIST_DIR}/irrlicht-targets.cmake)") -# Handle copyright -file(WRITE ${CURRENT_PACKAGES_DIR}/share/irrlicht/copyright " -The Irrlicht Engine License -=========================== - -Copyright (C) 2002-2015 Nikolaus Gebhardt - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgement in the product documentation would be - appreciated but is not required. -2. Altered source versions must be clearly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution.") vcpkg_copy_pdbs() +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/irrlicht) +endif() # Post-build test for cmake libraries vcpkg_test_cmake(PACKAGE_NAME irrlicht) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/irrlicht/vcpkg-cmake-wrapper.cmake b/ports/irrlicht/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..4cfdb8a0d --- /dev/null +++ b/ports/irrlicht/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,11 @@ +_find_package(${ARGS}) +find_package(ZLIB REQUIRED) +find_package(PNG REQUIRED) +find_package(JPEG REQUIRED) +find_package(BZip2 REQUIRED) +if(TARGET Irrlicht::Irrlicht) + set_property(TARGET Irrlicht::Irrlicht APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB PNG::PNG JPEG::JPEG BZip2::BZip2) +endif() +if(IRRLICHT_LIBRARIES) + list(APPEND IRRLICHT_LIBRARIES ${ZLIB_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${BZIP2_LIBRARIES}) +endif() diff --git a/ports/ismrmrd/CONTROL b/ports/ismrmrd/CONTROL index 7f7c26ef7..f876416d4 100644 --- a/ports/ismrmrd/CONTROL +++ b/ports/ismrmrd/CONTROL @@ -1,4 +1,4 @@ Source: ismrmrd -Version: 1.4.0 +Version: 1.4.0-1 Description: ISMRM Raw Data Format -Build-Depends: pugixml, hdf5 +Build-Depends: pugixml, hdf5, boost, fftw3 diff --git a/ports/ismrmrd/fix_static.patch b/ports/ismrmrd/fix_static.patch new file mode 100644 index 000000000..e9bd5f360 --- /dev/null +++ b/ports/ismrmrd/fix_static.patch @@ -0,0 +1,9 @@ +diff --git a/tests/test_main.cpp b/tests/test_main.cpp +index 4b1809d..7ec1414 100644 +--- a/tests/test_main.cpp ++++ b/tests/test_main.cpp +@@ -1,4 +1,3 @@ +-#define BOOST_TEST_DYN_LINK + #define BOOST_TEST_MODULE "ISMRMRD Unit Tests" + #include + diff --git a/ports/ismrmrd/portfile.cmake b/ports/ismrmrd/portfile.cmake index 7427cb1b2..4b6f7e6d6 100644 --- a/ports/ismrmrd/portfile.cmake +++ b/ports/ismrmrd/portfile.cmake @@ -1,34 +1,34 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) - if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") - set(WIN32_INCLUDE_STDDEF "x86-windows-include-stddef.patch") + set(WIN32_INCLUDE_STDDEF_PATCH "x86-windows-include-stddef.patch") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(STATIC_PATCH "fix_static.patch") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ismrmrd/ismrmrd - REF 4d4004d91ccadd41ddb30b019f970a69bb23a1bc - SHA512 648901de4629c8b11574894763a5fa61a3cb0420c5aa62cdff02c4641ba702ca73efba12b403076301e44a4f0a7c915da1f2c7a34b24377d0385af92f2eda892 + REF 4d4004d91ccadd41ddb30b019f970a69bb23a1bc + SHA512 648901de4629c8b11574894763a5fa61a3cb0420c5aa62cdff02c4641ba702ca73efba12b403076301e44a4f0a7c915da1f2c7a34b24377d0385af92f2eda892 HEAD_REF master PATCHES - ${WIN32_INCLUDE_STDDEF} + ${STATIC_PATCH} + ${WIN32_INCLUDE_STDDEF_PATCH} ) - - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DUSE_SYSTEM_PUGIXML=ON - -DUSE_HDF5_DATASET_SUPPORT=ON + OPTIONS + -DUSE_SYSTEM_PUGIXML=ON + -DUSE_HDF5_DATASET_SUPPORT=ON ) vcpkg_install_cmake() vcpkg_copy_pdbs() - vcpkg_fixup_cmake_targets(CONFIG_PATH share/ismrmrd/cmake) if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/ismrmrd.dll) @@ -62,15 +62,27 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${ISMRMRD_CMAKE_DIRS}) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) + set(EXECUTABLE_SUFFIX ".exe") +endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info.exe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_info.exe) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_c_example${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_c_example${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_generate_cartesian_shepp_logan${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_generate_cartesian_shepp_logan${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_info${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_info${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_read_timing_test${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_read_timing_test${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_recon_cartesian_2d${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_recon_cartesian_2d${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_test_xml${EXECUTABLE_SUFFIX}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_test_xml${EXECUTABLE_SUFFIX}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_c_example.exe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_c_example.exe) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/ismrmrd_read_timing_test.exe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/ismrmrd_read_timing_test.exe) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/) +endif() file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ismrmrd) file(RENAME ${CURRENT_PACKAGES_DIR}/share/ismrmrd/LICENSE ${CURRENT_PACKAGES_DIR}/share/ismrmrd/copyright) diff --git a/ports/itk/CONTROL b/ports/itk/CONTROL index b8ba70d0f..282ac4b3c 100644 --- a/ports/itk/CONTROL +++ b/ports/itk/CONTROL @@ -1,5 +1,5 @@ Source: itk -Version: 5.0.0-1 +Version: 5.0.1-2 Description: Insight Segmentation and Registration Toolkit (ITK) is used for image processing and analysis. Homepage: https://github.com/InsightSoftwareConsortium/ITK Build-Depends: double-conversion, libjpeg-turbo, zlib, libpng, tiff, expat, eigen3, hdf5[cpp], openjpeg diff --git a/ports/itk/fix_conflict_with_openjp2_pc.patch b/ports/itk/fix_conflict_with_openjp2_pc.patch deleted file mode 100644 index b1a2fb6ec..000000000 --- a/ports/itk/fix_conflict_with_openjp2_pc.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -index 6ac16ab6..2bde9952 100644 ---- a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -+++ b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt -@@ -373,7 +373,8 @@ else() - endif() - - if(GDCM_USE_SYSTEM_OPENJPEG) -- find_package(OpenJPEG 2.0.0 REQUIRED) -+ # openjpeg version in vcpkg is already greater than 2.0.0 and openjpeg has no version.cmake file -+ find_package(OpenJPEG REQUIRED) - set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) - else() - set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) -diff --git a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -index 565cc338..ec126ef9 100644 ---- a/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -+++ b/Modules/ThirdParty/GDCM/src/gdcm/Utilities/gdcmopenjpeg/CMakeLists.txt -@@ -359,12 +359,8 @@ endif() - - #----------------------------------------------------------------------------- - # pkgconfig support --# enabled by default on Unix, disabled by default on other platforms --if(UNIX) -- option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" ON) --else() -- option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF) --endif() -+# Cannot use the built-in openjp2 because the configuration path is under buildtrees -+option(BUILD_PKGCONFIG_FILES "Build and install pkg-config files" OFF) - if(BUILD_PKGCONFIG_FILES) - # install in lib and not share (see multi-arch note above) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/lib/openjp2/libopenjp2.pc.cmake.in diff --git a/ports/itk/fix_libminc_config_path.patch b/ports/itk/fix_libminc_config_path.patch new file mode 100644 index 000000000..3ff305d4b --- /dev/null +++ b/ports/itk/fix_libminc_config_path.patch @@ -0,0 +1,13 @@ +diff --git a/Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt b/Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt +index 305b2c63..63f81a53 100644 +--- a/Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt ++++ b/Modules/ThirdParty/MINC/src/libminc/CMakeLists.txt +@@ -550,7 +550,7 @@ IF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT) + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/Use${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINC.cmake + ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${LIBMINC_EXTERNAL_LIB_PREFIX}LIBMINCConfig.cmake + DESTINATION +- ${LIBMINC_INSTALL_LIB_DIR}/cmake ++ share/itk + COMPONENT Development) + ENDIF(LIBMINC_INSTALL_LIB_DIR AND NOT LIBMINC_INSTALL_NO_DEVELOPMENT) + diff --git a/ports/itk/fix_openjpeg_search.patch b/ports/itk/fix_openjpeg_search.patch new file mode 100644 index 000000000..d17a1ab84 --- /dev/null +++ b/ports/itk/fix_openjpeg_search.patch @@ -0,0 +1,13 @@ +diff --git a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt +index 6ac16ab6..4638f13c 100644 +--- a/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt ++++ b/Modules/ThirdParty/GDCM/src/gdcm/CMakeLists.txt +@@ -373,7 +373,7 @@ else() + endif() + + if(GDCM_USE_SYSTEM_OPENJPEG) +- find_package(OpenJPEG 2.0.0 REQUIRED) ++ find_package(OpenJPEG REQUIRED) + set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) + else() + set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) diff --git a/ports/itk/portfile.cmake b/ports/itk/portfile.cmake index 77dd88d9d..a666b5713 100644 --- a/ports/itk/portfile.cmake +++ b/ports/itk/portfile.cmake @@ -1,19 +1,16 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 50 AND CMAKE_HOST_WIN32) - message(WARNING "ITKs buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +vcpkg_buildpath_length_warning(37) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO InsightSoftwareConsortium/ITK - REF 3e12e7006a5881136414be54216a35bbacb55baa - SHA512 9796429f8750faffc87e44052455740d1a560883e83c3ed9614d1c7ae9cc1ae22a360b572d9bb1c5ec62ca12ac81d3aa0b8dbaffff3e4ad4c2f85077ed04a10b + REF v5.0.1 + SHA512 242ce66cf83f82d26f20d2099108295e28c8875e7679126ba023834bf0e94454460ba86452a94c8ddaea93d2314befc399f2b151d7294370d4b47f0e9798e77f HEAD_REF master - PATCHES fix_conflict_with_openjp2_pc.patch + PATCHES + fix_openjpeg_search.patch + fix_libminc_config_path.patch ) if ("vtk" IN_LIST FEATURES) @@ -22,6 +19,11 @@ else() set(ITKVtkGlue OFF) endif() +set(USE_64BITS_IDS OFF) +if (VCPKG_TARGET_ARCHITECTURE STREQUAL x64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm64) + set(USE_64BITS_IDS ON) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -33,9 +35,7 @@ vcpkg_configure_cmake( -DITK_INSTALL_DATA_DIR=share/itk/data -DITK_INSTALL_DOC_DIR=share/itk/doc -DITK_INSTALL_PACKAGE_DIR=share/itk - -DITK_LEGACY_REMOVE=ON - -DITK_FUTURE_LEGACY_REMOVE=ON - -DITK_USE_64BITS_IDS=ON + -DITK_USE_64BITS_IDS=${USE_64BITS_IDS} -DITK_USE_CONCEPT_CHECKING=ON #-DITK_USE_SYSTEM_LIBRARIES=ON # enables USE_SYSTEM for all third party libraries, some of which do not have vcpkg ports such as CastXML, SWIG, MINC etc -DITK_USE_SYSTEM_DOUBLECONVERSION=ON @@ -66,12 +66,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) # combines release and debug build configurations file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/itk) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/itk/LICENSE ${CURRENT_PACKAGES_DIR}/share/itk/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/itpp/CONTROL b/ports/itpp/CONTROL index 623b2fc6b..95a49293b 100644 --- a/ports/itpp/CONTROL +++ b/ports/itpp/CONTROL @@ -1,3 +1,3 @@ Source: itpp -Version: 4.3.1 +Version: 4.3.1-1 Description: IT++ is a C++ library of mathematical, signal processing and communication classes and functions. Its main use is in simulation of communication systems and for performing research in the area of communications. \ No newline at end of file diff --git a/ports/itpp/fix-linux.patch b/ports/itpp/fix-linux.patch index 5e7bb64c0..18b66af5f 100644 --- a/ports/itpp/fix-linux.patch +++ b/ports/itpp/fix-linux.patch @@ -1,13 +1,17 @@ diff --git a/itpp/base/random_dsfmt.h b/itpp/base/random_dsfmt.h -index ccbf182..a3d5472 100644 +index ccbf182..de819fb 100644 --- a/itpp/base/random_dsfmt.h +++ b/itpp/base/random_dsfmt.h -@@ -299,7 +299,7 @@ private: +@@ -299,7 +299,12 @@ private: */ static void do_recursion(typename Context::w128_t *r, typename Context::w128_t *a, typename Context::w128_t *b, typename Context::w128_t *lung) { #if defined(__SSE2__) -- const unsigned int SSE2_SHUFF = 0x1bU; ++ ++#ifdef __linux__ +#define SSE2_SHUFF 0x1bU ++#else + const unsigned int SSE2_SHUFF = 0x1bU; ++#endif __m128i x = a->si; __m128i z = _mm_slli_epi64(x, SL1); diff --git a/ports/itpp/fix-uwp.patch b/ports/itpp/fix-uwp.patch index 18e5fe4eb..69805922a 100644 --- a/ports/itpp/fix-uwp.patch +++ b/ports/itpp/fix-uwp.patch @@ -1,12 +1,15 @@ diff --git a/itpp/base/timing.cpp b/itpp/base/timing.cpp -index 58178e4..47d662e 100644 +index 58178e4..6b173d0 100644 --- a/itpp/base/timing.cpp +++ b/itpp/base/timing.cpp -@@ -51,6 +51,7 @@ - +@@ -52,6 +52,10 @@ #if defined(_WIN32) && !defined(__CYGWIN__) #include -+#include ++#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) ++#include ++#endif ++ int gettimeofday(struct timeval* p, void*) { + union { diff --git a/ports/itpp/portfile.cmake b/ports/itpp/portfile.cmake index 10faf4882..84fc651e4 100644 --- a/ports/itpp/portfile.cmake +++ b/ports/itpp/portfile.cmake @@ -13,20 +13,10 @@ vcpkg_extract_source_archive_ex( REF ${ITPP_VERSION} PATCHES msvc2013.patch + fix-uwp.patch + fix-linux.patch ) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES fix-uwp.patch - ) -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES fix-linux.patch - ) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/ixwebsocket/CONTROL b/ports/ixwebsocket/CONTROL new file mode 100644 index 000000000..0a28bb675 --- /dev/null +++ b/ports/ixwebsocket/CONTROL @@ -0,0 +1,21 @@ +Source: ixwebsocket +Version: 6.1.0 +Build-Depends: zlib +Description: Lightweight WebSocket Client and Server + HTTP Client and Server +Default-Features: ssl + +Feature: ssl +Build-Depends: ixwebsocket[openssl] (!uwp&!windows&!osx), ixwebsocket[mbedtls] (windows), ixwebsocket[mbedtls] (uwp), ixwebsocket[sectransp] (osx) +Description: Default SSL backend + +# SSL backends +Feature: openssl +Build-Depends: openssl +Description: SSL support (OpenSSL) + +Feature: mbedtls +Build-Depends: mbedtls +Description: SSL support (mbedTLS) + +Feature: sectransp +Description: SSL support (sectransp) diff --git a/ports/ixwebsocket/portfile.cmake b/ports/ixwebsocket/portfile.cmake new file mode 100644 index 000000000..462dc3659 --- /dev/null +++ b/ports/ixwebsocket/portfile.cmake @@ -0,0 +1,24 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO machinezone/IXWebSocket + REF v6.1.0 + SHA512 5f19f2b220b87f9300a1d67e527ee2ee26d459e185357c2c121a2ce359fc8e5f04bd714c225b0f309ebcb6e416d7ca15ca93a88409fa09f88f065dec0a37bbe2 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA # Disable this option if project cannot be built with Ninja + OPTIONS -DUSE_TLS=1 +) + +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) + +# Post-build test for cmake libraries +# vcpkg_test_cmake(PACKAGE_NAME ixwebsocket) diff --git a/ports/jack2/CONTROL b/ports/jack2/CONTROL index d665dbe24..fb3fed91f 100644 --- a/ports/jack2/CONTROL +++ b/ports/jack2/CONTROL @@ -1,5 +1,5 @@ Source: jack2 -Version: 1.9.12-1 +Version: 1.9.12-2 Homepage: https://github.com/jackaudio/jack2 Description: Cross-platform API that enables device sharing and inter-application audio routing diff --git a/ports/jack2/portfile.cmake b/ports/jack2/portfile.cmake index f7109aafd..3cb59189e 100644 --- a/ports/jack2/portfile.cmake +++ b/ports/jack2/portfile.cmake @@ -15,6 +15,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/jansson/CONTROL b/ports/jansson/CONTROL index 0ebcd2a5a..19b1224ef 100644 --- a/ports/jansson/CONTROL +++ b/ports/jansson/CONTROL @@ -1,4 +1,4 @@ Source: jansson -Version: 2.12 +Version: 2.12-1 Homepage: https://github.com/akheron/jansson Description: Jansson is a C library for encoding, decoding and manipulating JSON data diff --git a/ports/jansson/portfile.cmake b/ports/jansson/portfile.cmake index b6f3caef0..62086e99d 100644 --- a/ports/jansson/portfile.cmake +++ b/ports/jansson/portfile.cmake @@ -42,8 +42,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/jansson) +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jansson RENAME copyright) diff --git a/ports/jasper/CONTROL b/ports/jasper/CONTROL index 858264411..43c657dd4 100644 --- a/ports/jasper/CONTROL +++ b/ports/jasper/CONTROL @@ -1,5 +1,5 @@ Source: jasper -Version: 2.0.16-1 +Version: 2.0.16-2 Homepage: https://github.com/mdadams/jasper Description: Open source implementation of the JPEG-2000 Part-1 standard -Build-Depends: libjpeg-turbo +Build-Depends: libjpeg-turbo, opengl, freeglut diff --git a/ports/jasper/jasper-fix-uwp.patch b/ports/jasper/jasper-fix-uwp.patch deleted file mode 100644 index 2b67d6c93..000000000 --- a/ports/jasper/jasper-fix-uwp.patch +++ /dev/null @@ -1,32 +0,0 @@ -From bad33461a302ed8db02e0d9875e7b59b9e8f6032 Mon Sep 17 00:00:00 2001 -From: Mikhail Paulyshka -Date: Tue, 7 Nov 2017 20:10:31 +0300 -Subject: [PATCH] Fixed build for Windows 10 UWP - ---- - src/libjasper/CMakeLists.txt | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/libjasper/CMakeLists.txt b/src/libjasper/CMakeLists.txt -index 234ae67..9d0a522 100644 ---- a/src/libjasper/CMakeLists.txt -+++ b/src/libjasper/CMakeLists.txt -@@ -145,6 +145,15 @@ target_include_directories(libjasper BEFORE PRIVATE - set_target_properties(libjasper PROPERTIES OUTPUT_NAME jasper) - set_target_properties(libjasper PROPERTIES LINKER_LANGUAGE C) - -+if(MSVC) -+ target_compile_definitions(libjasper PRIVATE -+ "-D_CRT_SECURE_NO_WARNINGS") -+ target_compile_definitions(libjasper PRIVATE -+ "-D_CRT_SECURE_NO_DEPRECATE") -+ target_compile_definitions(libjasper PRIVATE -+ "-D_CRT_NONSTDC_NO_DEPRECATE") -+endif() -+ - if (UNIX) - set_target_properties(libjasper PROPERTIES - VERSION ${JAS_SO_NAME} SOVERSION ${JAS_SO_VERSION}) --- -2.14.1.windows.1 - diff --git a/ports/jasper/opengl-not-required.patch b/ports/jasper/opengl-not-required.patch deleted file mode 100644 index 5c40a6b67..000000000 --- a/ports/jasper/opengl-not-required.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c432ba2..c67598f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -267,7 +267,9 @@ message("JAS_HAVE_LIBJPEG: ${JAS_HAVE_LIBJPEG}") - # Check for the OpenGL and GLUT libraries. - ################################################################################ - -+if(JAS_ENABLE_OPENGL) - find_package(OpenGL ${JAS_REQUIRED}) -+endif() - message("JAS_ENABLE_OPENGL: ${JAS_ENABLE_OPENGL}") - message("OpenGL library found: ${OPENGL_FOUND}") - if (JAS_ENABLE_OPENGL AND OPENGL_FOUND) diff --git a/ports/jasper/portfile.cmake b/ports/jasper/portfile.cmake index 6d11d166b..ae42d2a22 100644 --- a/ports/jasper/portfile.cmake +++ b/ports/jasper/portfile.cmake @@ -5,13 +5,7 @@ vcpkg_from_github( REPO mdadams/jasper REF version-2.0.16 SHA512 b3bca227f833567c9061c4a29c0599784ed6a131b5cceddfd1696542d19add821eda445ce6d83782b454b266723b24d0f028cbc644a25c0e3a75304e615b34ee - HEAD_REF master) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/jasper-fix-uwp.patch - ${CMAKE_CURRENT_LIST_DIR}/opengl-not-required.patch + HEAD_REF master ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -26,7 +20,6 @@ vcpkg_configure_cmake( OPTIONS -DJAS_ENABLE_AUTOMATIC_DEPENDENCIES=OFF -DJAS_ENABLE_LIBJPEG=ON - -DJAS_ENABLE_OPENGL=OFF # not needed for the library -DJAS_ENABLE_DOC=OFF -DJAS_ENABLE_PROGRAMS=OFF -DJAS_ENABLE_SHARED=${JAS_ENABLE_SHARED} @@ -43,5 +36,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jasper) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jasper/LICENSE ${CURRENT_PACKAGES_DIR}/share/jasper/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jasper RENAME copyright) diff --git a/ports/jbigkit/CONTROL b/ports/jbigkit/CONTROL index cc0a00aa2..c1c76a89c 100644 --- a/ports/jbigkit/CONTROL +++ b/ports/jbigkit/CONTROL @@ -1,4 +1,4 @@ Source: jbigkit -Version: 2.1-3 +Version: 2.1-4 Homepage: https://www.cl.cam.ac.uk/~mgk25/jbigkit Description: A software implementation of the JBIG1 data compression standard (ITU-T T.82) diff --git a/ports/jbigkit/portfile.cmake b/ports/jbigkit/portfile.cmake index 9e63a426f..25c87930a 100644 --- a/ports/jbigkit/portfile.cmake +++ b/ports/jbigkit/portfile.cmake @@ -5,13 +5,16 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(JBIGKIT_VERSION 2.1) set(JBIGKIT_HASH c4127480470ef90db1ef3bd2caa444df10b50ed8df0bc9997db7612cb48b49278baf44965028f1807a21028eb965d677e015466306b44683c4ec75a23e1922cf) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/jbigkit-${JBIGKIT_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "http://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-${JBIGKIT_VERSION}.tar.gz" FILENAME "jbigkit-${JBIGKIT_VERSION}.tar.gz" SHA512 ${JBIGKIT_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/jinja2cpplight/CONTROL b/ports/jinja2cpplight/CONTROL new file mode 100644 index 000000000..57334bc42 --- /dev/null +++ b/ports/jinja2cpplight/CONTROL @@ -0,0 +1,4 @@ +Source: jinja2cpplight +Version: 2018-05-08 +Homepage: https://github.com/hughperkins/Jinja2CppLight +Description: (very) lightweight version of Jinja2 for C++, Lightweight templating engine for C++, based on Jinja2. \ No newline at end of file diff --git a/ports/jinja2cpplight/portfile.cmake b/ports/jinja2cpplight/portfile.cmake new file mode 100644 index 000000000..49eff2034 --- /dev/null +++ b/ports/jinja2cpplight/portfile.cmake @@ -0,0 +1,39 @@ +include(vcpkg_common_functions) + +if(VCPKG_TARGET_IS_UWP) + message(FATAL_ERROR "jinja2cpplight doesn't support UWP.") +endif() + +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +else() + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO hughperkins/Jinja2CppLight + REF 04196b080adf6edb86184824a1cf948ace310d19 #Commits on May 8, 2018 + SHA512 30415da5ebc4fb805953cc9ff7e5fcd357d6fa1818c1ff2570b795252de6215562cd0f2f0418a1fa60e9d74b88339a3fea7166b898f54cface6ab1cfe3581bb5 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + + +file(GLOB_RECURSE JINJA2CPPLIGHT_EXES ${CURRENT_PACKAGES_DIR}/bin/jinja2cpplight_unittests*) +file(COPY ${JINJA2CPPLIGHT_EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) +file(REMOVE_RECURSE ${JINJA2CPPLIGHT_EXES}) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +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/json-c/CONTROL b/ports/json-c/CONTROL index ebd0ed02d..27067f922 100644 --- a/ports/json-c/CONTROL +++ b/ports/json-c/CONTROL @@ -1,3 +1,4 @@ Source: json-c -Version: 2019-05-31 +Version: 2019-09-10 Description: A JSON implementation in C +Homepage: https://github.com/json-c/json-c diff --git a/ports/json-c/portfile.cmake b/ports/json-c/portfile.cmake index 75ad6da61..951902369 100644 --- a/ports/json-c/portfile.cmake +++ b/ports/json-c/portfile.cmake @@ -1,13 +1,10 @@ include(vcpkg_common_functions) -# https://github.com/json-c/json-c/issues/488 -vcpkg_check_linkage(ONLY_STATIC_LIBRARY) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO json-c/json-c - REF 2b1903cc6941fb87db7526680829486f27fb1073 - SHA512 0ee71a0c2f75f5114b65f06ef921ac7a66173d66592fa880336896de64f3a325b251028b35396184cd7c3ffd15db3826bed83200fa80f4d11607fdf758138bf9 + REF eae040a84a479ccad1d1c48314345c51ecf1a4a4 + SHA512 18d8a31b341830b04676cad13fbc0608fb75a323522161ac8fd0bb5058db82c1c261d504696a1e12f4b03eb0967632885580ff81d808adf2f1dff7e32d131ba0 HEAD_REF master ) @@ -26,3 +23,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/json-dto/CONTROL b/ports/json-dto/CONTROL index 1d8b7b24b..dcb5f0602 100644 --- a/ports/json-dto/CONTROL +++ b/ports/json-dto/CONTROL @@ -1,4 +1,4 @@ Source: json-dto -Version: 0.2.8 +Version: 0.2.9.1 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 212ef87aa..2f553bc2a 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 d620668d568075cbdb169d1b160db71ad6693194 # v.0.2.9.1 + SHA512 5f92f04cfeb524eabe6a245aeab9205d274532cbac3296483ac5ebd7d1e3531bd9acf1937c75d84663592ff8a22ac72bb64be09c18ac859e94d80e3515883aae ) vcpkg_configure_cmake( @@ -19,10 +19,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/json-dto") +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/json-spirit/portfile.cmake b/ports/json-spirit/portfile.cmake index 3b5e1d316..9d2f24073 100644 --- a/ports/json-spirit/portfile.cmake +++ b/ports/json-spirit/portfile.cmake @@ -21,4 +21,7 @@ vcpkg_install_cmake() # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/json-spirit RENAME copyright) 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() vcpkg_copy_pdbs() diff --git a/ports/json11/CONTROL b/ports/json11/CONTROL index d624f9e7b..34cee37de 100644 --- a/ports/json11/CONTROL +++ b/ports/json11/CONTROL @@ -1,3 +1,3 @@ Source: json11 -Version: 2017-06-20-1 +Version: 2017-06-20-2 Description: json11 is a tiny JSON library for C++11, providing JSON parsing and serialization. diff --git a/ports/json11/destination.patch b/ports/json11/destination.patch new file mode 100644 index 000000000..6d1630329 --- /dev/null +++ b/ports/json11/destination.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 819c36f..847489e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,6 +52,6 @@ if (JSON11_BUILD_TESTS) + target_link_libraries(json11_test json11) + endif() + +-install(TARGETS json11 DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}) +-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/json11.hpp" DESTINATION include/${CMAKE_LIBRARY_ARCHITECTURE}) +-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/json11.pc" DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig) ++install(TARGETS json11 DESTINATION lib) ++install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/json11.hpp" DESTINATION include) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/json11.pc" DESTINATION lib/pkgconfig) diff --git a/ports/json11/json11-config.cmake b/ports/json11/json11-config.cmake new file mode 100644 index 000000000..0bc3bb27c --- /dev/null +++ b/ports/json11/json11-config.cmake @@ -0,0 +1,25 @@ +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + +if(NOT JSON11_FIND_COMPONENTS) + set(JSON11_FIND_COMPONENTS json11 json11) + if(JSON11_FIND_REQUIRED) + set(JSON11_FIND_REQUIRED_json11 TRUE) + endif() + + set(JSON11_FOUND TRUE) +endif() + +set(JSON11_INCLUDE_DIRS ${_DIR}/../../include) +set(JSON11_LIBRARIES) +if (EXISTS ${_DIR}/../../lib/libjson11.a) + list(APPEND JSON11_LIBRARIES optimized ${_DIR}/../../lib/libjson11.a) +endif() +if (EXISTS ${_DIR}/../../debug/lib/libjson11.a) + list(APPEND JSON11_LIBRARIES debug ${_DIR}/../../debug/lib/libjson11.a) +endif() +if (EXISTS ${_DIR}/../../lib/json11.lib) + list(APPEND JSON11_LIBRARIES optimized ${_DIR}/../../lib/json11.lib) +endif() +if (EXISTS ${_DIR}/../../debug/lib/json11.lib) + list(APPEND JSON11_LIBRARIES debug ${_DIR}/../../debug/lib/json11.lib) +endif() diff --git a/ports/json11/portfile.cmake b/ports/json11/portfile.cmake index f6592693a..a3c2b9cab 100644 --- a/ports/json11/portfile.cmake +++ b/ports/json11/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( REF ec4e45219af1d7cde3d58b49ed762376fccf1ace SHA512 2129e048d8dee027dc1ba789d9901e017b7d698465e15236802ef68639161e1cc7c8665d5f50079333801717fd41ffbe2cb90fa2165b9a85629e8ced8f2b3cd8 HEAD_REF master + PATCHES destination.patch ) vcpkg_configure_cmake( @@ -20,6 +21,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +file(INSTALL ${CURRENT_PORT_DIR}/json11-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/json11) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright diff --git a/ports/json5-parser/00001-fix-build.patch b/ports/json5-parser/00001-fix-build.patch new file mode 100644 index 000000000..b67f7c47a --- /dev/null +++ b/ports/json5-parser/00001-fix-build.patch @@ -0,0 +1,27 @@ +diff --git a/json5_parser/CMakeLists.txt b/json5_parser/CMakeLists.txt +index e83fb38..c09cae4 100644 +--- a/json5_parser/CMakeLists.txt ++++ b/json5_parser/CMakeLists.txt +@@ -15,3 +15,22 @@ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) + + ADD_LIBRARY(json5_parser STATIC ${JSON_SPIRIT_SRCS}) + ++if(MSVC) ++ target_compile_options(json5_parser PRIVATE "/bigobj") ++endif() ++ ++target_include_directories(json5_parser PUBLIC $) ++ ++install(TARGETS json5_parser EXPORT json5-parser-config ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++) ++install(EXPORT json5-parser-config DESTINATION share/cmake/json5-parser) ++ ++file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} json5_parser*.h) ++foreach (HEADER ${HEADERS} ) ++ get_filename_component(HEADER_DIR ${HEADER} DIRECTORY) ++ install(FILES ${HEADER} DESTINATION include/${HEADER_DIR}) ++endforeach() ++ diff --git a/ports/json5-parser/CONTROL b/ports/json5-parser/CONTROL new file mode 100644 index 000000000..891aa1c71 --- /dev/null +++ b/ports/json5-parser/CONTROL @@ -0,0 +1,5 @@ +Source: json5-parser +Version: 1.0.0-1 +Homepage: https://bitbucket.org/wlandry/json5_parser +Description: An enhancement of the JSON Spirit C++ library to understand json5. +Build-Depends: boost-spirit diff --git a/ports/json5-parser/portfile.cmake b/ports/json5-parser/portfile.cmake new file mode 100644 index 000000000..18ac091bb --- /dev/null +++ b/ports/json5-parser/portfile.cmake @@ -0,0 +1,26 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_bitbucket( + OUT_SOURCE_PATH SOURCE_PATH + REPO wlandry/json5_parser + REF 1.0.0 + SHA512 105d0cccb28dd9045c06d73ab1e98a5e744ffdb38310a4581b8f1517b0edffb2cba424dc557a3490dfdcd4627d3bd1c6850eb38f588e1627dcab1de120d70717 + HEAD_REF master + PATCHES 00001-fix-build.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/json5_parser + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/json5-parser) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/json5-parser/copyright COPYONLY) diff --git a/ports/jsoncons/CONTROL b/ports/jsoncons/CONTROL index 8b01549ef..0fe28eace 100644 --- a/ports/jsoncons/CONTROL +++ b/ports/jsoncons/CONTROL @@ -1,3 +1,4 @@ -Source: jsoncons -Version: 0.125.0 -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 +Source: jsoncons +Version: 0.139.0 +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 fb00be0ad..096b17e3e 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.125.0 - SHA512 60969fa9bb47c8ee2e01c9333322940c7e9063e4c7761fa54f9d2bba8e49815145e2b48f2bc528a5b3b5316aded2930cdf410a29ce608df09a561a4650d20e15 + REF dd6f5e93ee4ebdd9a1974eec7d997991da878b29#v0.139.0 + SHA512 25e098c8ff622e7728a3590595b6484ee7ddd4896a17954190d671711afa56c4d01ff81ac61cf2889e6b3ff005fa38da4055dce3c90fddfb36ff550d98a6fe8f HEAD_REF master ) diff --git a/ports/jsoncpp/CONTROL b/ports/jsoncpp/CONTROL index 6bbe46c0e..f0d4b66a3 100644 --- a/ports/jsoncpp/CONTROL +++ b/ports/jsoncpp/CONTROL @@ -1,4 +1,4 @@ Source: jsoncpp -Version: 1.8.4-1 +Version: 1.9.1 Homepage: https://github.com/open-source-parsers/jsoncpp Description: jsoncpp is an implementation of a JSON reader and writer in C++. JSON (JavaScript Object Notation) is a lightweight data-interchange format that it is easy to parse and redeable for human. diff --git a/ports/jsoncpp/portfile.cmake b/ports/jsoncpp/portfile.cmake index f04620fd5..3e00476d2 100644 --- a/ports/jsoncpp/portfile.cmake +++ b/ports/jsoncpp/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO open-source-parsers/jsoncpp - REF 1.8.4 - SHA512 f70361a3263dd8b9441374a9a409462be1426c0d6587c865171a80448ab73b3f69de2b4d70d2f0c541764e1e6cccc727dd53178347901f625ec6fb54fb94f4f1 + REF 1.9.1 + SHA512 4a8352e1d32c0ba8a0aea4df1663279cb2256b334643c5b62be37dfb5951e06900ba38c010d1201511fcf7de09137d6a4b886edbb2b99160d2f62b5f4679f766 HEAD_REF master ) diff --git a/ports/jsonnet/001-enable-msvc.patch b/ports/jsonnet/001-enable-msvc.patch index 3a666ee4b..12ddbed86 100644 --- a/ports/jsonnet/001-enable-msvc.patch +++ b/ports/jsonnet/001-enable-msvc.patch @@ -1,36 +1,45 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8682cc8..88b95c1 100644 +index 0418d4a..ac8f0f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -11,6 +11,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` or the CMake GUI to do an out-of-source build. - if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR} AND -@@ -73,17 +75,6 @@ elseif (BUILD_TESTS AND USE_SYSTEM_GTEST) - add_subdirectory(/usr/src/googletest ${GLOBAL_OUTPUT_PATH}/googletest-build) + include(ExternalProject) + include(GNUInstallDirs) + +@@ -89,6 +91,7 @@ else() endif() --# Compiler flags. --if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" OR -- ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") -- set(OPT "-O3") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -Wextra -pedantic -std=c99 -O3 ${OPT}") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -Woverloaded-virtual -pedantic -std=c++0x -fPIC ${OPT}") --else() -- # TODO: Windows support. -- message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") --endif() -- + # Compiler flags. ++if (0) + if (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" OR + ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + set(OPT "-O3") +@@ -98,6 +101,7 @@ else() + # TODO: Windows support. + message(FATAL_ERROR "Compiler ${CMAKE_CXX_COMPILER_ID} not supported") + endif() ++endif() + # Look for libraries in global output path. link_directories(${GLOBAL_OUTPUT_PATH}) +diff --git a/cmd/CMakeLists.txt b/cmd/CMakeLists.txt +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_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 f1c32b8..1a45a51 100644 +index 60fdcb1..82fb7c2 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -28,7 +28,7 @@ set(LIBJSONNET_SOURCE @@ -40,39 +49,32 @@ index f1c32b8..1a45a51 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) -@@ -36,13 +36,12 @@ target_link_libraries(libjsonnet md5) - # this step the output would be |liblibjsonnet|. - set_target_properties(libjsonnet PROPERTIES OUTPUT_NAME jsonnet - VERSION 0.12.1 SOVERSION 0) --install(TARGETS libjsonnet DESTINATION lib) -+install(TARGETS libjsonnet DESTINATION lib RUNTIME DESTINATION bin) - - # 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) - - # Tests +@@ -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}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_BINDIR}" + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + if (BUILD_STATIC_LIBS) diff --git a/stdlib/CMakeLists.txt b/stdlib/CMakeLists.txt -index a481d9f..9fe768e 100644 +index a481d9f..0dc3ab6 100644 --- a/stdlib/CMakeLists.txt +++ b/stdlib/CMakeLists.txt -@@ -2,14 +2,6 @@ +@@ -2,6 +2,7 @@ add_executable(to_c_array to_c_array.cpp) --# Custom command that will only build stdlib when it changes. --add_custom_command( -- OUTPUT ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h -- COMMAND ${GLOBAL_OUTPUT_PATH}/to_c_array -- ${PROJECT_SOURCE_DIR}/stdlib/std.jsonnet -- ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h -- DEPENDS to_c_array std.jsonnet) -- ++if (0) + # Custom command that will only build stdlib when it changes. + add_custom_command( + OUTPUT ${PROJECT_SOURCE_DIR}/core/std.jsonnet.h +@@ -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 35c870658..2f6e669ef 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,4 +1,4 @@ Source: jsonnet -Version: 2019-05-08 +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 5472445da..2840f513f 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -1,22 +1,21 @@ -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 c323f5ce5b8aa663585d23dc0fb94d4b166c6f16 - SHA512 d9f84c39929e9e80272e2b834f68a13b48c1cb4d64b70f5b6fa16e677555d947f7cf57372453e23066a330faa6a429b9aa750271b46f763581977a223d238785 + 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 (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_execute_required_process( - COMMAND Powershell -Command "((Get-Content -Encoding Byte \"${SOURCE_PATH}/stdlib/std.jsonnet\") -join ',') + ',0' > \"${SOURCE_PATH}/core/std.jsonnet.h\"" +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_execute_required_process( + COMMAND Powershell -Command "((Get-Content -AsByteStream \"${SOURCE_PATH}/stdlib/std.jsonnet\") -join ',') + ',0' | Out-File -Encoding Ascii \"${SOURCE_PATH}/core/std.jsonnet.h\"" WORKING_DIRECTORY "${SOURCE_PATH}" LOGNAME "std.jsonnet" ) @@ -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_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/jwt-cpp/CONTROL b/ports/jwt-cpp/CONTROL index 4f44063fe..7815f1640 100644 --- a/ports/jwt-cpp/CONTROL +++ b/ports/jwt-cpp/CONTROL @@ -1,3 +1,3 @@ Source: jwt-cpp -Version: 2019-05-07 -Description: A header only library for creating and validating json web tokens in c++ \ No newline at end of file +Version: 2019-05-07-1 +Description: A header only library for creating and validating json web tokens in c++ diff --git a/ports/jwt-cpp/portfile.cmake b/ports/jwt-cpp/portfile.cmake index 89ff9b04c..3ac1a02a4 100644 --- a/ports/jwt-cpp/portfile.cmake +++ b/ports/jwt-cpp/portfile.cmake @@ -1,8 +1,6 @@ #header-only library include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/jwt-cpp) - vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO Thalhammer/jwt-cpp REF 1d2b1bac13e54f99df4f890cd674ec149c135762 @@ -20,4 +18,4 @@ file(COPY ${HEADER_FILES} # Put the licence file where vcpkg expects it file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jwt-cpp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jwt-cpp/LICENSE ${CURRENT_PACKAGES_DIR}/share/jwt-cpp/copyright) \ No newline at end of file +file(RENAME ${CURRENT_PACKAGES_DIR}/share/jwt-cpp/LICENSE ${CURRENT_PACKAGES_DIR}/share/jwt-cpp/copyright) diff --git a/ports/jxrlib/CONTROL b/ports/jxrlib/CONTROL index 908778681..ac2559064 100644 --- a/ports/jxrlib/CONTROL +++ b/ports/jxrlib/CONTROL @@ -1,4 +1,4 @@ Source: jxrlib -Version: 1.1-6 +Version: 2019.10.9 Homepage: https://github.com/4creators/jxrlib Description: Open source implementation of the jpegxr image format standard. diff --git a/ports/jxrlib/LICENSE b/ports/jxrlib/LICENSE deleted file mode 100644 index 2b6f03f6c..000000000 --- a/ports/jxrlib/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright © Microsoft Corp. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - • Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - • Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -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 HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/ports/jxrlib/portfile.cmake b/ports/jxrlib/portfile.cmake index 49869b43f..bf131d431 100644 --- a/ports/jxrlib/portfile.cmake +++ b/ports/jxrlib/portfile.cmake @@ -2,13 +2,11 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO 4creators/jxrlib - REF e922fa50cdf9a58f40cad07553bcaa2883d3c5bf - SHA512 15ed099e5f80571ebd86e115ed1c2dd18be4d6faa8b5f19212ea89582ec37e0ffa0629d80470fcb49f1c605996ea6ce76fd0dd95d9edee458ba290dff4d21537 + REF f7521879862b9085318e814c6157490dd9dbbdb4 + SHA512 f5617cbe73b6b905cc6bba181e6a3efedd59584f7a8c90e0f34db580cfdad4239a2ab753df4e221f26a5c0db51475b021052e3b9e3ab3673573573b1d57f3fdb HEAD_REF master ) @@ -22,17 +20,17 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() +vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(COPY ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxrlib) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/jxrlib/LICENSE ${CURRENT_PACKAGES_DIR}/share/jxrlib/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) #install FindJXR.cmake file -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindJXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/JXR) - -vcpkg_copy_pdbs() +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/FindJXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/jxr) diff --git a/ports/jxrlib/vcpkg-cmake-wrapper.cmake b/ports/jxrlib/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..e95a66bdc --- /dev/null +++ b/ports/jxrlib/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(JXR_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT JXR_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${JXR_PREV_MODULE_PATH}) diff --git a/ports/kangaru/CONTROL b/ports/kangaru/CONTROL index 278546bad..38b66e1ab 100644 --- a/ports/kangaru/CONTROL +++ b/ports/kangaru/CONTROL @@ -1,3 +1,3 @@ Source: kangaru -Version: 4.1.3 +Version: 4.2.1 Description: A dependency injection container for C++11, C++14 and later diff --git a/ports/kangaru/portfile.cmake b/ports/kangaru/portfile.cmake index ffcb68bfb..45844c37d 100644 --- a/ports/kangaru/portfile.cmake +++ b/ports/kangaru/portfile.cmake @@ -3,23 +3,24 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gracicot/kangaru - REF v4.1.3 - SHA512 7cfec493dff475c8fe88e336638897096359d3781ab8944aa6bb8f5b68a4dbc993f769142d0143ae5db751159cee1b125ea2728e8b73747950572c84ea354090 + REF v4.2.1 + SHA512 2902624ee4a07ccb3e5d0e087a33df922d919c71a728827857bc429c19686340636a1c0d358097f474f65410fda052a86b7560da1789bf065d75f878d5ec9f37 HEAD_REF master ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DKANGARU_EXPORT=Off -DKANGARU_TEST=Off + PREFER_NINJA + OPTIONS -DKANGARU_EXPORT=Off -DKANGARU_TEST=Off -DKANGARU_REVERSE_DESTRUCTION=On ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/kangaru") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/kangaru) file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/lib - ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib + ${CURRENT_PACKAGES_DIR}/debug ) diff --git a/ports/kcp/CONTROL b/ports/kcp/CONTROL new file mode 100644 index 000000000..0573eb3cf --- /dev/null +++ b/ports/kcp/CONTROL @@ -0,0 +1,4 @@ +Source: kcp +Version: 2019-09-20 +Description: A fast and reliable ARQ protocol +Homepage: https://github.com/skywind3000/kcp diff --git a/ports/kcp/portfile.cmake b/ports/kcp/portfile.cmake new file mode 100644 index 000000000..e857606ba --- /dev/null +++ b/ports/kcp/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO skywind3000/kcp + REF 4c58607c917c2a82bf116489c3eb89e4e9aa696d + SHA512 6689d6c2393eb96bba276de90aec584dae9da0dad5c7bd15519bc61de16de9123e19a945a9e29c5b5cc88bf844ebfb9681b27eb425e3a59a354f13488516cdcc + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_install_cmake() + +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) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/kealib/CONTROL b/ports/kealib/CONTROL index 9e2b6549c..3c71c56b8 100644 --- a/ports/kealib/CONTROL +++ b/ports/kealib/CONTROL @@ -1,9 +1,9 @@ Source: kealib -Version: 1.4.11 +Version: 1.4.11-2 Build-Depends: hdf5[cpp], zlib, szip Homepage: https://bitbucket.org/chchrsc/kealib Description: kealib is gdal model using HDF5 standard. Feature: parallel Description: Use parallel support for HDF5 -Build-Depends: hdf5[parallel], msmpi +Build-Depends: hdf5[parallel], mpi diff --git a/ports/kealib/portfile.cmake b/ports/kealib/portfile.cmake index 69a017208..3d27e296e 100644 --- a/ports/kealib/portfile.cmake +++ b/ports/kealib/portfile.cmake @@ -1,14 +1,14 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/kealib-1.4.11) + vcpkg_download_distfile(ARCHIVE URLS "https://bitbucket.org/chchrsc/kealib/downloads/kealib-1.4.11.tar.gz" FILENAME "kealib-1.4.11.tar.gz" SHA512 e080dfd51111f85ddf8ab1bd71aaf7ec6cbe814db29ed62806362ef83718f777935347d9063cf29085f21bf09d4277fd88f5269af6555304130f50d093d28f63 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH PATCHES hdf5_include.patch ) @@ -41,4 +41,4 @@ file(INSTALL ${SOURCE_PATH}/python/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DI if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) -endif() \ No newline at end of file +endif() diff --git a/ports/kinectsdk2/CONTROL b/ports/kinectsdk2/CONTROL index 85ccd7f0b..4fc290d0f 100644 --- a/ports/kinectsdk2/CONTROL +++ b/ports/kinectsdk2/CONTROL @@ -1,3 +1,3 @@ Source: kinectsdk2 -Version: 2.0 +Version: 2.0-2 Description: Kinect for Windows SDK for Kinect v2 sensor. diff --git a/ports/kinectsdk2/portfile.cmake b/ports/kinectsdk2/portfile.cmake index a4b89b521..fc42bb99b 100644 --- a/ports/kinectsdk2/portfile.cmake +++ b/ports/kinectsdk2/portfile.cmake @@ -1,23 +1,6 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Kinectsdk2's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +vcpkg_buildpath_length_warning(37) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") message(FATAL_ERROR "This port does not currently support architecture: ${VCPKG_TARGET_ARCHITECTURE}") @@ -55,7 +38,7 @@ set(KINECTSDK20_DIR "${CURRENT_BUILDTREES_DIR}/src/installer/msi/Microsoft SDKs/ file( INSTALL - "${KINECTSDK20_DIR}/inc/Kinect.h" + "${KINECTSDK20_DIR}/inc/" DESTINATION ${CURRENT_PACKAGES_DIR}/include ) diff --git a/ports/kvasir-mpl/CONTROL b/ports/kvasir-mpl/CONTROL new file mode 100644 index 000000000..63b93df5f --- /dev/null +++ b/ports/kvasir-mpl/CONTROL @@ -0,0 +1,8 @@ +Source: kvasir-mpl +Version: 2019-08-06 +Homepage: https://github.com/kvasir-io/mpl +Description: This library is part of the Kvasir project. Kvasir is a collection of zero cost statically checked libraries for resource constrained systems including microcontrollers. + +Feature: test +Description: Build with test + diff --git a/ports/kvasir-mpl/portfile.cmake b/ports/kvasir-mpl/portfile.cmake new file mode 100644 index 000000000..b5076e9bf --- /dev/null +++ b/ports/kvasir-mpl/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kvasir-io/mpl + REF a9060b46c37c769e5517e0116b060fec923b6fdb + SHA512 bbe7267d288eda9ded81ce82e428d237cb5a9d686cd1b68a334b1ae53db4bf25e37fb86d991e7cf61542ee91ccae8db7498efde91a07332fd68594a229ff35ca + HEAD_REF development +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test BUILD_WITH_TEST +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DBUILD_TESTING=${BUILD_WITH_TEST} +) + +vcpkg_install_cmake() + +# Move CMake config files to the right place +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/kvasir_mpl) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file diff --git a/ports/lastools/CONTROL b/ports/lastools/CONTROL new file mode 100644 index 000000000..cb908a8d4 --- /dev/null +++ b/ports/lastools/CONTROL @@ -0,0 +1,4 @@ +Source: lastools +Version: 2019-07-10 +Homepage: https://github.com/LAStools/LAStools +Description: LAStools: award-winning software for efficient LiDAR processing (with LASzip) \ No newline at end of file diff --git a/ports/lastools/portfile.cmake b/ports/lastools/portfile.cmake new file mode 100644 index 000000000..5f6e40397 --- /dev/null +++ b/ports/lastools/portfile.cmake @@ -0,0 +1,35 @@ +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} doesn't currently support UWP.") +endif() + +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LAStools/LAStools + REF f15a702530e098b46c2eb3923f89a68ffa81e668 + SHA512 df5763b7c69721ba2a24fde2b4092e53136020b88ff4cc0d533279d709c55d7d16d8a4300f0b68829294d9311ed674af5b15306c4ded7a6310e55404737702e0 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +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() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) + +# 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) + diff --git a/ports/lazy-importer/CONTROL b/ports/lazy-importer/CONTROL new file mode 100644 index 000000000..c46a768b0 --- /dev/null +++ b/ports/lazy-importer/CONTROL @@ -0,0 +1,4 @@ +Source: lazy-importer +Version: 2019-08-10 +Description: Library for importing functions from dlls in a hidden, reverse engineer unfriendly way +Homepage: https://github.com/JustasMasiulis/lazy_importer diff --git a/ports/lazy-importer/portfile.cmake b/ports/lazy-importer/portfile.cmake new file mode 100644 index 000000000..076bb7c34 --- /dev/null +++ b/ports/lazy-importer/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JustasMasiulis/lazy_importer + REF 88186bfce98845eba9050f7597332754f621c0fc + SHA512 04789501ea9c9cf600326b3f8292c441f54d0915452eb29b063fe0a8d56a31157cf338a4ec44aa658e397d754b6593ece51af2736d5980e72d67359a1abc2625 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/include/lazy_importer.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/lcms/CMakeLists.txt b/ports/lcms/CMakeLists.txt index 10ccc0b02..07e62995f 100644 --- a/ports/lcms/CMakeLists.txt +++ b/ports/lcms/CMakeLists.txt @@ -1,66 +1,67 @@ cmake_minimum_required(VERSION 3.5) -project(lcms) +option(CMAKE_VERBOSE_MAKEFILE "Create verbose makefile" OFF) +option(BUILD_SHARED_LIBS "Create lcms as a shared library" ON) -set(SRCS -"src/cmstypes.c" -"src/cmsvirt.c" -"src/cmswtpnt.c" -"src/cmsxform.c" -"src/lcms2.def" -"src/lcms2_internal.h" -"src/cmsalpha.c" -"src/cmscam02.c" -"src/cmscgats.c" -"src/cmscnvrt.c" -"src/cmserr.c" -"src/cmsgamma.c" -"src/cmsgmt.c" -"src/cmshalf.c" -"src/cmsintrp.c" -"src/cmsio0.c" -"src/cmsio1.c" -"src/cmslut.c" -"src/cmsmd5.c" -"src/cmsmtrx.c" -"src/cmsnamed.c" -"src/cmsopt.c" -"src/cmspack.c" -"src/cmspcs.c" -"src/cmsplugin.c" -"src/cmsps2.c" -"src/cmssamp.c" -"src/cmssm.c" -) +project(little-cms) set(CMAKE_DEBUG_POSTFIX d) -add_definitions(-DUNICODE -D_UNICODE) +add_library(lcms + "${CMAKE_CURRENT_LIST_DIR}/src/cmstypes.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsvirt.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmswtpnt.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsxform.c" + "${CMAKE_CURRENT_LIST_DIR}/src/lcms2.def" + "${CMAKE_CURRENT_LIST_DIR}/src/lcms2_internal.h" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsalpha.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmscam02.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmscgats.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmscnvrt.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmserr.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsgamma.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsgmt.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmshalf.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsintrp.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsio0.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsio1.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmslut.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsmd5.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsmtrx.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsnamed.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsopt.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmspack.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmspcs.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsplugin.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmsps2.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmssamp.c" + "${CMAKE_CURRENT_LIST_DIR}/src/cmssm.c" +) if(BUILD_SHARED_LIBS) - add_definitions(-DCMS_DLL_BUILD) + target_compile_options(lcms PRIVATE -DCMS_DLL_BUILD) + target_compile_options(lcms PUBLIC -DCMS_DLL) endif() +target_compile_options(lcms PRIVATE -DUNICODE -D_UNICODE) -string(REPLACE "/utf-8" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") +target_include_directories(lcms PRIVATE "${CMAKE_CURRENT_LIST_DIR}/include") +set_target_properties(lcms PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_LIST_DIR}/include/lcms2.h;${CMAKE_CURRENT_LIST_DIR}/include/lcms2_plugin.h") -include_directories( -"./include" +install(TARGETS lcms + EXPORT lcmsConfig + RUNTIME DESTINATION "bin" + LIBRARY DESTINATION "lib" + ARCHIVE DESTINATION "lib" + PUBLIC_HEADER DESTINATION "include" + COMPONENT dev ) -add_library(lcms2 ${SRCS}) - -if(NOT SKIP_INSTALL_HEADERS ) - - install(FILES - "./include/lcms2.h" - "./include/lcms2_plugin.h" - DESTINATION include - ) - -endif(NOT SKIP_INSTALL_HEADERS ) - -install(TARGETS lcms2 EXPORT lcms_EXPORT - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib +export(TARGETS lcms + NAMESPACE lcms:: + FILE "share/lcms/lcmsConfig.cmake" +) + +install(EXPORT lcmsConfig + DESTINATION "share/lcms" + NAMESPACE lcms:: ) diff --git a/ports/lcms/CONTROL b/ports/lcms/CONTROL index b42c827d4..135c7c406 100644 --- a/ports/lcms/CONTROL +++ b/ports/lcms/CONTROL @@ -1,5 +1,5 @@ Source: lcms -Version: 2.9 +Version: 2.9-1 Build-Depends: Homepage: https://github.com/mm2/Little-CMS Description: Little CMS. diff --git a/ports/lcms/portfile.cmake b/ports/lcms/portfile.cmake index deb6c9d3c..faeafdef5 100644 --- a/ports/lcms/portfile.cmake +++ b/ports/lcms/portfile.cmake @@ -1,32 +1,30 @@ include(vcpkg_common_functions) -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(ADDITIONAL_PATCH "shared.patch") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH REPO mm2/Little-CMS REF lcms2.9 SHA512 b565ed3714c9beaf13e15b3798abbc6c295443357c8db3299cecd9794620bb1d7c50ad258cf887c7bbf66efacb8d8699a7ee579f8c73598740915caa3044ae70 HEAD_REF master - PATCHES "${CMAKE_CURRENT_LIST_DIR}/remove_library_directive.patch" -) + PATCHES + remove_library_directive.patch + ${ADDITIONAL_PATCH} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS_DEBUG - -DSKIP_INSTALL_HEADERS=ON ) vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/lcms RENAME copyright) - -vcpkg_copy_pdbs() - -#patch header files to fix import/export issues -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include - PATCHES "${CMAKE_CURRENT_LIST_DIR}/shared.patch") -endif() diff --git a/ports/lcms/shared.patch b/ports/lcms/shared.patch index 2d7506c52..ac5490486 100644 --- a/ports/lcms/shared.patch +++ b/ports/lcms/shared.patch @@ -1,5 +1,5 @@ ---- lcms2.h Wed Jul 20 08:46:01 2016 -+++ lcms2.h Mon Jan 30 15:01:12 2017 +--- a/include/lcms2.h Wed Jul 20 08:46:01 2016 ++++ b/include/lcms2.h Mon Jan 30 15:01:12 2017 @@ -212,6 +212,7 @@ #endif // CMS_USE_BIG_ENDIAN diff --git a/ports/leaf/CONTROL b/ports/leaf/CONTROL new file mode 100644 index 000000000..e7a7c9480 --- /dev/null +++ b/ports/leaf/CONTROL @@ -0,0 +1,3 @@ +Source: leaf +Version: 0.2.2 +Description: Lightweight error augmentation framework \ No newline at end of file diff --git a/ports/leaf/portfile.cmake b/ports/leaf/portfile.cmake new file mode 100644 index 000000000..4d5c129bf --- /dev/null +++ b/ports/leaf/portfile.cmake @@ -0,0 +1,21 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zajo/leaf + REF 0.2.2 + SHA512 200a78e33fa919fbf996cfa5715f166e194b87776de79dec4c23d7a60b1f1e1c9db699f3d94d17b52c655e802ea63e1e6539538b180ecaafbfcf106b280b5c1f + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/leaf RENAME copyright) diff --git a/ports/leptonica/CONTROL b/ports/leptonica/CONTROL index 2f48aa0d2..cb700cb8a 100644 --- a/ports/leptonica/CONTROL +++ b/ports/leptonica/CONTROL @@ -1,5 +1,5 @@ Source: leptonica -Version: 1.76.0 +Version: 1.78.0-1 Homepage: https://github.com/DanBloomberg/leptonica Description: An open source library containing software that is broadly useful for image processing and image analysis applications -Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib +Build-Depends: libjpeg-turbo, zlib, libpng, tiff, giflib, libwebp diff --git a/ports/leptonica/find-dependency.patch b/ports/leptonica/find-dependency.patch index 46348833e..2ed7fbb8c 100644 --- a/ports/leptonica/find-dependency.patch +++ b/ports/leptonica/find-dependency.patch @@ -1,18 +1,19 @@ -diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in -index d53904a..2aa2fea 100644 ---- a/cmake/templates/LeptonicaConfig.cmake.in -+++ b/cmake/templates/LeptonicaConfig.cmake.in -@@ -20,6 +20,13 @@ - # - # =================================================================================== - -+include(CMakeFindDependencyMacro) -+find_dependency(TIFF) -+find_dependency(ZLIB) -+find_dependency(PNG) -+find_dependency(JPEG) -+find_dependency(GIF) -+ - include(${CMAKE_CURRENT_LIST_DIR}/LeptonicaTargets.cmake) - - # ====================================================== +diff --git a/cmake/templates/LeptonicaConfig.cmake.in b/cmake/templates/LeptonicaConfig.cmake.in +index 4f7527a..c6759d1 100644 +--- a/cmake/templates/LeptonicaConfig.cmake.in ++++ b/cmake/templates/LeptonicaConfig.cmake.in +@@ -20,6 +20,14 @@ + # + # =================================================================================== + ++include(CMakeFindDependencyMacro) ++find_dependency(TIFF) ++find_dependency(ZLIB) ++find_dependency(PNG) ++find_dependency(JPEG) ++find_dependency(GIF) ++find_dependency(WebP) ++ + include(${CMAKE_CURRENT_LIST_DIR}/LeptonicaTargets.cmake) + + # ====================================================== diff --git a/ports/leptonica/fix-find-libwebp.patch b/ports/leptonica/fix-find-libwebp.patch new file mode 100644 index 000000000..636bf655f --- /dev/null +++ b/ports/leptonica/fix-find-libwebp.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index debc232..2aa2d3a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -60,8 +60,7 @@ if(NOT EXISTS ${PROJECT_SOURCE_DIR}/.cppan) + endif() + if(NOT WEBP) + message(STATUS "Looking for WEBP") +- find_path(WEBP_INCLUDE_DIR /webp/decode.h) +- find_library(WEBP_LIBRARY NAMES webp) ++ find_package(WebP CONFIG REQUIRED) + if (WEBP_INCLUDE_DIR AND WEBP_LIBRARY) + set(WEBP 1) + set(WEBP_FOUND TRUE) diff --git a/ports/leptonica/portfile.cmake b/ports/leptonica/portfile.cmake index d42fa6b90..fb9214642 100644 --- a/ports/leptonica/portfile.cmake +++ b/ports/leptonica/portfile.cmake @@ -3,13 +3,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DanBloomberg/leptonica - REF 1.76.0 - SHA512 0d7575dc38d1e656a228ef30412a2cbb908b9c7c8636e4e96f4a7dc0429c04709316b8ad04893285ab430c1b2063d71537fc5b989a0f9dbdbec488713e1bab1f + REF 87b8219360bca3c9929a5705c3d9c50c42c34bca #1.78.0 + SHA512 b7bfa9437be7e3d9276acacf8f62ccda1cd8f88741ada5106ef0232d4965617be2c5d0b8a6b4462896a1a0b6b44d9ecefd6e6b8d0e50d4fb881bdf5e821703a4 HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-cmakelists.patch - ${CMAKE_CURRENT_LIST_DIR}/use-tiff-libraries.patch - ${CMAKE_CURRENT_LIST_DIR}/find-dependency.patch + fix-cmakelists.patch + use-tiff-libraries.patch + find-dependency.patch + fix-find-libwebp.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" STATIC) @@ -24,14 +25,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) # Handle copyright -file(COPY ${SOURCE_PATH}/leptonica-license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/leptonica) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/leptonica/leptonica-license.txt ${CURRENT_PACKAGES_DIR}/share/leptonica/copyright) +file(COPY ${SOURCE_PATH}/leptonica-license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/leptonica-license.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/leptonica/use-tiff-libraries.patch b/ports/leptonica/use-tiff-libraries.patch index f994be552..4db86ef7b 100644 --- a/ports/leptonica/use-tiff-libraries.patch +++ b/ports/leptonica/use-tiff-libraries.patch @@ -1,13 +1,13 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 3af7e30..55e17da 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -44,7 +44,7 @@ if (PNG_LIBRARY) - endif() - if (TIFF_LIBRARY) - target_include_directories (leptonica PUBLIC ${TIFF_INCLUDE_DIR}) -- target_link_libraries (leptonica ${TIFF_LIBRARY}) -+ target_link_libraries (leptonica ${TIFF_LIBRARIES}) - endif() - if (WEBP_FOUND) - target_include_directories (leptonica PUBLIC ${WEBP_INCLUDE_DIR}) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 6daad98..5119895 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -48,7 +48,7 @@ if (PNG_LIBRARY) + endif() + if (TIFF_LIBRARY) + target_include_directories (leptonica PUBLIC ${TIFF_INCLUDE_DIR}) +- target_link_libraries (leptonica ${TIFF_LIBRARY}) ++ target_link_libraries (leptonica ${TIFF_LIBRARIES}) + endif() + if (WEBP_FOUND) + target_include_directories (leptonica PUBLIC ${WEBP_INCLUDE_DIRS}) diff --git a/ports/leveldb/CONTROL b/ports/leveldb/CONTROL index 022415d26..aa0b2bc3e 100644 --- a/ports/leveldb/CONTROL +++ b/ports/leveldb/CONTROL @@ -1,4 +1,4 @@ Source: leveldb -Version: 1.22 +Version: 1.22-1 Homepage: https://github.com/bitcoin-core/leveldb Description: LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. diff --git a/ports/leveldb/fix-install_path.patch b/ports/leveldb/fix-install_path.patch deleted file mode 100644 index 11a71a41a..000000000 --- a/ports/leveldb/fix-install_path.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1409c06..c81d219 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -440,12 +440,12 @@ if(LEVELDB_INSTALL) - install( - EXPORT leveldbTargets - NAMESPACE leveldb:: -- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb" -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/../share/leveldb" - ) - install( - FILES - "${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake" - "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake" -- DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb" -+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/../share/leveldb" - ) - endif(LEVELDB_INSTALL) diff --git a/ports/leveldb/fix_config.patch b/ports/leveldb/fix_config.patch new file mode 100644 index 000000000..c5a83296b --- /dev/null +++ b/ports/leveldb/fix_config.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1409c06..98b87dc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -437,6 +437,12 @@ if(LEVELDB_INSTALL) + "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake" + COMPATIBILITY SameMajorVersion + ) ++ configure_package_config_file(${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake.in ++ leveldbConfig.cmake ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/leveldb ++ NO_CHECK_REQUIRED_COMPONENTS_MACRO ++ PATH_VARS CMAKE_INSTALL_INCLUDEDIR ++ ) + install( + EXPORT leveldbTargets + NAMESPACE leveldb:: +@@ -444,7 +450,7 @@ if(LEVELDB_INSTALL) + ) + install( + FILES +- "${PROJECT_SOURCE_DIR}/cmake/leveldbConfig.cmake" ++ "${PROJECT_BINARY_DIR}/leveldbConfig.cmake" + "${PROJECT_BINARY_DIR}/leveldbConfigVersion.cmake" + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/leveldb" + ) diff --git a/ports/leveldb/leveldbConfig.cmake.in b/ports/leveldb/leveldbConfig.cmake.in new file mode 100644 index 000000000..560e743fe --- /dev/null +++ b/ports/leveldb/leveldbConfig.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ +include(CMakeFindDependencyMacro) + +set_and_check(leveldb_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") + +include("${CMAKE_CURRENT_LIST_DIR}/leveldbTargets.cmake") diff --git a/ports/leveldb/portfile.cmake b/ports/leveldb/portfile.cmake index 02e18c430..a40ba6a02 100644 --- a/ports/leveldb/portfile.cmake +++ b/ports/leveldb/portfile.cmake @@ -1,5 +1,9 @@ include(vcpkg_common_functions) +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "leveldb doesn't supports UWP") +endif() + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( @@ -9,9 +13,11 @@ vcpkg_from_github( SHA512 f9bbf5f466e7f707b94e19261762319ea9f65d41911690e84f59098551e2e69beccf756a414d705ade74ee96fd979bdb8b94c171c6f2cc83873cbd4a9380dbab HEAD_REF master PATCHES - fix-install_path.patch + fix_config.patch ) +file(COPY ${CURRENT_PORT_DIR}/leveldbConfig.cmake.in DESTINATION ${SOURCE_PATH}/cmake) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA # Disable this option if project cannot be built with Ninja @@ -20,6 +26,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/leveldb) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/libaiff/CONTROL b/ports/libaiff/CONTROL index 6dbed3fcf..490e53a7c 100644 --- a/ports/libaiff/CONTROL +++ b/ports/libaiff/CONTROL @@ -1,4 +1,4 @@ Source: libaiff -Version: 5.0-1 +Version: 5.0-2 Homepage: https://sourceforge.net/projects/aifftools Description: LibAiff is an open-source library, providing C applications transparent read & write operations for Audio Interchange File Format (AIFF) files, with the goal of supporting all of its features diff --git a/ports/libaiff/portfile.cmake b/ports/libaiff/portfile.cmake index 14f2848ba..ad8e7b7db 100644 --- a/ports/libaiff/portfile.cmake +++ b/ports/libaiff/portfile.cmake @@ -2,26 +2,23 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libaiff-5.0) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/aifftools/files/libaiff/LibAiff%205.0/libaiff-5.0-release.tar.gz" FILENAME "libaiff-5.0-release.tar.gz" SHA512 7800f9a3fbd0c5a17b8cc6c9b60181131d159ab5f5fb8e7de54e8f88c151717a988231de664a635e61940267c854a9ce83d58b12e322dcdda3aa8080c7b15f66 ) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH PATCHES - "${CMAKE_CURRENT_LIST_DIR}/allow_utf_16_filename.patch" - "${CMAKE_CURRENT_LIST_DIR}/buffer_uninitialized.patch" + "${CMAKE_CURRENT_LIST_DIR}/allow_utf_16_filename.patch" + "${CMAKE_CURRENT_LIST_DIR}/buffer_uninitialized.patch" ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/libaiff) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/libarchive/CONTROL b/ports/libarchive/CONTROL index b39593aa9..19bee0af1 100644 --- a/ports/libarchive/CONTROL +++ b/ports/libarchive/CONTROL @@ -1,5 +1,5 @@ Source: libarchive -Version: 3.3.3-3 +Version: 3.4.0-1 Homepage: https://github.com/libarchive/libarchive Description: Library for reading and writing streaming archives Build-Depends: zlib diff --git a/ports/libarchive/fix-buildsystem.patch b/ports/libarchive/fix-buildsystem.patch index 59ffec3c9..51dbbf2ec 100644 --- a/ports/libarchive/fix-buildsystem.patch +++ b/ports/libarchive/fix-buildsystem.patch @@ -1,63 +1,62 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1ca9d8f..61c3b2a 100644 +index bd80b12..6509541 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -166,7 +166,7 @@ IF (MSVC) - # result of an assignment. - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4706") - # /WX option is the same as gcc's -Werror option. -- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /WX") -+ #SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /WX") <- breaks x64-debug - # /Oi option enables built-in functions. - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Oi") +@@ -148,10 +148,6 @@ IF (CMAKE_C_COMPILER_ID MATCHES "^XL$") + SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -qinfo=pro:use") + ENDIF(CMAKE_C_COMPILER_ID MATCHES "^XL$") + IF (MSVC) +- if (ENABLE_WERROR) +- # /WX option is the same as gcc's -Werror option. +- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") +- endif () ################################################################# -@@ -359,7 +359,7 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") + # Set compile flags for debug build. + # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug" +@@ -377,8 +373,6 @@ IF(DEFINED __GNUWIN32PATH AND EXISTS "${__GNUWIN32PATH}") + # Maybe DLL path is "C:/Program Files/GnuWin32/bin". # The zlib and the bzip2 Setup program have installed programs and DLLs into # "C:/Program Files/GnuWin32" by default. - # This is convenience setting for Windows. +- # This is convenience setting for Windows. - SET(CMAKE_PREFIX_PATH ${__GNUWIN32PATH} $(CMAKE_PREFIX_PATH)) -+ #SET(CMAKE_PREFIX_PATH ${__GNUWIN32PATH} $(CMAKE_PREFIX_PATH)) # # If you didn't use Setup program or installed into nonstandard path, # cmake cannot find out your zlib or bzip2 libraries and include files, -@@ -399,11 +399,12 @@ IF(ZLIB_FOUND) - # - # Test if ZLIB_WINAPI macro is needed to use. - # +@@ -415,14 +409,7 @@ IF(ZLIB_FOUND) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) + IF(WIN32 AND NOT CYGWIN) +- # +- # Test if ZLIB_WINAPI macro is needed to use. +- # - TRY_MACRO_FOR_LIBRARY( - "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" - RUNS - "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" - ZLIB_WINAPI) + SET(ZLIB_WINAPI OFF) # skip following test, it crashes with weird message box -+ #TRY_MACRO_FOR_LIBRARY( -+ # "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" -+ # RUNS -+ # "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" -+ # ZLIB_WINAPI) IF(ZLIB_WINAPI) ADD_DEFINITIONS(-DZLIB_WINAPI) ELSE(ZLIB_WINAPI) -@@ -462,8 +463,6 @@ ENDIF() - IF(LIBLZMA_FOUND) +@@ -482,8 +469,6 @@ IF(LIBLZMA_FOUND) SET(HAVE_LIBLZMA 1) SET(HAVE_LZMA_H 1) + CMAKE_PUSH_CHECK_STATE() - SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR}) - SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES}) INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS}) LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES}) # Test if a macro is needed for the library. -@@ -1227,7 +1226,8 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R) +@@ -1327,7 +1312,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(localtime_r HAVE_LOCALTIME_R) CHECK_FUNCTION_EXISTS_GLIBC(lstat HAVE_LSTAT) CHECK_FUNCTION_EXISTS_GLIBC(lutimes HAVE_LUTIMES) CHECK_FUNCTION_EXISTS_GLIBC(mbrtowc HAVE_MBRTOWC) -CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE) -+#CHECK_FUNCTION_EXISTS_GLIBC(memmove HAVE_MEMMOVE) +set(HAVE_MEMMOVE 1) CHECK_FUNCTION_EXISTS_GLIBC(mkdir HAVE_MKDIR) CHECK_FUNCTION_EXISTS_GLIBC(mkfifo HAVE_MKFIFO) CHECK_FUNCTION_EXISTS_GLIBC(mknod HAVE_MKNOD) -@@ -1258,11 +1258,16 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) +@@ -1359,11 +1344,11 @@ CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME) CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES) CHECK_FUNCTION_EXISTS_GLIBC(utimensat HAVE_UTIMENSAT) CHECK_FUNCTION_EXISTS_GLIBC(vfork HAVE_VFORK) @@ -66,20 +65,15 @@ index 1ca9d8f..61c3b2a 100644 -CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY) -CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN) -CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB) -+#CHECK_FUNCTION_EXISTS_GLIBC(wcrtomb HAVE_WCRTOMB) +set(HAVE_WCRTOMB 1) -+#CHECK_FUNCTION_EXISTS_GLIBC(wcscmp HAVE_WCSCMP) +set(HAVE_WCSCMP 1) -+#CHECK_FUNCTION_EXISTS_GLIBC(wcscpy HAVE_WCSCPY) +set(HAVE_WCSCPY 1) -+#CHECK_FUNCTION_EXISTS_GLIBC(wcslen HAVE_WCSLEN) +set(HAVE_WCSLEN 1) -+#CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB) +set(HAVE_WCTOMB 1) CHECK_FUNCTION_EXISTS_GLIBC(_ctime64_s HAVE__CTIME64_S) CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64) CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE) -@@ -1274,10 +1279,14 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH) +@@ -1375,10 +1360,10 @@ CHECK_FUNCTION_EXISTS(cygwin_conv_path HAVE_CYGWIN_CONV_PATH) CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO) CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R) CHECK_FUNCTION_EXISTS(strftime HAVE_STRFTIME) @@ -87,18 +81,14 @@ index 1ca9d8f..61c3b2a 100644 -CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP) -CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY) -CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE) -+#CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF) +set(HAVE_VPRINTF 1) -+#CHECK_FUNCTION_EXISTS(wmemcmp HAVE_WMEMCMP) +set(HAVE_WMEMCMP 1) -+#CHECK_FUNCTION_EXISTS(wmemcpy HAVE_WMEMCPY) +set(HAVE_WMEMCPY 1) -+#CHECK_FUNCTION_EXISTS(wmemmove HAVE_WMEMMOVE) +set(HAVE_WMEMMOVE 1) CMAKE_POP_CHECK_STATE() # Restore the state of the variables -@@ -1314,9 +1323,13 @@ CHECK_C_SOURCE_COMPILES( +@@ -1419,9 +1404,13 @@ CHECK_C_SOURCE_COMPILES( "#include \nint main() { return major(256); }" MAJOR_IN_SYSMACROS) @@ -112,32 +102,32 @@ index 1ca9d8f..61c3b2a 100644 IF(HAVE_STRERROR_R) SET(HAVE_DECL_STRERROR_R 1) -@@ -1689,12 +1702,12 @@ INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) +@@ -1977,13 +1966,10 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in + INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) ADD_DEFINITIONS(-DHAVE_CONFIG_H) - # Handle generation of the libarchive.pc file for pkg-config +-# Handle generation of the libarchive.pc file for pkg-config -INCLUDE(CreatePkgConfigFile) -+#INCLUDE(CreatePkgConfigFile) - +- # # Register installation of PDF documents. # -IF(WIN32 AND NOT CYGWIN) -+IF(0 AND WIN32 AND NOT CYGWIN) ++IF(0) # # On Windows platform, It's better that we install PDF documents # on one's computer. diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt -index 1f85c01..11b2fb1 100644 +index ec775bb..d63ac7c 100644 --- a/libarchive/CMakeLists.txt +++ b/libarchive/CMakeLists.txt -@@ -210,28 +210,22 @@ IF(WIN32 AND NOT CYGWIN) - LIST(APPEND libarchive_SOURCES archive_disk_acl_sunos.c) +@@ -235,28 +235,22 @@ ELSEIF(ARCHIVE_ACL_SUNOS) ENDIF() --# Libarchive is a shared library + # Libarchive is a shared library -ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS}) +ADD_LIBRARY(archive ${libarchive_SOURCES} ${include_HEADERS}) + TARGET_INCLUDE_DIRECTORIES(archive PUBLIC .) TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS}) -SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) - @@ -146,9 +136,9 @@ index 1f85c01..11b2fb1 100644 -TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS}) -SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS +IF(BUILD_SHARED_LIBS) -+ SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) ++ SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) +ELSE() -+ SET_TARGET_PROPERTIES(archive PROPERTIES COMPILE_DEFINITIONS ++ SET_TARGET_PROPERTIES(archive PROPERTIES COMPILE_DEFINITIONS LIBARCHIVE_STATIC) -# On Posix systems, libarchive.so and libarchive.a can co-exist. -IF(NOT WIN32 OR CYGWIN) @@ -164,7 +154,6 @@ index 1f85c01..11b2fb1 100644 LIBRARY DESTINATION lib ARCHIVE DESTINATION lib) - INSTALL_MAN(${libarchive_MANS}) -+ #INSTALL_MAN(${libarchive_MANS}) INSTALL(FILES ${include_HEADERS} DESTINATION include) ENDIF() diff --git a/ports/libarchive/fix-zstd.patch b/ports/libarchive/fix-zstd.patch new file mode 100644 index 000000000..5c3b6cd54 --- /dev/null +++ b/ports/libarchive/fix-zstd.patch @@ -0,0 +1,28 @@ +From 9397ed51eddf43481d5710eb80441ce4a64356ea Mon Sep 17 00:00:00 2001 +From: Julian Scholle +Date: Fri, 11 Oct 2019 16:46:06 +0200 +Subject: [PATCH] test + +--- + CMakeLists.txt | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 13da432..911ae5b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -588,7 +588,10 @@ IF(ENABLE_ZSTD) + ENDIF (ZSTD_INCLUDE_DIR) + + FIND_PATH(ZSTD_INCLUDE_DIR zstd.h) +- FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd libzstd) ++ FIND_LIBRARY(ZSTD_LIBRARY_DEBUG NAMES zstdd libzstdd) ++ FIND_LIBRARY(ZSTD_LIBRARY_RELEASE NAMES zstd libzstd) ++ INCLUDE(SelectLibraryConfigurations) ++ SELECT_LIBRARY_CONFIGURATIONS(ZSTD) + INCLUDE(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZSTD DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR) + ELSE(ENABLE_ZSTD) +-- +2.16.1.windows.1 + diff --git a/ports/libarchive/no-werror.patch b/ports/libarchive/no-werror.patch deleted file mode 100644 index fbd3be8c6..000000000 --- a/ports/libarchive/no-werror.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 745dc29..820c56f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -96,7 +96,7 @@ IF (CMAKE_C_COMPILER_ID MATCHES "^GNU$") - ################################################################# - # Set compile flags for debug build. - # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug" -- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror") -+ #SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror") - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra") - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wunused") - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow") -@@ -112,7 +112,7 @@ IF (CMAKE_C_COMPILER_ID MATCHES "^Clang$") - # Set compile flags for debug build. - # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug" - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g") -- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror") -+ #SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror") - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra") - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wunused") - SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow") diff --git a/ports/libarchive/portfile.cmake b/ports/libarchive/portfile.cmake index 5d6755bc0..3b69a69b9 100644 --- a/ports/libarchive/portfile.cmake +++ b/ports/libarchive/portfile.cmake @@ -7,14 +7,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libarchive/libarchive - REF v3.3.3 - SHA512 10063764b610c0c966ba0177cac0d2cb781e297a45545cc8a587741513089af26f40769670894c86e7985b73c47e9cb985253bc3bef3a12fa83fe2a6a30acb6d + REF 614110e76d9dbb9ed3e159a71cbd75fa3b23efe3 + SHA512 8feac2c0e22e5b7c05f3be97c774ad82d39bdea4b3fa3a2b297b85f8a5a9f548c528ef63f5495afd42fb75759e03a4108f3831b27103f899f8fe4ef7e8e2d1cf HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-buildsystem.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-dependencies.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-lz4.patch - ${CMAKE_CURRENT_LIST_DIR}/no-werror.patch + fix-buildsystem.patch + fix-dependencies.patch + fix-lz4.patch + fix-zstd.patch ) set(BUILD_libarchive_bzip2 OFF) @@ -69,7 +69,9 @@ vcpkg_configure_cmake( -DENABLE_ACL=OFF -DENABLE_TEST=OFF -DENABLE_ICONV=OFF - -DPOSIX_REGEX_LIB=NONE) + -DPOSIX_REGEX_LIB=NONE + -DENABLE_WERROR=OFF +) vcpkg_install_cmake() vcpkg_copy_pdbs() diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL index eaa533a61..ab99da6ba 100644 --- a/ports/libbson/CONTROL +++ b/ports/libbson/CONTROL @@ -1,4 +1,4 @@ Source: libbson -Version: 1.14.0 +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 18f567b71..bec809e7e 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,95 +1,95 @@ -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 - HEAD_REF master - PATCHES fix-uwp.patch -) - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(ENABLE_STATIC ON) -else() - set(ENABLE_STATIC OFF) -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DENABLE_MONGOC=OFF - -DENABLE_BSON=ON - -DENABLE_TESTS=OFF - -DENABLE_EXAMPLES=OFF - -DENABLE_STATIC=${ENABLE_STATIC} - -DBUILD_VERSION=${BUILD_VERSION} -) - -vcpkg_install_cmake() -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libbson-static-1.0") -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libbson-1.0") -endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver) - -# This rename is needed because the official examples expect to use #include -# See Microsoft/vcpkg#904 -file(RENAME - ${CURRENT_PACKAGES_DIR}/include/libbson-1.0 - ${CURRENT_PACKAGES_DIR}/temp) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) -file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/libbson-static-1.0.a - ${CURRENT_PACKAGES_DIR}/lib/libbson-1.0.a) - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/libbson-static-1.0.a - ${CURRENT_PACKAGES_DIR}/debug/lib/libbson-1.0.a) - else() - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/bson-static-1.0.lib - ${CURRENT_PACKAGES_DIR}/lib/bson-1.0.lib) - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/bson-static-1.0.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/bson-1.0.lib) - endif() - - # drop the __declspec(dllimport) when building static - vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include - PATCHES static.patch - ) - - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) -endif() - -configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/libbson/copyright COPYONLY) -file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(PORT_POSTFIX "static-1.0") -else() - set(PORT_POSTFIX "1.0") -endif() - -# Create cmake files for _both_ find_package(libbson) and find_package(libbson-static-1.0)/find_package(libbson-1.0) -file(READ ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake LIBBSON_CONFIG_CMAKE) -string(REPLACE "/include/libbson-1.0" "/include" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}") -string(REPLACE "bson-static-1.0" "bson-1.0" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake "${LIBBSON_CONFIG_CMAKE}") -file(COPY ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}) -file(COPY ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake) - -vcpkg_copy_pdbs() +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mongodb/mongo-c-driver + REF 541086adcf1eecf88ac09fda47d9a8ec1598015d # debian/1.15.1-1 + SHA512 a57438dfae9d0993ae04b7a76677f79331699898f21e7645db5edd2c91014f33b738a0af67b58234d1ee03aab2ae3b58c183bbd043fc2bde5cc1a4e111755b70 + HEAD_REF master + PATCHES fix-uwp.patch +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(ENABLE_STATIC ON) +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 + OPTIONS + -DENABLE_MONGOC=OFF + -DENABLE_BSON=ON + -DENABLE_TESTS=OFF + -DENABLE_EXAMPLES=OFF + -DENABLE_STATIC=${ENABLE_STATIC} + -DBUILD_VERSION=${BUILD_VERSION} +) + +vcpkg_install_cmake() +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-static-1.0) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libbson-1.0) +endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver) + +# This rename is needed because the official examples expect to use #include +# See Microsoft/vcpkg#904 +file(RENAME + ${CURRENT_PACKAGES_DIR}/include/libbson-1.0 + ${CURRENT_PACKAGES_DIR}/temp) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include) +file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + file(RENAME + ${CURRENT_PACKAGES_DIR}/lib/libbson-static-1.0.a + ${CURRENT_PACKAGES_DIR}/lib/libbson-1.0.a) + file(RENAME + ${CURRENT_PACKAGES_DIR}/debug/lib/libbson-static-1.0.a + ${CURRENT_PACKAGES_DIR}/debug/lib/libbson-1.0.a) + else() + file(RENAME + ${CURRENT_PACKAGES_DIR}/lib/bson-static-1.0.lib + ${CURRENT_PACKAGES_DIR}/lib/bson-1.0.lib) + file(RENAME + ${CURRENT_PACKAGES_DIR}/debug/lib/bson-static-1.0.lib + ${CURRENT_PACKAGES_DIR}/debug/lib/bson-1.0.lib) + endif() + + # drop the __declspec(dllimport) when building static + file(READ ${CURRENT_PACKAGES_DIR}/include/bson/bson-macros.h LIBBSON_MACROS_H) + string(REPLACE "define BSON_API __declspec(dllimport)" "define BSON_API" LIBBSON_MACROS_H "${LIBBSON_MACROS_H}") + file(WRITE ${CURRENT_PACKAGES_DIR}/include/bson/bson-macros.h "${LIBBSON_MACROS_H}") + + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) +endif() + +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/libbson/copyright COPYONLY) +file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(PORT_POSTFIX "static-1.0") +else() + set(PORT_POSTFIX "1.0") +endif() + +# Create cmake files for _both_ find_package(libbson) and find_package(libbson-static-1.0)/find_package(libbson-1.0) +file(READ ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake LIBBSON_CONFIG_CMAKE) +string(REPLACE "/include/libbson-1.0" "/include" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}") +string(REPLACE "bson-static-1.0" "bson-1.0" LIBBSON_CONFIG_CMAKE "${LIBBSON_CONFIG_CMAKE}") +file(WRITE ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake "${LIBBSON_CONFIG_CMAKE}") +file(COPY ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}) +file(COPY ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson-${PORT_POSTFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config.cmake) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config-version.cmake ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-config-version.cmake) + +vcpkg_copy_pdbs() diff --git a/ports/libbson/static.patch b/ports/libbson/static.patch deleted file mode 100644 index 7710d5b6d..000000000 --- a/ports/libbson/static.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/bson/bson-macros.h -+++ b/bson/bson-macros.h -@@ -87,7 +87,7 @@ - #elif defined(BSON_COMPILATION) - #define BSON_API __declspec(dllexport) - #else --#define BSON_API __declspec(dllimport) -+#define BSON_API - #endif - #define BSON_CALL __cdecl - diff --git a/ports/libcerf/001-fix-static-build.patch b/ports/libcerf/001-fix-static-build.patch new file mode 100644 index 000000000..ffaeaedfb --- /dev/null +++ b/ports/libcerf/001-fix-static-build.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f79581f..4fc9457 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,6 +56,8 @@ if(MSVC) + # set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/$) + if(BUILD_SHARED_LIBS) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) ++ else() ++ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd") + endif() + else() + add_compile_options(-O2 -Wno-sign-compare -fno-omit-frame-pointer) diff --git a/ports/libcerf/CONTROL b/ports/libcerf/CONTROL new file mode 100644 index 000000000..72b1324d3 --- /dev/null +++ b/ports/libcerf/CONTROL @@ -0,0 +1,4 @@ +Source: libcerf +Version: 1.13 +Description: A self-contained numeric library that provides an efficient and accurate implementation of complex error functions, along with Dawson, Faddeeva, and Voigt functions. +Homepage: https://jugit.fz-juelich.de/mlz/libcerf diff --git a/ports/libcerf/portfile.cmake b/ports/libcerf/portfile.cmake new file mode 100644 index 000000000..20e3c7c70 --- /dev/null +++ b/ports/libcerf/portfile.cmake @@ -0,0 +1,35 @@ +include(vcpkg_common_functions) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_SHARED_LIBS ON) +else() + set(BUILD_SHARED_LIBS OFF) +endif() + +vcpkg_download_distfile(ARCHIVE + URLS "https://jugit.fz-juelich.de/mlz/libcerf/uploads/924b8d245ad3461107ec630734dfc781/libcerf-1.13.tgz" + FILENAME "libcerf-1.13.tgz" + SHA512 4df711d3e9fd00de99959c3253a9565d1dc2c41f75a5800ced9c52f89cbd13185fbdca3ad75de788fd16c044082738ab345b7fb6a8820ac588edafe1812944aa +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES 001-fix-static-build.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCERF_CPP=ON + -DLIB_MAN=OFF + -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libcerf RENAME copyright) + +vcpkg_test_cmake(PACKAGE_NAME libcerf) diff --git a/ports/libconfig/CONTROL b/ports/libconfig/CONTROL index 8b64a280e..3cbedcf5c 100644 --- a/ports/libconfig/CONTROL +++ b/ports/libconfig/CONTROL @@ -1,4 +1,4 @@ Source: libconfig -Version: 1.7.2 +Version: 1.7.2-1 Homepage: https://github.com/hyperrealm/libconfig Description: C/C++ library for processing configuration files diff --git a/ports/libconfig/portfile.cmake b/ports/libconfig/portfile.cmake index 9456636a9..a3958d342 100644 --- a/ports/libconfig/portfile.cmake +++ b/ports/libconfig/portfile.cmake @@ -13,6 +13,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON ) diff --git a/ports/libconfuse/CMakeLists.txt b/ports/libconfuse/CMakeLists.txt new file mode 100644 index 000000000..651dab2f0 --- /dev/null +++ b/ports/libconfuse/CMakeLists.txt @@ -0,0 +1,139 @@ +cmake_minimum_required(VERSION 3.14) + +set(ac_init_line_re "AC_INIT\\(([^,]+), ([^,]+), ([^,]+), ([^)]+)\\)") +file(STRINGS + ${CMAKE_CURRENT_LIST_DIR}/configure.ac + ac_init_line + REGEX ${ac_init_line_re} +) + +string(REGEX REPLACE "${ac_init_line_re}" "\\1" PACKAGE_NAME ${ac_init_line}) +string(REGEX REPLACE "${ac_init_line_re}" "\\2" PACKAGE_VERSION ${ac_init_line}) +string(REGEX REPLACE "${ac_init_line_re}" "\\3" PACKAGE_BUGREPORT ${ac_init_line}) +string(REGEX REPLACE "${ac_init_line_re}" "\\4" PACKAGE ${ac_init_line}) + +set(PACKAGE_TARNAME ${PACKAGE}) +set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") + +string(REGEX REPLACE "([0-9]+.[0-9]+.[0-9]+).*" "\\1" SEMANTIC_VERSION ${PACKAGE_VERSION}) + +project(libconfuse VERSION ${SEMANTIC_VERSION} LANGUAGES C) + +include(CheckFunctionExists) +include(CheckIncludeFile) +include(GNUInstallDirs) + +find_package(FLEX REQUIRED) +find_package(Gettext QUIET) +find_package(Intl QUIET) + +set(CMAKE_DISABLE_SOURCE_CHANGES ON) +set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) + +if (GETTEXT_FOUND) + set(ENABLE_NLS 1) +endif () + +# libconfig.pc.in +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix ${prefix}) +set(libdir ${prefix}/${CMAKE_INSTALL_LIBDIR}) +set(includedir ${prefix}/${CMAKE_INSTALL_INCLUDEDIR}) +set(VERSION ${PROJECT_VERSION}) + +if (Intl_FOUND AND Intl_LIBRARIES) + set(LTLIBINTL ${Intl_LIBRARIES}) +endif () + +configure_file(libconfuse.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libconfuse.pc @ONLY) + +check_function_exists(dcgettext HAVE_DCGETTEXT) +check_function_exists(fmemopen HAVE_FMEMOPEN) +check_function_exists(funopen HAVE_FUNOPEN) +check_function_exists(gettext HAVE_GETTEXT) +check_function_exists(iconv HAVE_ICONV) +check_function_exists(strcasecmp HAVE_STRCASECMP) +check_function_exists(strdup HAVE_STRDUP) +check_function_exists(_strdup HAVE__STRDUP) +check_function_exists(strndup HAVE_STRNDUP) +check_function_exists(setenv HAVE_SETENV) +check_function_exists(unsetenv HAVE_UNSETENV) +check_function_exists(_putenv HAVE__PUTENV) + +if (MSVC) + check_function_exists(_fileno HAVE__FILENO) + check_function_exists(_isatty HAVE__ISATTY) + check_function_exists(_stricmp HAVE_STRCASECMP) +endif () + +check_include_file(stdlib.h HAVE_STDLIB_H) +check_include_file(string.h HAVE_STRING_H) + +check_include_file(strings.h HAVE_STRINGS_H) +check_include_file(sys/stat.h HAVE_SYS_STAT_H) +check_include_file(sys/types.h HAVE_SYS_TYPES_H) +check_include_file(unistd.h HAVE_UNISTD_H) +check_include_file(windows.h HAVE_WINDOWS_H) + +configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) + +flex_target( + CONFUSE + src/lexer.l + ${CMAKE_CURRENT_BINARY_DIR}/lexer.c + COMPILE_FLAGS -Pcfg_yy +) + +set(libconfuse_sources + src/confuse.c + ${FLEX_CONFUSE_OUTPUTS} +) + +if (NOT HAVE_FMEMOPEN) + list(APPEND libconfuse_sources src/fmemopen.c) +endif () + +add_library(libconfuse ${libconfuse_sources}) + +if (BUILD_SHARED_LIBS) + if (WIN32) + target_compile_definitions(libconfuse PRIVATE BUILDING_DLL) + endif () +else () + target_compile_definitions(libconfuse PUBLIC BUILDING_STATIC) +endif () + +string(COMPARE EQUAL "${CMAKE_C_COMPILER_ID}" "GNU" USING_GNUC) + +target_compile_definitions(libconfuse + PUBLIC + $ + PRIVATE + $<$:_CRT_SECURE_NO_WARNINGS> + $<$:_CRT_NONSTDC_NO_DEPRECATE> + $<$:strcasecmp=_stricmp> + $<$:_GNU_SOURCE> +) + +target_include_directories(libconfuse + PUBLIC + $ + $ + $ +) + +set_target_properties(libconfuse PROPERTIES PUBLIC_HEADER src/confuse.h) + +install(TARGETS libconfuse EXPORT unofficial-libconfuse-config) + +install( + EXPORT unofficial-libconfuse-config + NAMESPACE unofficial::libconfuse:: + DESTINATION share/unofficial-libconfuse + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) + +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libconfuse.pc + DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig +) diff --git a/ports/libconfuse/CONTROL b/ports/libconfuse/CONTROL new file mode 100644 index 000000000..15044cce3 --- /dev/null +++ b/ports/libconfuse/CONTROL @@ -0,0 +1,4 @@ +Source: libconfuse +Version: 2019-07-14 +Description: Small configuration file parser library for C +Homepage: https://github.com/martinh/libconfuse diff --git a/ports/libconfuse/config.h.in b/ports/libconfuse/config.h.in new file mode 100644 index 000000000..3a43264bd --- /dev/null +++ b/ports/libconfuse/config.h.in @@ -0,0 +1,99 @@ +/* Define if translation of program messages to the user's native + language is requested. */ +#cmakedefine ENABLE_NLS + +/* Define if you have the header file. */ +#cmakedefine HAVE_STDLIB_H + +/* Define if you have the header file. */ +#cmakedefine HAVE_STRING_H + +/* Define if you have the header file. */ +#cmakedefine HAVE_STRINGS_H + +/* Define if you have the header file. */ +#cmakedefine HAVE_SYS_STAT_H + +/* Define if you have the header file. */ +#cmakedefine HAVE_SYS_TYPES_H + +/* Define if you have the header file. */ +#cmakedefine HAVE_UNISTD_H + +/* Define if you have the header file. */ +#cmakedefine HAVE_WINDOWS_H + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you have the `_fileno' function. */ +#cmakedefine HAVE__FILENO + +/* Define if you have the `_isatty' function. */ +#cmakedefine HAVE__ISATTY + +/* Define if the GNU dcgettext() function is already present or preinstalled. */ +#cmakedefine HAVE_DCGETTEXT + +/* Define if you have the `fmemopen' function. */ +#cmakedefine HAVE_FMEMOPEN + +/* Define if you have the `funopen' function. */ +#cmakedefine HAVE_FUNOPEN + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#cmakedefine HAVE_GETTEXT + +/* Define if you have the iconv() function. */ +#cmakedefine HAVE_ICONV + +/* Define if you have the `strcasecmp' function. */ +#cmakedefine HAVE_STRCASECMP + +/* Define if you have the `strdup' function. */ +#cmakedefine HAVE_STRDUP + +/* Define if you have the `_strdup' function. */ +#cmakedefine HAVE__STRDUP + +/* Define if you have the strndup function */ +#cmakedefine HAVE_STRNDUP + +/* Define if you have the `setenv' function. */ +#cmakedefine HAVE_SETENV + +/* Define if you have the `unsetenv' function. */ +#cmakedefine HAVE_UNSETENV + +/* Define if you have the `_putenv' function. */ +#cmakedefine HAVE__PUTENV + +/* Define if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +/*#undef YYTEXT_POINTER*/ + +/* Define to empty if `const' does not conform to ANSI C. */ +/*#undef const*/ + +/* Name of package */ +#define PACKAGE "@PACKAGE@" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "@PACKAGE_NAME@" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "@PACKAGE_STRING@" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "@PACKAGE_TARNAME@" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "@PACKAGE_VERSION@" + +/* Version number of package */ +#define VERSION "@PACKAGE_VERSION@" + +#define LOCALEDIR "@CMAKE_INSTALL_LOCALEDIR@" diff --git a/ports/libconfuse/portfile.cmake b/ports/libconfuse/portfile.cmake new file mode 100644 index 000000000..01c6290cd --- /dev/null +++ b/ports/libconfuse/portfile.cmake @@ -0,0 +1,43 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinh/libconfuse + REF 67e1207c8de440525a3fdde1448a586791ebc052 + SHA512 15d4eb0640fe74cc90910820715a70b2f944d2ed9753cca3be90f0ac6840beeda6a370b0624588d81ed2def2f8463e404473721351a685af711cf1d59efb870a + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.in DESTINATION ${SOURCE_PATH}) + +vcpkg_find_acquire_program(FLEX) +get_filename_component(FLEX_DIR ${FLEX} DIRECTORY) +vcpkg_add_to_path(${FLEX_DIR}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/include/confuse.h + "ifdef BUILDING_STATIC" + "if 1 // ifdef BUILDING_STATIC" + ) +endif() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +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}) diff --git a/ports/libcopp/CONTROL b/ports/libcopp/CONTROL index 68115219f..ab8db193d 100644 --- a/ports/libcopp/CONTROL +++ b/ports/libcopp/CONTROL @@ -1,3 +1,3 @@ Source: libcopp -Version: 1.1.0-2 +Version: 1.2.1 Description: A cross-platfrom coroutine library for C++ diff --git a/ports/libcopp/portfile.cmake b/ports/libcopp/portfile.cmake index 026e4a14c..fa5de5d38 100644 --- a/ports/libcopp/portfile.cmake +++ b/ports/libcopp/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO owt5008137/libcopp - REF 1.1.0 - SHA512 27b444d158281786154830c6e216e701ba0301af1d7a08873b33e27ce3d2db6ddb4753239878633f4c2aed9f759b46f961408a2eb7b50b5d445c3531c1fa9546 + REF 1.2.1 + SHA512 bd3525b7cafb261b395ab767d30654ee7c2920f2b8312ed7887b004e764b8dd8dece5f34a5f7724d16c4a56a281ea9eb3107eff54c947160fbf9f12b76b34485 HEAD_REF v2 ) diff --git a/ports/libcrafter/CONTROL b/ports/libcrafter/CONTROL new file mode 100644 index 000000000..76c3c1bc2 --- /dev/null +++ b/ports/libcrafter/CONTROL @@ -0,0 +1,5 @@ +Source: libcrafter +Version: 0.3 +Homepage: https://github.com/pellegre/libcrafter +Description: Libcrafter is a high level library for C++ designed to create and decode network packets. +Build-Depends: libpcap \ No newline at end of file diff --git a/ports/libcrafter/fix-build-error.patch b/ports/libcrafter/fix-build-error.patch new file mode 100644 index 000000000..cc97b4a63 --- /dev/null +++ b/ports/libcrafter/fix-build-error.patch @@ -0,0 +1,20 @@ +diff --git a/libcrafter/configure.ac b/libcrafter/configure.ac +index 860d98b..b04ccce 100644 +--- a/libcrafter/configure.ac ++++ b/libcrafter/configure.ac +@@ -35,14 +35,13 @@ AC_ARG_WITH(libpcap, + PCAPINC="-I$withval -I$withval/bpf" + PCAPLIB="-L$withval -lpcap" + elif test -f $withval/include/pcap.h -a \ +- -f $withval/include/net/bpf.h -a \ + -f $withval/lib/libpcap.a; then + owd=`pwd` + if cd $withval; then withval=`pwd`; cd $owd; fi + PCAPINC="-I$withval/include" + PCAPLIB="-L$withval/lib -lpcap" + else +- AC_ERROR(pcap.h, net/bpf.h, or libpcap.a not found in $withval) ++ AC_ERROR(pcap.h, or libpcap.a not found in $withval) + fi + ;; + esac ], diff --git a/ports/libcrafter/portfile.cmake b/ports/libcrafter/portfile.cmake new file mode 100644 index 000000000..57427906b --- /dev/null +++ b/ports/libcrafter/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux platforms" ON_TARGET "Windows" "OSX") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pellegre/libcrafter + REF version-0.3 + SHA512 7c396ba942b304dddfaa569adb44697f75568d3ef2ed48dda758e281f3b7c172439309033bbf5498069a4a61a952f93e41af99b129ce874ce76b5ec08da58116 + HEAD_REF master + PATCHES fix-build-error.patch +) + +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + PROJECT_SUBPATH libcrafter + OPTIONS + --with-libpcap=${CURRENT_INSTALLED_DIR} +) + +vcpkg_install_make() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/libcrafter/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file diff --git a/ports/libdatrie/CONTROL b/ports/libdatrie/CONTROL index 587063ec5..ddcdf9972 100644 --- a/ports/libdatrie/CONTROL +++ b/ports/libdatrie/CONTROL @@ -1,5 +1,5 @@ Source: libdatrie -Version: 0.2.10-2 +Version: 0.2.10-3 Homepage: https://linux.thai.net/pub/ThaiLinux/software/libthai Description: implementation of double-array structure for representing trie Build-Depends: libiconv diff --git a/ports/libdatrie/portfile.cmake b/ports/libdatrie/portfile.cmake index f7fefd248..74b8bbd80 100644 --- a/ports/libdatrie/portfile.cmake +++ b/ports/libdatrie/portfile.cmake @@ -2,17 +2,16 @@ set(LIBDATRIE_VERSION 0.2.10) include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libdatrie-${LIBDATRIE_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://linux.thai.net/pub/ThaiLinux/software/libthai/libdatrie-${LIBDATRIE_VERSION}.tar.xz" FILENAME "libdatrie-${LIBDATRIE_VERSION}.tar.xz" SHA512 ee68ded9d6e06c562da462d42e7e56098a82478d7b8547506200c3018b72536c4037a4e518924f779dc77d3ab139d93216bdb29ab4116b9dc9efd1a5d1eb9e31 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-exports.patch" "${CMAKE_CURRENT_LIST_DIR}/fix-trietool.patch" ) diff --git a/ports/libdisasm/CMakeLists.txt b/ports/libdisasm/CMakeLists.txt index 9d640a9b9..c3a8dfa30 100644 --- a/ports/libdisasm/CMakeLists.txt +++ b/ports/libdisasm/CMakeLists.txt @@ -4,32 +4,32 @@ project(libdisasm C) set(CMAKE_DEBUG_POSTFIX d) set(SRCS - ia32_implicit.c - ia32_implicit.h - ia32_insn.c - ia32_insn.h - ia32_invariant.c - ia32_invariant.h - ia32_modrm.c - ia32_modrm.h - ia32_opcode_tables.c - ia32_opcode_tables.h - ia32_operand.c - ia32_operand.h - ia32_reg.c - ia32_reg.h - ia32_settings.c - ia32_settings.h - libdis.h - qword.h - x86_disasm.c - x86_format.c - x86_imm.c - x86_imm.h - x86_insn.c - x86_misc.c - x86_operand_list.c - x86_operand_list.h + libdisasm/ia32_implicit.c + libdisasm/ia32_implicit.h + libdisasm/ia32_insn.c + libdisasm/ia32_insn.h + libdisasm/ia32_invariant.c + libdisasm/ia32_invariant.h + libdisasm/ia32_modrm.c + libdisasm/ia32_modrm.h + libdisasm/ia32_opcode_tables.c + libdisasm/ia32_opcode_tables.h + libdisasm/ia32_operand.c + libdisasm/ia32_operand.h + libdisasm/ia32_reg.c + libdisasm/ia32_reg.h + libdisasm/ia32_settings.c + libdisasm/ia32_settings.h + libdisasm/libdis.h + libdisasm/qword.h + libdisasm/x86_disasm.c + libdisasm/x86_format.c + libdisasm/x86_imm.c + libdisasm/x86_imm.h + libdisasm/x86_insn.c + libdisasm/x86_misc.c + libdisasm/x86_operand_list.c + libdisasm/x86_operand_list.h ) include_directories(libdisasm) @@ -44,5 +44,5 @@ install( ) if(NOT DISABLE_INSTALL_HEADERS) - install(FILES libdis.h DESTINATION include) + install(FILES libdisasm/libdis.h DESTINATION include) endif() diff --git a/ports/libdisasm/CONTROL b/ports/libdisasm/CONTROL index dae49116d..32e725aa6 100644 --- a/ports/libdisasm/CONTROL +++ b/ports/libdisasm/CONTROL @@ -1,4 +1,4 @@ Source: libdisasm -Version: 0.23-2 +Version: 0.23-3 Homepage: https://sourceforge.net/projects/bastard Description: x86 Disassembler Library. diff --git a/ports/libdisasm/portfile.cmake b/ports/libdisasm/portfile.cmake index e4bbaba54..48b646652 100644 --- a/ports/libdisasm/portfile.cmake +++ b/ports/libdisasm/portfile.cmake @@ -2,24 +2,21 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(BASE_PATH ${CURRENT_BUILDTREES_DIR}/src/libdisasm-0.23) -set(SOURCE_PATH ${BASE_PATH}/libdisasm) - vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/bastard/files/libdisasm/0.23/libdisasm-0.23.tar.gz" FILENAME "libdisasm-0.23.tar.gz" SHA512 29eecfbfd8168188242278a1a38f0c90770d0581a52d4600ae6343829dd0d6607b98329f12a3d7409d43dd56dca6a7d1eb25d58a001c2bfd3eb8474c0e7879e7 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/sizeofvoid.patch +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES + sizeofvoid.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -29,4 +26,4 @@ vcpkg_configure_cmake( vcpkg_install_cmake() # Handle copyright -file(INSTALL ${BASE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libdisasm RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libdisasm/sizeofvoid.patch b/ports/libdisasm/sizeofvoid.patch index 428c5616c..1e4e008fc 100644 --- a/ports/libdisasm/sizeofvoid.patch +++ b/ports/libdisasm/sizeofvoid.patch @@ -1,7 +1,5 @@ -diff --git a/x86_disasm.c b/x86_disasm.c -index 04574fa..177bfb8 100644 ---- a/x86_disasm.c -+++ b/x86_disasm.c +--- a/libdisasm/x86_disasm.c ++++ b/libdisasm/x86_disasm.c @@ -35,7 +35,7 @@ unsigned int x86_disasm( unsigned char *buf, unsigned int buf_len, if ( offset >= buf_len ) { diff --git a/ports/libdivide/CONTROL b/ports/libdivide/CONTROL new file mode 100644 index 000000000..95af9a72c --- /dev/null +++ b/ports/libdivide/CONTROL @@ -0,0 +1,7 @@ +Source: libdivide +Version: 3.0 +Homepage: https://github.com/ridiculousfish/libdivide +Description: libdivide.h is a header-only C/C++ library for optimizing integer division. + +Feature: test +Description: Build test \ No newline at end of file diff --git a/ports/libdivide/portfile.cmake b/ports/libdivide/portfile.cmake new file mode 100644 index 000000000..17f63e4a7 --- /dev/null +++ b/ports/libdivide/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ridiculousfish/libdivide + REF v3.0 + SHA512 fae17a4125c3b17aeb37283d7bba9fea2e4d3b208861d6ed81a6cdcf5dbf3286cf676cedba99c73a16115cf8bf9dcbd2cf6a48ca52fb85d4b0b24024e53d055e + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test BUILD_TESTS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DLIBDIVIDE_SSE2=OFF + -DLIBDIVIDE_AVX2=OFF + -DLIBDIVIDE_AVX512=OFF + -DENABLE_VECTOR_EXTENSIONS=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libepoxy/CONTROL b/ports/libepoxy/CONTROL index acab175c5..f19def943 100644 --- a/ports/libepoxy/CONTROL +++ b/ports/libepoxy/CONTROL @@ -1,4 +1,5 @@ Source: libepoxy -Version: 1.5.3 +Version: 1.5.3-2 Homepage: https://github.com/anholt/libepoxy Description: Epoxy is a library for handling OpenGL function pointer management for you +Build-Depends: tool-meson diff --git a/ports/libepoxy/portfile.cmake b/ports/libepoxy/portfile.cmake index d4fc00fbc..50f3fa55f 100644 --- a/ports/libepoxy/portfile.cmake +++ b/ports/libepoxy/portfile.cmake @@ -9,12 +9,65 @@ vcpkg_from_github( SHA512 e831f4f918f08fd5f799501efc0e23b8d404478651634f5e7b35f8ebcc29d91abc447ab20da062dde5be75e18cb39ffea708688e6534f7ab257b949f9c53ddc8 HEAD_REF master) -vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -Denable-glx=no - -Denable-egl=no) -vcpkg_install_meson() -vcpkg_copy_pdbs() + +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -Denable-glx=no + -Denable-egl=no) + vcpkg_install_meson() + vcpkg_copy_pdbs() +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 install dh-autoreconf libgles2-mesa-dev\".") + endif() + + find_program(MAKE make) + if (NOT MAKE) + message(FATAL_ERROR "MAKE not found") + endif() + + file(REMOVE_RECURSE ${SOURCE_PATH}/m4) + file(MAKE_DIRECTORY ${SOURCE_PATH}/m4) + + set(LIBEPOXY_CONFIG_ARGS "--enable-x11=yes --enable-glx=yes --enable-egl=yes") + + vcpkg_execute_required_process( + COMMAND "autoreconf" -v --install + 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} "${LIBEPOXY_CONFIG_ARGS}" + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME config-${TARGET_TRIPLET} + ) + + message(STATUS "Building ${TARGET_TRIPLET}") + vcpkg_execute_required_process( + 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 + ) + file(COPY ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/bin) +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/pkgconfig) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share/pkgconfig) diff --git a/ports/libevent/CONTROL b/ports/libevent/CONTROL index 2534bf1f6..59ee136dd 100644 --- a/ports/libevent/CONTROL +++ b/ports/libevent/CONTROL @@ -1,5 +1,12 @@ Source: libevent -Version: 2.1.8-5 +Version: 2.1.11-1 Build-Depends: openssl Homepage: https://github.com/libevent/libevent Description: An event notification library + +Feature: openssl +Description: Support for openssl +Build-Depends: openssl + +Feature: thread +Description: Support for thread \ No newline at end of file diff --git a/ports/libevent/fix-crt_linkage.patch b/ports/libevent/fix-crt_linkage.patch new file mode 100644 index 000000000..b766b4556 --- /dev/null +++ b/ports/libevent/fix-crt_linkage.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bf333f3..5bc2a54 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -230,7 +230,7 @@ endif() + + if (${MSVC}) + set(msvc_static_runtime OFF) +- if ("${EVENT_LIBRARY_TYPE}" STREQUAL "STATIC") ++ if ("${VCPKG_CRT_LINKAGE}" STREQUAL "STATIC") + set(msvc_static_runtime ON) + endif() + diff --git a/ports/libevent/fix-file_path.patch b/ports/libevent/fix-file_path.patch new file mode 100644 index 000000000..179700b7e --- /dev/null +++ b/ports/libevent/fix-file_path.patch @@ -0,0 +1,26 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6e91c08..44b6e18 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1430,7 +1430,7 @@ configure_file(${PROJECT_SOURCE_DIR}/cmake/LibeventConfigBuildTree.cmake.in + # Calculate the relative directory from the Cmake dir. + file(RELATIVE_PATH + REL_INCLUDE_DIR +- "${EVENT_INSTALL_CMAKE_DIR}" ++ "${CURRENT_PACKAGES_DIR}/${EVENT_INSTALL_CMAKE_DIR}" + "${CMAKE_INSTALL_PREFIX}/include") + + # Note the LIBEVENT_CMAKE_DIR is defined in LibeventConfig.cmake.in, +diff --git a/cmake/AddEventLibrary.cmake b/cmake/AddEventLibrary.cmake +index 9de4484..411ca9d 100644 +--- a/cmake/AddEventLibrary.cmake ++++ b/cmake/AddEventLibrary.cmake +@@ -113,7 +113,7 @@ macro(add_event_library LIB_NAME) + EXPORT LibeventTargets + LIBRARY DESTINATION "lib" COMPONENT lib + ARCHIVE DESTINATION "lib" COMPONENT lib +- RUNTIME DESTINATION "lib" COMPONENT lib ++ RUNTIME DESTINATION "bin" COMPONENT bin + PUBLIC_HEADER DESTINATION "include/event2" + COMPONENT dev + ) diff --git a/ports/libevent/fix-target-files.patch b/ports/libevent/fix-target-files.patch deleted file mode 100644 index d1b2d5970..000000000 --- a/ports/libevent/fix-target-files.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b4a34f3d..4bd80d84 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1343,10 +1343,10 @@ endif() - set(EVENT_INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH "Installation directory for CMake files") - - # Make sure the paths are absolute. --foreach(p LIB BIN INCLUDE CMAKE) -+foreach(p INCLUDE CMAKE) - set(var EVENT_INSTALL_${p}_DIR) - if(NOT IS_ABSOLUTE "${${var}}") -- set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") -+ set(${var}_FULL "${CMAKE_INSTALL_PREFIX}/${${var}}") - endif() - endforeach() - -@@ -1371,15 +1371,15 @@ configure_file(${PROJECT_SOURCE_DIR}/cmake/LibeventConfigBuildTree.cmake.in - # Generate the config file for the installation tree. - file(RELATIVE_PATH - REL_INCLUDE_DIR -- "${EVENT_INSTALL_CMAKE_DIR}" -- "${EVENT_INSTALL_INCLUDE_DIR}") # Calculate the relative directory from the Cmake dir. -+ "${EVENT_INSTALL_CMAKE_DIR_FULL}" -+ "${EVENT_INSTALL_INCLUDE_DIR_FULL}") # Calculate the relative directory from the Cmake dir. - - # Note the EVENT_CMAKE_DIR is defined in LibeventConfig.cmake.in, - # we escape it here so it's evaluated when it is included instead - # so that the include dirs are givenrelative to where the - # config file is located. - set(EVENT__INCLUDE_DIRS -- "\${EVENT_CMAKE_DIR}/${REL_INCLUDE_DIR}") -+ "\${EVENT_CMAKE_DIR_FULL}/${REL_INCLUDE_DIR}") - - configure_file(${PROJECT_SOURCE_DIR}/cmake/LibeventConfig.cmake.in - ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/LibeventConfig.cmake diff --git a/ports/libevent/portfile.cmake b/ports/libevent/portfile.cmake index 28028ce3c..e04e5f58d 100644 --- a/ports/libevent/portfile.cmake +++ b/ports/libevent/portfile.cmake @@ -7,17 +7,32 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libevent/libevent - REF release-2.1.8-stable - SHA512 0d5c872dc797b69ab8ea4b83aebcbac20735b8c6f5adfcc2950aa4d6013d240f5fac3376e817da75ae0ccead50cec0d931619e135a050add438777457b086549 + REF release-2.1.11-stable + SHA512 a34ca4ad4d55a989a4f485f929d0ed2438d070d0e12a19d90c2b12783a562419c64db6a2603b093d958a75246d14ffefc8730c69c90b1b2f48339bde947f0e02 PATCHES - "fix-target-files.patch" + fix-file_path.patch + fix-crt_linkage.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") + set(LIBEVENT_LIB_TYPE SHARED) +else() + set(LIBEVENT_LIB_TYPE STATIC) +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} -DEVENT__DISABLE_BENCHMARK=ON -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_REGRESS=ON @@ -26,9 +41,20 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/libevent) +else () + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) +endif() + +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/libevent/) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/event_rpcgen.py ${CURRENT_PACKAGES_DIR}/tools/libevent/event_rpcgen.py) + +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() -vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libevent) diff --git a/ports/libexif/CONTROL b/ports/libexif/CONTROL index d99eb31b9..e37d0960e 100644 --- a/ports/libexif/CONTROL +++ b/ports/libexif/CONTROL @@ -1,4 +1,4 @@ Source: libexif -Version: 0.6.21-1 -Homepage: https://sourceforge.net/projects/libexif/ +Version: 0.6.21-2 +Homepage: https://libexif.github.io/ Description: a library for parsing, editing, and saving EXIF data diff --git a/ports/libexif/add-missing-_stdint-h.patch b/ports/libexif/add-missing-_stdint-h.patch new file mode 100644 index 000000000..1c4c95d1c --- /dev/null +++ b/ports/libexif/add-missing-_stdint-h.patch @@ -0,0 +1,7 @@ +diff --git a/libexif/_stdint.h b/libexif/_stdint.h +new file mode 100644 +index 0000000..9a6118b +--- /dev/null ++++ b/libexif/_stdint.h +@@ -0,0 +1 @@ ++#include diff --git a/ports/libexif/portfile.cmake b/ports/libexif/portfile.cmake index 0442d8c15..11f7080d1 100644 --- a/ports/libexif/portfile.cmake +++ b/ports/libexif/portfile.cmake @@ -4,15 +4,14 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "libexif currently only supports being built for desktop") endif() -set(LIBEXIF_VERSION 0.6.21) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libexif-${LIBEXIF_VERSION}) - -vcpkg_download_distfile(ARCHIVE - URLS "https://freefr.dl.sourceforge.net/project/libexif/libexif/${LIBEXIF_VERSION}/libexif-${LIBEXIF_VERSION}.tar.bz2" - FILENAME "libexif-${LIBEXIF_VERSION}.tar.bz2" - SHA512 4e0fe2abe85d1c95b41cb3abe1f6333dc3a9eb69dba106a674a78d74a4d5b9c5a19647118fa1cc2d72b98a29853394f1519eda9e2889eb28d3be26b21c7cfc35 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libexif/libexif + REF libexif-0_6_21-release + SHA512 aecba54eb9c8b4ce29d11985a547074b381d72027b563c7aef865852b661a6f18a258c748fca6b16198344f4a86568b658071ac95cc1d332f576c6160e1f257d + HEAD_REF master + PATCHES add-missing-_stdint-h.patch ) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.cmake DESTINATION ${SOURCE_PATH}) diff --git a/ports/libfabric/CONTROL b/ports/libfabric/CONTROL index 931d10f5e..5f49f2dff 100644 --- a/ports/libfabric/CONTROL +++ b/ports/libfabric/CONTROL @@ -1,5 +1,5 @@ Source: libfabric -Version: 1.7.1 +Version: 1.8.1 Description: The OpenFabrics Interfaces Working Group (OFIWG) and the Libfabric open-source community are pleased to announce the release of version v1.6.2 of libfabric. See NEWS.md for the list of features and enhancements that have been added since the last release. Homepage: https://github.com/ofiwg/libfabric Build-Depends: networkdirect-sdk (windows) diff --git a/ports/libfabric/add_additional_includes.patch b/ports/libfabric/add_additional_includes.patch index 377a810d2..da3d3254c 100644 --- a/ports/libfabric/add_additional_includes.patch +++ b/ports/libfabric/add_additional_includes.patch @@ -7,7 +7,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); CompileAsC 4127;4200;4204;4221;4115;4201;4100 true @@ -16,7 +16,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); CompileAsC 4127;4200;4204;4221;4115;4201;4100 true @@ -25,7 +25,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;ENABLE_DEBUG;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); CompileAsC 4127;4200;94;4204;4221;869 true @@ -34,7 +34,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); 4127;4200;4204;4221;4115;4201;4100 true false @@ -43,7 +43,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); 4127;4200;4204;4221;4115;4201;4100 true false @@ -52,7 +52,7 @@ index 43a05e7..ceb596f 100644 WIN32;_WINSOCKAPI_=;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;_WINDOWS;_USRDLL;LIBFABRIC_EXPORTS;HAVE_CONFIG_H;%(PreprocessorDefinitions) true - $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; -+ $(AdditionalIncludeDirectories);$(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include; ++ $(ProjectDir)include;$(ProjectDir)include\windows;$(ProjectDir)prov\netdir\NetDirect;$(ProjectDir)prov\hook\src;$(ProjectDir)prov\hook\include;$(ProjectDir)prov\hook\perf\include;$(AdditionalIncludeDirectories); 4127;4200;94;4204;4221;869 true false diff --git a/ports/libfabric/portfile.cmake b/ports/libfabric/portfile.cmake index f7dc21226..301807b40 100644 --- a/ports/libfabric/portfile.cmake +++ b/ports/libfabric/portfile.cmake @@ -8,9 +8,9 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ofiwg/libfabric - REF v1.7.1 + REF v1.8.1 HEAD_REF master - SHA512 3ae06839295a5b581a5d9936ee991bb597672a4981cc7fa385f4db7645d5328156d758848827ec186c0056cf3abd97f8f3859ec16a8b5bbd0d1f979143ee7bb1 + SHA512 7c3879af3ad7dbda9e9bf9f43a2d213a8e41d50212008f29e912d3d0946efc381e6833c08206106e9f486c37eaef16103198247b328297209ef80dc66ca1b6e5 PATCHES add_additional_includes.patch ) diff --git a/ports/libffi/CMakeLists.txt b/ports/libffi/CMakeLists.txt index 29e14bdac..ae57e7b1a 100644 --- a/ports/libffi/CMakeLists.txt +++ b/ports/libffi/CMakeLists.txt @@ -122,10 +122,21 @@ endif() add_library(libffi ${FFI_SOURCES}) install(TARGETS libffi + EXPORT ${PROJECT_NAME}Targets RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) +include(CMakePackageConfigHelpers) + +configure_package_config_file(${PROJECT_NAME}Config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + INSTALL_DESTINATION share/${PROJECT_NAME}) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + DESTINATION share/${PROJECT_NAME}) +install(EXPORT ${PROJECT_NAME}Targets + DESTINATION share/${PROJECT_NAME}) + if(NOT FFI_SKIP_HEADERS) install(FILES ${CMAKE_BINARY_DIR}/include/ffi.h diff --git a/ports/libffi/CONTROL b/ports/libffi/CONTROL index b393491e1..2fb2301a9 100644 --- a/ports/libffi/CONTROL +++ b/ports/libffi/CONTROL @@ -1,4 +1,4 @@ Source: libffi -Version: 3.1-5 +Version: 3.1-6 Homepage: https://github.com/libffi/libffi Description: Portable, high level programming interface to various calling conventions diff --git a/ports/libffi/libffiConfig.cmake.in b/ports/libffi/libffiConfig.cmake.in new file mode 100644 index 000000000..ebdf1488a --- /dev/null +++ b/ports/libffi/libffiConfig.cmake.in @@ -0,0 +1,7 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +if(NOT TARGET libffi) + include("${CMAKE_CURRENT_LIST_DIR}/libffiTargets.cmake") +endif() diff --git a/ports/libffi/portfile.cmake b/ports/libffi/portfile.cmake index bbb4daf83..f023521c8 100644 --- a/ports/libffi/portfile.cmake +++ b/ports/libffi/portfile.cmake @@ -17,6 +17,7 @@ vcpkg_from_github( ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/libffiConfig.cmake.in DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -29,14 +30,16 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/auto-define-static-macro.patch - ) -endif() +file(READ ${CURRENT_PACKAGES_DIR}/include/ffi.h FFI_H) +string(REPLACE "/* *know* they are going to link with the static library. */" +"/* *know* they are going to link with the static library. */ + +#define FFI_BUILDING + +" FFI_H "${FFI_H}") +file(WRITE ${CURRENT_PACKAGES_DIR}/include/ffi.h "${FFI_H}") file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libffi) file(RENAME ${CURRENT_PACKAGES_DIR}/share/libffi/LICENSE ${CURRENT_PACKAGES_DIR}/share/libffi/copyright) 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 82befaac0..6734e25cc 100644 --- a/ports/libfreenect2/CONTROL +++ b/ports/libfreenect2/CONTROL @@ -1,5 +1,5 @@ Source: libfreenect2 -Version: 0.2.0-1 +Version: 0.2.0-3 Build-Depends: libusb, libjpeg-turbo Homepage: https://github.com/OpenKinect/libfreenect2 Description: Open source drivers for the Kinect for Windows v2 device diff --git a/ports/libfreenect2/portfile.cmake b/ports/libfreenect2/portfile.cmake index ba41bb904..9ca8867fb 100644 --- a/ports/libfreenect2/portfile.cmake +++ b/ports/libfreenect2/portfile.cmake @@ -20,13 +20,14 @@ file(WRITE ${SOURCE_PATH}/examples/CMakeLists.txt "${EXAMPLECMAKE}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DENABLE_CUDA=OFF ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/freenect2") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/freenect2) vcpkg_copy_pdbs() diff --git a/ports/libftdi/CONTROL b/ports/libftdi/CONTROL new file mode 100644 index 000000000..16ebe6fab --- /dev/null +++ b/ports/libftdi/CONTROL @@ -0,0 +1,4 @@ +Source: libftdi +Version: 0.20-1 +Build-Depends: libusb-win32 +Description: FTDI USB driver with bitbang mode (v0.20) diff --git a/ports/libftdi/exports.def b/ports/libftdi/exports.def new file mode 100644 index 000000000..31ebd214e --- /dev/null +++ b/ports/libftdi/exports.def @@ -0,0 +1,56 @@ +EXPORTS + ftdi_deinit + ftdi_disable_bitbang + ftdi_eeprom_build + ftdi_eeprom_decode + ftdi_eeprom_free + ftdi_eeprom_initdefaults + ftdi_eeprom_setsize + ftdi_enable_bitbang + ftdi_erase_eeprom + ftdi_free + ftdi_get_error_string + ftdi_get_latency_timer + ftdi_init + ftdi_list_free + ftdi_list_free2 + ftdi_new + ftdi_poll_modem_status + ftdi_read_chipid + ftdi_read_data + ftdi_read_data_get_chunksize + ftdi_read_data_set_chunksize + ftdi_read_eeprom + ftdi_read_eeprom_getsize + ftdi_read_eeprom_location + ftdi_read_pins + ftdi_set_baudrate + ftdi_set_bitmode + ftdi_set_error_char + ftdi_set_event_char + ftdi_set_interface + ftdi_set_latency_timer + ftdi_set_line_property + ftdi_set_line_property2 + ftdi_set_usbdev + ftdi_setdtr + ftdi_setdtr_rts + ftdi_setflowctrl + ftdi_setrts + ftdi_usb_close + ftdi_usb_find_all + ftdi_usb_get_strings + ftdi_usb_open + ftdi_usb_open_desc + ftdi_usb_open_desc_index + ftdi_usb_open_dev + ftdi_usb_open_string + ftdi_usb_purge_buffers + ftdi_usb_purge_rx_buffer + ftdi_usb_purge_tx_buffer + ftdi_usb_reset + ftdi_write_data + ftdi_write_data_get_chunksize + ftdi_write_data_set_chunksize + ftdi_write_eeprom + ftdi_write_eeprom_location diff --git a/ports/libftdi/libusb-win32.patch b/ports/libftdi/libusb-win32.patch new file mode 100644 index 000000000..55bc1c3f1 --- /dev/null +++ b/ports/libftdi/libusb-win32.patch @@ -0,0 +1,43 @@ +diff --git a/FindUSB.cmake b/FindUSB.cmake +index 566cdd8..0710345 100644 +--- a/FindUSB.cmake ++++ b/FindUSB.cmake +@@ -24,10 +24,10 @@ else (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) + pkg_check_modules(PC_LIBUSB libusb) + ENDIF(NOT WIN32) + +- FIND_PATH(LIBUSB_INCLUDE_DIR usb.h ++ FIND_PATH(LIBUSB_INCLUDE_DIR lusb0_usb.h + PATHS ${PC_LIBUSB_INCLUDEDIR} ${PC_LIBUSB_INCLUDE_DIRS}) + +- FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb ++ FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb0 libusb0 + PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS}) + + include(FindPackageHandleStandardArgs) +diff --git a/src/ftdi.c b/src/ftdi.c +index 980622d..8f6ab67 100644 +--- a/src/ftdi.c ++++ b/src/ftdi.c +@@ -28,7 +28,7 @@ + /** \addtogroup libftdi */ + /* @{ */ + +-#include ++#include + #include + #include + #include +diff --git a/src/ftdi.h b/src/ftdi.h +index 6bb7a3e..d4472c2 100644 +--- a/src/ftdi.h ++++ b/src/ftdi.h +@@ -17,7 +17,7 @@ + #ifndef __libftdi_h__ + #define __libftdi_h__ + +-#include ++#include + + #define FTDI_DEFAULT_EEPROM_SIZE 128 + diff --git a/ports/libftdi/portfile.cmake b/ports/libftdi/portfile.cmake new file mode 100644 index 000000000..318e21a9e --- /dev/null +++ b/ports/libftdi/portfile.cmake @@ -0,0 +1,44 @@ +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.intra2net.com/en/developer/libftdi/download/libftdi-0.20.tar.gz" + FILENAME "libftdi-0.20.tar.gz" + SHA512 540e5eb201a65936c3dbabff70c251deba1615874b11ff27c5ca16c39d71c150cf61758a68b541135a444fe32ab403b0fba0daf55c587647aaf9b3f400f1dee7 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF 0.20 + PATCHES + libusb-win32.patch + shared-static.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}/src) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DDOCUMENTATION=OFF + -DEXAMPLES=OFF + -DPYTHON_BINDINGS=OFF + -DFTDIPP=OFF + + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + + -DLIBUSB_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libftdi) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libftdi/LICENSE ${CURRENT_PACKAGES_DIR}/share/libftdi/copyright) + +vcpkg_copy_pdbs() diff --git a/ports/libftdi/shared-static.patch b/ports/libftdi/shared-static.patch new file mode 100644 index 000000000..3197fb823 --- /dev/null +++ b/ports/libftdi/shared-static.patch @@ -0,0 +1,66 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 071ae90..f91f6f7 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -4,7 +4,7 @@ include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR} + ) + + # Targets +-set(c_sources ftdi.c) ++set(c_sources ftdi.c exports.def) + set(c_headers ftdi.h) + + add_library(ftdi SHARED ${c_sources}) +@@ -14,7 +14,7 @@ set_target_properties(ftdi PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}. + + # Static library + add_library(ftdi-static STATIC ${c_sources}) +-set_target_properties(ftdi-static PROPERTIES OUTPUT_NAME "ftdi") ++set_target_properties(ftdi-static PROPERTIES OUTPUT_NAME "ftdi-static") + + # Prevent clobbering each other during the build + set_target_properties(ftdi PROPERTIES CLEAN_DIRECT_OUTPUT 1) +@@ -24,7 +24,7 @@ set_target_properties(ftdi-static PROPERTIES CLEAN_DIRECT_OUTPUT 1) + target_link_libraries(ftdi ${LIBUSB_LIBRARIES}) + + # Install +-if(${UNIX}) ++if(UNIX AND 0) + + install( TARGETS ftdi + LIBRARY DESTINATION lib${LIB_SUFFIX} +@@ -41,23 +41,29 @@ if(${UNIX}) + COMPONENT headers + ) + +-endif(${UNIX}) ++endif() + +-if(${WIN32}) ++if(WIN32 OR 1) + ++ if(BUILD_SHARED_LIBS) + install( TARGETS ftdi +- DESTINATION bin ++ EXPORT ftdi + COMPONENT sharedlibs + ) + ++ target_include_directories(ftdi PUBLIC $) ++ else() + install( TARGETS ftdi-static +- DESTINATION bin ++ EXPORT ftdi + COMPONENT staticlibs + ) ++ target_include_directories(ftdi-static PUBLIC $) ++ endif() ++ install(EXPORT ftdi FILE libftdi-config.cmake NAMESPACE libftdi:: DESTINATION share/libftdi) + + install( FILES ${c_headers} + DESTINATION include + COMPONENT headers + ) + +-endif(${WIN32}) ++endif() diff --git a/ports/libftdi1/CONTROL b/ports/libftdi1/CONTROL new file mode 100644 index 000000000..d282ad9eb --- /dev/null +++ b/ports/libftdi1/CONTROL @@ -0,0 +1,4 @@ +Source: libftdi1 +Version: 1.4 +Build-Depends: libusb +Description: FTDI USB driver with bitbang mode (v1.4) diff --git a/ports/libftdi1/cmake-fix.patch b/ports/libftdi1/cmake-fix.patch new file mode 100644 index 000000000..ea541f719 --- /dev/null +++ b/ports/libftdi1/cmake-fix.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/FindUSB1.cmake b/cmake/FindUSB1.cmake +index b90e297..6cc97a0 100644 +--- a/cmake/FindUSB1.cmake ++++ b/cmake/FindUSB1.cmake +@@ -26,7 +26,7 @@ else (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES) + PATH_SUFFIXES libusb-1.0 + PATHS ${PC_LIBUSB_INCLUDEDIR} ${PC_LIBUSB_INCLUDE_DIRS}) + +- FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0 ++ FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0 libusb-1.0 + PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS}) + + include(FindPackageHandleStandardArgs) diff --git a/ports/libftdi1/exports.def b/ports/libftdi1/exports.def new file mode 100644 index 000000000..f5179c59d --- /dev/null +++ b/ports/libftdi1/exports.def @@ -0,0 +1,67 @@ +EXPORTS + convert_baudrate_UT_export + ftdi_deinit + ftdi_disable_bitbang + ftdi_eeprom_build + ftdi_eeprom_decode + ftdi_eeprom_get_strings + ftdi_eeprom_initdefaults + ftdi_eeprom_set_strings + ftdi_erase_eeprom + ftdi_free + ftdi_get_eeprom_buf + ftdi_get_eeprom_value + ftdi_get_error_string + ftdi_get_latency_timer + ftdi_get_library_version + ftdi_init + ftdi_list_free + ftdi_list_free2 + ftdi_new + ftdi_poll_modem_status + ftdi_read_chipid + ftdi_read_data + ftdi_read_data_get_chunksize + ftdi_read_data_set_chunksize + ftdi_read_data_submit + ftdi_read_eeprom + ftdi_read_eeprom_location + ftdi_read_pins + ftdi_set_baudrate + ftdi_set_bitmode + ftdi_set_eeprom_buf + ftdi_set_eeprom_user_data + ftdi_set_eeprom_value + ftdi_set_error_char + ftdi_set_event_char + ftdi_set_interface + ftdi_set_latency_timer + ftdi_set_line_property + ftdi_set_line_property2 + ftdi_set_usbdev + ftdi_setdtr + ftdi_setdtr_rts + ftdi_setflowctrl + ftdi_setrts + ftdi_transfer_data_cancel + ftdi_transfer_data_done + ftdi_usb_close + ftdi_usb_find_all + ftdi_usb_get_strings + ftdi_usb_get_strings2 + ftdi_usb_open + ftdi_usb_open_bus_addr + ftdi_usb_open_desc + ftdi_usb_open_desc_index + ftdi_usb_open_dev + ftdi_usb_open_string + ftdi_usb_purge_buffers + ftdi_usb_purge_rx_buffer + ftdi_usb_purge_tx_buffer + ftdi_usb_reset + ftdi_write_data + ftdi_write_data_get_chunksize + ftdi_write_data_set_chunksize + ftdi_write_data_submit + ftdi_write_eeprom + ftdi_write_eeprom_location diff --git a/ports/libftdi1/portfile.cmake b/ports/libftdi1/portfile.cmake new file mode 100644 index 000000000..4007e9122 --- /dev/null +++ b/ports/libftdi1/portfile.cmake @@ -0,0 +1,47 @@ +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "https://www.intra2net.com/en/developer/libftdi/download/libftdi1-1.4.tar.bz2" + FILENAME "libftdi1-1.4.tar.bz2" + SHA512 dbab74f7bc35ca835b9c6dd5b70a64816948d65da1f73a9ece37a0f0f630bd0df1a676543acc517b02a718bc34ba4f7a30cbc48b6eed1c154c917f8ef0a358fc +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF 1.4 + PATCHES + cmake-fix.patch + win32.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/exports.def DESTINATION ${SOURCE_PATH}/src) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF + -DDOCUMENTATION=OFF + -DEXAMPLES=OFF + -DPYTHON_BINDINGS=OFF + -DLINK_PYTHON_LIBRARY=OFF + + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Confuse=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Libintl=ON + -DCMAKE_DISABLE_FIND_PACKAGE_PythonLibs=ON + -DCMAKE_DISABLE_FIND_PACKAGE_PythonInterp=ON +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libftdi1 TARGET_PATH share/libftdi1) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libftdi1) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libftdi1/LICENSE ${CURRENT_PACKAGES_DIR}/share/libftdi1/copyright) + +vcpkg_copy_pdbs() diff --git a/ports/libftdi1/win32.patch b/ports/libftdi1/win32.patch new file mode 100644 index 000000000..8cf35c920 --- /dev/null +++ b/ports/libftdi1/win32.patch @@ -0,0 +1,28 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9fd86a6..e1e848c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -18,9 +18,14 @@ message(STATUS "Detected git snapshot version: ${SNAPSHOT_VERSION}") + configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h" @ONLY) + + # Targets ++if(WIN32) ++set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/exports.def CACHE INTERNAL "List of c sources" ) ++else() + set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" ) ++endif() + set(c_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of c headers" ) + ++if(BUILD_SHARED_LIBS) + add_library(ftdi1 SHARED ${c_sources}) + + math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases +@@ -38,7 +43,7 @@ install ( TARGETS ftdi1 + ARCHIVE DESTINATION lib${LIB_SUFFIX} + ) + +-if ( STATICLIBS ) ++else() + add_library(ftdi1-static STATIC ${c_sources}) + target_link_libraries(ftdi1-static ${LIBUSB_LIBRARIES}) + set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1") diff --git a/ports/libgeotiff/CONTROL b/ports/libgeotiff/CONTROL index 2e8d4836c..42a973875 100644 --- a/ports/libgeotiff/CONTROL +++ b/ports/libgeotiff/CONTROL @@ -1,5 +1,5 @@ Source: libgeotiff -Version: 1.4.2-9 +Version: 1.4.2-10 Homepage: https://download.osgeo.org/geotiff/libgeotiff Description: Libgeotiff is an open source library normally hosted on top of libtiff for reading, and writing GeoTIFF information tags. Build-Depends: tiff, proj4, zlib, libjpeg-turbo diff --git a/ports/libgeotiff/fix-proj4.patch b/ports/libgeotiff/fix-proj4.patch new file mode 100644 index 000000000..d6e8bce8a --- /dev/null +++ b/ports/libgeotiff/fix-proj4.patch @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 617978c..baf45bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -146,8 +146,11 @@ IF(WITH_PROJ4) + endif () + + IF(PROJ4_FOUND) +- ADD_DEFINITIONS(-DHAVE_LIBPROJ=1) ++ ADD_DEFINITIONS(-DHAVE_LIBPROJ=1 -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1) + INCLUDE_DIRECTORIES(${PROJ4_INCLUDE_DIR}) ++ IF(NOT WIN32) ++ LIST(APPEND PROJ4_LIBRARIES ${CMAKE_DL_LIBS}) ++ ENDIF() + ENDIF() + ENDIF() + diff --git a/ports/libgeotiff/portfile.cmake b/ports/libgeotiff/portfile.cmake index 1e4bb3370..174bed122 100644 --- a/ports/libgeotiff/portfile.cmake +++ b/ports/libgeotiff/portfile.cmake @@ -15,6 +15,7 @@ vcpkg_extract_source_archive_ex( PATCHES cmakelists.patch geotiff-config.patch + fix-proj4.patch ) # Delete FindPROJ4.cmake @@ -24,11 +25,11 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DWITH_TIFF=ON - -DWITH_PROJ4=ON - -DWITH_ZLIB=ON - -DWITH_JPEG=ON - -DWITH_UTILITIES=ON + -DWITH_TIFF=1 + -DWITH_PROJ4=1 + -DWITH_ZLIB=1 + -DWITH_JPEG=1 + -DWITH_UTILITIES=1 ) vcpkg_install_cmake() @@ -55,6 +56,7 @@ endif() vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH share/GeoTIFF) + file(INSTALL ${CURRENT_PACKAGES_DIR}/share/libgeotiff/geotiff-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotiff) file(INSTALL ${CURRENT_PACKAGES_DIR}/share/libgeotiff/geotiff-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotiff) file(INSTALL ${CURRENT_PACKAGES_DIR}/share/libgeotiff/geotiff-depends-release.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/geotiff) diff --git a/ports/libgit2/CONTROL b/ports/libgit2/CONTROL index 5c396d473..5569f18ff 100644 --- a/ports/libgit2/CONTROL +++ b/ports/libgit2/CONTROL @@ -1,5 +1,5 @@ Source: libgit2 -Version: 0.28.2 +Version: 0.28.3 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 711da201e..d2b70483d 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 b3e1a56ebb2b9291e82dc027ba9cbcfc3ead54d3 - SHA512 2a992759c0892300eff6d4e823367e2cfc5bcaa6e37a0e87de45a16393c53ccd286f47f37d38c104e79eed8688b9834ada00000b2d6894f89773f75c83e23022 + REF v0.28.3 + SHA512 15444823b7d4885f7b8c3982f8905efc4a75913de016a9b2e0a24d5ce9746e6a549dffd5469036529557feff2ce7ece9328266eb312c80b96091ce0f65ee97ee HEAD_REF master ) diff --git a/ports/libgo/portfile.cmake b/ports/libgo/portfile.cmake index f0311eea4..75a5736f6 100644 --- a/ports/libgo/portfile.cmake +++ b/ports/libgo/portfile.cmake @@ -13,16 +13,17 @@ vcpkg_from_github( boost-168.patch ) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/XBased/xhook/archive/e18c450541892212ca4f11dc91fa269fabf9646f.tar.gz" - FILENAME "xhook-e18c450541892212ca4f11dc91fa269fabf9646f.tar.gz" +vcpkg_from_github( + OUT_SOURCE_PATH XHOOK_SOURCE_PATH + REPO XBased/xhook + REF e18c450541892212ca4f11dc91fa269fabf9646f SHA512 1bcf320f50cff13d92013a9f0ab5c818c2b6b63e9c1ac18c5dd69189e448d7a848f1678389d8b2c08c65f907afb3909e743f6c593d9cfb21e2bb67d5c294a166 + HEAD_REF master ) file(REMOVE_RECURSE ${SOURCE_PATH}/third_party) - -vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}/third_party) -file(RENAME ${SOURCE_PATH}/third_party/xhook-e18c450541892212ca4f11dc91fa269fabf9646f ${SOURCE_PATH}/third_party/xhook) +file(MAKE_DIRECTORY ${SOURCE_PATH}/third_party) +file(RENAME ${XHOOK_SOURCE_PATH} ${SOURCE_PATH}/third_party/xhook) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/libguarded/CONTROL b/ports/libguarded/CONTROL new file mode 100644 index 000000000..c37866406 --- /dev/null +++ b/ports/libguarded/CONTROL @@ -0,0 +1,4 @@ +Source: libguarded +Version: 2019-08-27 +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 new file mode 100644 index 000000000..d195774c3 --- /dev/null +++ b/ports/libguarded/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO copperspice/libguarded + REF 1f159aa866a50f5d2952de41d8a99821b8ec37df + SHA512 3ff138719b895a9c45492aee0a30e9f9eff2c3b3510de01dad59123fac6bdc1c7479518f5a81a61e4d25c0f9679b21b5018953d99809f52aafa7729599a3282a + 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) + diff --git a/ports/libharu/CONTROL b/ports/libharu/CONTROL index 33fa2e3cb..f8d2ca29a 100644 --- a/ports/libharu/CONTROL +++ b/ports/libharu/CONTROL @@ -1,5 +1,5 @@ Source: libharu -Version: 2017-08-15-d84867ebf9f-6 +Version: 2017-08-15-8 Homepage: https://github.com/libharu/libharu Description: libharu - free PDF library Build-Depends: zlib, libpng diff --git a/ports/libharu/portfile.cmake b/ports/libharu/portfile.cmake index 7855dedc7..962550ca8 100644 --- a/ports/libharu/portfile.cmake +++ b/ports/libharu/portfile.cmake @@ -19,22 +19,32 @@ vcpkg_from_github( ${SHADING_PR} ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" LIBHPDF_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "shared" LIBHPDF_SHARED) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) + set(VCPKG_BUILD_STATIC_LIBS OFF) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) + set(VCPKG_BUILD_STATIC_LIBS ON) +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DLIBHPDF_STATIC=${LIBHPDF_STATIC} - -DLIBHPDF_SHARED=${LIBHPDF_SHARED} + -DLIBHPDF_STATIC=${VCPKG_BUILD_STATIC_LIBS} + -DLIBHPDF_SHARED=${VCPKG_BUILD_SHARED_LIBS} ) vcpkg_install_cmake() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libhpdfs.lib ${CURRENT_PACKAGES_DIR}/lib/libhpdf.lib) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfsd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfd.lib) + else() + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libhpdfs.a ${CURRENT_PACKAGES_DIR}/lib/libhpdf.a) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfs.a ${CURRENT_PACKAGES_DIR}/debug/lib/libhpdfd.a) + endif() endif() file(REMOVE_RECURSE diff --git a/ports/libhydrogen/CONTROL b/ports/libhydrogen/CONTROL new file mode 100644 index 000000000..d1af13e0e --- /dev/null +++ b/ports/libhydrogen/CONTROL @@ -0,0 +1,4 @@ +Source: libhydrogen +Version: 2019-08-11 +Description: A lightweight, secure, easy-to-use crypto library suitable for constrained environments +Homepage: https://github.com/jedisct1/libhydrogen diff --git a/ports/libhydrogen/portfile.cmake b/ports/libhydrogen/portfile.cmake new file mode 100644 index 000000000..7dbcd3537 --- /dev/null +++ b/ports/libhydrogen/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jedisct1/libhydrogen + REF 46f083ed1370f4f1063f412b443f5a7704676f27 + SHA512 2408ba8ba365751cf4e4e52191f8a94fe00befcb1b6c741af73b3eeebe6e02aa191d9ad021b5eda555c2eeb9c9f39ab7d89a94fb7e0e2896bf4a015d2b8e2995 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/hydrogen TARGET_PATH share/hydrogen) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME hydrogen) diff --git a/ports/libiconv/0003-Fix-uwp.patch b/ports/libiconv/0003-Fix-uwp.patch deleted file mode 100644 index 0b2444166..000000000 --- a/ports/libiconv/0003-Fix-uwp.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/libcharset/lib/localcharset.c b/libcharset/lib/localcharset.c -index 3aceb42..dadd95a 100644 ---- a/libcharset/lib/localcharset.c -+++ b/libcharset/lib/localcharset.c -@@ -455,7 +455,10 @@ locale_charset (void) - # endif - - #elif defined WIN32_NATIVE -- -+#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY != WINAPI_FAMILY_DESKTOP_APP) -+ // GetACP() not available to UWP apps -+ codeset = NULL; -+#else - static char buf[2 + 10 + 1]; - - /* Woe32 has a function returning the locale's codepage as a number: -@@ -467,7 +470,7 @@ locale_charset (void) - encoding is the best bet. */ - sprintf (buf, "CP%u", GetACP ()); - codeset = buf; -- -+#endif - #elif defined OS2 - - const char *locale; diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL index c24bac49d..48688767a 100644 --- a/ports/libiconv/CONTROL +++ b/ports/libiconv/CONTROL @@ -1,4 +1,4 @@ Source: libiconv -Version: 1.15-5 +Version: 1.15-6 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 4b84ecc5f..488cc3b2f 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -21,7 +21,6 @@ vcpkg_extract_source_archive_ex( PATCHES 0001-Add-export-definitions.patch 0002-Config-for-MSVC.patch - 0003-Fix-uwp.patch ) #Since libiconv uses automake, make and configure, we use a custom CMake file @@ -39,8 +38,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-iconv TARGET_PATH share/u vcpkg_copy_pdbs() -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/libiconv) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libiconv/COPYING.LIB ${CURRENT_PACKAGES_DIR}/share/libiconv/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING.LIB DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_test_cmake(PACKAGE_NAME unofficial-iconv) diff --git a/ports/libiconv/unofficial-iconv-config.cmake b/ports/libiconv/unofficial-iconv-config.cmake index 7d08ff5f5..94d65d2ff 100644 --- a/ports/libiconv/unofficial-iconv-config.cmake +++ b/ports/libiconv/unofficial-iconv-config.cmake @@ -1,6 +1,8 @@ -add_library(unofficial::iconv::libcharset INTERFACE IMPORTED) -add_library(unofficial::iconv::libiconv INTERFACE IMPORTED) -if(APPLE) - set_property(TARGET unofficial::iconv::libcharset PROPERTY INTERFACE_LINK_LIBRARIES "charset;unofficial::iconv::libiconv") - set_property(TARGET unofficial::iconv::libiconv PROPERTY INTERFACE_LINK_LIBRARIES "iconv") -endif() \ No newline at end of file +if (NOT TARGET unofficial::iconv::libiconv) + add_library(unofficial::iconv::libcharset INTERFACE IMPORTED) + add_library(unofficial::iconv::libiconv INTERFACE IMPORTED) + if(APPLE) + set_property(TARGET unofficial::iconv::libcharset PROPERTY INTERFACE_LINK_LIBRARIES "charset;unofficial::iconv::libiconv") + set_property(TARGET unofficial::iconv::libiconv PROPERTY INTERFACE_LINK_LIBRARIES "iconv") + endif() +endif() diff --git a/ports/libics/CONTROL b/ports/libics/CONTROL index 115540291..727c63c02 100644 --- a/ports/libics/CONTROL +++ b/ports/libics/CONTROL @@ -1,3 +1,3 @@ -Source: libics -Version: 1.6.3 +Source: libics +Version: 1.6.3-1 Description: Reference library for ICS (Image Cytometry Standard), an open standard for writing images of any dimensionality and data type to file, together with associated information regarding the recording equipment or recorded subject. \ No newline at end of file diff --git a/ports/libics/cmakelists.patch b/ports/libics/cmakelists.patch deleted file mode 100644 index 9e7fa498f..000000000 --- a/ports/libics/cmakelists.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -86,7 +86,8 @@ - endif() - - # Install --install(TARGETS libics libics_static DESTINATION lib) -+install(TARGETS libics DESTINATION bin) -+install(TARGETS libics_static DESTINATION lib) - install(FILES ${HEADERS} DESTINATION include) - - # Unit tests diff --git a/ports/libics/portfile.cmake b/ports/libics/portfile.cmake index f0d27363a..c8b439909 100644 --- a/ports/libics/portfile.cmake +++ b/ports/libics/portfile.cmake @@ -2,11 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO svi-opensource/libics - REF b9532b738ad7f17569dfcaae74eb53d3c2959394 + REF b9532b738ad7f17569dfcaae74eb53d3c2959394 SHA512 a7c0d89125570021494feaf0a187e3a1695e92c85a03d59ac9729618cdddb2ae13af94e4ce93241acbbb9d28465f75297bf03f2c46061bb7a0bba7ec28a23da4 HEAD_REF master - PATCHES - cmakelists.patch ) vcpkg_configure_cmake( diff --git a/ports/libideviceactivation/CONTROL b/ports/libideviceactivation/CONTROL index cbc1aef46..8ff0a857e 100644 --- a/ports/libideviceactivation/CONTROL +++ b/ports/libideviceactivation/CONTROL @@ -1,4 +1,4 @@ Source: libideviceactivation -Version: 1.2.68 +Version: 1.2.68-1 Description: A library to handle the activation process of iOS devices Build-Depends: libimobiledevice, libxml2, curl \ No newline at end of file diff --git a/ports/libideviceactivation/libcurl_imp.patch b/ports/libideviceactivation/libcurl_imp.patch deleted file mode 100644 index bf1bfefac..000000000 --- a/ports/libideviceactivation/libcurl_imp.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/libideviceactivation.vcxproj b/libideviceactivation.vcxproj -index ba473f7a..47a20d15 100644 ---- a/libideviceactivation.vcxproj -+++ b/libideviceactivation.vcxproj -@@ -76,7 +76,7 @@ - $(OutDir)$(ProjectName).pdb - - -- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) -+ libcurl-d_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - -@@ -89,7 +89,7 @@ - $(OutDir)$(ProjectName).pdb - - -- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) -+ libcurl-d_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - -@@ -106,7 +106,7 @@ - - true - true -- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) -+ libcurl_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - -@@ -123,7 +123,7 @@ - - true - true -- libcurl.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) -+ libcurl_imp.lib;libxml2.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - diff --git a/ports/libideviceactivation/portfile.cmake b/ports/libideviceactivation/portfile.cmake index a904b52ef..7e4776c69 100644 --- a/ports/libideviceactivation/portfile.cmake +++ b/ports/libideviceactivation/portfile.cmake @@ -5,23 +5,12 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libimobiledevice-win32/libideviceactivation - REF v1.2.68 + REF v1.2.68 SHA512 c2742bba2d90c21e853255c9ef1b9a63560c3e65541a0a3daaace9b0c48d236b7947008dbcd6e42622251015b686758ebc6b564e379d831cb4f52af812430140 HEAD_REF msvc-master + PATCHES libcurl_d.patch ) -if(${VCPKG_LIBRARY_LINKAGE} MATCHES dynamic) - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - libcurl_imp.patch) -else() - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - libcurl_d.patch) -endif() - vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH libideviceactivation.sln diff --git a/ports/libidn2/CONTROL b/ports/libidn2/CONTROL index 01d89d69b..3ed7546ba 100644 --- a/ports/libidn2/CONTROL +++ b/ports/libidn2/CONTROL @@ -1,5 +1,5 @@ Source: libidn2 -Version: 2.1.1-1 +Version: 2.2.0 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 d7de30f41..2b5be4692 100644 --- a/ports/libidn2/portfile.cmake +++ b/ports/libidn2/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) -set(IDN2_VERSION 2.1.1) -set(IDN2_FILENAME libidn2-${IDN2_VERSION}a.tar.gz) +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}" FILENAME "${IDN2_FILENAME}" - SHA512 404a739e33d324f700ac8e8119de3feef0de778bbb11be09049cb64eab447cd101883f6d489cca1e88c230f58bcaf9758fe102e571b6501450aa750ec2a4a9c6 + SHA512 ccf56056a378d49a28ff67a2a23cd3d32ce51f86a78f84839b98dad709a1d0d03ac8d7c1496f0e4d3536bca00e3d09d34d76a37317b2ce87e3aa66bdf4e877b8 ) vcpkg_extract_source_archive_ex( diff --git a/ports/libigl/CONTROL b/ports/libigl/CONTROL new file mode 100644 index 000000000..93041cc4d --- /dev/null +++ b/ports/libigl/CONTROL @@ -0,0 +1,37 @@ +Source: libigl +Version: 2.1.0-1 +Homepage: https://github.com/libigl/libigl +Description: libigl is a simple C++ geometry processing library. We have a wide functionality including construction of sparse discrete differential geometry operators and finite-elements matrices such as the cotangent Laplacian and diagonalized mass matrix, simple facet and edge-based topology data structures, mesh-viewing utilities for OpenGL and GLSL, and many core functions for matrix manipulation which make Eigen feel a lot more like MATLAB. +Build-Depends: eigen3 + +Feature: embree +Description: Build with embree +Build-Depends: embree3 + +Feature: opengl +Description: Build with opengl +Build-Depends: opengl, glad + +Feature: glfw +Description: Build with glfw +Build-Depends: glfw3 + +Feature: imgui +Description: Build with imgui +Build-Depends: imgui[example] + +Feature: png +Description: Build with libpng +Build-Depends: libpng, stb + +Feature: xml +Description: Build with libxml +Build-Depends: tinyxml2 + +Feature: python +Description: Build with python bind +Build-Depends: pybind11 + +Feature: test +Description: Build test +Build-Depends: catch2 \ No newline at end of file diff --git a/ports/libigl/fix-dependency.patch b/ports/libigl/fix-dependency.patch new file mode 100644 index 000000000..06e3d0f7d --- /dev/null +++ b/ports/libigl/fix-dependency.patch @@ -0,0 +1,213 @@ +diff --git a/cmake/libigl.cmake b/cmake/libigl.cmake +index 7016cbf..3a6b4dd 100644 +--- a/cmake/libigl.cmake ++++ b/cmake/libigl.cmake +@@ -96,8 +96,9 @@ if(UNIX) + endif() + + # Eigen +-if(TARGET Eigen3::Eigen) ++if(1) + # If an imported target already exists, use it ++ find_package(Eigen3 CONFIG REQUIRED) + target_link_libraries(igl_common INTERFACE Eigen3::Eigen) + else() + igl_download_eigen() +@@ -182,7 +183,7 @@ compile_igl_module("core" ${SOURCES_IGL}) + ################################################################################ + ### Download the python part ### + if(LIBIGL_WITH_PYTHON) +- igl_download_pybind11() ++ #igl_download_pybind11() + endif() + + ################################################################################ +@@ -281,7 +282,8 @@ if(LIBIGL_WITH_EMBREE) + set(EMBREE_STATIC_RUNTIME ON CACHE BOOL " " FORCE) + endif() + +- if(NOT TARGET embree) ++ find_package(embree 3 CONFIG REQUIRED) ++ if(0) + # TODO: Should probably save/restore the CMAKE_CXX_FLAGS_*, since embree seems to be + # overriding them on Windows. But well... it works for now. + igl_download_embree() +@@ -289,7 +291,7 @@ if(LIBIGL_WITH_EMBREE) + endif() + + compile_igl_module("embree") +- target_link_libraries(igl_embree ${IGL_SCOPE} embree) ++ target_link_libraries(igl_embree ${IGL_SCOPE} sys math simd embree) + target_include_directories(igl_embree ${IGL_SCOPE} ${EMBREE_DIR}/include) + target_compile_definitions(igl_embree ${IGL_SCOPE} -DEMBREE_STATIC_LIB) + endif() +@@ -332,11 +334,12 @@ if(LIBIGL_WITH_OPENGL) + endif() + + # glad module +- if(NOT TARGET glad) ++ find_package(glad CONFIG REQUIRED) ++ if(0) + igl_download_glad() + add_subdirectory(${LIBIGL_EXTERNAL}/glad glad) + endif() +- target_link_libraries(igl_opengl ${IGL_SCOPE} glad) ++ target_link_libraries(igl_opengl ${IGL_SCOPE} glad::glad) + endif() + + ################################################################################ +@@ -345,7 +348,8 @@ if(LIBIGL_WITH_OPENGL_GLFW) + if(TARGET igl::opengl) + # GLFW module + compile_igl_module("opengl/glfw") +- if(NOT TARGET glfw) ++ find_package(glfw3 CONFIG REQUIRED) ++ if(0) + set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL " " FORCE) + set(GLFW_BUILD_TESTS OFF CACHE BOOL " " FORCE) + set(GLFW_BUILD_DOCS OFF CACHE BOOL " " FORCE) +@@ -363,9 +367,10 @@ if(LIBIGL_WITH_OPENGL_GLFW_IMGUI) + if(TARGET igl::opengl_glfw) + # ImGui module + compile_igl_module("opengl/glfw/imgui") +- if(NOT TARGET imgui) ++ find_package(imgui CONFIG REQUIRED) ++ if(0) + igl_download_imgui() +- add_subdirectory(${LIBIGL_EXTERNAL}/libigl-imgui imgui) ++ add_subdirectory(${LIBIGL_EXTERNAL}/libigl-imgui imgui::imgui) + endif() + target_link_libraries(igl_opengl_glfw_imgui ${IGL_SCOPE} igl_opengl_glfw imgui) + endif() +@@ -377,12 +382,21 @@ if(LIBIGL_WITH_PNG) + # png/ module is anomalous because it also depends on opengl it really should + # be moved into the opengl/ directory and namespace ... + if(TARGET igl_opengl) +- if(NOT TARGET stb_image) ++ find_path(stb_include_dir stb.h) ++ find_package(opengl REQUIRED) ++ find_package(libpng CONFIG REQUIRED) ++ if (BUILD_SHARED_LIBS) ++ set(libpng_LIBRARIES png) ++ else() ++ set(libpng_LIBRARIES png_static) ++ endif() ++ if(0) + igl_download_stb() + add_subdirectory(${LIBIGL_EXTERNAL}/stb stb_image) + endif() + compile_igl_module("png" "") +- target_link_libraries(igl_png ${IGL_SCOPE} igl_stb_image igl_opengl) ++ target_include_directories(igl_png PUBLIC ${stb_include_dir}) ++ target_link_libraries(igl_png ${IGL_SCOPE} OpenGL::GL ${libpng_LIBRARIES}) + endif() + endif() + +@@ -430,7 +444,8 @@ endif() + ### Compile the xml part ### + if(LIBIGL_WITH_XML) + set(TINYXML2_DIR "${LIBIGL_EXTERNAL}/tinyxml2") +- if(NOT TARGET tinyxml2) ++ find_package(tinyxml2 CONFIG REQUIRED) ++ if(0) + igl_download_tinyxml2() + add_library(tinyxml2 STATIC ${TINYXML2_DIR}/tinyxml2.cpp ${TINYXML2_DIR}/tinyxml2.h) + target_include_directories(tinyxml2 PUBLIC ${TINYXML2_DIR}) +@@ -440,7 +455,7 @@ if(LIBIGL_WITH_XML) + SOVERSION "3") + endif() + compile_igl_module("xml") +- target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2) ++ target_link_libraries(igl_xml ${IGL_SCOPE} tinyxml2::tinyxml2) + target_include_directories(igl_xml ${IGL_SCOPE} ${TINYXML2_DIR}) + endif() + +diff --git a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h +index 1d3e3bc..682b6d7 100644 +--- a/include/igl/opengl/glfw/imgui/ImGuiHelpers.h ++++ b/include/igl/opengl/glfw/imgui/ImGuiHelpers.h +@@ -10,7 +10,7 @@ + + //////////////////////////////////////////////////////////////////////////////// + #include "ImGuiTraits.h" +-#include ++#include + #include + #include + #include +diff --git a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp +index 3939b03..835b208 100644 +--- a/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp ++++ b/include/igl/opengl/glfw/imgui/ImGuiMenu.cpp +@@ -9,7 +9,7 @@ + #include "ImGuiMenu.h" + #include "ImGuiHelpers.h" + #include +-#include ++#include + #include + #include + #include +diff --git a/include/igl/opengl/glfw/imgui/ImGuiTraits.h b/include/igl/opengl/glfw/imgui/ImGuiTraits.h +index fbc892f..e8828b1 100644 +--- a/include/igl/opengl/glfw/imgui/ImGuiTraits.h ++++ b/include/igl/opengl/glfw/imgui/ImGuiTraits.h +@@ -8,7 +8,7 @@ + #ifndef IGL_OPENGL_GLFW_IMGUI_IMGUITRAITS_H + #define IGL_OPENGL_GLFW_IMGUI_IMGUITRAITS_H + +-#include ++#include + + // Extend ImGui by populating its namespace directly + namespace ImGui +diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt +index 7a14775..f5c84a8 100644 +--- a/python/CMakeLists.txt ++++ b/python/CMakeLists.txt +@@ -23,8 +23,8 @@ endif() + # set(PYTHON_INCLUDE_DIR "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/include/python3.5m") + + set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6 3.7) +-find_package(PythonInterp 3.4 REQUIRED) +-find_package(PythonLibs 3.4 REQUIRED) ++find_package(PythonInterp REQUIRED) ++find_package(PythonLibs REQUIRED) + + ## libigl + if(NOT TARGET igl::core) +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 8a0af13..5c6a350 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -11,16 +11,14 @@ else() + endif() + + ### Download data +-igl_download_test_data() + set(IGL_TEST_DATA ${LIBIGL_EXTERNAL}/../tests/data) + + ### Download Catch2 unit test framework +-igl_download_catch2() ++find_package(Catch2 CONFIG REQUIRED) + list(APPEND CMAKE_MODULE_PATH ${LIBIGL_EXTERNAL}/catch2/contrib) + + + # Add catch2 +-add_subdirectory(${LIBIGL_EXTERNAL}/catch2 catch2) + + + # Create test executable +diff --git a/tutorial/106_ViewerMenu/main.cpp b/tutorial/106_ViewerMenu/main.cpp +index 09f3272..9e1a19d 100644 +--- a/tutorial/106_ViewerMenu/main.cpp ++++ b/tutorial/106_ViewerMenu/main.cpp +@@ -2,7 +2,7 @@ + #include + #include + #include +-#include ++#include + #include + #include "tutorial_shared_path.h" + diff --git a/ports/libigl/portfile.cmake b/ports/libigl/portfile.cmake new file mode 100644 index 000000000..6407ca812 --- /dev/null +++ b/ports/libigl/portfile.cmake @@ -0,0 +1,73 @@ +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libigl/libigl + REF f6b406427400ed7ddb56cfc2577b6af571827c8c #2.1.0 + SHA512 262f0b16e6c018d86d11a7cc90f8f4f8088fa7190634a7cd5cc392ebdefe47e2218b4f9276e411498ae0001d66d0207f4108c87c5090e3a39df4a2760930e945 + HEAD_REF master + PATCHES fix-dependency.patch +) + +set(LIBIGL_BUILD_STATIC OFF) +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(LIBIGL_BUILD_STATIC ON) +endif() + +if ("python" IN_LIST FEATURES) + vcpkg_find_acquire_program(PYTHON2) + get_filename_component(PYTHON2_DIR ${PYTHON2} DIRECTORY) + set(ENV{PATH} "$ENV{PATH};${PYTHON2_DIR}") +endif() + +if ("test" IN_LIST FEATURES AND NOT EXISTS ${SOURCE_PATH}/tests/data) + set(TEST_SOURCE_PATH ${SOURCE_PATH}/tests/data) + file(MAKE_DIRECTORY ${TEST_SOURCE_PATH}) + vcpkg_from_github( + OUT_SOURCE_PATH ${TEST_SOURCE_PATH} + REPO libigl/libigl-tests-data + REF 0689abc55bc12825e6c01ac77446f742839ff277 + SHA512 2b6aec21ed39a9fd534da86fff75eee0f94a3ea2db2fb9dd28974636cc34936341cc28dfcf3bb07cf79409124342717e001c529dc887da72c85fe314b0eb6ea6 + HEAD_REF master + ) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + embree LIBIGL_WITH_EMBREE + opengl LIBIGL_WITH_OPENGL + glfw LIBIGL_WITH_OPENGL_GLFW + imgui LIBIGL_WITH_OPENGL_GLFW_IMGUI + png LIBIGL_WITH_PNG + xml LIBIGL_WITH_XML + python LIBIGL_WITH_PYTHON + test LIBIGL_BUILD_TESTS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DLIBIGL_BUILD_PYTHON=OFF + -DLIBIGL_EXPORT_TARGETS=ON + -DLIBIGL_USE_STATIC_LIBRARY=${LIBIGL_BUILD_STATIC} + -DLIBIGL_WITH_COMISO=OFF + -DLIBIGL_WITH_TETGEN=OFF + -DLIBIGL_WITH_TRIANGLE=OFF + -DLIBIGL_WITH_PREDICATES=OFF + -DLIBIGL_BUILD_TUTORIALS=OFF + -DPYTHON_EXECUTABLE=${PYTHON2} +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/libigl/cmake) +vcpkg_copy_pdbs() + +if (NOT LIBIGL_BUILD_STATIC) + # For dynamic build, libigl is a header-only library. + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/LICENSE.GPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + diff --git a/ports/libjpeg-turbo/CONTROL b/ports/libjpeg-turbo/CONTROL index d64af9bb4..f2ec1c65a 100644 --- a/ports/libjpeg-turbo/CONTROL +++ b/ports/libjpeg-turbo/CONTROL @@ -1,4 +1,4 @@ Source: libjpeg-turbo -Version: 2.0.2 +Version: 2.0.3 Homepage: https://github.com/libjpeg-turbo/libjpeg-turbo Description: libjpeg-turbo is a JPEG image codec that uses SIMD instructions (MMX, SSE2, NEON, AltiVec) to accelerate baseline JPEG compression and decompression on x86, x86-64, ARM, and PowerPC systems. diff --git a/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch b/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch index ceb90b51d..49dc8fe29 100644 --- a/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch +++ b/ports/libjpeg-turbo/add-options-for-exes-docs-headers.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index b9d2d40..c868862 100644 +index d80af40..361ecae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -143,6 +143,12 @@ option(ENABLE_SHARED "Build shared libraries" TRUE) @@ -93,7 +93,7 @@ index b9d2d40..c868862 100644 ############################################################################### -@@ -1328,10 +1339,14 @@ set(EXE ${CMAKE_EXECUTABLE_SUFFIX}) +@@ -1337,10 +1348,14 @@ set(EXE ${CMAKE_EXECUTABLE_SUFFIX}) if(WITH_TURBOJPEG) if(ENABLE_SHARED) @@ -109,16 +109,16 @@ index b9d2d40..c868862 100644 if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND CMAKE_C_LINKER_SUPPORTS_PDB) install(FILES "$" -@@ -1341,7 +1356,7 @@ if(WITH_TURBOJPEG) +@@ -1350,7 +1365,7 @@ if(WITH_TURBOJPEG) if(ENABLE_STATIC) install(TARGETS turbojpeg-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - if(NOT ENABLE_SHARED) + if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES) - if(MSVC_IDE) + if(MSVC_IDE OR XCODE) set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") else() -@@ -1351,13 +1366,15 @@ if(WITH_TURBOJPEG) +@@ -1360,13 +1375,15 @@ if(WITH_TURBOJPEG) DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE}) endif() endif() @@ -134,10 +134,10 @@ index b9d2d40..c868862 100644 install(TARGETS jpeg-static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - if(NOT ENABLE_SHARED) + if(NOT ENABLE_SHARED AND ENABLE_EXECUTABLES) - if(MSVC_IDE) + if(MSVC_IDE OR XCODE) set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") else() -@@ -1372,21 +1389,25 @@ if(ENABLE_STATIC) +@@ -1381,21 +1398,25 @@ if(ENABLE_STATIC) endif() endif() @@ -175,7 +175,7 @@ index b9d2d40..c868862 100644 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cjpeg.1 ${CMAKE_CURRENT_SOURCE_DIR}/djpeg.1 ${CMAKE_CURRENT_SOURCE_DIR}/jpegtran.1 ${CMAKE_CURRENT_SOURCE_DIR}/rdjpgcom.1 -@@ -1397,10 +1418,12 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc +@@ -1406,10 +1427,12 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libjpeg.pc ${CMAKE_CURRENT_BINARY_DIR}/pkgscripts/libturbojpeg.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) diff --git a/ports/libjpeg-turbo/portfile.cmake b/ports/libjpeg-turbo/portfile.cmake index a4fbb5b66..3ebb51dd1 100644 --- a/ports/libjpeg-turbo/portfile.cmake +++ b/ports/libjpeg-turbo/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libjpeg-turbo/libjpeg-turbo - REF 2.0.2 - SHA512 4dcde37ba014500cee69f7d49b359112655c177cf2c0003b4693bfe25f8a55147e9a87f58d31b4fc952a7faed6fecd5087220fd879110ade326922991f11c423 + REF 2.0.3 + SHA512 745cc3d50b43dd84721bc3c341d561ffd7f54eda5bbe2d56cad62f4b51ea76da3b18aba9ca694a9db79379aba7a9971cb146387979e96ca6ece950871276cf2f HEAD_REF master PATCHES add-options-for-exes-docs-headers.patch diff --git a/ports/libkml/CONTROL b/ports/libkml/CONTROL index 7e54d2c1c..3783e0d3d 100644 --- a/ports/libkml/CONTROL +++ b/ports/libkml/CONTROL @@ -1,5 +1,5 @@ Source: libkml -Version: 1.3.0-2 +Version: 1.3.0-4 Homepage: https://github.com/libkml/libkml Description: Reference implementation of OGC KML 2.2 -Build-Depends: zlib, expat, minizip, uriparser, boost-smart-ptr +Build-Depends: zlib, expat, minizip[bzip2], uriparser, boost-smart-ptr diff --git a/ports/libkml/portfile.cmake b/ports/libkml/portfile.cmake index b2e846d3c..a6e23b863 100644 --- a/ports/libkml/portfile.cmake +++ b/ports/libkml/portfile.cmake @@ -1,16 +1,13 @@ include(vcpkg_common_functions) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libkml/libkml REF 1.3.0 SHA512 aa48158103d3af764bf98c1fb4cf3e1356b9cc6c8e79d80b96850916f0a8ccb1dac3a46427735dd0bf20647daa047d10e722ac3da2a214d4c1559bf6d5d7c853 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/patch_empty_literal_on_vc.patch" + patch_empty_literal_on_vc.patch ) file(REMOVE ${SOURCE_PATH}/cmake/External_boost.cmake) @@ -23,6 +20,13 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libkml) +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libkml) +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libkml RENAME copyright) diff --git a/ports/liblas/CONTROL b/ports/liblas/CONTROL new file mode 100644 index 000000000..a08401448 --- /dev/null +++ b/ports/liblas/CONTROL @@ -0,0 +1,12 @@ +Source: liblas +Version: 1.8.1-3 +Build-Depends: boost, boost-thread, boost-system, boost-iostreams, boost-filesystem, libgeotiff +Description: A C/C++ library for reading and writing the very common LAS LiDAR format. + +Feature: jpeg +Description: Support for jpeg +Build-Depends: libjpeg-turbo + +Feature: zlib +Build-Depends: zlib +Description: Support zlib for compression \ No newline at end of file diff --git a/ports/liblas/fix-BuildError.patch b/ports/liblas/fix-BuildError.patch new file mode 100644 index 000000000..4f9d768dc --- /dev/null +++ b/ports/liblas/fix-BuildError.patch @@ -0,0 +1,33 @@ +diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt +index beb83e2..6f216bd 100644 +--- a/apps/CMakeLists.txt ++++ b/apps/CMakeLists.txt +@@ -155,7 +152,7 @@ endif() + # Targets installation + + install(TARGETS ${LIBLAS_UTILITIES} +- RUNTIME DESTINATION ${LIBLAS_BIN_DIR} ++ RUNTIME DESTINATION tools + LIBRARY DESTINATION ${LIBLAS_LIB_DIR} + ARCHIVE DESTINATION ${LIBLAS_LIB_DIR}) + +diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt +index c7f583d..ca9e602 100644 +--- a/cmake/CMakeLists.txt ++++ b/cmake/CMakeLists.txt +@@ -5,13 +5,8 @@ + # Set where cmake will install liblas-config.cmake. It's installed in + # ${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR} and ${PROJECT_ROOT_DIR} + # is the relative path to the root from there. +-if (NOT WIN32) +- set(INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}") +- set (PROJECT_ROOT_DIR "../../..") +-else () +- set(INSTALL_CMAKE_DIR "cmake") +- set (PROJECT_ROOT_DIR "..") +-endif () ++set(INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}") ++set (PROJECT_ROOT_DIR "../../..") + + # Now create the liblas-config files using the .in templates + configure_file (liblas-config.cmake.in diff --git a/ports/liblas/portfile.cmake b/ports/liblas/portfile.cmake new file mode 100644 index 000000000..32fdd7c7e --- /dev/null +++ b/ports/liblas/portfile.cmake @@ -0,0 +1,49 @@ +include(vcpkg_common_functions) + +set(VERSION 1.8.1) + +vcpkg_download_distfile(ARCHIVE + URLS "http://download.osgeo.org/liblas/libLAS-${VERSION}.tar.bz2" + FILENAME "libLAS-${VERSION}-src.tar.bz2" + SHA512 1cb39c557af0006c54f1100d0d409977fcc1886abd155c1b144d806c47f8675a9f2125d3a9aca16bae65d2aabba84d5e5e322b42085e7db312f3d53f92342acf + HEAD_REF master +) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES fix-BuildError.patch +) + +file(REMOVE ${SOURCE_PATH}/cmake/modules/FindPROJ4.cmake) +file(REMOVE ${SOURCE_PATH}/cmake/modules/FindGeoTIFF.cmake) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + + -DBUILD_OSGEO4W=OFF # Disable osgeo4w + -DWITH_TESTS=OFF + -DWITH_UTILITIES=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_ZLIB=${CMAKE_DISABLE_FIND_PACKAGE_ZLIB} + -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=${CMAKE_DISABLE_FIND_PACKAGE_JPEG} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/share/cmake/libLAS/liblas-depends.cmake) + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/libLAS) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/liblbfgs/CMakeLists.txt b/ports/liblbfgs/CMakeLists.txt new file mode 100644 index 000000000..34220b958 --- /dev/null +++ b/ports/liblbfgs/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) +PROJECT(liblbfgs) + +file(GLOB SOURCE_FILE + "lib/*.c" +) +file(GLOB HEADERS_FILE + "include/*.h" + "lib/*.h" +) +include_directories("include") +add_library (lbfgs STATIC ${SOURCE_FILE} ${HEADERS_FILE}) + +install(TARGETS lbfgs + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + + +install(FILES ${HEADERS_FILE} DESTINATION include) \ No newline at end of file diff --git a/ports/liblbfgs/CONTROL b/ports/liblbfgs/CONTROL new file mode 100644 index 000000000..bb1514f18 --- /dev/null +++ b/ports/liblbfgs/CONTROL @@ -0,0 +1,4 @@ +Source: liblbfgs +Version: 1.10 +Homepage: http://www.chokkan.org/software/liblbfgs/ +Description: libLBFGS: a library of Limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) diff --git a/ports/liblbfgs/portfile.cmake b/ports/liblbfgs/portfile.cmake new file mode 100644 index 000000000..ccb648720 --- /dev/null +++ b/ports/liblbfgs/portfile.cmake @@ -0,0 +1,24 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO chokkan/liblbfgs + REF v1.10 + SHA512 2b08dc5d4fdd737575f58983fa7b6c143bc12edaca47b7aeadf221afe6e573fa4a53423f323f569aa93c9dbeafb9b80a6d2f755fec6da04e6b7221f0a67816f8 + HEAD_REF master +) + +message(STATUS "source path is : ${SOURCE_PATH}") + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFIX_NINJA +) +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblbfgs RENAME copyright) \ No newline at end of file diff --git a/ports/liblsl/CONTROL b/ports/liblsl/CONTROL index 995b9fbd6..924dd3236 100644 --- a/ports/liblsl/CONTROL +++ b/ports/liblsl/CONTROL @@ -1,3 +1,3 @@ Source: liblsl -Version: 1.13.0-b6 +Version: 1.13.0-b11-1 Description: C++ lsl library for multi-modal time-synched data transmission over the local network diff --git a/ports/liblsl/portfile.cmake b/ports/liblsl/portfile.cmake index 1b6890a14..bd1afddf1 100644 --- a/ports/liblsl/portfile.cmake +++ b/ports/liblsl/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +set(VCPKG_LIBRARY_LINKAGE dynamic) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sccn/liblsl - REF 1.13.0-b6 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake - SHA512 fb98cdd73de5f13e97f639ba3f2f836d46ce28cdcb2246584728f296eb647e2c9c069534470a603b10d7dc34ab8978bf246e2187428ab231a925feb0b7024c89 + REF 1.13.0-b11 # NOTE: when updating version, also change it in the parameter to vcpkg_configure_cmake + SHA512 212f28070b8239dc176d2e35bf4091896babbf7688e4cbe1c2bb0c3788f317ce2a80f92d4b008c6e577b01a09e8faf65228d396ff13e9ade0c1ffdc5e08cb9e5 HEAD_REF master ) @@ -17,7 +17,7 @@ vcpkg_configure_cmake( -DLSL_BUILD_STATIC=OFF -DLSL_UNIXFOLDERS=ON -DLSL_NO_FANCY_LIBNAME=ON - -Dlslgitrevision="1.13.0-b6" + -Dlslgitrevision="1.13.0-b11" -Dlslgitbranch="master" ) @@ -26,5 +26,12 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +if(VCPKG_TARGET_IS_WINDOWS) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/lslver.exe) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/lslver/) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/lslver.exe ${CURRENT_PACKAGES_DIR}/tools/lslver/lslver.exe) +endif() + file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblsl RENAME copyright) file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/liblsl) 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 ae26eebab..97e9e564a 100644 --- a/ports/libmad/CONTROL +++ b/ports/libmad/CONTROL @@ -1,3 +1,3 @@ -Source: libmad -Version: 0.15.1-2 -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 cc5027963..c61df53de 100644 --- a/ports/libmad/portfile.cmake +++ b/ports/libmad/portfile.cmake @@ -2,28 +2,28 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmad-0.15.1b) vcpkg_download_distfile(ARCHIVE URLS "http://download.sourceforge.net/mad/libmad-0.15.1b.tar.gz" FILENAME "libmad-0.15.1b.tar.gz" SHA512 2cad30347fb310dc605c46bacd9da117f447a5cabedd8fefdb24ab5de641429e5ec5ce8af7aefa6a75a3f545d3adfa255e3fa0a2d50971f76bc0c4fc0400cc45 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/use_fpm_default.patch" +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} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/libmad/use_fpm_default.patch b/ports/libmad/use_fpm_default.patch deleted file mode 100644 index f20c8265e..000000000 --- a/ports/libmad/use_fpm_default.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- mad.h 2004-01-23 10:36:03.000000000 +0100 -+++ mad.h 2017-08-12 16:03:38.060392600 +0200 -@@ -24,7 +24,7 @@ - extern "C" { - # endif - --# define FPM_INTEL -+# define FPM_DEFAULT ---- msvc++/mad.h 2017-08-12 16:04:30.678146600 +0200 -+++ msvc++/mad.h 2017-08-12 16:04:00.779378000 +0200 -@@ -24,7 +24,7 @@ - extern "C" { - # endif - --# define FPM_INTEL -+# define FPM_DEFAULT diff --git a/ports/libmariadb/CONTROL b/ports/libmariadb/CONTROL index 986eb5d23..267755d1b 100644 --- a/ports/libmariadb/CONTROL +++ b/ports/libmariadb/CONTROL @@ -1,4 +1,4 @@ Source: libmariadb -Version: 3.0.10-1 +Version: 3.0.10-4 Homepage: https://github.com/MariaDB/mariadb-connector-c Description: MariaDB Connector/C is used to connect C/C++ applications to MariaDB and MySQL databases diff --git a/ports/libmariadb/fix-InstallPath.patch b/ports/libmariadb/fix-InstallPath.patch new file mode 100644 index 000000000..667a428f0 --- /dev/null +++ b/ports/libmariadb/fix-InstallPath.patch @@ -0,0 +1,49 @@ +diff --git a/cmake/install_plugins.cmake b/cmake/install_plugins.cmake +index cd5616c..d058a5c 100644 +--- a/cmake/install_plugins.cmake ++++ b/cmake/install_plugins.cmake +@@ -8,7 +8,7 @@ + # plugin installation + + MACRO(INSTALL_PLUGIN name binary_dir) +- INSTALL(TARGETS ${name} COMPONENT ClientPlugins DESTINATION ${INSTALL_PLUGINDIR}) ++ INSTALL(TARGETS ${name} COMPONENT ClientPlugins DESTINATION ${INSTALL_PLUGINDIR}/../../../bin/plugin) + IF(WIN32) + FILE(APPEND ${CC_BINARY_DIR}/win/packaging/plugin.conf "\n") + FILE(APPEND ${CC_BINARY_DIR}/win/packaging/plugin.conf "\n") +diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt +index a1f039e..03a3a6f 100644 +--- a/libmariadb/CMakeLists.txt ++++ b/libmariadb/CMakeLists.txt +@@ -386,10 +386,10 @@ ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE}) + TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS}) + + IF(UNIX) +- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE}) ++ ADD_LIBRARY(libmariadb ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE}) + SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}") + ELSE() +- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} mariadbclient.def) ++ ADD_LIBRARY(libmariadb ${libmariadb_RC} mariadbclient.def) + TARGET_LINK_LIBRARIES(libmariadb mariadbclient) + SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C) + ENDIF() +@@ -441,13 +441,14 @@ ENDIF() + + INSTALL(TARGETS mariadbclient + COMPONENT Development +- DESTINATION ${INSTALL_LIBDIR}) ++ LIBRARY DESTINATION lib) + INSTALL(TARGETS libmariadb + COMPONENT SharedLibraries +- DESTINATION ${INSTALL_LIBDIR}) ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + +- +-IF(WIN32) ++IF(0) + # On Windows, install PDB + INSTALL(FILES $ DESTINATION "${INSTALL_LIBDIR}" + CONFIGURATIONS Debug RelWithDebInfo diff --git a/ports/libmariadb/portfile.cmake b/ports/libmariadb/portfile.cmake index 0089ec0a3..6e74a5186 100644 --- a/ports/libmariadb/portfile.cmake +++ b/ports/libmariadb/portfile.cmake @@ -14,10 +14,12 @@ vcpkg_from_github( PATCHES md.patch disable-test-build.patch + fix-InstallPath.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DWITH_UNITTEST=OFF -DWITH_SSL=OFF @@ -31,6 +33,10 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) endif() +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + if(VCPKG_BUILD_TYPE STREQUAL "debug") # move headers file(RENAME @@ -38,45 +44,8 @@ if(VCPKG_BUILD_TYPE STREQUAL "debug") ${CURRENT_PACKAGES_DIR}/include) endif() -# fix libmariadb lib & dll directory. -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/mariadb/mariadbclient.lib - ${CURRENT_PACKAGES_DIR}/lib/mariadbclient.lib) - endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/mariadbclient.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/mariadbclient.lib) - endif() -else() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.dll - ${CURRENT_PACKAGES_DIR}/bin/libmariadb.dll) - file(RENAME - ${CURRENT_PACKAGES_DIR}/lib/mariadb/libmariadb.lib - ${CURRENT_PACKAGES_DIR}/lib/libmariadb.lib) - endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.dll - ${CURRENT_PACKAGES_DIR}/debug/bin/libmariadb.dll) - file(RENAME - ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb/libmariadb.lib - ${CURRENT_PACKAGES_DIR}/debug/lib/libmariadb.lib) - endif() -endif() - # remove plugin folder file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/lib/plugin - ${CURRENT_PACKAGES_DIR}/debug/lib/plugin ${CURRENT_PACKAGES_DIR}/lib/mariadb ${CURRENT_PACKAGES_DIR}/debug/lib/mariadb) diff --git a/ports/libmesh/CONTROL b/ports/libmesh/CONTROL new file mode 100644 index 000000000..f0efea8fc --- /dev/null +++ b/ports/libmesh/CONTROL @@ -0,0 +1,4 @@ +Source: libmesh +Version: 1.5.0 +Homepage: https://github.com/libMesh/libmesh +Description: The libMesh library provides a framework for the numerical simulation of partial differential equations using arbitrary unstructured discretizations on serial and parallel platforms. A major goal of the library is to provide support for adaptive mesh refinement (AMR) computations in parallel while allowing a research scientist to focus on the physics they are modeling. diff --git a/ports/libmesh/copyright b/ports/libmesh/copyright new file mode 100644 index 000000000..a91215677 --- /dev/null +++ b/ports/libmesh/copyright @@ -0,0 +1,169 @@ +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 + +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] +Preamble +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. + +This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. + +When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. + +To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. + +For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. + +We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. + +To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. + +Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. + +Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. + +When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. + +We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. + +For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. + +In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. + +Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. + +The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". + +A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. + +The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + +a) The modified work must itself be a software library. +b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. +c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. +d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. +(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. + +Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. + +This option is useful when you wish to copy part of the code of the Library into a program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. + +If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. + +5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. + +However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. + +When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. + +If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. + +6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. + +You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: + +a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) +b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. +c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. +d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. +e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. +For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + +It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. + +7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: + +a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. +b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. +8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. + +11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Libraries +If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). + +To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + +one line to give the library's name and an idea of what it does. +Copyright (C) year name of author + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob' (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice +That's all there is to it! \ No newline at end of file diff --git a/ports/libmesh/portfile.cmake b/ports/libmesh/portfile.cmake new file mode 100644 index 000000000..97a86436d --- /dev/null +++ b/ports/libmesh/portfile.cmake @@ -0,0 +1,49 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux platform" ON_TARGET "Windows") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libMesh/libmesh + REF 21f623c837b3865ed65ec9608b357bdb1935d428 #1.5.0 + SHA512 53ad41ed0cd99cb5096ff338a3ff5d8a8ecbfb17dc1d7ee0d2b0cbffecbede7f7c11b7c3c2233cec9dde0988c8828ba0199247effd3442befc72230e641a185e + HEAD_REF master +) + +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_make() + +if (EXISTS ${CURRENT_PACKAGES_DIR}/contrib/bin/libtool) + file(COPY ${CURRENT_PACKAGES_DIR}/contrib/bin/libtool DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(REMOVE ${CURRENT_PACKAGES_DIR}/contrib/bin/libtool) +endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/contrib ${CURRENT_PACKAGES_DIR}/debug/contrib) + +file(GLOB ${CURRENT_PACKAGES_DIR}/bin LIBMESH_TOOLS) +foreach (LIBMESH_TOOL ${LIBMESH_TOOLS}) + file(COPY ${LIBMESH_TOOL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(REMOVE ${LIBMESH_TOOL}) +endforeach() + +file(GLOB LIBMESH_TOOLS ${CURRENT_PACKAGES_DIR}/examples/*) +foreach (LIBMESH_TOOL ${LIBMESH_TOOLS}) + file(COPY ${LIBMESH_TOOL} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(REMOVE ${LIBMESH_TOOL}) +endforeach() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +# Remove tools and debug include directories +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/contrib ${CURRENT_PACKAGES_DIR}/debug/etc + ${CURRENT_PACKAGES_DIR}/debug/examples ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share + ${CURRENT_PACKAGES_DIR}/Make.common ${CURRENT_PACKAGES_DIR}/debug/Make.common) + +vcpkg_copy_pdbs() + +file(INSTALL ${CURRENT_PORT_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) + diff --git a/ports/libmicrohttpd/CONTROL b/ports/libmicrohttpd/CONTROL index 8bc6ac229..d073ad6d7 100644 --- a/ports/libmicrohttpd/CONTROL +++ b/ports/libmicrohttpd/CONTROL @@ -1,4 +1,4 @@ Source: libmicrohttpd -Version: 0.9.63 +Version: 0.9.63-1 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 51f4780a9..73f711445 100644 --- a/ports/libmicrohttpd/portfile.cmake +++ b/ports/libmicrohttpd/portfile.cmake @@ -2,13 +2,16 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libmicrohttpd-0.9.63) vcpkg_download_distfile(ARCHIVE URLS "ftp://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.63.tar.gz" FILENAME "libmicrohttpd-0.9.63.tar.gz" SHA512 cb99e7af84fb6d7c0fd3894a9dc0fbff14959b35347506bd3211a65bbfad36455007b9e67493e97c9d8394834408df10eeabdc7758573e6aae0ba6f5f87afe17 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/libmikmod/CONTROL b/ports/libmikmod/CONTROL index 57d399a26..fbe8b7900 100644 --- a/ports/libmikmod/CONTROL +++ b/ports/libmikmod/CONTROL @@ -1,5 +1,5 @@ Source: libmikmod -Version: 3.3.11.1-2 +Version: 3.3.11.1-5 Homepage: https://sourceforge.net/projects/mikmod/ Description: Mikmod is a module player and library supporting many formats, including mod, s3m, it, and xm. Build-Depends: openal-soft diff --git a/ports/libmikmod/name_conflict.patch b/ports/libmikmod/name_conflict.patch new file mode 100644 index 000000000..be0ba1d28 --- /dev/null +++ b/ports/libmikmod/name_conflict.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 53a174e..5983882 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -404,7 +404,7 @@ IF (ENABLE_STATIC) + + SET_TARGET_PROPERTIES( + mikmod-static +- PROPERTIES OUTPUT_NAME "mikmod" ++ PROPERTIES OUTPUT_NAME "mikmod-static" + ) + SET_TARGET_PROPERTIES( + ${LIBMIKMOD_LIBS} diff --git a/ports/libmikmod/portfile.cmake b/ports/libmikmod/portfile.cmake index 3ff7ecb52..149e4429a 100644 --- a/ports/libmikmod/portfile.cmake +++ b/ports/libmikmod/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_download_distfile(ARCHIVE @@ -23,8 +11,15 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH PATCHES fix-missing-dll.patch + name_conflict.patch ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(ENABLE_STATIC ON) +else() + set(ENABLE_STATIC OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA # Disable this option if project cannot be built with Ninja @@ -41,18 +36,17 @@ vcpkg_configure_cmake( -DENABLE_STDOUT=ON -DENABLE_WAV=ON -DOPENAL_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include + -DENABLE_STATIC=${ENABLE_STATIC} OPTIONS_RELEASE -DENABLE_SIMD=ON OPTIONS_DEBUG -DENABLE_SIMD=OFF ) vcpkg_install_cmake() -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmikmod) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libmikmod/COPYING.LESSER ${CURRENT_PACKAGES_DIR}/share/libmikmod/copyright) - 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() + +file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libmodbus/CMakeLists.txt b/ports/libmodbus/CMakeLists.txt index 0abb4b6a7..c08abe838 100644 --- a/ports/libmodbus/CMakeLists.txt +++ b/ports/libmodbus/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0) -project(libmodbus VERSION 3.1.4) +project(libmodbus VERSION 3.1.6) set(LIBMODBUS_VERSION ${PROJECT_VERSION}) set(LIBMODBUS_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) diff --git a/ports/libmodbus/CONTROL b/ports/libmodbus/CONTROL index ef880d2a0..cb3f5a295 100644 --- a/ports/libmodbus/CONTROL +++ b/ports/libmodbus/CONTROL @@ -1,3 +1,3 @@ Source: libmodbus -Version: 3.1.4-2 +Version: 3.1.6 Description: libmodbus is a free software library to send/receive data with a device which respects the Modbus protocol diff --git a/ports/libmodbus/portfile.cmake b/ports/libmodbus/portfile.cmake index 95e3b8720..fda250e4f 100644 --- a/ports/libmodbus/portfile.cmake +++ b/ports/libmodbus/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO stephane/libmodbus - REF v3.1.4 - SHA512 dc13b680a13ae2c952fe23cfe257a92a2be4823005b71b87e9520a3676df220b749d04c0825b1d1da02ac8b6995315e5cda2c8fd68e4672dd60e0b3fe739728b + REF v3.1.6 + SHA512 9eaa395c75e1170e703e01f8c52c6e6e87efe4eaa22adfc3b51153fd5535d545aea35cf68e1aba29720a6c1dd13d9c60b6b08a5c8098dccd13ccfdc6944420a9 HEAD_REF master ) @@ -19,10 +19,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING.LESSER DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmodbus RENAME copyright) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) \ No newline at end of file +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/libmorton/CONTROL b/ports/libmorton/CONTROL index 8e814fd43..bfbf6bfca 100644 --- a/ports/libmorton/CONTROL +++ b/ports/libmorton/CONTROL @@ -1,3 +1,3 @@ Source: libmorton -Version: 2018-19-07 +Version: 0.2 Description: header-only library for encoding/decoding Morton codes in/from 2D/3D coordinates diff --git a/ports/libmorton/portfile.cmake b/ports/libmorton/portfile.cmake index 396a3608b..4738014e3 100644 --- a/ports/libmorton/portfile.cmake +++ b/ports/libmorton/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Forceflow/libmorton - REF 797ea736dca49553a56089f143ee6d1effdd318e - SHA512 ee9632f5c873462842d18014d4fd2d461e9fe767659e7426a7dec90fcc06cb974fb064229db5622c38ad0af9509004edea87e0f1d57ad09d8d1d236a5b9579a0 + REF v0.2 + SHA512 04cf8332a1cee52eebfb25a46ac64517900704f62fe53ccf1d6a74c535ccac5af4e3ce2e0a5ce94ee850fadb429fe0d88d5a66901f16e4308341a621e599d33d HEAD_REF master ) diff --git a/ports/libmspack/CONTROL b/ports/libmspack/CONTROL index de476a430..7daf9894e 100644 --- a/ports/libmspack/CONTROL +++ b/ports/libmspack/CONTROL @@ -1,5 +1,5 @@ Source: libmspack -Version: 0.10.1 +Version: 0.10.1-2 Build-Depends: 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/portfile.cmake b/ports/libmspack/portfile.cmake index 759f01724..3da56e9cc 100644 --- a/ports/libmspack/portfile.cmake +++ b/ports/libmspack/portfile.cmake @@ -3,14 +3,17 @@ include(vcpkg_common_functions) set(LIB_NAME libmspack) set(LIB_VERSION 0.10.1alpha) set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.gz) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIB_NAME}-${LIB_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://www.cabextract.org.uk/libmspack/${LIB_FILENAME}" FILENAME "${LIB_FILENAME}" SHA512 a7b5f7caa49190c5021f3e768b92f2e51cc0ce685c9ab6ed6fb36de885c73231b58d47a8a3b5c5aa5c9ac56c25c500eb683d84dbf11f09f97f6cb4fff5adc245 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}) @@ -18,6 +21,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/libmspack.def DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/libmupdf/CMakeLists.txt b/ports/libmupdf/CMakeLists.txt index 6018c50aa..daafef74c 100644 --- a/ports/libmupdf/CMakeLists.txt +++ b/ports/libmupdf/CMakeLists.txt @@ -22,7 +22,7 @@ file(GLOB_RECURSE SOURCES "source/*.c" "generated/*.c") list(FILTER SOURCES EXCLUDE REGEX "source/tools/[a-z]*\\.c$") add_library(libmupdf ${SOURCES}) -target_compile_definitions(libmupdf PRIVATE -DSHARE_JPEG -DFZ_ENABLE_JS=0 -DNO_ICC) +target_compile_definitions(libmupdf PRIVATE -DSHARE_JPEG -DFZ_ENABLE_JS=0 -DFZ_ENABLE_ICC=0) target_include_directories(libmupdf PUBLIC include diff --git a/ports/libmupdf/CONTROL b/ports/libmupdf/CONTROL index 4de343cb3..215178ef5 100644 --- a/ports/libmupdf/CONTROL +++ b/ports/libmupdf/CONTROL @@ -1,5 +1,5 @@ Source: libmupdf -Version: 1.12.0-2 +Version: 1.15.0-2 Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3, openjpeg, jbig2dec Homepage: https://github.com/ArtifexSoftware/mupdf Description: a lightweight PDF, XPS, and E-book library diff --git a/ports/libmupdf/Fix-error-C2169.patch b/ports/libmupdf/Fix-error-C2169.patch index 164ffe157..4647d6b95 100644 --- a/ports/libmupdf/Fix-error-C2169.patch +++ b/ports/libmupdf/Fix-error-C2169.patch @@ -2,11 +2,11 @@ diff --git a/include/mupdf/fitz/system.h b/include/mupdf/fitz/system.h index 0552771..42fd037 100644 --- a/include/mupdf/fitz/system.h +++ b/include/mupdf/fitz/system.h -@@ -117,7 +117,6 @@ static __inline int signbit(double x) +@@ -131,7 +131,6 @@ #define isnan(x) _isnan(x) #define isinf(x) (!_finite(x)) #endif -#define hypotf _hypotf #define atoll _atoi64 - char *fz_utf8_from_wchar(const wchar_t *s); + #endif diff --git a/ports/libmupdf/portfile.cmake b/ports/libmupdf/portfile.cmake index 0569b5505..a00c4cc87 100644 --- a/ports/libmupdf/portfile.cmake +++ b/ports/libmupdf/portfile.cmake @@ -5,12 +5,11 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ArtifexSoftware/mupdf - REF 1.12.0 - SHA512 893a1958e34355acf73624e9c47f4a97adf13d5fe33604ac384df9ac22a56ef7c18e02143eaffc3c2a08f460e4c71fee00c094b6d6696f8446977bb18f65e3da + REF 1.15.0 + SHA512 9f47a79a2040ff3da885f54d143a7c44712f8a08650fca1d2be21199a7103364a35e28a1832708c2b7752b11c95bf0755ae6c922afc35ee8ae639da7a6ac03b0 HEAD_REF master PATCHES Fix-error-C2169.patch - remove_opj_defines.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -27,6 +26,4 @@ file(COPY ${SOURCE_PATH}/include/mupdf DESTINATION ${CURRENT_PACKAGES_DIR}/inclu vcpkg_copy_pdbs() -#copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libmupdf/remove_opj_defines.patch b/ports/libmupdf/remove_opj_defines.patch deleted file mode 100644 index ec591d367..000000000 --- a/ports/libmupdf/remove_opj_defines.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c -index 65699ba..ea84778 100644 ---- a/source/fitz/load-jpx.c -+++ b/source/fitz/load-jpx.c -@@ -445,11 +445,6 @@ fz_load_jpx_info(fz_context *ctx, const unsigned char *data, size_t size, int *w - - #else /* HAVE_LURATECH */ - --#define OPJ_STATIC --#define OPJ_HAVE_INTTYPES_H --#if !defined(_MSC_VER) || _MSC_VER >= 1600 --#define OPJ_HAVE_STDINT_H --#endif - #define USE_JPIP - - #include diff --git a/ports/libnice/CONTROL b/ports/libnice/CONTROL index 2d542c41d..8f79f6b0a 100644 --- a/ports/libnice/CONTROL +++ b/ports/libnice/CONTROL @@ -1,5 +1,5 @@ Source: libnice -Version: 0.1.15 +Version: 0.1.15-1 Homepage: https://nice.freedesktop.org Description: Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389). Build-Depends: glib, openssl diff --git a/ports/libnice/portfile.cmake b/ports/libnice/portfile.cmake index 2c0f87afe..14fb0d646 100644 --- a/ports/libnice/portfile.cmake +++ b/ports/libnice/portfile.cmake @@ -15,6 +15,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_RELEASE -DOPTIMIZE=1 OPTIONS_DEBUG -DDEBUGGABLE=1 ) diff --git a/ports/libodb-boost/CONTROL b/ports/libodb-boost/CONTROL index 24f7d18b9..3dec84103 100644 --- a/ports/libodb-boost/CONTROL +++ b/ports/libodb-boost/CONTROL @@ -1,4 +1,4 @@ Source: libodb-boost -Version: 2.4.0-2 +Version: 2.4.0-3 Description: Description: Boost support for the ODB ORM library Build-Depends: libodb diff --git a/ports/libodb-boost/portfile.cmake b/ports/libodb-boost/portfile.cmake index 212e6b01a..ee429c9ab 100644 --- a/ports/libodb-boost/portfile.cmake +++ b/ports/libodb-boost/portfile.cmake @@ -1,11 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-boost-2.4.0) + vcpkg_download_distfile(ARCHIVE URLS "http://www.codesynthesis.com/download/odb/2.4/libodb-boost-2.4.0.tar.gz" FILENAME "libodb-boost-2.4.0.tar.gz" SHA512 af716b0385cf4ea18b20dcd5880c69c43cfc195eec4ff196a8e438833306489c39ab06a494e5d60cd08ba0d94caa05bd07e5f3fa836d835bad15c8a2ad7de306 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt @@ -14,6 +18,7 @@ file(COPY vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) diff --git a/ports/libodb-mysql/CONTROL b/ports/libodb-mysql/CONTROL index fe5a28e8a..0ac4e211a 100644 --- a/ports/libodb-mysql/CONTROL +++ b/ports/libodb-mysql/CONTROL @@ -1,5 +1,5 @@ Source: libodb-mysql -Version: 2.4.0-2 +Version: 2.4.0-5 Homepage: https://www.codesynthesis.com/products/odb/ Description: MySQL support for the ODB ORM library -Build-Depends: libodb, libmysql \ No newline at end of file +Build-Depends: libodb, libmysql diff --git a/ports/libodb-mysql/portfile.cmake b/ports/libodb-mysql/portfile.cmake index 88684bd35..479d2726e 100644 --- a/ports/libodb-mysql/portfile.cmake +++ b/ports/libodb-mysql/portfile.cmake @@ -1,26 +1,14 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-mysql-2.4.0) + vcpkg_download_distfile(ARCHIVE URLS "https://www.codesynthesis.com/download/odb/2.4/libodb-mysql-2.4.0.tar.gz" FILENAME "libodb-mysql-2.4.0.tar.gz" SHA512 c27b73c3f61dccdd149c11c122185f645a00d5bc346b366ee65b738f8719c39d03fad07a0d55b62b3db9e3ad2507679c24ddda331e5d110f367ad32f7cf8b910 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH PATCHES ${CMAKE_CURRENT_LIST_DIR}/adapter_mysql_8.0.patch ) @@ -35,6 +23,7 @@ set(MYSQL_LIB "${CURRENT_INSTALLED_DIR}/lib/libmysql.lib") set(MYSQL_LIB_DEBUG "${CURRENT_INSTALLED_DIR}/debug/lib/libmysql.lib") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DMYSQL_INCLUDE_DIR=${MYSQL_INCLUDE_DIR} OPTIONS_RELEASE @@ -50,6 +39,7 @@ file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_mysqlConfig-debug.cmake LI string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_mysqlConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb-mysql) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb-mysql/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb-mysql/copyright) + vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libodb-pgsql/CONTROL b/ports/libodb-pgsql/CONTROL index d35291135..a6988eeb0 100644 --- a/ports/libodb-pgsql/CONTROL +++ b/ports/libodb-pgsql/CONTROL @@ -1,5 +1,5 @@ Source: libodb-pgsql -Version: 2.4.0-2 +Version: 2.4.0-3 Homepage: https://www.codesynthesis.com/products/odb/ Description: Description: PostgreSQL support for the ODB ORM library Build-Depends: libodb, libpq diff --git a/ports/libodb-pgsql/portfile.cmake b/ports/libodb-pgsql/portfile.cmake index 3e31f2aa7..c8a720340 100644 --- a/ports/libodb-pgsql/portfile.cmake +++ b/ports/libodb-pgsql/portfile.cmake @@ -1,11 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-pgsql-2.4.0) + vcpkg_download_distfile(ARCHIVE URLS "http://www.codesynthesis.com/download/odb/2.4/libodb-pgsql-2.4.0.tar.gz" FILENAME "libodb-pgsql-2.4.0.tar.gz" SHA512 535515356233b815f144c0098940174f7a530e7fa4e930c0a9ebdc255fdb8bac8cdcceac31f25be4864105323e00bfe50808efa648e7c8ffb5a944e52f514b69 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt @@ -14,6 +18,7 @@ file(COPY vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) diff --git a/ports/libodb-sqlite/CONTROL b/ports/libodb-sqlite/CONTROL index a8d9ef41f..0c87a6fc8 100644 --- a/ports/libodb-sqlite/CONTROL +++ b/ports/libodb-sqlite/CONTROL @@ -1,5 +1,5 @@ Source: libodb-sqlite -Version: 2.4.0-3 +Version: 2.4.0-5 Homepage: https://www.codesynthesis.com/products/odb/ Description: Sqlite support for the ODB ORM library Build-Depends: libodb, sqlite3 diff --git a/ports/libodb-sqlite/portfile.cmake b/ports/libodb-sqlite/portfile.cmake index b301169a7..113307abe 100644 --- a/ports/libodb-sqlite/portfile.cmake +++ b/ports/libodb-sqlite/portfile.cmake @@ -1,19 +1,15 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-sqlite-2.4.0) + vcpkg_download_distfile(ARCHIVE URLS "http://www.codesynthesis.com/download/odb/2.4/libodb-sqlite-2.4.0.tar.gz" FILENAME "libodb-sqlite-2.4.0.tar.gz" SHA512 af16da7c82cf8845ca3b393fbd8957a92b05ebc925a5191f20d414ab558345850073cd9c46457d0ef0edfb12ebcb27f267b934c9c69ef598380242fe920c8577 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt @@ -22,6 +18,7 @@ file(COPY vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) @@ -32,6 +29,7 @@ file(READ ${CURRENT_PACKAGES_DIR}/debug/share/odb/odb_sqliteConfig-debug.cmake L string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" LIBODB_DEBUG_TARGETS "${LIBODB_DEBUG_TARGETS}") file(WRITE ${CURRENT_PACKAGES_DIR}/share/odb/odb_sqliteConfig-debug.cmake "${LIBODB_DEBUG_TARGETS}") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb-sqlite) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb-sqlite/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb-sqlite/copyright) + vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/libodb/CONTROL b/ports/libodb/CONTROL index 049a1bd12..71af41914 100644 --- a/ports/libodb/CONTROL +++ b/ports/libodb/CONTROL @@ -1,4 +1,4 @@ Source: libodb -Version: 2.4.0-4 +Version: 2.4.0-6 Homepage: https://www.codesynthesis.com/products/odb/ Description: ODB library, base runtime for the ODB ORM solution diff --git a/ports/libodb/portfile.cmake b/ports/libodb/portfile.cmake index 1ca5d4a1a..18dc60f73 100644 --- a/ports/libodb/portfile.cmake +++ b/ports/libodb/portfile.cmake @@ -1,20 +1,17 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) include(CMakePackageConfigHelpers) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libodb-2.4.0) + vcpkg_download_distfile(ARCHIVE URLS "http://www.codesynthesis.com/download/odb/2.4/libodb-2.4.0.tar.gz" FILENAME "libodb-2.4.0.tar.gz" SHA512 f1311458634695eb6ba307ebfd492e3b260e7beb06db1c5c46df58c339756be4006322cdc4e42d055bf5b2ad14ce4656ddcafcc4e16c282034db8a77d255c3eb ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in @@ -22,6 +19,7 @@ file(COPY vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DLIBODB_INSTALL_HEADERS=OFF ) @@ -36,9 +34,6 @@ write_basic_package_version_file(${CURRENT_PACKAGES_DIR}/share/odb/odbConfigVers VERSION 2.4.0 COMPATIBILITY SameMajorVersion ) -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libodb) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libodb/LICENSE ${CURRENT_PACKAGES_DIR}/share/libodb/copyright) set(LIBODB_HEADER_PATH ${CURRENT_PACKAGES_DIR}/include/odb/details/export.hxx) file(READ ${LIBODB_HEADER_PATH} LIBODB_HEADER) @@ -50,3 +45,5 @@ endif() file(WRITE ${LIBODB_HEADER_PATH} "${LIBODB_HEADER}") vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libogg/CONTROL b/ports/libogg/CONTROL index abce41839..bc36d27b6 100644 --- a/ports/libogg/CONTROL +++ b/ports/libogg/CONTROL @@ -1,4 +1,4 @@ Source: libogg -Version: 1.3.3-3 +Version: 1.3.4 Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. Homepage: https://github.com/xiph/ogg diff --git a/ports/libogg/missing_usize64.patch b/ports/libogg/missing_usize64.patch deleted file mode 100644 index 556bc2a54..000000000 --- a/ports/libogg/missing_usize64.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5c31a3c..c3c060a 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,6 +63,7 @@ set(USIZE16 uint16_t) - set(SIZE32 int32_t) - set(USIZE32 uint32_t) - set(SIZE64 int64_t) -+set(USIZE64 uint64_t) - - configure_file(include/ogg/config_types.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/ogg/config_types.h @ONLY) - diff --git a/ports/libogg/portfile.cmake b/ports/libogg/portfile.cmake index b42ad8136..476feb7d2 100644 --- a/ports/libogg/portfile.cmake +++ b/ports/libogg/portfile.cmake @@ -3,11 +3,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/ogg - REF 6ccfcc2dce48c0d430b45064d0e13c962a64c42f - SHA512 441950d541f626a2e668efab4ed429c453534ef0334aad410013f07870a4a99e347f7a7eed335d77af41f02ce3dd600564d982e4c976a0c4cb76c19b1231d39e + REF c8fca6b4a02d695b1ceea39b330d4406001c03ed + SHA512 52980fcca3c1dbb5fbfa4032f179679a5c4000f1fea88e7ed8b2522d80d27513be96d94933daeb9e36f4ac8556e7e4e8ec7e91101e2ba456e0fce51c484eee9e HEAD_REF master - PATCHES - missing_usize64.patch ) vcpkg_configure_cmake( @@ -18,10 +16,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ogg TARGET_PATH share/ogg) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Ogg TARGET_PATH share/ogg) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libogg RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + diff --git a/ports/libosip2/CONTROL b/ports/libosip2/CONTROL new file mode 100644 index 000000000..32405dcb0 --- /dev/null +++ b/ports/libosip2/CONTROL @@ -0,0 +1,4 @@ +Source: libosip2 +Version: 5.1.0-1 +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 new file mode 100644 index 000000000..94d24e591 --- /dev/null +++ b/ports/libosip2/portfile.cmake @@ -0,0 +1,40 @@ +include(vcpkg_common_functions) + +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" + FILENAME "libosip2-${LIBOSIP2_VER}.tar.gz" + SHA512 391c9a0ea399f789d7061b0216d327eecba5bbf0429659f4f167604b9e703e1678ba6f58079aa4f84b3636a937064ecfb92e985368164fcb679e95654e43d65b +) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH +) + +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + NO_DEBUG + AUTO_HOST + AUTO_DST + PRERUN_SHELL autogen.sh +) + +vcpkg_install_make() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(GLOB_RECURSE LIBOSIP2_BINARIES ${CURRENT_PACKAGES_DIR}/lib *.so) +foreach(LIBOSIP2_BINARY LIBOSIP2_BINARIES) + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(COPY ${LIBOSIP2_BINARY} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + endif() + file(REMOVE ${LIBOSIP2_BINARY}) +endforeach() + +# 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/libp7-baical/portfile.cmake b/ports/libp7-baical/portfile.cmake index fcc51caed..bae7c896e 100644 --- a/ports/libp7-baical/portfile.cmake +++ b/ports/libp7-baical/portfile.cmake @@ -10,14 +10,17 @@ endif() set(LIBP7_VERSION 4.4) set(LIBP7_HASH 500fefdf6fb01999ddb2accc8309cf8749fb7a65abb98faaf6d71a5ae3da4eac8c00c083905b01f7f6cc973387b605f2c4db0bb007562f76b7ad43b6abe2b91f) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libP7_v${LIBP7_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "http://baical.net/files/libP7_v${LIBP7_VERSION}.zip" FILENAME "libP7_v${LIBP7_VERSION}.zip" SHA512 ${LIBP7_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/libp7client/CONTROL b/ports/libp7client/CONTROL new file mode 100644 index 000000000..0069877d4 --- /dev/null +++ b/ports/libp7client/CONTROL @@ -0,0 +1,3 @@ +Source: libp7client +Version: 5.2-1 +Description: Open source, cross-platform, fastest library for sending logs, telemetry & trace data from your application. diff --git a/ports/libp7client/fix-runtime-library.patch b/ports/libp7client/fix-runtime-library.patch new file mode 100644 index 000000000..d7d2ab931 --- /dev/null +++ b/ports/libp7client/fix-runtime-library.patch @@ -0,0 +1,76 @@ +diff --git a/Sources/P7ClientDll.vcxproj b/Sources/P7ClientDll.vcxproj +index 9fab3d0..a7035d9 100644 +--- a/Sources/P7ClientDll.vcxproj ++++ b/Sources/P7ClientDll.vcxproj +@@ -112,7 +112,7 @@ + $(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories) + false + false +- MultiThreadedDebug ++ MultiThreadedDebugDLL + + + Windows +@@ -137,7 +137,7 @@ + Disabled + _WIN64;_DEBUG;_LIB;%(PreprocessorDefinitions) + $(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories) +- MultiThreadedDebug ++ MultiThreadedDebugDLL + + + Windows +@@ -165,7 +165,7 @@ + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + $(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories) + ProgramDatabase +- MultiThreaded ++ MultiThreadedDll + + + Windows +@@ -195,7 +195,7 @@ + _WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions) + $(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories) + ProgramDatabase +- MultiThreaded ++ MultiThreadedDll + + + Windows +diff --git a/Sources/P7ClientLib.vcxproj b/Sources/P7ClientLib.vcxproj +index 3b46bab..725f8a4 100644 +--- a/Sources/P7ClientLib.vcxproj ++++ b/Sources/P7ClientLib.vcxproj +@@ -161,6 +161,7 @@ + $(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories) + false + false ++ MultiThreadedDebug + + + Windows +@@ -181,6 +182,7 @@ + Disabled + _WIN64;_DEBUG;_LIB;%(PreprocessorDefinitions) + $(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories) ++ MultiThreadedDebug + + + Windows +@@ -204,6 +206,7 @@ + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + $(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories) + ProgramDatabase ++ MultiThreaded + + + Windows +@@ -255,6 +258,7 @@ + _WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions) + $(ProjectDir)\..\Shared\;$(ProjectDir)\..\Shared\Platforms\Windows_x86;$(ProjectDir)\..\Headers;%(AdditionalIncludeDirectories) + ProgramDatabase ++ MultiThreaded + + + Windows diff --git a/ports/libp7client/portfile.cmake b/ports/libp7client/portfile.cmake new file mode 100644 index 000000000..1a0b002ea --- /dev/null +++ b/ports/libp7client/portfile.cmake @@ -0,0 +1,118 @@ +include(vcpkg_common_functions) + +if (NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) + message(FATAL_ERROR "Unsupported system: ${VCPKG_CMAKE_SYSTEM_NAME}") +endif() + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(BUILD_ARCH "Win32") + set(ARCH "32") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(BUILD_ARCH "x64") + set(ARCH "64") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") +else() + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +set(VERSION 5.2) + +vcpkg_download_distfile(ARCHIVE + URLS "http://baical.net/files/libP7Client_v${VERSION}.zip" + FILENAME "libP7Client_v${VERSION}.zip" + SHA512 9744b9c3f091db90aca3485408d3e1169317152ea353ab3845cd7cfb9d61d105b55be17ad83c5970e01d7d0f37566313bc18c0f8a4c16bcd1582cd7a5ea29b87 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL + REF ${VERSION} + PATCHES + "fix-runtime-library.patch" +) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/Sources/P7ClientLib.vcxproj + PLATFORM ${BUILD_ARCH} + RELEASE_CONFIGURATION + DEBUG_CONFIGURATION + OPTIONS + "/p:NoWarn=C4996" + ) + + file(GLOB LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.lib") + file(GLOB D_LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.lib") +else() + vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/Sources/P7ClientDll.vcxproj + PLATFORM ${BUILD_ARCH} + #RELEASE_CONFIGURATION + #DEBUG_CONFIGURATION + OPTIONS + "/p:NoWarn=C4996" + ) + + file(GLOB DLL_LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.dll.lib") + file(GLOB D_DLL_LIB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.dll.lib") + + file(GLOB DLL_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.dll") + file(GLOB D_DLL_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.dll") + + file(GLOB PDB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.pdb") + file(GLOB D_PDB_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.pdb") + +endif() + +file(GLOB HEADER_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Headers/*.h") +file(INSTALL + ${HEADER_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/include/P7 +) + +#file(GLOB EXE_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}.exe") +#file(GLOB D_EXE_FILES LIST_DIRECTORIES false "${SOURCE_PATH}/Binaries/*${ARCH}d.exe") + +file(INSTALL + ${LIB_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/lib +) +file(INSTALL + ${D_LIB_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib +) +file(INSTALL + ${DLL_LIB_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/lib +) +file(INSTALL + ${D_DLL_LIB_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib +) +file(INSTALL + ${DLL_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/bin +) +file(INSTALL + ${D_DLL_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin +) +file(INSTALL + ${PDB_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/bin +) +file(INSTALL + ${D_PDB_FILES} + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin +) + +file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libp7client RENAME copyright) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +vcpkg_copy_pdbs() \ No newline at end of file diff --git a/ports/libpff/CONTROL b/ports/libpff/CONTROL index 0aeb07a19..8520aa188 100644 --- a/ports/libpff/CONTROL +++ b/ports/libpff/CONTROL @@ -1,4 +1,4 @@ Source: libpff -Version: 2018-07-14 +Version: 2018-07-14-1 Build-Depends: zlib Description: Library and tools to access the Personal Folder File (PFF) and the Offline Folder File (OFF) format. diff --git a/ports/libpff/portfile.cmake b/ports/libpff/portfile.cmake index f9a56a86e..6d327d8a5 100644 --- a/ports/libpff/portfile.cmake +++ b/ports/libpff/portfile.cmake @@ -29,7 +29,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libpff" TARGET_PATH "share/unofficial-libpff") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libpff TARGET_PATH share/unofficial-libpff) file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") diff --git a/ports/libplist/portfile.cmake b/ports/libplist/portfile.cmake index 5b6ce749c..b2b8dde80 100644 --- a/ports/libplist/portfile.cmake +++ b/ports/libplist/portfile.cmake @@ -1,6 +1,6 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT) +vcpkg_check_linkage(ONLY_DYNAMIC_CRT ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -14,6 +14,10 @@ vcpkg_from_github( 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() + vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH libplist.sln diff --git a/ports/libpmemobj-cpp/CONTROL b/ports/libpmemobj-cpp/CONTROL new file mode 100644 index 000000000..0ac84681a --- /dev/null +++ b/ports/libpmemobj-cpp/CONTROL @@ -0,0 +1,3 @@ +Source: libpmemobj-cpp +Version: 1.8 +Description: C++ bindings for libpmemobj (https://github.com/pmem/pmdk). \ No newline at end of file diff --git a/ports/libpmemobj-cpp/portfile.cmake b/ports/libpmemobj-cpp/portfile.cmake new file mode 100644 index 000000000..fb27eea2a --- /dev/null +++ b/ports/libpmemobj-cpp/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO pmem/libpmemobj-cpp + REF 1.8 + SHA512 275d5ec3081ccbc76c57205cc366e213386ff56e5c05fe39e8b980c507967e9f32a31e02d074f554e65cb68509a43c39d143f0443816a89da4a334bd6242ba85 + HEAD_REF master +) + +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) +set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}") + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_TESTS=OFF + -DBUILD_EXAMPLES=OFF + -DBUILD_DOC=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(INSTALL ${SOURCE_PATH}/LICENSE 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 cb199b9fe..000000000 --- a/ports/libpng-apng/CONTROL +++ /dev/null @@ -1,5 +0,0 @@ -Source: libpng-apng -Version: 1.6.37 -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 948b0a2f3..000000000 --- a/ports/libpng-apng/portfile.cmake +++ /dev/null @@ -1,88 +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 -) - -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}") - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - 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 -) - -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/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/use-abort-on-all-platforms.patch b/ports/libpng-apng/use-abort-on-all-platforms.patch deleted file mode 100644 index ef21211c6..000000000 --- a/ports/libpng-apng/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 -@@ -556,11 +556,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/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 1b07ce1e2..e7e3f3f0e 100644 --- a/ports/libpng/CONTROL +++ b/ports/libpng/CONTROL @@ -1,5 +1,8 @@ Source: libpng -Version: 1.6.37-1 +Version: 1.6.37-5 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/fix-libm-unix.patch b/ports/libpng/fix-libm-unix.patch new file mode 100644 index 000000000..0abd20879 --- /dev/null +++ b/ports/libpng/fix-libm-unix.patch @@ -0,0 +1,12 @@ +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 new file mode 100644 index 000000000..18108035a --- /dev/null +++ b/ports/libpng/libpngConfig.cmake @@ -0,0 +1,6 @@ +# 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 ab552b8e6..36e2c245a 100644 --- a/ports/libpng/portfile.cmake +++ b/ports/libpng/portfile.cmake @@ -1,13 +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 + ${APNG_EXTRA_PATCH} ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -22,6 +51,7 @@ 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 @@ -44,8 +74,9 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") endif() endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/libpng TARGET_PATH share/libpng) +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) diff --git a/ports/libpng-apng/skip-install-symlink.patch b/ports/libpng/skip-install-symlink.patch similarity index 100% rename from ports/libpng-apng/skip-install-symlink.patch rename to ports/libpng/skip-install-symlink.patch diff --git a/ports/libpopt/patches/0004-vcpkg-fixmsvc.patch b/ports/libpopt/0004-vcpkg-fixmsvc.patch similarity index 100% rename from ports/libpopt/patches/0004-vcpkg-fixmsvc.patch rename to ports/libpopt/0004-vcpkg-fixmsvc.patch diff --git a/ports/libpopt/CMakeLists.txt b/ports/libpopt/CMakeLists.txt new file mode 100644 index 000000000..5348757b4 --- /dev/null +++ b/ports/libpopt/CMakeLists.txt @@ -0,0 +1,59 @@ +cmake_minimum_required(VERSION 3.0) +project(popt VERSION 1.16 LANGUAGES C) + +set(PACKAGE "popt") +set(POPT_SYSCONFDIR "C:\\\\") +set(CMAKE_DEBUG_POSTFIX "d") + +file(GLOB SOURCES "popt.c" + "poptconfig.c" + "popthelp.c" + "poptint.c" + "poptparse.c" + "popt.def" +) + +option(POPT_USE_CONFIG "Use configuration file" OFF) + +if(POPT_USE_CONFIG) + include(CheckIncludeFile) + include(CheckFunctionExists) + + check_include_file(float.h HAVE_FLOAT_H) + check_include_file(fnmatch.h HAVE_FNMATCH_H) + check_include_file(glob.h HAVE_GLOB_H) + check_include_file(langinfo.h HAVE_LANGINFO_H) + check_include_file(libintl.h HAVE_LIBINTL_H) + check_include_file(mcheck.h HAVE_MCHECK_H) + check_include_file(unistd.h HAVE_UNISTD_H) + + + check_function_exists(gettext HAVE_GETTEXT) + check_function_exists(iconv HAVE_ICONV) + check_function_exists(mtrace HAVE_MTRACE) + check_function_exists(srandom HAVE_SRANDOM) + check_function_exists(stpcpy HAVE_STPCPY) + check_function_exists(strerror HAVE_STRERROR) + check_function_exists(vasprintf HAVE_VASPRINTF) + check_function_exists(__secure_getenv HAVE___SECURE_GETENV) + + configure_file(config.h.cmake config.h @ONLY) + add_definitions(-DHAVE_CONFIG_H) +endif() + +add_definitions(-D_CRT_SECURE_NO_WARNINGS) + +include_directories(${CMAKE_BINARY_DIR}) + +add_library(popt ${SOURCES}) +if (MSVC) + target_compile_options(popt PRIVATE /wd4996) +endif() + +install(TARGETS popt + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install(FILES "popt.h" DESTINATION "include") \ No newline at end of file diff --git a/ports/libpopt/CONTROL b/ports/libpopt/CONTROL index 5ba1451b6..03cd3e374 100644 --- a/ports/libpopt/CONTROL +++ b/ports/libpopt/CONTROL @@ -1,3 +1,3 @@ Source: libpopt -Version: 1.16-10~vcpkg1-1 +Version: 1.16-12 Description: Library for parsing command line parameters diff --git a/ports/libpopt/cmake/CMakeLists.txt b/ports/libpopt/cmake/CMakeLists.txt deleted file mode 100644 index 84afc160d..000000000 --- a/ports/libpopt/cmake/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(popt VERSION 1.16 LANGUAGES C) - -set(PACKAGE "popt") -set(POPT_SYSCONFDIR "C:\\\\") -set(CMAKE_DEBUG_POSTFIX "d") - -file(GLOB SOURCES "popt.c" - "poptconfig.c" - "popthelp.c" - "poptint.c" - "poptparse.c" - "popt.def" -) - -option(POPT_USE_CONFIG "Use configuration file" OFF) - -if(POPT_USE_CONFIG) - include(CheckIncludeFile) - include(CheckFunctionExists) - - check_include_file(float.h HAVE_FLOAT_H) - check_include_file(fnmatch.h HAVE_FNMATCH_H) - check_include_file(glob.h HAVE_GLOB_H) - check_include_file(langinfo.h HAVE_LANGINFO_H) - check_include_file(libintl.h HAVE_LIBINTL_H) - check_include_file(mcheck.h HAVE_MCHECK_H) - check_include_file(unistd.h HAVE_UNISTD_H) - - - check_function_exists(gettext HAVE_GETTEXT) - check_function_exists(iconv HAVE_ICONV) - check_function_exists(mtrace HAVE_MTRACE) - check_function_exists(srandom HAVE_SRANDOM) - check_function_exists(stpcpy HAVE_STPCPY) - check_function_exists(strerror HAVE_STRERROR) - check_function_exists(vasprintf HAVE_VASPRINTF) - check_function_exists(__secure_getenv HAVE___SECURE_GETENV) - - configure_file(config.h.cmake config.h @ONLY) - add_definitions(-DHAVE_CONFIG_H) -endif() - -add_definitions(-D_CRT_SECURE_NO_WARNINGS) - -include_directories(${CMAKE_BINARY_DIR}) - -add_library(popt ${SOURCES}) -set_target_properties(popt PROPERTIES COMPILE_FLAGS "/wd4996") - -install(TARGETS popt - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib -) - -install(FILES "popt.h" DESTINATION "include") \ No newline at end of file diff --git a/ports/libpopt/cmake/config.h.cmake b/ports/libpopt/config.h.cmake similarity index 100% rename from ports/libpopt/cmake/config.h.cmake rename to ports/libpopt/config.h.cmake diff --git a/ports/libpopt/cmake/popt.def b/ports/libpopt/popt.def similarity index 100% rename from ports/libpopt/cmake/popt.def rename to ports/libpopt/popt.def diff --git a/ports/libpopt/portfile.cmake b/ports/libpopt/portfile.cmake index ba50135d6..95970e78e 100644 --- a/ports/libpopt/portfile.cmake +++ b/ports/libpopt/portfile.cmake @@ -2,7 +2,6 @@ include(vcpkg_common_functions) set(LIBPOPT_VERSION 1.16) set(LIBPOPT_HASH bae2dd4e5d682ef023fdc77ae60c4aad01a3a576d45af9d78d22490c11e410e60edda37ede171920746d4ae0d5de3c060d15cecfd41ba75b727a811be828d694) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/popt-${LIBPOPT_VERSION}) vcpkg_download_distfile(ARCHIVE URLS @@ -11,16 +10,17 @@ vcpkg_download_distfile(ARCHIVE FILENAME "popt-${LIBPOPT_VERSION}.tar.gz" SHA512 ${LIBPOPT_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/patches/0004-vcpkg-fixmsvc.patch" +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + 0004-vcpkg-fixmsvc.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake/config.h.cmake DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake/popt.def DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h.cmake DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/popt.def DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/libpq/CMakeLists.txt b/ports/libpq/CMakeLists.txt index 3d5d6e508..6a03da19f 100644 --- a/ports/libpq/CMakeLists.txt +++ b/ports/libpq/CMakeLists.txt @@ -28,9 +28,14 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL " 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 \n#define PG_INT64_TYPE int64_t") configure_file(src/include/port/linux.h include/pg_config_os.h COPYONLY) - configure_file("${PORT_DIR}/pg_config.linux.h" include/pg_config.h COPYONLY) + configure_file("${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}") @@ -134,7 +139,7 @@ set(CMAKE_DEBUG_POSTFIX "d") set(CMAKE_INCLUDE_CURRENT_DIR ON) add_library(libpq ${pg_port_src} ${pg_backend_src} ${pg_libpq_src}) -target_compile_definitions(libpq PRIVATE -DFRONTEND -DENABLE_THREAD_SAFETY -DUSE_OPENSSL -D_CRT_SECURE_NO_WARNINGS) +target_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() diff --git a/ports/libpq/CONTROL b/ports/libpq/CONTROL index f6c0ce34e..d8bafa772 100644 --- a/ports/libpq/CONTROL +++ b/ports/libpq/CONTROL @@ -1,5 +1,5 @@ Source: libpq -Version: 9.6.1-7 +Version: 9.6.1-8 Homepage: https://www.postgresql.org/ Description: The official database access API of postgresql Build-Depends: openssl, zlib (linux) diff --git a/ports/libpq/pg_config.linux.h b/ports/libpq/pg_config.linux.h index d3758bb95..99ebaa716 100644 --- a/ports/libpq/pg_config.linux.h +++ b/ports/libpq/pg_config.linux.h @@ -144,7 +144,7 @@ #define PACKAGE_TARNAME "postgresql" #define PACKAGE_URL "" #define PACKAGE_VERSION "9.6.3" -#define PG_INT128_TYPE __int128 +${DEFINE_PG_INT128_TYPE} #define PG_INT64_TYPE long int #define PG_KRB_SRVNAM "postgres" #define PG_MAJORVERSION "9.6" diff --git a/ports/libpqxx/CONTROL b/ports/libpqxx/CONTROL index 8653afe5a..3574a541b 100644 --- a/ports/libpqxx/CONTROL +++ b/ports/libpqxx/CONTROL @@ -1,5 +1,5 @@ Source: libpqxx -Version: 6.4.4 +Version: 6.4.5 Homepage: https://github.com/jtv/libpqxx Description: The official C++ client API for PostgreSQL Build-Depends: libpq diff --git a/ports/libpqxx/portfile.cmake b/ports/libpqxx/portfile.cmake index 944698ceb..e9fbdbc98 100644 --- a/ports/libpqxx/portfile.cmake +++ b/ports/libpqxx/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jtv/libpqxx - REF 6.4.4 - SHA512 a168dbc7af210c711fa9f0f6e20d9d3abea167d412a642f591b104a109f11f4c262a27b6919340d405400a58baf7bcc663f7d3ec1b4ecd03f0a4b6c2960b5099 + REF a6b1d60e74c1427c8ac2324b85cd4a0dc2068332 + SHA512 990083f738322283dc9c98b138a676e5ba04ab77794d5a51d672557e0562d2366b5085ad5571dd91af8ba4dea56baa94e8c1e4e6fe571341c95e92eb28d2b15a HEAD_REF master PATCHES fix-deprecated-bug.patch diff --git a/ports/libqglviewer/CONTROL b/ports/libqglviewer/CONTROL index add042b7e..a80694a2f 100644 --- a/ports/libqglviewer/CONTROL +++ b/ports/libqglviewer/CONTROL @@ -1,4 +1,4 @@ Source: libqglviewer -Version: 2.7.0 +Version: 2.7.0-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 new file mode 100644 index 000000000..f339d81a5 --- /dev/null +++ b/ports/libqglviewer/QGLViewer_remove_shared.patch @@ -0,0 +1,13 @@ +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/macosx.patch b/ports/libqglviewer/macosx.patch new file mode 100644 index 000000000..82aa057f4 --- /dev/null +++ b/ports/libqglviewer/macosx.patch @@ -0,0 +1,22 @@ +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 7a7cc9fdf..6f980c0ae 100644 --- a/ports/libqglviewer/portfile.cmake +++ b/ports/libqglviewer/portfile.cmake @@ -7,6 +7,8 @@ vcpkg_from_github( SHA512 0586020c159fa4b3acb3ea3fa0a361bcc757d840298d7a436c356d0929b5ace3da4d054e3c0d107a499076413336e3b9a2f35750e6bf0add9320cc52a5c7afd5 HEAD_REF master PATCHES "use-default-config-on-all-platforms.patch" + "QGLViewer_remove_shared.patch" + "macosx.patch" ) vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH}/QGLViewer/QGLViewer.pro) diff --git a/ports/libqrencode/CONTROL b/ports/libqrencode/CONTROL index 9bfd8fa85..d707bb900 100644 --- a/ports/libqrencode/CONTROL +++ b/ports/libqrencode/CONTROL @@ -1,5 +1,9 @@ Source: libqrencode -Version: 4.0.2 +Version: 4.0.2-1 Build-Depends: libpng, libiconv Homepage: https://github.com/fukuchi/libqrencode Description: libqrencode - a fast and compact QR Code encoding library + +Feature: tool +Description: Build qrencode tool +Build-Depends: getopt (windows) diff --git a/ports/libqrencode/fix-found-wingetopt.patch b/ports/libqrencode/fix-found-wingetopt.patch new file mode 100644 index 000000000..4c28f1cf3 --- /dev/null +++ b/ports/libqrencode/fix-found-wingetopt.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3a85c41..92dadca 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -73,7 +73,7 @@ if(MSVC) + + if(WITH_TOOLS) + find_path(GETOPT_INCLUDE_DIR getopt.h PATH_SUFFIXES include) +- find_library(GETOPT_LIBRARIES wingetopt PATH_SUFFIXES lib) ++ find_library(GETOPT_LIBRARIES getopt PATH_SUFFIXES lib) + include_directories(${GETOPT_INCLUDE_DIR}) + endif(WITH_TOOLS) + endif(MSVC) diff --git a/ports/libqrencode/portfile.cmake b/ports/libqrencode/portfile.cmake index cfcd4650a..450448dc3 100644 --- a/ports/libqrencode/portfile.cmake +++ b/ports/libqrencode/portfile.cmake @@ -6,24 +6,38 @@ vcpkg_from_github( REF v4.0.2 SHA512 847e32bd13358319f3beabde103b5335a6e11c3f9275425b74e89a00b0ee4d67af8a428f12acc8b80a0419382480e5aeb02e58602a69ee750c21b28f357af6bc HEAD_REF master - PATCHES remove-deprecated-attribute.patch + PATCHES + fix-found-wingetopt.patch ) +if("tool" IN_LIST FEATURES) + set(WITH_TOOLS YES) +else() + set(WITH_TOOLS NO) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DWITH_TOOLS=NO + -DWITH_TOOLS=${WITH_TOOLS} -DWITH_TEST=NO -DSKIP_INSTALL_PROGRAMS=ON -DSKIP_INSTALL_EXECUTABLES=ON -DSKIP_INSTALL_FILES=ON OPTIONS_DEBUG -DSKIP_INSTALL_HEADERS=ON + -DWITH_TOOLS=NO ) vcpkg_install_cmake() +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") # Windows + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") +endif() + if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/qrencode.dll) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) file(RENAME ${CURRENT_PACKAGES_DIR}/lib/qrencode.dll ${CURRENT_PACKAGES_DIR}/bin/qrencode.dll) @@ -32,6 +46,12 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/qrencoded.dll) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/qrencoded.dll ${CURRENT_PACKAGES_DIR}/debug/bin/qrencoded.dll) endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/qrencode${EXECUTABLE_SUFFIX}) + file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/qrencode") + file(RENAME "${CURRENT_PACKAGES_DIR}/bin/qrencode${EXECUTABLE_SUFFIX}" "${CURRENT_PACKAGES_DIR}/tools/qrencode/qrencode${EXECUTABLE_SUFFIX}") + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qrencode) +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libqrencode) diff --git a/ports/libqrencode/remove-deprecated-attribute.patch b/ports/libqrencode/remove-deprecated-attribute.patch deleted file mode 100644 index 1a00c3a3b..000000000 --- a/ports/libqrencode/remove-deprecated-attribute.patch +++ /dev/null @@ -1,16 +0,0 @@ - qrencode.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/qrencode.h b/qrencode.h -index b855f0a..a6d4a29 100644 ---- a/qrencode.h -+++ b/qrencode.h -@@ -555,7 +555,7 @@ extern char *QRcode_APIVersionString(void); - /** - * @deprecated - */ --extern void QRcode_clearCache(void) __attribute__ ((deprecated)); -+extern void QRcode_clearCache(void); - - #if defined(__cplusplus) - } diff --git a/ports/librabbitmq/CONTROL b/ports/librabbitmq/CONTROL index 38287971d..9f2d0fae6 100644 --- a/ports/librabbitmq/CONTROL +++ b/ports/librabbitmq/CONTROL @@ -1,5 +1,5 @@ Source: librabbitmq -Version: 0.9.0 +Version: 0.9.0-1 Build-Depends: openssl Homepage: https://github.com/alanxz/rabbitmq-c Description: A C-language AMQP client library for use with v2.0+ of the RabbitMQ broker. diff --git a/ports/librabbitmq/portfile.cmake b/ports/librabbitmq/portfile.cmake index 79463c26c..3bf4d25cc 100644 --- a/ports/librabbitmq/portfile.cmake +++ b/ports/librabbitmq/portfile.cmake @@ -15,6 +15,7 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF diff --git a/ports/libraqm/CMakeLists.txt b/ports/libraqm/CMakeLists.txt index f50153e63..b1a88b268 100644 --- a/ports/libraqm/CMakeLists.txt +++ b/ports/libraqm/CMakeLists.txt @@ -12,7 +12,10 @@ find_path(HARFBUZZ_INCLUDE_DIRS NAMES hb.h PATH_SUFFIXES harfbuzz) find_path(FREETYPE_ADDITIONAL_INCLUDE_DIRS NAMES ft2build.h) -add_library(raqm ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.c ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/raqm-version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm-version.h) + +add_library(raqm ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.c ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm-version.h) target_include_directories(raqm SYSTEM PUBLIC ${FREETYPE_ADDITIONAL_INCLUDE_DIRS}) target_include_directories(raqm SYSTEM PUBLIC ${FREETYPE_INCLUDE_DIRS}) @@ -31,4 +34,4 @@ install(TARGETS raqm set(RAQM_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src") set(RAQM_LIBRARY raqm) set(RAQM_LIBRARIES ${HARFBUZZ_LIBRARY} ${FRIBIDI_LIBRARY} ${RAQM_LIBRARY}) -file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm.h ${CMAKE_CURRENT_SOURCE_DIR}/src/raqm-version.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/libraqm/CONTROL b/ports/libraqm/CONTROL index 131527a4a..f637fac3a 100644 --- a/ports/libraqm/CONTROL +++ b/ports/libraqm/CONTROL @@ -1,4 +1,4 @@ Source: libraqm -Version: 0.6.0 +Version: 0.7.0 Description: A library for complex text layout Build-Depends: freetype, harfbuzz, fribidi \ No newline at end of file diff --git a/ports/libraqm/portfile.cmake b/ports/libraqm/portfile.cmake index 067f63dde..702fe8be0 100644 --- a/ports/libraqm/portfile.cmake +++ b/ports/libraqm/portfile.cmake @@ -2,11 +2,15 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(RAQM_VERSION_MAJOR 0) +set(RAQM_VERSION_MINOR 7) +set(RAQM_VERSION_MICRO 0) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO HOST-Oman/libraqm - REF v0.6.0 - SHA512 cd223d97b80e9d2cf26a5b68fbb84a87e53df819f12ffd06f84f1786a2207b34828d0888058a40c1d89a1466bb68b75dd326e25415afab029d51e1ed98f6a924 + REF v${RAQM_VERSION_MAJOR}.${RAQM_VERSION_MINOR}.${RAQM_VERSION_MICRO} + SHA512 fe2f5e5707334d72518e720adff4379666ba5c4c045531e92588c5f843d4f56111e7b66ea4e7a061621320fa98f13229624994a950a789a477674d3a359cb58c HEAD_REF master ) @@ -18,6 +22,9 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DCURRENT_PACKAGES_DIR=${CURRENT_PACKAGES_DIR} + -DRAQM_VERSION_MAJOR=${RAQM_VERSION_MAJOR} + -DRAQM_VERSION_MINOR=${RAQM_VERSION_MINOR} + -DRAQM_VERSION_MICRO=${RAQM_VERSION_MICRO} ) vcpkg_install_cmake() diff --git a/ports/libraw/CONTROL b/ports/libraw/CONTROL index 1d0c17203..20b415a47 100644 --- a/ports/libraw/CONTROL +++ b/ports/libraw/CONTROL @@ -1,5 +1,5 @@ Source: libraw -Version: 201903-1 +Version: 201903-2 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 d834b80e9..91cf2d736 100644 --- a/ports/libraw/portfile.cmake +++ b/ports/libraw/portfile.cmake @@ -1,12 +1,5 @@ include(vcpkg_common_functions) -# Update to latest LibRaw-201903 snapshot at d4f05dd1b9b2d44c8f7e82043cbad3c724db2416 -# LibRaw publishes: -# - snapshots every 5-7 months (in master branch) -# - releases (0.18, 0.19, etc.) every 1-1.5 years. -# - security hotfixes for releases (0.19.1, 0.19.2, etc.) -# Hence, from user point of view, it is practical to refer to the latest snapshot, -# instead of the latest release. vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LibRaw/LibRaw @@ -15,27 +8,20 @@ vcpkg_from_github( HEAD_REF master ) -set(LIBRAW_CMAKE_COMMIT "a71f3b83ee3dccd7be32f9a2f410df4d9bdbde0a") -set(LIBRAW_CMAKE_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/LibRaw-cmake-${LIBRAW_CMAKE_COMMIT}) -vcpkg_download_distfile(CMAKE_BUILD_ARCHIVE - URLS "https://github.com/LibRaw/LibRaw-cmake/archive/${LIBRAW_CMAKE_COMMIT}.zip" - FILENAME "LibRaw-cmake-${LIBRAW_CMAKE_COMMIT}" - SHA512 54216e6760e2339dc3bf4b4be533a13160047cabfc033a06da31f2226c43fc93eaea9672af83589e346ce9231c1a57910ac5e800759e692fe2cd9d53b7fba0c6 +vcpkg_from_github( + OUT_SOURCE_PATH LIBRAW_CMAKE_SOURCE_PATH + REPO LibRaw/LibRaw-cmake + REF a71f3b83ee3dccd7be32f9a2f410df4d9bdbde0a + SHA512 607e6f76bcb57534da4f0c864b7a421f1ed49244468b1b52abe77f65aa599cae80715520b3a951294321b812deffd4f163757c9949f337571aa54f414ccc58a5 + HEAD_REF master + PATCHES + findlibraw_debug_fix.patch + lcms2_debug_fix.patch ) -vcpkg_extract_source_archive(${CMAKE_BUILD_ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src) - -# Copy the CMake build system from the external repo file(COPY ${LIBRAW_CMAKE_SOURCE_PATH}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${LIBRAW_CMAKE_SOURCE_PATH}/cmake DESTINATION ${SOURCE_PATH}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/findlibraw_debug_fix.patch - ${CMAKE_CURRENT_LIST_DIR}/lcms2_debug_fix.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL new file mode 100644 index 000000000..f88fa9bb3 --- /dev/null +++ b/ports/librdkafka/CONTROL @@ -0,0 +1,23 @@ +Source: librdkafka +Version: 1.2.0-2 +Description: The Apache Kafka C/C++ library +Homepage: https://github.com/edenhill/librdkafka + +Feature: lz4 +Description: Enable external LZ4 library support +Build-Depends: lz4 + +Feature: ssl +Description: Build with OpenSSL +Build-Depends: openssl + +Feature: zlib +Description: Build with zlib +Build-Depends: zlib + +Feature: zstd +Description: Build with zstd +Build-Depends: zstd + +Feature: snappy +Description: Build with snappy diff --git a/ports/librdkafka/fix-arm64.patch b/ports/librdkafka/fix-arm64.patch new file mode 100644 index 000000000..6a7750cec --- /dev/null +++ b/ports/librdkafka/fix-arm64.patch @@ -0,0 +1,21 @@ +diff --git a/src/snappy_compat.h b/src/snappy_compat.h +index acda21ec..bf2fe4c7 100644 +--- a/src/snappy_compat.h ++++ b/src/snappy_compat.h +@@ -89,7 +89,7 @@ struct iovec { + // x86, PowerPC, and ARM64 can simply do these loads and stores native. + #if defined(__i386__) || defined(__x86_64__) || defined(__powerpc__) || \ + defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64) || \ +- defined(__aarch64__) ++ defined(__arm64) || defined(__aarch64__) || defined(__AARCH64EL__) || defined(_M_ARM64) + + #define get_unaligned get_unaligned_direct + #define put_unaligned put_unaligned_direct +@@ -115,6 +115,7 @@ struct iovec { + !defined(__ARM_ARCH_6J__) && \ + !defined(__ARM_ARCH_6K__) && \ + !defined(__ARM_ARCH_6Z__) && \ ++ !defined(__ARM_ARCH_6KZ__) && \ + !defined(__ARM_ARCH_6ZK__) && \ + !defined(__ARM_ARCH_6T2__) + diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake new file mode 100644 index 000000000..f64aa17f0 --- /dev/null +++ b/ports/librdkafka/portfile.cmake @@ -0,0 +1,83 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO edenhill/librdkafka + REF v1.2.0 + SHA512 7caddeec09bd1556688f0011f5cae49f8b0cde55b8dbc1296b3d2a39879badc42b7f59369bb1938ce7c4c4ff8b0fe4f1973b923c3db603466c10a4c015306522 + HEAD_REF master + PATCHES + fix-arm64.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + lz4 ENABLE_LZ4_EXT + ssl WITH_SSL + zlib WITH_ZLIB + zstd WITH_ZSTD + snappy WITH_SNAPPY +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC} + -DRDKAFKA_BUILD_EXAMPLES=OFF + -DRDKAFKA_BUILD_TESTS=OFF + -DWITH_BUNDLED_SSL=OFF + ${FEATURE_OPTIONS} + OPTIONS_DEBUG + -DENABLE_DEVEL=ON + -DENABLE_REFCNT_DEBUG=ON + -DENABLE_SHAREDPTR_DEBUG=ON + -DWITHOUT_OPTIMIZATION=ON + OPTIONS_RELEASE + -DENABLE_DEVEL=OFF + -DENABLE_REFCNT_DEBUG=OFF + -DENABLE_SHAREDPTR_DEBUG=OFF + -DWITHOUT_OPTIMIZATION=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets( + CONFIG_PATH lib/cmake/RdKafka + TARGET_PATH share/rdkafka +) + +if("lz4" IN_LIST FEATURES) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/share/rdkafka/RdKafkaConfig.cmake + "find_dependency(LZ4)" + "include(\"\${CMAKE_CURRENT_LIST_DIR}/FindLZ4.cmake\")\n find_dependency(LZ4)" + ) +endif() + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + foreach(hdr rdkafka.h rdkafkacpp.h) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/include/librdkafka/${hdr} + "#ifdef LIBRDKAFKA_STATICLIB" + "#if 1 // #ifdef LIBRDKAFKA_STATICLIB" + ) + endforeach() +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSES.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# Install usage +configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME RdKafka) diff --git a/ports/librdkafka/usage b/ports/librdkafka/usage new file mode 100644 index 000000000..4f00a6a73 --- /dev/null +++ b/ports/librdkafka/usage @@ -0,0 +1,4 @@ +The package @PORT@:@TARGET_TRIPLET@ provides CMake targets: + + find_package(RdKafka CONFIG REQUIRED) + target_link_libraries(main PRIVATE RdKafka::rdkafka RdKafka::rdkafka++) diff --git a/ports/librdkafka/vcpkg-cmake-wrapper.cmake b/ports/librdkafka/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..6f32a4521 --- /dev/null +++ b/ports/librdkafka/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,45 @@ +include(SelectLibraryConfigurations) + +list(REMOVE_ITEM ARGS "NO_MODULE") +list(REMOVE_ITEM ARGS "CONFIG") +list(REMOVE_ITEM ARGS "MODULE") + +_find_package(${ARGS} CONFIG) + +if(RdKafka_FOUND) + if(TARGET RdKafka::rdkafka) + set(TARGET_NAME RdKafka::rdkafka) + else(TARGET RdKafka::rdkafka++) + set(TARGET_NAME RdKafka::rdkafka++) + endif() + + if(TARGET ${TARGET_NAME} AND NOT DEFINED RdKafka_INCLUDE_DIRS) + get_target_property(_RdKafka_INCLUDE_DIRS ${TARGET_NAME} INTERFACE_INCLUDE_DIRECTORIES) + get_target_property(_RdKafka_LINK_LIBRARIES ${TARGET_NAME} INTERFACE_LINK_LIBRARIES) + + if (CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + get_target_property(_RdKafka_LIBRARY_DEBUG ${TARGET_NAME} IMPORTED_IMPLIB_DEBUG) + get_target_property(_RdKafka_LIBRARY_RELEASE ${TARGET_NAME} IMPORTED_IMPLIB_RELEASE) + endif() + + if(NOT _RdKafka_LIBRARY_DEBUG AND NOT _RdKafka_LIBRARY_RELEASE) + get_target_property(_RdKafka_LIBRARY_DEBUG ${TARGET_NAME} IMPORTED_LOCATION_DEBUG) + get_target_property(_RdKafka_LIBRARY_RELEASE ${TARGET_NAME} IMPORTED_LOCATION_RELEASE) + endif() + + set(RdKafka_INCLUDE_DIR "${_RdKafka_INCLUDE_DIRS}") + set(RdKafka_LIBRARY_DEBUG "${_RdKafka_LIBRARY_DEBUG}") + set(RdKafka_LIBRARY_RELEASE "${_RdKafka_LIBRARY_RELEASE}") + + select_library_configurations(RdKafka) + + list(APPEND RdKafka_LIBRARIES ${_RdKafka_LINK_LIBRARIES}) + list(APPEND RdKafka_LIBRARY ${_RdKafka_LINK_LIBRARIES}) + + unset(_RdKafka_INCLUDE_DIRS) + unset(_RdKafka_LINK_LIBRARIES) + unset(_RdKafka_LIBRARY_DEBUG) + unset(_RdKafka_LIBRARY_DEBUG) + unset(TARGET_NAME) + endif() +endif() \ No newline at end of file diff --git a/ports/libressl/CONTROL b/ports/libressl/CONTROL index 989dbfdeb..2cb09fb6c 100644 --- a/ports/libressl/CONTROL +++ b/ports/libressl/CONTROL @@ -1,6 +1,6 @@ Source: libressl -Version: 2.9.1 +Version: 2.9.1-2 Description: LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in 2014, with goals of modernizing the codebase, improving security, and applying best practice development processes. Feature: tools -Description: Build openssl and ocspcheck executables \ No newline at end of file +Description: Build openssl and ocspcheck executables diff --git a/ports/libressl/portfile.cmake b/ports/libressl/portfile.cmake index d99ee1b62..5c8e5b964 100644 --- a/ports/libressl/portfile.cmake +++ b/ports/libressl/portfile.cmake @@ -1,5 +1,11 @@ cmake_minimum_required(VERSION 3.13) +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") + message(WARNING "Can't build libressl if openssl is installed. Please remove openssl, and try install libressl again if you need it. Build will continue since libressl is a subset of openssl") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "${PORT} does not currently support UWP") endif() @@ -28,11 +34,6 @@ vcpkg_extract_source_archive_ex( 0002-suppress-msvc-warnings.patch ) -set(BUILD_SHARED_LIBS OFF) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(BUILD_SHARED_LIBS ON) -endif() - set(LIBRESSL_APPS OFF) if("tools" IN_LIST FEATURES) set(LIBRESSL_APPS ON) @@ -44,7 +45,6 @@ vcpkg_configure_cmake( OPTIONS -DLIBRESSL_APPS=${LIBRESSL_APPS} -DLIBRESSL_TESTS=OFF - -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} OPTIONS_DEBUG -DLIBRESSL_APPS=OFF ) @@ -61,7 +61,7 @@ if(LIBRESSL_APPS) vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/openssl") endif() -if(NOT BUILD_SHARED_LIBS) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin" @@ -81,7 +81,7 @@ vcpkg_copy_pdbs() file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) -if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) AND BUILD_SHARED_LIBS) +if((NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) AND (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")) file(GLOB_RECURSE LIBS "${CURRENT_PACKAGES_DIR}/*.lib") foreach(LIB ${LIBS}) string(REGEX REPLACE "(.+)-[0-9]+\\.lib" "\\1.lib" LINK "${LIB}") diff --git a/ports/librsvg/CMakeLists.txt b/ports/librsvg/CMakeLists.txt new file mode 100644 index 000000000..749d3132b --- /dev/null +++ b/ports/librsvg/CMakeLists.txt @@ -0,0 +1,154 @@ +cmake_minimum_required(VERSION 3.11) +project(librsvg C) + +find_package(unofficial-cairo CONFIG REQUIRED) +find_package(unofficial-libcroco CONFIG REQUIRED) +find_package(unofficial-glib CONFIG REQUIRED) +find_package(LibXml2 REQUIRED) +find_library(PANGO_LIB pango-1.0) +find_library(PANGO_CAIRO_LIB pangocairo-1.0) +if(CMAKE_SYSTEM_NAME MATCHES "Windows") + find_library(GDK_PIXBUF_LIB gdk_pixbuf-2.0) +else() + find_library(GDK_PIXBUF_LIB gdk_pixbuf-2) +endif() + +find_path(CAIRO_INCLUDE_DIR cairo/cairo.h) + +# Add include directories +include_directories(${CAIRO_INCLUDE_DIR} ${GDK_PIXBUF_INCLUDE_DIR}) + +set(LIBRSVG_SOURCES + librsvg-features.c + rsvg-css.c + rsvg-css.h + rsvg-compat.h + rsvg-defs.c + rsvg-defs.h + rsvg-image.c + rsvg-image.h + rsvg-io.c + rsvg-io.h + rsvg-paint-server.c + rsvg-paint-server.h + rsvg-path.c + rsvg-path.h + rsvg-private.h + rsvg-base-file-util.c + rsvg-filter.c + rsvg-filter.h + rsvg-marker.c + rsvg-marker.h + rsvg-mask.c + rsvg-mask.h + rsvg-shapes.c + rsvg-shapes.h + rsvg-structure.c + rsvg-structure.h + rsvg-styles.c + rsvg-styles.h + rsvg-text.c + rsvg-text.h + rsvg-cond.c + rsvg-base.c + librsvg-enum-types.c + rsvg-cairo-draw.c + rsvg-cairo-draw.h + rsvg-cairo-render.c + rsvg-cairo-render.h + rsvg-cairo-clip.h + rsvg-cairo-clip.c + rsvg.c + rsvg-gobject.c + rsvg-file-util.c + rsvg-size-callback.c + rsvg-size-callback.h + rsvg-xml.c + rsvg-xml.h + rsvg.h + rsvg-cairo.h + librsvg-features.h + librsvg-enum-types.h +) + +set(PIXBUFLOADERSVG_SOURCES + gdk-pixbuf-loader/io-svg.c +) + +if(WIN32) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.win32 ${CMAKE_CURRENT_SOURCE_DIR}/config.h COPYONLY) + add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/rsvg.def + COMMAND echo "EXPORTS" > ${CMAKE_CURRENT_SOURCE_DIR}/rsvg.def + COMMAND ${CMAKE_C_COMPILER} /EP ${CMAKE_CURRENT_SOURCE_DIR}/rsvg.symbols >> ${CMAKE_CURRENT_SOURCE_DIR}/rsvg.def) + list(APPEND LIBRSVG_SOURCES rsvg.def) +else() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.linux ${CMAKE_CURRENT_SOURCE_DIR}/config.h COPYONLY) + list(APPEND LIBRSVG_SOURCES rsvg.symbols) +endif() + +set(CMAKE_DEBUG_POSTFIX "d") + +add_library(rsvg-2.40 ${LIBRSVG_SOURCES}) +add_library(pixbufloader-svg ${PIXBUFLOADERSVG_SOURCES}) + +target_compile_definitions(rsvg-2.40 PRIVATE -DRSVG_COMPILATION -D_CRT_SECURE_NO_WARNINGS -DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}") + +target_include_directories(pixbufloader-svg PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) +target_compile_definitions(pixbufloader-svg PRIVATE + -DRSVG_COMPILATION + -D_CRT_SECURE_NO_WARNINGS + -DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}" + -DGDK_PIXBUF_ENABLE_BACKEND + -DG_LOG_DOMAIN="libpixbufloader-svg") + +target_link_libraries(rsvg-2.40 PRIVATE + unofficial::cairo::cairo + unofficial::libcroco::croco-0.6 + unofficial::glib::gio + unofficial::glib::glib + unofficial::glib::gmodule + unofficial::glib::gobject + ${LIBXML2_LIBRARIES} + ${PANGO_LIB} + ${PANGO_CAIRO_LIB} + ${GDK_PIXBUF_LIB} +) +target_link_libraries(pixbufloader-svg PRIVATE + rsvg-2.40 + unofficial::glib::glib + unofficial::glib::gobject + ${GDK_PIXBUF_LIB} +) + +install(TARGETS rsvg-2.40 pixbufloader-svg + EXPORT librsvg-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install( + EXPORT librsvg-targets + NAMESPACE unofficial::librsvg:: + FILE unofficial-librsvg-targets.cmake + DESTINATION share/unofficial-librsvg +) + +install(FILES + rsvg.h + rsvg-cairo.h + librsvg-features.h + librsvg-enum-types.h + DESTINATION include/librsvg +) + +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-librsvg-config.cmake " +include(CMakeFindDependencyMacro) +find_dependency(unofficial-cairo CONFIG) +find_dependency(unofficial-libcroco CONFIG) +find_dependency(gdk-pixbuf CONFIG) +find_dependency(pango CONFIG) + +include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-librsvg-targets.cmake) +") +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-librsvg-config.cmake DESTINATION share/unofficial-librsvg) diff --git a/ports/librsvg/CONTROL b/ports/librsvg/CONTROL new file mode 100644 index 000000000..3a250b8d4 --- /dev/null +++ b/ports/librsvg/CONTROL @@ -0,0 +1,4 @@ +Source: librsvg +Version: 2.40.20 +Description: A small library to render Scalable Vector Graphics (SVG) +Build-Depends: cairo, pango, gdk-pixbuf, libcroco \ No newline at end of file diff --git a/ports/librsvg/config.h.linux b/ports/librsvg/config.h.linux new file mode 100644 index 000000000..c3881b8c9 --- /dev/null +++ b/ports/librsvg/config.h.linux @@ -0,0 +1,89 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if your file defines LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Have the pangoft2 library */ +#define HAVE_PANGOFT2 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtok_r' function. */ +#define HAVE_STRTOK_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "librsvg" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://bugzilla.gnome.org/enter_bug.cgi?product=librsvg" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "RSVG" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "RSVG 2.40.20" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "librsvg" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.40.20" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "2.40.20" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif diff --git a/ports/librsvg/portfile.cmake b/ports/librsvg/portfile.cmake new file mode 100644 index 000000000..c3765f0a3 --- /dev/null +++ b/ports/librsvg/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "https://download.gnome.org/sources/librsvg/2.40/librsvg-2.40.20.tar.xz" + FILENAME "librsvg-2.40.20.tar.xz" + SHA512 cdd8224deb4c3786e29f48ed02c32ed9dff5cb15aba574a5ef845801ad3669cfcc3eedb9d359c22213dc7a29de24c363248825adad5877c40abf73b3688ff12f +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.linux ${SOURCE_PATH}/config.h.linux COPYONLY) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA # Disable this option if project cannot be built with Ninja +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-librsvg TARGET_PATH share/unofficial-librsvg) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/librsvg RENAME copyright) + +vcpkg_copy_pdbs() + +vcpkg_test_cmake(PACKAGE_NAME unofficial-librsvg) diff --git a/ports/librtmp/CONTROL b/ports/librtmp/CONTROL index f43270e5d..5724eefe2 100644 --- a/ports/librtmp/CONTROL +++ b/ports/librtmp/CONTROL @@ -1,5 +1,5 @@ Source: librtmp -Version: 2.4-1 +Version: 2019-11-11 Build-Depends: zlib, openssl Homepage: https://rtmpdump.mplayerhq.hu Description: RTMPDump Real-Time Messaging Protocol API 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 25e41bbf7..6a1203b0f 100644 --- a/ports/librtmp/portfile.cmake +++ b/ports/librtmp/portfile.cmake @@ -1,26 +1,17 @@ -include(vcpkg_common_functions) +set(RTMPDUMP_REVISION c5f04a58fc2aeea6296ca7c44ee4734c18401aa3) -set(RTMPDUMP_VERSION 2.4) -set(RTMPDUMP_FILENAME rtmpdump-${RTMPDUMP_VERSION}.tar.gz) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rtmpdump) - -vcpkg_download_distfile(ARCHIVE - URLS "http://rtmpdump.mplayerhq.hu/download/${RTMPDUMP_FILENAME}" - FILENAME "${RTMPDUMP_FILENAME}" - SHA512 a6253af95492739366dce620a2a6cc6f4f18d7f12f9ef2c747240259066ca135beeb02091d0f3dd8380c0c294a30d3f702ad3fad1dee1db4e70473078fb81609 +vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH + URL https://git.ffmpeg.org/rtmpdump + REF ${RTMPDUMP_REVISION} + PATCHES + fix_strncasecmp.patch + hide_netstackdump.patch ) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/librtmp.def DESTINATION ${SOURCE_PATH}/librtmp) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix_strncasecmp.patch - ${CMAKE_CURRENT_LIST_DIR}/hide_netstackdump.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/libsamplerate/CONTROL b/ports/libsamplerate/CONTROL index dc0bf20dc..36e5df98c 100644 --- a/ports/libsamplerate/CONTROL +++ b/ports/libsamplerate/CONTROL @@ -1,4 +1,4 @@ Source: libsamplerate -Version: 0.1.9.0 +Version: 0.1.9.0-1 Homepage: https://www.mega-nerd.com/SRC Description: Sample Rate Converter for audio diff --git a/ports/libsamplerate/portfile.cmake b/ports/libsamplerate/portfile.cmake index 87712f6d2..b2453f8a4 100644 --- a/ports/libsamplerate/portfile.cmake +++ b/ports/libsamplerate/portfile.cmake @@ -1,20 +1,22 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libsamplerate-0.1.9) - vcpkg_download_distfile(ARCHIVE URLS "http://www.mega-nerd.com/SRC/libsamplerate-0.1.9.tar.gz" FILENAME "libsamplerate-0.1.9.tar.gz" SHA512 78596657963cbf06785e3e6e1190b093df71da52ca340e75bd8246a962cd79dd1c90fa5527c607cebcb296e2c1ee605015278b274e3b768f2f3fbeb0eadfb728 ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src) file(COPY ${SOURCE_PATH}/Win32/config.h DESTINATION ${SOURCE_PATH}/src) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/src + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/libsigcpp/CONTROL b/ports/libsigcpp/CONTROL index c0393066b..617328c7b 100644 --- a/ports/libsigcpp/CONTROL +++ b/ports/libsigcpp/CONTROL @@ -1,3 +1,3 @@ Source: libsigcpp -Version: 2.10-1 +Version: 2.10-3 Description: Typesafe callback framework for C++ diff --git a/ports/libsigcpp/dont-import-symbols.patch b/ports/libsigcpp/dont-import-symbols.patch deleted file mode 100644 index b031d3baf..000000000 --- a/ports/libsigcpp/dont-import-symbols.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/sigc++config.h b/sigc++config.h -index e212700..8d7366e 100644 ---- a/sigc++config.h -+++ b/sigc++config.h -@@ -72,6 +72,8 @@ - - #endif /* !SIGC_MSC */ - -+#undef SIGC_DLL -+ - #ifdef SIGC_DLL - # if defined(SIGC_BUILD) && defined(_WINDLL) - # define SIGC_API __declspec(dllexport) diff --git a/ports/libsigcpp/portfile.cmake b/ports/libsigcpp/portfile.cmake index c98a26717..707e59010 100644 --- a/ports/libsigcpp/portfile.cmake +++ b/ports/libsigcpp/portfile.cmake @@ -1,12 +1,17 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libsigc++-2.10.0) + vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.10/libsigc++-2.10.0.tar.xz" FILENAME "libsigc++-2.10.0.tar.xz" - SHA512 5b96df21d6bd6ba41520c7219e77695a86aabc60b7259262c7a9f4b8475ce0e2fd8dc37bcf7c17e24e818ff28c262d682b964c83e215b51bdbe000f3f58794ae) + SHA512 5b96df21d6bd6ba41520c7219e77695a86aabc60b7259262c7a9f4b8475ce0e2fd8dc37bcf7c17e24e818ff28c262d682b964c83e215b51bdbe000f3f58794ae +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( @@ -18,10 +23,11 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/dont-import-symbols.patch) + file(READ ${CURRENT_PACKAGES_DIR}/include/sigc++config.h SIGCPPCONFIG_H) + string(REPLACE "endif /* !SIGC_MSC */" + "endif /* !SIGC_MSC */ +#undef SIGC_DLL" SIGCPPCONFIG_H "${SIGCPPCONFIG_H}") + file(WRITE ${CURRENT_PACKAGES_DIR}/include/sigc++config.h "${SIGCPPCONFIG_H}") endif() file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsigcpp) diff --git a/ports/libsndfile/CONTROL b/ports/libsndfile/CONTROL index 91a28e6b3..2547637a8 100644 --- a/ports/libsndfile/CONTROL +++ b/ports/libsndfile/CONTROL @@ -1,5 +1,5 @@ Source: libsndfile -Version: 1.0.29-6830c42-7 +Version: 1.0.29-8 Description: Library to read, write and manipulate many soundfile types. Authored by Eric de Castro Lopo Homepage: https://github.com/erikd/libsndfile Default-Features: external-libs diff --git a/ports/libsndfile/portfile.cmake b/ports/libsndfile/portfile.cmake index 7c103b6a2..1e86fbffb 100644 --- a/ports/libsndfile/portfile.cmake +++ b/ports/libsndfile/portfile.cmake @@ -26,7 +26,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS -DBUILD_EXAMPLES=OFF -DBUILD_REGTEST=OFF -DBUILD_TESTING=OFF @@ -41,8 +41,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/libsndfile) +vcpkg_fixup_cmake_targets() # Fix applied for 6830c421899e32f8d413a903a21a9b6cf384d369 file(READ "${CURRENT_PACKAGES_DIR}/share/libsndfile/LibSndFileTargets.cmake" _contents) diff --git a/ports/libsodium/CMakeLists.txt b/ports/libsodium/CMakeLists.txt index 62e4d1875..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}) @@ -152,24 +154,24 @@ else () -Wbad-function-cast -Wcast-qual #-Wdiv-by-zero - -Wduplicated-branches - -Wduplicated-cond + #-Wduplicated-branches + #-Wduplicated-cond -Wfloat-equal -Wformat=2 -Wlogical-op -Wmaybe-uninitialized - -Wmisleading-indentation + #-Wmisleading-indentation -Wmissing-declarations -Wmissing-prototypes -Wnested-externs #-Wno-type-limits #-Wno-unknown-pragmas -Wnormalized=id - -Wnull-dereference + #-Wnull-dereference -Wold-style-declaration -Wpointer-arith -Wredundant-decls - -Wrestrict + #-Wrestrict #-Wsometimes-uninitialized -Wstrict-prototypes -Wswitch-enum @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 #include diff --git a/ports/libsodium/CONTROL b/ports/libsodium/CONTROL index 333f08031..4ae58fabb 100644 --- a/ports/libsodium/CONTROL +++ b/ports/libsodium/CONTROL @@ -1,4 +1,4 @@ Source: libsodium -Version: 1.0.18 +Version: 1.0.18-2 Description: A modern and easy-to-use crypto library Homepage: https://github.com/jedisct1/libsodium diff --git a/ports/libsoundio/CONTROL b/ports/libsoundio/CONTROL new file mode 100644 index 000000000..52ab4845f --- /dev/null +++ b/ports/libsoundio/CONTROL @@ -0,0 +1,4 @@ +Source: libsoundio +Version: 2.0.0-1 +Description: libsoundio is C library providing cross-platform audio input and output. +Homepage: http://libsound.io/ diff --git a/ports/libsoundio/fix_cmakelists.patch b/ports/libsoundio/fix_cmakelists.patch new file mode 100644 index 000000000..225c4cff3 --- /dev/null +++ b/ports/libsoundio/fix_cmakelists.patch @@ -0,0 +1,184 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6541f1b..058bf3b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,6 +1,4 @@ + cmake_minimum_required(VERSION 2.8.5) +-project(libsoundio C) +-set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) + + if(CMAKE_VERSION VERSION_LESS 3.0.0) + set(CMAKE_INSTALL_LIBDIR "lib" CACHE PATH "library install dir (lib)") +@@ -11,6 +9,11 @@ else() + cmake_policy(SET CMP0046 NEW) + include(GNUInstallDirs) + endif() ++cmake_policy(SET CMP0022 NEW) ++ ++project(libsoundio C) ++set(CMAKE_MODULE_PATH ${libsoundio_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH}) ++set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON) + + if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Debug" CACHE STRING +@@ -27,8 +30,7 @@ if(NOT SOUNDIO_STATIC_LIBNAME) + set(SOUNDIO_STATIC_LIBNAME soundio) + endif() + +-option(BUILD_STATIC_LIBS "Build static libraries" ON) +-option(BUILD_DYNAMIC_LIBS "Build dynamic libraries" ON) ++option(BUILD_SHARED_LIBS "Build dynamic libraries" ON) + option(BUILD_EXAMPLE_PROGRAMS "Build example programs" ON) + option(BUILD_TESTS "Build tests" ON) + option(ENABLE_JACK "Enable JACK backend" ON) +@@ -203,7 +205,7 @@ if(MSVC) + set(EXAMPLE_CFLAGS "/W4") + set(TEST_CFLAGS "${LIB_CFLAGS}") + set(TEST_LDFLAGS " ") +- set(LIBM " ") ++ set(LIBM "") + else() + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Werror -pedantic") + set(LIB_CFLAGS "-std=c11 -fvisibility=hidden -Wall -Werror=strict-prototypes -Werror=old-style-definition -Werror=missing-prototypes -D_REENTRANT -D_POSIX_C_SOURCE=200809L -Wno-missing-braces") +@@ -223,32 +225,33 @@ configure_file( + ${DOXYGEN_CONF_FILE} + ) + +-if(BUILD_DYNAMIC_LIBS) +- add_library(libsoundio_shared SHARED ${LIBSOUNDIO_SOURCES}) +- set_target_properties(libsoundio_shared PROPERTIES ++if(BUILD_SHARED_LIBS) ++ add_library(libsoundio SHARED ${LIBSOUNDIO_SOURCES}) ++ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}") ++ set_target_properties(libsoundio PROPERTIES + OUTPUT_NAME soundio + SOVERSION ${LIBSOUNDIO_VERSION_MAJOR} + VERSION ${LIBSOUNDIO_VERSION} + COMPILE_FLAGS ${LIB_CFLAGS} + LINKER_LANGUAGE C + ) +- target_link_libraries(libsoundio_shared LINK_PUBLIC ${LIBSOUNDIO_LIBS}) +- install(TARGETS libsoundio_shared DESTINATION ${CMAKE_INSTALL_LIBDIR}) +-endif() +- +-if(BUILD_STATIC_LIBS) +- add_library(libsoundio_static STATIC ${LIBSOUNDIO_SOURCES}) +- set_target_properties(libsoundio_static PROPERTIES +- OUTPUT_NAME ${SOUNDIO_STATIC_LIBNAME} ++ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS}) ++ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++else() ++ add_library(libsoundio STATIC ${LIBSOUNDIO_SOURCES}) ++ set_target_properties(libsoundio PROPERTIES PUBLIC_HEADER "${LIBSOUNDIO_HEADERS}") ++ set_target_properties(libsoundio PROPERTIES ++ OUTPUT_NAME soundio + COMPILE_FLAGS ${LIB_CFLAGS} + LINKER_LANGUAGE C + ) +- install(TARGETS libsoundio_static DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ target_link_libraries(libsoundio LINK_PUBLIC ${LIBSOUNDIO_LIBS}) ++ target_compile_definitions(libsoundio PUBLIC SOUNDIO_STATIC_LIBRARY) ++ install(TARGETS libsoundio EXPORT libsoundio-export LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + endif() + +-install(FILES +- ${LIBSOUNDIO_HEADERS} +- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/soundio") ++add_library(libsoundio::libsoundio ALIAS libsoundio) ++install(EXPORT libsoundio-export FILE libsoundio-config.cmake DESTINATION share/libsoundio/ NAMESPACE ${PROJECT_NAME}:: EXPORT_LINK_INTERFACE_LIBRARIES) + + # Example Programs + +@@ -257,44 +260,28 @@ if(BUILD_EXAMPLE_PROGRAMS) + set_target_properties(sio_sine PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${EXAMPLE_CFLAGS}) +- if(BUILD_DYNAMIC_LIBS) +- target_link_libraries(sio_sine libsoundio_shared ${LIBM}) +- else() +- target_link_libraries(sio_sine libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM}) +- endif() ++ target_link_libraries(sio_sine libsoundio::libsoundio ${LIBM}) + install(TARGETS sio_sine DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable(sio_list_devices example/sio_list_devices.c) + set_target_properties(sio_list_devices PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${EXAMPLE_CFLAGS}) +- if(BUILD_DYNAMIC_LIBS) +- target_link_libraries(sio_list_devices libsoundio_shared) +- else() +- target_link_libraries(sio_list_devices libsoundio_static ${LIBSOUNDIO_LIBS}) +- endif() ++ target_link_libraries(sio_list_devices libsoundio::libsoundio) + install(TARGETS sio_list_devices DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable(sio_microphone example/sio_microphone.c) + set_target_properties(sio_microphone PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${EXAMPLE_CFLAGS}) +- if(BUILD_DYNAMIC_LIBS) +- target_link_libraries(sio_microphone libsoundio_shared) +- else() +- target_link_libraries(sio_microphone libsoundio_static ${LIBSOUNDIO_LIBS}) +- endif() ++ target_link_libraries(sio_microphone libsoundio::libsoundio) + install(TARGETS sio_microphone DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable(sio_record example/sio_record.c) + set_target_properties(sio_record PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${EXAMPLE_CFLAGS}) +- if(BUILD_DYNAMIC_LIBS) +- target_link_libraries(sio_record libsoundio_shared) +- else() +- target_link_libraries(sio_record libsoundio_static ${LIBSOUNDIO_LIBS}) +- endif() ++ target_link_libraries(sio_record libsoundio::libsoundio) + install(TARGETS sio_record DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif() + +@@ -308,7 +295,7 @@ if(BUILD_TESTS) + ) + + add_executable(latency "${libsoundio_SOURCE_DIR}/test/latency.c" ${LIBSOUNDIO_SOURCES}) +- target_link_libraries(latency LINK_PUBLIC ${LIBSOUNDIO_LIBS} ${LIBM}) ++ target_link_libraries(latency LINK_PUBLIC libsoundio::libsoundio ${LIBM}) + set_target_properties(latency PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${LIB_CFLAGS} +@@ -318,31 +305,19 @@ if(BUILD_TESTS) + set_target_properties(underflow PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${EXAMPLE_CFLAGS}) +- if(BUILD_DYNAMIC_LIBS) +- target_link_libraries(underflow libsoundio_shared ${LIBM}) +- else() +- target_link_libraries(underflow libsoundio_static ${LIBSOUNDIO_LIBS} ${LIBM}) +- endif() ++ target_link_libraries(underflow libsoundio::libsoundio ${LIBM}) + + add_executable(backend_disconnect_recover test/backend_disconnect_recover.c) + set_target_properties(backend_disconnect_recover PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${EXAMPLE_CFLAGS}) +- if(BUILD_DYNAMIC_LIBS) +- target_link_libraries(backend_disconnect_recover libsoundio_shared) +- else() +- target_link_libraries(backend_disconnect_recover libsoundio_static ${LIBSOUNDIO_LIBS}) +- endif() ++ target_link_libraries(backend_disconnect_recover libsoundio::libsoundio) + + add_executable(overflow test/overflow.c) + set_target_properties(overflow PROPERTIES + LINKER_LANGUAGE C + COMPILE_FLAGS ${EXAMPLE_CFLAGS}) +- if(BUILD_DYNAMIC_LIBS) +- target_link_libraries(overflow libsoundio_shared) +- else() +- target_link_libraries(overflow libsoundio_static ${LIBSOUNDIO_LIBS}) +- endif() ++ target_link_libraries(overflow libsoundio::libsoundio) + + + diff --git a/ports/libsoundio/portfile.cmake b/ports/libsoundio/portfile.cmake new file mode 100644 index 000000000..0e1b7f561 --- /dev/null +++ b/ports/libsoundio/portfile.cmake @@ -0,0 +1,39 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "WindowsStore not supported") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO andrewrk/libsoundio + REF 2.0.0 + SHA512 347a9be1789a41e778ea8d0efa1d00e03e725a4ab65e3aaf6c71e49138643f08a50a81bd60087d86a3b4d63beaeec617e47ba6b81f829ece8a3ac17418eb5309 + HEAD_REF master + PATCHES + fix_cmakelists.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED_LIBS) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DBUILD_EXAMPLE_PROGRAMS=OFF + -DBUILD_TESTS=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() +vcpkg_copy_pdbs() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsoundio RENAME copyright) + +vcpkg_test_cmake(PACKAGE_NAME libsoundio) diff --git a/ports/libspatialindex/CONTROL b/ports/libspatialindex/CONTROL new file mode 100644 index 000000000..aa1da63c1 --- /dev/null +++ b/ports/libspatialindex/CONTROL @@ -0,0 +1,6 @@ +Source: libspatialindex +Version: 1.9.0 +Homepage: http://libspatialindex.github.com +Description: C++ implementation of R*-tree, an MVR-tree and a TPR-tree with C API. +Build-Depends: zlib + diff --git a/ports/libspatialindex/portfile.cmake b/ports/libspatialindex/portfile.cmake new file mode 100644 index 000000000..f71182d62 --- /dev/null +++ b/ports/libspatialindex/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libspatialindex/libspatialindex + REF 1.9.0 + SHA512 368537e9bfe52db96486a1febfabe035f9f7714fd1cb50450e3ab89d51c5ffffb0e2ea219e08bee34f772ba9813a3a7f9e63d8b8946887ce83811ef68d17d1cc + HEAD_REF master + PATCHES + static.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS -DCMAKE_DEBUG_POSTFIX=d -DSIDX_BUILD_TESTS:BOOL=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +#Debug +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libspatialindex) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libspatialindex/COPYING ${CURRENT_PACKAGES_DIR}/share/libspatialindex/copyright) \ No newline at end of file diff --git a/ports/libspatialindex/static.patch b/ports/libspatialindex/static.patch new file mode 100644 index 000000000..bf783bcca --- /dev/null +++ b/ports/libspatialindex/static.patch @@ -0,0 +1,21 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e6b733bd..8f227ab0 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -194,9 +194,13 @@ if (NOT WITH_STATIC_LASZIP) + endif() + endif() + +-add_library(${SIDX_LIB_NAME} SHARED ${SIDX_SOURCES}) +- +-add_library(${SIDX_C_LIB_NAME} SHARED ${SIDX_CAPI_CPP}) ++if(BUILD_SHARED_LIBS) ++ add_library(${SIDX_LIB_NAME} SHARED ${SIDX_SOURCES}) ++ add_library(${SIDX_C_LIB_NAME} SHARED ${SIDX_CAPI_CPP}) ++else(BUILD_SHARED_LIBS) ++ add_library(${SIDX_LIB_NAME} STATIC ${SIDX_SOURCES}) ++ add_library(${SIDX_C_LIB_NAME} STATIC ${SIDX_CAPI_CPP}) ++endif(BUILD_SHARED_LIBS) + + target_link_libraries(${SIDX_C_LIB_NAME} + ${SIDX_LIB_NAME} diff --git a/ports/libspatialite/CONTROL b/ports/libspatialite/CONTROL index 55d3f4577..51d6a4f5e 100644 --- a/ports/libspatialite/CONTROL +++ b/ports/libspatialite/CONTROL @@ -1,5 +1,5 @@ Source: libspatialite -Version: 4.3.0a-3 +Version: 4.3.0a-4 Homepage: https://www.gaia-gis.it/gaia-sins/libspatialite-sources Description: SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities. Build-Depends: libxml2, sqlite3, geos, proj4, zlib, freexl, libiconv diff --git a/ports/libspatialite/fix-configure-debug.patch b/ports/libspatialite/fix-configure-debug.patch new file mode 100644 index 000000000..77a4c77a0 --- /dev/null +++ b/ports/libspatialite/fix-configure-debug.patch @@ -0,0 +1,58 @@ +diff --git a/configure b/configure +index aafdad55b..11dde35fa 100644 +--- a/configure ++++ b/configure +@@ -18089,7 +18089,7 @@ return GEOSCoveredBy (); + return 0; + } + _ACEOF +-for ac_lib in '' geos_c; do ++for ac_lib in '' geos_cd; do + if test -z "$ac_lib"; then + ac_res="none required" + else +@@ -18124,7 +18124,7 @@ else + fi + + LIBS="$LIBS_SAVE" +- LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" ++ LIBS="$LIBS $GEOS_LDFLAGS -lgeos_cd" + + #----------------------------------------------------------------------- + # --enable-controlpoints +@@ -18176,7 +18176,7 @@ return GEOSDelaunayTriangulation (); + return 0; + } + _ACEOF +-for ac_lib in '' geos_c; do ++for ac_lib in '' geos_cd; do + if test -z "$ac_lib"; then + ac_res="none required" + else +@@ -18240,7 +18240,7 @@ fi + done + + _save_libs="$LIBS" +- LIBS=$LIBS' -llwgeom -lgeos_c' ++ LIBS=$LIBS' -llwgeom -lgeos_cd' + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + int main() { return lwgeom_make_valid(); return 0; } +@@ -18255,7 +18255,7 @@ fi + rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$_save_libs" +- LIBS=$LIBS' -llwgeom -lgeos_c' ++ LIBS=$LIBS' -llwgeom -lgeos_cd' + # + # testing for PostGIS 2.1 - lwgeom_set_handlers + # +@@ -18283,7 +18283,7 @@ return lwgeom_set_handlers (); + return 0; + } + _ACEOF +-for ac_lib in '' geos_c; do ++for ac_lib in '' geos_cd; do + if test -z "$ac_lib"; then + ac_res="none required" + else diff --git a/ports/libspatialite/fix-linux-configure.patch b/ports/libspatialite/fix-linux-configure.patch new file mode 100644 index 000000000..59afa8c49 --- /dev/null +++ b/ports/libspatialite/fix-linux-configure.patch @@ -0,0 +1,135 @@ +diff --git a/configure b/configure +index aafdad5..fe46039 100644 +--- a/configure ++++ b/configure +@@ -17448,6 +17448,7 @@ fi + # --enable-proj + # + # Check whether --enable-proj was given. ++ + if test "${enable_proj+set}" = set; then : + enableval=$enable_proj; + else +@@ -17469,122 +17470,6 @@ fi + + done + +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing pj_init_plus" >&5 +-$as_echo_n "checking for library containing pj_init_plus... " >&6; } +-if ${ac_cv_search_pj_init_plus+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- ac_func_search_save_LIBS=$LIBS +-cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-/* Override any GCC internal prototype to avoid an error. +- Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-char pj_init_plus (); +-int +-main () +-{ +-return pj_init_plus (); +- ; +- return 0; +-} +-_ACEOF +-for ac_lib in '' proj; do +- if test -z "$ac_lib"; then +- ac_res="none required" +- else +- ac_res=-l$ac_lib +- LIBS="-l$ac_lib -lm $ac_func_search_save_LIBS" +- fi +- if ac_fn_c_try_link "$LINENO"; then : +- ac_cv_search_pj_init_plus=$ac_res +-fi +-rm -f core conftest.err conftest.$ac_objext \ +- conftest$ac_exeext +- if ${ac_cv_search_pj_init_plus+:} false; then : +- break +-fi +-done +-if ${ac_cv_search_pj_init_plus+:} false; then : +- +-else +- ac_cv_search_pj_init_plus=no +-fi +-rm conftest.$ac_ext +-LIBS=$ac_func_search_save_LIBS +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_pj_init_plus" >&5 +-$as_echo "$ac_cv_search_pj_init_plus" >&6; } +-ac_res=$ac_cv_search_pj_init_plus +-if test "$ac_res" != no; then : +- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +- +-else +- as_fn_error $? "'libproj' is required but it doesn't seem to be installed on this system." "$LINENO" 5 +-fi +- +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing pj_init_ctx" >&5 +-$as_echo_n "checking for library containing pj_init_ctx... " >&6; } +-if ${ac_cv_search_pj_init_ctx+:} false; then : +- $as_echo_n "(cached) " >&6 +-else +- ac_func_search_save_LIBS=$LIBS +-cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-/* Override any GCC internal prototype to avoid an error. +- Use char because int might match the return type of a GCC +- builtin and then its argument prototype would still apply. */ +-#ifdef __cplusplus +-extern "C" +-#endif +-char pj_init_ctx (); +-int +-main () +-{ +-return pj_init_ctx (); +- ; +- return 0; +-} +-_ACEOF +-for ac_lib in '' proj; do +- if test -z "$ac_lib"; then +- ac_res="none required" +- else +- ac_res=-l$ac_lib +- LIBS="-l$ac_lib -lm $ac_func_search_save_LIBS" +- fi +- if ac_fn_c_try_link "$LINENO"; then : +- ac_cv_search_pj_init_ctx=$ac_res +-fi +-rm -f core conftest.err conftest.$ac_objext \ +- conftest$ac_exeext +- if ${ac_cv_search_pj_init_ctx+:} false; then : +- break +-fi +-done +-if ${ac_cv_search_pj_init_ctx+:} false; then : +- +-else +- ac_cv_search_pj_init_ctx=no +-fi +-rm conftest.$ac_ext +-LIBS=$ac_func_search_save_LIBS +-fi +-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_pj_init_ctx" >&5 +-$as_echo "$ac_cv_search_pj_init_ctx" >&6; } +-ac_res=$ac_cv_search_pj_init_ctx +-if test "$ac_res" != no; then : +- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +- +-else +- as_fn_error $? "'libproj' is required but the version on this system does not support the required features (Version 4.8.0 or later is needed)." "$LINENO" 5 +-fi +- + else + $as_echo "#define OMIT_PROJ 1" >>confdefs.h + diff --git a/ports/libspatialite/geos-config-debug.in b/ports/libspatialite/geos-config-debug.in new file mode 100644 index 000000000..d274c2a68 --- /dev/null +++ b/ports/libspatialite/geos-config-debug.in @@ -0,0 +1,75 @@ +#!/bin/sh +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ + +usage() +{ + cat <&2 +fi +while test $# -gt 0; do +case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; +esac +case $1 in + --prefix) + echo ${prefix} + ;; + --version) + echo 3.6.3 + ;; + --cflags) + echo -I${prefix}/include + ;; + --libs) + # TODO: make an alias for --clibs + # see http://trac.osgeo.org/geos/ticket/497 + echo -L${libdir} -lgeosd + ;; + --clibs) + echo -L${libdir} -lgeos_cd + ;; + --cclibs) + echo -L${libdir} -lgeosd + ;; + --static-clibs) + echo -L${libdir} -lgeos_cd -lgeosd -lm + ;; + --static-cclibs) + echo -L${libdir} -lgeosd -lm + ;; + --ldflags) + echo -L${libdir} -lgeos_cd -lgeosd -lstdc++ -lm + ;; + --includes) + echo ${prefix}/include + ;; + --jtsport) + echo 1.13.0 + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + diff --git a/ports/libspatialite/geos-config.in b/ports/libspatialite/geos-config.in new file mode 100644 index 000000000..a2a6d5d17 --- /dev/null +++ b/ports/libspatialite/geos-config.in @@ -0,0 +1,75 @@ +#!/bin/sh +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ + +usage() +{ + cat <&2 +fi +while test $# -gt 0; do +case "$1" in + -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; +esac +case $1 in + --prefix) + echo ${prefix} + ;; + --version) + echo 3.6.3 + ;; + --cflags) + echo -I${prefix}/include + ;; + --libs) + # TODO: make an alias for --clibs + # see http://trac.osgeo.org/geos/ticket/497 + echo -L${libdir} -lgeos + ;; + --clibs) + echo -L${libdir} -lgeos_c + ;; + --cclibs) + echo -L${libdir} -lgeos + ;; + --static-clibs) + echo -L${libdir} -lgeos_c -lgeos -lm + ;; + --static-cclibs) + echo -L${libdir} -lgeos -lm + ;; + --ldflags) + echo -L${libdir} -lgeos_c -lgeos -lstdc++ -lm + ;; + --includes) + echo ${prefix}/include + ;; + --jtsport) + echo 1.13.0 + ;; + *) + usage 1 1>&2 + ;; + esac + shift +done + diff --git a/ports/libspatialite/portfile.cmake b/ports/libspatialite/portfile.cmake index b73733ff2..77e51b345 100644 --- a/ports/libspatialite/portfile.cmake +++ b/ports/libspatialite/portfile.cmake @@ -1,114 +1,238 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libspatialite-4.3.0a) +set(LIBSPATIALITE_VERSION_STR "4.3.0a") vcpkg_download_distfile(ARCHIVE - URLS "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-4.3.0a.tar.gz" - FILENAME "libspatialite-4.3.0a.tar.gz" + URLS "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz" + FILENAME "libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz" SHA512 adfd63e8dde0f370b07e4e7bb557647d2bfb5549205b60bdcaaca69ff81298a3d885e7c1ca515ef56dd0aca152ae940df8b5dbcb65bb61ae0a9337499895c3c0 ) -vcpkg_extract_source_archive(${ARCHIVE}) -find_program(NMAKE nmake) +if (VCPKG_TARGET_IS_WINDOWS) + find_program(NMAKE nmake) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-sources.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-latin-literals.patch -) - -# fix most of the problems when spacebar is in the path -set(CURRENT_INSTALLED_DIR "\"${CURRENT_INSTALLED_DIR}\"") - -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CL_FLAGS_DBG "/MDd /Zi") - set(CL_FLAGS_REL "/MD /Ox") - set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib") - set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib") - set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib") - set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib") -else() - set(CL_FLAGS_DBG "/MTd /Zi") - set(CL_FLAGS_REL "/MT /Ox") - set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libgeos_c.lib ${CURRENT_INSTALLED_DIR}/lib/libgeos.lib") - set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libgeos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.lib") - set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib") - set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib ws2_32.lib") -endif() - -set(LIBS_ALL_DBG - "${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib \ - ${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \ - ${LIBXML2_LIBS_DBG} \ - ${GEOS_LIBS_DBG} \ - ${CURRENT_INSTALLED_DIR}/debug/lib/projd.lib" - ) -set(LIBS_ALL_REL - "${CURRENT_INSTALLED_DIR}/lib/libiconv.lib \ - ${CURRENT_INSTALLED_DIR}/lib/libcharset.lib \ - ${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \ - ${CURRENT_INSTALLED_DIR}/lib/freexl.lib \ - ${CURRENT_INSTALLED_DIR}/lib/zlib.lib \ - ${LIBXML2_LIBS_REL} \ - ${GEOS_LIBS_REL} \ - ${CURRENT_INSTALLED_DIR}/lib/proj.lib" - ) - -################ -# Debug build -################ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Building ${TARGET_TRIPLET}-dbg") - - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG) - - vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc clean install - "INST_DIR=\"${INST_DIR_DBG}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-debug + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix-makefiles.patch + fix-sources.patch + fix-latin-literals.patch ) - message(STATUS "Building ${TARGET_TRIPLET}-dbg done") - vcpkg_copy_pdbs() -endif() -################ -# Release build -################ -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Building ${TARGET_TRIPLET}-rel") + # fix most of the problems when spacebar is in the path + set(CURRENT_INSTALLED_DIR "\"${CURRENT_INSTALLED_DIR}\"") - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL) - vcpkg_execute_required_process( - COMMAND ${NMAKE} -f makefile.vc clean install - "INST_DIR=\"${INST_DIR_REL}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}" - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME nmake-build-${TARGET_TRIPLET}-release - ) - message(STATUS "Building ${TARGET_TRIPLET}-rel done") -endif() + if(VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(CL_FLAGS_DBG "/MDd /Zi /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H") + set(CL_FLAGS_REL "/MD /Ox /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H") + set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib") + set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib") + set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib") + set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib") + else() + set(CL_FLAGS_DBG "/MTd /Zi /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H") + set(CL_FLAGS_REL "/MT /Ox /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H") + set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libgeos_c.lib ${CURRENT_INSTALLED_DIR}/lib/libgeos.lib") + set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libgeos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/libgeosd.lib") + set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib") + set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib ws2_32.lib") + endif() + set(LIBS_ALL_DBG + "${CURRENT_INSTALLED_DIR}/debug/lib/libiconv.lib \ + ${CURRENT_INSTALLED_DIR}/debug/lib/libcharset.lib \ + ${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \ + ${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib \ + ${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \ + ${LIBXML2_LIBS_DBG} \ + ${GEOS_LIBS_DBG} \ + ${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib" + ) + set(LIBS_ALL_REL + "${CURRENT_INSTALLED_DIR}/lib/libiconv.lib \ + ${CURRENT_INSTALLED_DIR}/lib/libcharset.lib \ + ${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \ + ${CURRENT_INSTALLED_DIR}/lib/freexl.lib \ + ${CURRENT_INSTALLED_DIR}/lib/zlib.lib \ + ${LIBXML2_LIBS_REL} \ + ${GEOS_LIBS_REL} \ + ${CURRENT_INSTALLED_DIR}/lib/proj.lib" + ) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libspatialite RENAME copyright) + ################ + # Debug build + ################ + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}/debug" INST_DIR_DBG) + + vcpkg_execute_required_process( + COMMAND ${NMAKE} -f makefile.vc clean install + "INST_DIR=\"${INST_DIR_DBG}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=/debug" "CL_FLAGS=${CL_FLAGS_DBG}" "LIBS_ALL=${LIBS_ALL_DBG}" + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME nmake-build-${TARGET_TRIPLET}-debug + ) + message(STATUS "Building ${TARGET_TRIPLET}-dbg done") + vcpkg_copy_pdbs() + endif() + + ################ + # Release build + ################ + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + message(STATUS "Building ${TARGET_TRIPLET}-rel") + + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" INST_DIR_REL) + vcpkg_execute_required_process( + COMMAND ${NMAKE} -f makefile.vc clean install + "INST_DIR=\"${INST_DIR_REL}\"" INSTALLED_ROOT=${CURRENT_INSTALLED_DIR} "LINK_FLAGS=" "CL_FLAGS=${CL_FLAGS_REL}" "LIBS_ALL=${LIBS_ALL_REL}" + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME nmake-build-${TARGET_TRIPLET}-release + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel done") + endif() + + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libspatialite RENAME copyright) + + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib) + else() + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib) + endif() + endif() + + message(STATUS "Packaging ${TARGET_TRIPLET} done") +elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) # Build in UNIX + # Check build system first + find_program(MAKE make) + if (NOT MAKE) + message(FATAL_ERROR "MAKE not found") + endif() -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib) -else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib) - endif() -endif() + ################ + # Release build + ################ + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH_RELEASE + ARCHIVE ${ARCHIVE} + REF release + PATCHES + fix-sources.patch + fix-latin-literals.patch + fix-linux-configure.patch + ) + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + set(OUT_PATH_RELEASE ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-release) + file(REMOVE_RECURSE ${OUT_PATH_RELEASE}) + file(MAKE_DIRECTORY ${OUT_PATH_RELEASE}) + set(prefix ${CURRENT_INSTALLED_DIR}) + set(exec_prefix ${prefix}/bin) + set(includedir ${prefix}/include) + set(libdir ${prefix}/lib) + configure_file(${CMAKE_CURRENT_LIST_DIR}/geos-config.in + ${SOURCE_PATH_RELEASE}/geos-config @ONLY) + vcpkg_execute_required_process( + COMMAND chmod -R 777 ${SOURCE_PATH_RELEASE}/geos-config + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME config-${TARGET_TRIPLET}-rel + ) + vcpkg_execute_required_process( + COMMAND "${SOURCE_PATH_RELEASE}/configure" --prefix=${OUT_PATH_RELEASE} "CFLAGS=-I${includedir} ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE} -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" "LDFLAGS=-L${libdir}" "LIBS=-lpthread -ldl -lproj" "--with-geosconfig=${SOURCE_PATH_RELEASE}/geos-config" "LIBXML2_LIBS=-lxml2 -llzma" "LIBXML2_CFLAGS=${includedir}" + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME config-${TARGET_TRIPLET}-rel + ) -message(STATUS "Packaging ${TARGET_TRIPLET} done") + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND make -j ${VCPKG_CONCURRENCY} + NO_PARALLEL_COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME make-build-${TARGET_TRIPLET}-release + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND make install + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME make-install-${TARGET_TRIPLET}-release + ) + + set(VERSION ${LIBSPATIALITE_VERSION_STR}) + configure_file(${SOURCE_PATH_RELEASE}/spatialite.pc.in + ${OUT_PATH_RELEASE}/lib/pkgconfig/spatialite.pc @ONLY) + file(COPY ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(INSTALL ${SOURCE_PATH_RELEASE}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libspatialite RENAME copyright) + message(STATUS "Installing ${TARGET_TRIPLET}-rel done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + ################ + # Debug build + ################ + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH_DEBUG + ARCHIVE ${ARCHIVE} + REF debug + PATCHES + fix-sources.patch + fix-latin-literals.patch + fix-configure-debug.patch + fix-linux-configure.patch + ) + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + set(OUT_PATH_DEBUG ${SOURCE_PATH_DEBUG}/../../make-build-${TARGET_TRIPLET}-debug) + file(REMOVE_RECURSE ${OUT_PATH_DEBUG}) + file(MAKE_DIRECTORY ${OUT_PATH_DEBUG}) + set(prefix ${CURRENT_INSTALLED_DIR}) + set(exec_prefix ${prefix}/debug/bin) + set(includedir ${prefix}/include) + set(libdir ${prefix}/debug/lib) + configure_file(${CMAKE_CURRENT_LIST_DIR}/geos-config-debug.in + ${SOURCE_PATH_DEBUG}/geos-config @ONLY) + vcpkg_execute_required_process( + COMMAND chmod -R 777 ${SOURCE_PATH_DEBUG}/geos-config + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME config-${TARGET_TRIPLET}-debug + ) + vcpkg_execute_required_process( + COMMAND "${SOURCE_PATH_DEBUG}/configure" --prefix=${OUT_PATH_DEBUG} "CFLAGS=-I${includedir} ${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG} -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" "LDFLAGS=-L${libdir}" "LIBS=-lpthread -ldl -lproj" "--with-geosconfig=${SOURCE_PATH_DEBUG}/geos-config" "LIBXML2_LIBS=-lxml2 -llzmad" "LIBXML2_CFLAGS=${includedir}" + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME config-${TARGET_TRIPLET}-debug + ) + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND make -j ${VCPKG_CONCURRENCY} + NO_PARALLEL_COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME make-build-${TARGET_TRIPLET}-debug + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND make -j install + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME make-install-${TARGET_TRIPLET}-debug + ) + + set(VERSION ${LIBSPATIALITE_VERSION_STR}) + configure_file(${SOURCE_PATH_DEBUG}/spatialite.pc.in + ${OUT_PATH_DEBUG}/lib/pkgconfig/spatialite.pc @ONLY) + file(COPY ${OUT_PATH_DEBUG}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) + message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") + endif() +else() # Other build system + message(FATAL_ERROR "Unsupport build system.") +endif() \ No newline at end of file diff --git a/ports/libsquish/CONTROL b/ports/libsquish/CONTROL index 1e193d1b1..91b89650b 100644 --- a/ports/libsquish/CONTROL +++ b/ports/libsquish/CONTROL @@ -1,3 +1,4 @@ Source: libsquish -Version: 1.15-1 +Version: 1.15-2 +Homepage: https://sourceforge.net/projects/libsquish Description: Open source DXT compression library. diff --git a/ports/libsquish/portfile.cmake b/ports/libsquish/portfile.cmake index 02fdc4f90..600e89d59 100644 --- a/ports/libsquish/portfile.cmake +++ b/ports/libsquish/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_download_distfile(ARCHIVE @@ -37,5 +25,4 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsquish) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libsquish/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/libsquish/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libsrt/CONTROL b/ports/libsrt/CONTROL new file mode 100644 index 000000000..76a985f2b --- /dev/null +++ b/ports/libsrt/CONTROL @@ -0,0 +1,8 @@ +Source: libsrt +Version: 1.3.4 +Description: Secure Reliable Transport (SRT) is an open source transport technology that optimizes streaming performance across unpredictable networks, such as the Internet. +Homepage: https://github.com/Haivision/srt +Build-Depends: openssl, pthreads (windows) + +Feature: tool +Description: Builds libsrt executable \ No newline at end of file diff --git a/ports/libsrt/fix-dependency-install.patch b/ports/libsrt/fix-dependency-install.patch new file mode 100644 index 000000000..12967e6be --- /dev/null +++ b/ports/libsrt/fix-dependency-install.patch @@ -0,0 +1,74 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ec91d08..f19d28d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -234,6 +234,10 @@ if (ENABLE_ENCRYPTION) + # fall back to find_package method otherwise + if (USE_OPENSSL_PC) + pkg_check_modules(SSL ${SSL_REQUIRED_MODULES}) ++ else() ++ find_package(OpenSSL REQUIRED) ++ set(SSL_FOUND ${OpenSSL_FOUND}) ++ set(SSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto) + endif() + if (SSL_FOUND) + # We have some cases when pkg-config is improperly configured +@@ -438,7 +442,7 @@ elseif (WIN32 AND NOT MINGW) + message(FATAL_ERROR "Failed to find pthread.h. Specify PTHREAD_INCLUDE_DIR.") + endif() + +- find_library(PTHREAD_LIBRARY NAMES pthread pthread_dll pthread_lib HINTS C:/pthread-win32/lib C:/pthread-win64/lib) ++ find_library(PTHREAD_LIBRARY NAMES pthreadVC3 REQUIRED) + if (PTHREAD_LIBRARY) + message(STATUS "Pthread library: ${PTHREAD_LIBRARY}") + else() +@@ -637,6 +641,7 @@ if (ENABLE_SHARED) + target_compile_definitions(srt_virtual PUBLIC -DSRT_DYNAMIC) + target_compile_definitions(haicrypt_virtual PRIVATE -DHAICRYPT_EXPORTS) + endif() ++target_link_libraries(haicrypt_virtual PRIVATE ${SSL_LIBRARIES}) + + if (srt_libspec_shared) + if (MICROSOFT) +@@ -650,6 +655,7 @@ set (INSTALL_SHARED_DIR ${CMAKE_INSTALL_LIBDIR}) + if (CYGWIN) + set (INSTALL_SHARED_DIR ${CMAKE_INSTALL_BINDIR}) + endif() ++set(CMAKE_INSTALL_INCLUDEDIR include) + + message(STATUS "INSTALL DIRS: bin=${CMAKE_INSTALL_BINDIR} lib=${CMAKE_INSTALL_LIBDIR} shlib=${INSTALL_SHARED_DIR} include=${CMAKE_INSTALL_INCLUDEDIR}") + +@@ -730,7 +736,7 @@ macro(srt_add_program name) + add_executable(${name} ${ARGN}) + target_include_directories(${name} PRIVATE apps) + target_include_directories(${name} PRIVATE common) +- install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ install(TARGETS ${name} RUNTIME DESTINATION tools) + endmacro() + + macro(srt_make_application name) +@@ -769,7 +775,7 @@ endmacro() + macro(srt_add_application name) # ARGN=sources... + srt_add_program(${name} apps/${name}.cpp ${ARGN}) + srt_make_application(${name}) +- install(TARGETS ${name} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ install(TARGETS ${name} RUNTIME DESTINATION tools) + endmacro() + + ## FIXME: transmitmedia.cpp does not build on OpenBSD +@@ -923,7 +929,7 @@ if (ENABLE_UNITTESTS AND ENABLE_CXX11) + endif() + + +-install(PROGRAMS scripts/srt-ffplay DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(PROGRAMS scripts/srt-ffplay DESTINATION tools) + + + if (DEFINED SRT_EXTRA_APPS_INC) +@@ -939,5 +945,5 @@ if ( ENABLE_SUFLIP ) + ) + srt_add_program(suflip ${SOURCES_suflip}) + target_link_libraries(suflip ${srt_link_library}) +- install(TARGETS suflip RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ install(TARGETS suflip RUNTIME DESTINATION tools) + endif () diff --git a/ports/libsrt/portfile.cmake b/ports/libsrt/portfile.cmake new file mode 100644 index 000000000..d18551ea8 --- /dev/null +++ b/ports/libsrt/portfile.cmake @@ -0,0 +1,41 @@ +vcpkg_fail_port_install(ON_TARGET "UWP") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Haivision/srt + REF v1.3.4 + SHA512 3a9f9a8fd8ba56ae9ca04203bdea9e9a25275e1f531ca10deee0e760e6beaf44e83ee7a616cfe3ade9676082d9cc8611214de876f64d141e1e8c3b1e16273001 + HEAD_REF master + PATCHES fix-dependency-install.patch +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_DYNAMIC ON) + set(BUILD_STATIC OFF) +else() + set(BUILD_DYNAMIC OFF) + set(BUILD_STATIC ON) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + tool ENABLE_APPS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS ${FEATURE_OPTIONS} + -DENABLE_SHARED=${BUILD_DYNAMIC} + -DENABLE_STATIC=${BUILD_STATIC} + -DINSTALL_DOCS=ON + -DINSTALL_PKG_CONFIG_MODULE=ON + -DENABLE_SUFLIP=OFF # Since there are some file not found, disable this feature + -DENABLE_UNITTESTS=OFF + -DUSE_OPENSSL_PC=OFF +) + +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/libsrtp/CONTROL b/ports/libsrtp/CONTROL new file mode 100644 index 000000000..9fa7f4860 --- /dev/null +++ b/ports/libsrtp/CONTROL @@ -0,0 +1,3 @@ +Source: libsrtp +Version: 2.2.0 +Description: This package provides an implementation of the Secure Real-time Transport Protocol (SRTP), the Universal Security Transform (UST), and a supporting cryptographic kernel. \ No newline at end of file diff --git a/ports/libsrtp/portfile.cmake b/ports/libsrtp/portfile.cmake new file mode 100644 index 000000000..4d6ec0211 --- /dev/null +++ b/ports/libsrtp/portfile.cmake @@ -0,0 +1,33 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cisco/libsrtp + REF 56a065555aea2abddaf9fb60353fe59f277837a3 + SHA512 59afa25df79f875d28eefe95ef89b5956b1d2f319bba38ec34b832c2faa16b5425aae2f6ad19cf478afe02b28f4032b5dcf20a301d647d897d4577f66ca77376 +) + +if (VCPKG_TARGET_IS_WINDOWS) + set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4703") + set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS /wd4703") +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/srtp2.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/srtp2.dll ${CURRENT_PACKAGES_DIR}/bin/srtp2.dll) +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/srtp2.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/srtp2.dll ${CURRENT_PACKAGES_DIR}/debug/bin/srtp2.dll) +endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libsrtp RENAME copyright) \ No newline at end of file diff --git a/ports/libssh2/CONTROL b/ports/libssh2/CONTROL index b8579332e..e870b0e15 100644 --- a/ports/libssh2/CONTROL +++ b/ports/libssh2/CONTROL @@ -1,5 +1,5 @@ Source: libssh2 -Version: 1.8.2 +Version: 1.9.0 Build-Depends: zlib, openssl Homepage: https://www.libssh2.org Description: The SSH library diff --git a/ports/libssh2/portfile.cmake b/ports/libssh2/portfile.cmake index e8a4e3565..de3cee534 100644 --- a/ports/libssh2/portfile.cmake +++ b/ports/libssh2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libssh2/libssh2 - REF libssh2-1.8.2 - SHA512 f676f8c2d1c66cd086ad5a1d328e3eb3a033afd4511577451c5664a4e0c4c1ea006fa1885f332fb2b3842b2eb30456322efdd2abf97c2f148c2be0d53e3e5624 + REF 42d37aa63129a1b2644bf6495198923534322d64 + SHA512 e86c0787e2aa7be5e9f19356e543493e53c7d1b51b585c46facfb05f769e6491209f820b207bf594348f4760c492c32dda3fcc94fc0af93cb09c736492a8e231 HEAD_REF master PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-Fix-UWP.patch" ) diff --git a/ports/libstemmer/CONTROL b/ports/libstemmer/CONTROL index a1949a2be..57d28d855 100644 --- a/ports/libstemmer/CONTROL +++ b/ports/libstemmer/CONTROL @@ -1,4 +1,4 @@ Source: libstemmer -Version: 2017-9-4 +Version: 2017-9-5 Homepage: https://snowball.tartarus.org/ Description: Snowball is a small string processing language designed for creating stemming algorithms for use in Information Retrieval diff --git a/ports/libstemmer/portfile.cmake b/ports/libstemmer/portfile.cmake index ed4d86c4e..68580f440 100644 --- a/ports/libstemmer/portfile.cmake +++ b/ports/libstemmer/portfile.cmake @@ -2,13 +2,16 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libstemmer_c) vcpkg_download_distfile(ARCHIVE URLS "http://snowball.tartarus.org/dist/libstemmer_c.tgz" FILENAME "libstemmer_c.tgz" SHA512 9ab5b8bfd5b4071dbbd63d769e09fae3971b49ee441ad970aa95d90b3297f5ffc9deed1613d99974d1485bf3b69292663591957f52bbeddcadbf9d9a4af432f2 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/libsvm/CMakeLists.txt b/ports/libsvm/CMakeLists.txt new file mode 100644 index 000000000..560b05350 --- /dev/null +++ b/ports/libsvm/CMakeLists.txt @@ -0,0 +1,62 @@ +cmake_minimum_required(VERSION 3.14) + +project(libsvm LANGUAGES C CXX) + +include(GNUInstallDirs) + +option(SVM_BUILD_TOOLS "Build SVM tools" OFF) + +set(libsvm_sources svm.cpp) +if (WIN32) + list(APPEND libsvm_sources svm.def) +endif () + +add_library(libsvm ${libsvm_sources}) + +target_compile_definitions( + libsvm + PRIVATE + $<$: + _CRT_SECURE_NO_WARNINGS + strdup=_strdup + > +) + +target_include_directories( + libsvm + PUBLIC + $ + $ +) + +set_target_properties(libsvm PROPERTIES PUBLIC_HEADER svm.h) + +install(TARGETS libsvm EXPORT unofficial-libsvm-config) + +install( + EXPORT unofficial-libsvm-config + NAMESPACE unofficial::libsvm:: + DESTINATION share/unofficial-libsvm + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) + +if (SVM_BUILD_TOOLS) + add_executable(svm-predict svm-predict.c) + target_link_libraries(svm-predict PRIVATE libsvm) + + add_executable(svm-scale svm-scale.c) + target_link_libraries(svm-scale PRIVATE libsvm) + + add_executable(svm-train svm-train.c) + target_link_libraries(svm-train PRIVATE libsvm) + + install(TARGETS svm-predict svm-scale svm-train) + + if (WIN32) + add_executable(svm-toy svm-toy/windows/svm-toy.cpp) + target_link_libraries(svm-toy PRIVATE libsvm) + set_target_properties(svm-toy PROPERTIES WIN32_EXECUTABLE ON) + + install(TARGETS svm-toy) + endif () +endif () diff --git a/ports/libsvm/CONTROL b/ports/libsvm/CONTROL new file mode 100644 index 000000000..342536cce --- /dev/null +++ b/ports/libsvm/CONTROL @@ -0,0 +1,7 @@ +Source: libsvm +Version: 323 +Description: A library for Support Vector Machines +Homepage: https://www.csie.ntu.edu.tw/~cjlin/libsvm/ + +Feature: tools +Description: Build libsvm tools diff --git a/ports/libsvm/portfile.cmake b/ports/libsvm/portfile.cmake new file mode 100644 index 000000000..f4f7c6960 --- /dev/null +++ b/ports/libsvm/portfile.cmake @@ -0,0 +1,64 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cjlin1/libsvm + REF v323 + SHA512 c4abd408acf860c76cfc743e6c65d241fcb18443e741fc0f557f7cf7b4d0913c05f3afc5d49de8a42ff88db6fc7b046d08bcb0a3d2a24ba23e297ed1cfbb9131 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + tools SVM_BUILD_TOOLS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DSVM_BUILD_TOOLS=OFF + OPTIONS_RELEASE + ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +# Install tools +if ("tools" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_WINDOWS) + set(EXECUTABLE_SUFFIX ".exe") + else() + set(EXECUTABLE_SUFFIX "") + endif() + + foreach (libsvm_tool svm-predict svm-scale svm-toy svm-train) + if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/${libsvm_tool}${EXECUTABLE_SUFFIX}) + file( + COPY ${CURRENT_PACKAGES_DIR}/bin/${libsvm_tool}${EXECUTABLE_SUFFIX} + DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT} + ) + file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/${libsvm_tool}${EXECUTABLE_SUFFIX}) + endif () + + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + endforeach () + + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + endif () +endif () + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/COPYRIGHT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT}) diff --git a/ports/libtheora/CONTROL b/ports/libtheora/CONTROL index 6c5f93b2c..6485b120e 100644 --- a/ports/libtheora/CONTROL +++ b/ports/libtheora/CONTROL @@ -1,5 +1,5 @@ Source: libtheora -Version: 1.2.0alpha1-20170719~vcpkg1-3 +Version: 1.2.0alpha1-20170719-1 Homepage: https://github.com/xiph/theora Description: Theora is a free and open video compression format from the Xiph.org Foundation. Build-Depends: libogg diff --git a/ports/libtheora/portfile.cmake b/ports/libtheora/portfile.cmake index 50e6fc653..7d9080508 100644 --- a/ports/libtheora/portfile.cmake +++ b/ports/libtheora/portfile.cmake @@ -6,12 +6,8 @@ vcpkg_from_github( REF fa5707d68c2a4338d58aa8b6afc95539ba89fecb SHA512 e33da23a17e93709dfe4421b512cedbd9aab0d706f5650e0436f9c8e1cde76b902c3338d46750bb86d83e1bceb111ee84e90df36fb59b5c2e7f7aee1610752b2 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-fix-uwp.patch + 0001-fix-uwp.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/libtins/CONTROL b/ports/libtins/CONTROL index e2a7f43a2..11cb86ea8 100644 --- a/ports/libtins/CONTROL +++ b/ports/libtins/CONTROL @@ -1,4 +1,4 @@ Source: libtins -Version: 4.0-2 +Version: 4.2 Description: High-level, multiplatform C++ network packet sniffing and crafting library -Build-Depends: winpcap (windows) +Build-Depends: winpcap (windows), boost-icl, boost-any diff --git a/ports/libtins/portfile.cmake b/ports/libtins/portfile.cmake index 6890fe64c..dabd283d0 100644 --- a/ports/libtins/portfile.cmake +++ b/ports/libtins/portfile.cmake @@ -3,28 +3,38 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mfontanini/libtins - REF v4.0 - SHA512 8a497617ca68f4bad331452778b92c51ce87e42d1ceae493ecd6799cabbe71609214ca962c4a8c83d205f76277f2a82f92d3d17341984caa1592cf237eb3cf3b + REF v4.2 + SHA512 46d07712604c780e418135c996f195046fd85a9e1411962c9bcee3c8d0fc64f494aa50164236ffd1e77ff8a398e9617bbf040b3e01a5771c5621c0faa1ce312f HEAD_REF master ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTINS_BUILD_SHARED) +set(ENABLE_PCAP FALSE) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(ENABLE_PCAP TRUE) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DLIBTINS_BUILD_SHARED=${LIBTINS_BUILD_SHARED} + -DLIBTINS_ENABLE_PCAP=${ENABLE_PCAP} ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/libtins) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") #Windows + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) +else() #Linux/Unix/Darwin + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libtins) +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/libtins/copyright COPYONLY) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libtins RENAME copyright) # Post-build test for cmake libraries vcpkg_test_cmake(PACKAGE_NAME libtins) diff --git a/ports/libtorrent/CONTROL b/ports/libtorrent/CONTROL index 2fe8e85ed..3c3f3ec2b 100644 --- a/ports/libtorrent/CONTROL +++ b/ports/libtorrent/CONTROL @@ -1,5 +1,5 @@ Source: libtorrent -Version: 2019-04-19 +Version: 1.2.2 Homepage: https://github.com/arvidn/libtorrent Description: An efficient feature complete C++ BitTorrent implementation Build-Depends: openssl, boost-system, boost-date-time, boost-chrono, boost-random, boost-asio, boost-crc, boost-config, boost-iterator, boost-scope-exit, boost-multiprecision diff --git a/ports/libtorrent/portfile.cmake b/ports/libtorrent/portfile.cmake index bc05d14c7..a9b88fe89 100644 --- a/ports/libtorrent/portfile.cmake +++ b/ports/libtorrent/portfile.cmake @@ -3,12 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO arvidn/libtorrent - REF 76c2794923c4c101ff715be11d794f7fefc6c524 - SHA512 3e154857bb56318ebe725326e1832aa387dc85840be80ebe76c0265e8fded43bc3006d528784c8805e30c3fba41b4108ccf81170870d1686dc499048367563ea + REF libtorrent-1_2_2 + SHA512 34dcf5421dfccbba78bdd30890b9c18b92fdee1a2e1693ada9b55b79a167730093862017581b9251a654b5517011dbe4c46b520b03b78aa86a909457f7edcf2c HEAD_REF master PATCHES add-datetime-to-boost-libs.patch - windows-boost-1.70.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LIBTORRENT_SHARED) diff --git a/ports/libtorrent/windows-boost-1.70.patch b/ports/libtorrent/windows-boost-1.70.patch deleted file mode 100644 index b0bf1f642..000000000 --- a/ports/libtorrent/windows-boost-1.70.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/ip_notifier.cpp b/src/ip_notifier.cpp -index 37e5623..daa25f8 100644 ---- a/src/ip_notifier.cpp -+++ b/src/ip_notifier.cpp -@@ -380,7 +380,7 @@ struct ip_change_notifier_impl final : ip_change_notifier - } - else - { -- m_hnd.get_io_service().post([cb, err]() -+ lt::get_io_service(m_hnd).post([cb, err]() - { cb(error_code(err, system_category())); }); - } - } diff --git a/ports/libu2f-server/CMakeLists.txt b/ports/libu2f-server/CMakeLists.txt new file mode 100644 index 000000000..5e1f50e52 --- /dev/null +++ b/ports/libu2f-server/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.5) + +project(libu2f-server C) + +file(GLOB_RECURSE LIBU2F_SERVER_HEADERS u2f-server/*.h) +file(GLOB_RECURSE LIBU2F_SERVER_SOURCE u2f-server/*.c) + +add_library(libu2f-server ${LIBU2F_SERVER_SOURCE}) + +target_include_directories(libu2f-server PUBLIC $ $) +target_compile_definitions(libu2f-server PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE) + +find_package(json-c CONFIG REQUIRED) +find_package(OpenSSL REQUIRED) +target_link_libraries(libu2f-server PRIVATE OpenSSL::SSL OpenSSL::Crypto json-c::json-c) + +install(TARGETS libu2f-server + EXPORT libu2f-serverConfig + RUNTIME DESTINATION "bin" + ARCHIVE DESTINATION "lib" + LIBRARY DESTINATION "lib" +) + +INSTALL(FILES ${LIBU2F_SERVER_HEADERS} DESTINATION "include/libu2f-server") + +install(EXPORT libu2f-serverConfig + FILE libu2f-serverConfig.cmake + NAMESPACE libu2f-server:: + DESTINATION "share/libu2f-server" +) \ No newline at end of file diff --git a/ports/libu2f-server/CONTROL b/ports/libu2f-server/CONTROL new file mode 100644 index 000000000..26803fbb7 --- /dev/null +++ b/ports/libu2f-server/CONTROL @@ -0,0 +1,4 @@ +Source: libu2f-server +Version: 1.1.0 +Build-Depends: openssl, json-c +Description: Yubico Universal 2nd Factor (U2F) Server C Library diff --git a/ports/libu2f-server/portfile.cmake b/ports/libu2f-server/portfile.cmake new file mode 100644 index 000000000..86e5d9bbe --- /dev/null +++ b/ports/libu2f-server/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 Yubico/libu2f-server + REF libu2f-server-1.1.0 + SHA512 085f8e7d74c1efb347747b8930386f18ba870f668f82e9bd479c9f8431585c5dc7f95b2f6b82bdd3a6de0c06f8cb2fbf51c363ced54255a936ab96536158ee59 + HEAD_REF master + PATCHES + windows.patch + strndup-fix.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/u2f-server-version.h DESTINATION ${SOURCE_PATH}/u2f-server) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + ) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_copy_pdbs() + +# Handle copyright +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/libu2f-server/strndup-fix.patch b/ports/libu2f-server/strndup-fix.patch new file mode 100644 index 000000000..f5b7ffd8a --- /dev/null +++ b/ports/libu2f-server/strndup-fix.patch @@ -0,0 +1,31 @@ +diff --git a/u2f-server/core.c b/u2f-server/core.c +index 294c94b..746932b 100644 +--- a/u2f-server/core.c ++++ b/u2f-server/core.c +@@ -211,7 +211,7 @@ u2fs_rc u2fs_set_keyHandle(u2fs_ctx_t * ctx, const char *keyHandle) + ctx->keyHandle = NULL; + } + +- ctx->keyHandle = strndup(keyHandle, strlen(keyHandle)); ++ ctx->keyHandle = strdup(keyHandle); + + if (ctx->keyHandle == NULL) + return U2FS_MEMORY_ERROR; +@@ -726,7 +726,7 @@ static u2fs_rc decode_clientData(const char *clientData, char **output) + fprintf(stderr, "clientData: %s\n", data); + } + +- *output = strndup(data, strlen(data)); ++ *output = strdup(data); + + free(data); + data = NULL; +@@ -870,7 +870,7 @@ u2fs_rc u2fs_registration_verify(u2fs_ctx_t * ctx, const char *response, + goto failure; + + u2fs_EC_KEY_t *key_ptr; +- (*output)->keyHandle = strndup(buf, strlen(buf)); ++ (*output)->keyHandle = strdup(buf); + + rc = decode_user_key(user_public_key, &key_ptr); + if (rc != U2FS_OK) diff --git a/ports/libu2f-server/u2f-server-version.h b/ports/libu2f-server/u2f-server-version.h new file mode 100644 index 000000000..b38ccac81 --- /dev/null +++ b/ports/libu2f-server/u2f-server-version.h @@ -0,0 +1,94 @@ +/* +* Copyright (c) 2014 Yubico AB +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are +* met: +* +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* * Redistributions in binary form must reproduce the above +* copyright notice, this list of conditions and the following +* disclaimer in the documentation and/or other materials provided +* with the distribution. +* +* 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 DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef U2F_SERVER_VERSION_H +#define U2F_SERVER_VERSION_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * U2FS_VERSION_STRING + * + * Pre-processor symbol with a string that describe the header file + * version number. Used together with u2fs_check_version() to verify + * header file and run-time library consistency. + */ +#define U2FS_VERSION_STRING "1.1.0" + +/** + * U2FS_VERSION_NUMBER + * + * Pre-processor symbol with a hexadecimal value describing the header + * file version number. For example, when the header version is 1.2.3 + * this symbol will have the value 0x01020300. The last two digits + * are only used between public releases, and will otherwise be 00. + */ +#define U2FS_VERSION_NUMBER 0x01010000 + +/** + * U2FS_VERSION_MAJOR + * + * Pre-processor symbol with a decimal value that describe the major + * level of the header file version number. For example, when the + * header version is 1.2.3 this symbol will be 1. + */ +#define U2FS_VERSION_MAJOR 1 + +/** + * U2FS_VERSION_MINOR + * + * Pre-processor symbol with a decimal value that describe the minor + * level of the header file version number. For example, when the + * header version is 1.2.3 this symbol will be 2. + */ +#define U2FS_VERSION_MINOR 1 + +/** + * U2FS_VERSION_PATCH + * + * Pre-processor symbol with a decimal value that describe the patch + * level of the header file version number. For example, when the + * header version is 1.2.3 this symbol will be 3. + */ +#define U2FS_VERSION_PATCH 0 + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/ports/libu2f-server/windows.patch b/ports/libu2f-server/windows.patch new file mode 100644 index 000000000..2cc68ec9b --- /dev/null +++ b/ports/libu2f-server/windows.patch @@ -0,0 +1,41 @@ +diff --git a/u2f-server/cdecode.c b/u2f-server/cdecode.c +index 6fff114..dc05ca5 100644 +--- a/u2f-server/cdecode.c ++++ b/u2f-server/cdecode.c +@@ -5,7 +5,7 @@ This is part of the libb64 project, and has been placed in the public domain. + For details, see http://sourceforge.net/projects/libb64 + */ + +-#include ++#include "b64/cdecode.h" + + int base64_decode_value(char value_in) + { +diff --git a/u2f-server/cencode.c b/u2f-server/cencode.c +index eebb24a..f3b7fa4 100644 +--- a/u2f-server/cencode.c ++++ b/u2f-server/cencode.c +@@ -5,7 +5,7 @@ This is part of the libb64 project, and has been placed in the public domain. + For details, see http://sourceforge.net/projects/libb64 + */ + +-#include ++#include "b64/cencode.h" + + const int CHARS_PER_LINE = 72; + +diff --git a/u2f-server/core.c b/u2f-server/core.c +index da440ec..294c94b 100644 +--- a/u2f-server/core.c ++++ b/u2f-server/core.c +@@ -30,8 +30,7 @@ + #include "internal.h" + + #include +-#include +-#include ++#include + #include "crypto.h" + #include "b64/cencode.h" + #include "b64/cdecode.h" + \ No newline at end of file diff --git a/ports/libudns/CONTROL b/ports/libudns/CONTROL new file mode 100644 index 000000000..91eca4fc4 --- /dev/null +++ b/ports/libudns/CONTROL @@ -0,0 +1,4 @@ +Source: libudns +Version: 0.4 +Homepage: https://github.com/ortclib/udns +Description: The DNS library, udns, implements thread-safe stub DNS resolver functionality, which may be used both traditional, syncronous way and asyncronously, with application-supplied event loop. \ No newline at end of file diff --git a/ports/libudns/portfile.cmake b/ports/libudns/portfile.cmake new file mode 100644 index 000000000..a20fc5c20 --- /dev/null +++ b/ports/libudns/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_fail_port_install(MESSAGE "${PORT} currently only supports Linux platform" ON_TARGET "Windows" "OSX") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ortclib/udns + REF udns_0_4 + SHA512 4df8def718c75872536d42a757237d6c8e0afce8a53aedd7fea73814dc5cf8b5d6c9ae8f01a8cfc76864aa8293c172f08953a6750a66749ba19a3721bb4cf2ec + HEAD_REF master +) + +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + DISABLE_AUTO_DST +) + +vcpkg_build_make() + +# Install +if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libudns.a DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +endif() +if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libudns.a DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +endif() + +file(INSTALL ${SOURCE_PATH}/udns.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +vcpkg_copy_pdbs() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING.LGPL DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/libusb-win32/CONTROL b/ports/libusb-win32/CONTROL index a85b6a11c..6904f7066 100644 --- a/ports/libusb-win32/CONTROL +++ b/ports/libusb-win32/CONTROL @@ -1,4 +1,4 @@ Source: libusb-win32 -Version: 1.2.6.0-2 +Version: 1.2.6.0-3 Homepage: https://sourceforge.net/projects/libusb-win32 Description: Allows user space applications to access many USB device on Windows. diff --git a/ports/libusb-win32/portfile.cmake b/ports/libusb-win32/portfile.cmake index df12a9179..1164939fb 100644 --- a/ports/libusb-win32/portfile.cmake +++ b/ports/libusb-win32/portfile.cmake @@ -7,13 +7,16 @@ endif() set(LIBUSB_VERSION 1.2.6.0) set(LIBUSB_HASH 972438b7465a22882bc91a1238291240ee3cdb09f374454a027d003b150656d4c262553104f74418bb49b4a7ca2f1a4f72d20e689fa3a7728881bafc876267f4) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libusb-win32-src-${LIBUSB_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/${LIBUSB_VERSION}/libusb-win32-src-${LIBUSB_VERSION}.zip/download" FILENAME "libusb-win32-${LIBUSB_VERSION}.zip" SHA512 ${LIBUSB_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/libusb/CONTROL b/ports/libusb/CONTROL index ecd230144..8e3516132 100644 --- a/ports/libusb/CONTROL +++ b/ports/libusb/CONTROL @@ -1,4 +1,4 @@ Source: libusb -Version: 1.0.22-2 +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 @@ - ProgramDatabase - Disabled - MultiThreadedDebugDLL -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) - - - NDEBUG;%(PreprocessorDefinitions) - MultiThreadedDLL -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) - - - libusb-1.0.rc;%(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 @@ - ProgramDatabase - Disabled - MultiThreadedDebugDLL -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) - - - NDEBUG;%(PreprocessorDefinitions) - MultiThreadedDLL -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) - - - libusb-1.0.rc;%(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 @@ - ProgramDatabase - Disabled - MultiThreadedDebug -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) - - - NDEBUG;%(PreprocessorDefinitions) - MultiThreaded -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) - - - $(OutDir)libusb-1.0.lib -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 @@ - ProgramDatabase - Disabled - MultiThreadedDebug -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) - - - NDEBUG;%(PreprocessorDefinitions) - MultiThreaded -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) -+ /source-charset:utf-8 %(AdditionalOptions) - - - $(OutDir)libusb-1.0.lib diff --git a/ports/libusb/portfile.cmake b/ports/libusb/portfile.cmake index d2a96c73b..1beb053aa 100644 --- a/ports/libusb/portfile.cmake +++ b/ports/libusb/portfile.cmake @@ -1,38 +1,118 @@ -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() -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Error: UWP builds are currently not supported.") +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + message("${PORT} currently requires the following tools and libraries from the system package manager:\n autoreconf\n libudev\n\nThese can be installed on Ubuntu systems via apt-get install autoreconf libudev-dev") 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 - "${CMAKE_CURRENT_LIST_DIR}/fix_c2001.patch" ) -if(VCPKG_PLATFORM_TOOLSET MATCHES "v141") - set(MSVS_VERSION 2017) -else() - set(MSVS_VERSION 2015) -endif() +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_PLATFORM_TOOLSET MATCHES "v142") + set(MSVS_VERSION 2017) #they are abi compatible, so it should work + elseif(VCPKG_PLATFORM_TOOLSET MATCHES "v141") + set(MSVS_VERSION 2017) + else() + set(MSVS_VERSION 2015) + endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(LIBUSB_PROJECT_TYPE dll) -else() - set(LIBUSB_PROJECT_TYPE static) -endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(LIBUSB_PROJECT_TYPE dll) + if (VCPKG_CRT_LINKAGE STREQUAL static) + file(READ "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" PROJ_FILE) + string(REPLACE "MultiThreadedDLL" "MultiThreaded" PROJ_FILE "${PROJ_FILE}") + string(REPLACE "MultiThreadedDebugDLL" "MultiThreadedDebug" PROJ_FILE "${PROJ_FILE}") + file(WRITE "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" "${PROJ_FILE}") + endif() + else() + set(LIBUSB_PROJECT_TYPE static) + if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + file(READ "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" PROJ_FILE) + string(REPLACE "MultiThreaded" "MultiThreadedDLL" PROJ_FILE "${PROJ_FILE}") + string(REPLACE "MultiThreadedDebug" "MultiThreadedDebugDLL" PROJ_FILE "${PROJ_FILE}") + file(WRITE "${SOURCE_PATH}/msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj" "${PROJ_FILE}") + endif() + endif() -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj - LICENSE_SUBPATH COPYING -) + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH msvc/libusb_${LIBUSB_PROJECT_TYPE}_${MSVS_VERSION}.vcxproj + LICENSE_SUBPATH COPYING + ) +else() + set(BASH /bin/bash) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Release") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + # Copy sources + message(STATUS "Copying source files...") + file(GLOB PORT_SOURCE_FILES ${SOURCE_PATH}/*) + foreach(SOURCE_FILE ${PORT_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + endforeach() + message(STATUS "Copying source files... done") + # Configure release + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"./autogen.sh\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"./configure --prefix=${CURRENT_PACKAGES_DIR}\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "Debug") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + # Copy sources + message(STATUS "Copying source files...") + file(GLOB PORT_SOURCE_FILES ${SOURCE_PATH}/*) + foreach(SOURCE_FILE ${PORT_SOURCE_FILES}) + file(COPY ${SOURCE_FILE} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + endforeach() + message(STATUS "Copying source files... done") + # Configure debug + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"./autogen.sh\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"./configure --prefix=${CURRENT_PACKAGES_DIR}/debug\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + # Build release + message(STATUS "Package ${TARGET_TRIPLET}-rel") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"make install\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + message(STATUS "Package ${TARGET_TRIPLET}-rel done") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + # Build debug + message(STATUS "Package ${TARGET_TRIPLET}-dbg") + execute_process( + COMMAND "${BASH} --noprofile --norc -c \"make install\"" + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + message(STATUS "Package ${TARGET_TRIPLET}-dbg done") + endif() +endif() file(INSTALL ${SOURCE_PATH}/libusb/libusb.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/libusb-1.0 ) + +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libusbmuxd/CONTROL b/ports/libusbmuxd/CONTROL index 05faa6a1c..f17e7222c 100644 --- a/ports/libusbmuxd/CONTROL +++ b/ports/libusbmuxd/CONTROL @@ -1,4 +1,4 @@ Source: libusbmuxd -Version: 1.2.77 +Version: 1.2.77-1 Description: A client library to multiplex connections from and to iOS devices Build-Depends: libplist diff --git a/ports/libusbmuxd/dllexport.patch b/ports/libusbmuxd/dllexport.patch deleted file mode 100644 index 15996ec01..000000000 --- a/ports/libusbmuxd/dllexport.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/include/usbmuxd.h b/include/usbmuxd.h -index 5a3b0c0..aa1c8d9 100644 ---- a/include/usbmuxd.h -+++ b/include/usbmuxd.h -@@ -24,7 +24,7 @@ - #define USBMUXD_H - #include - --#ifdef _MSC_VER -+#if defined(_MSC_VER) && defined(USBMUXD_EXPORTS) - #define USBMUXD_API_MSC __declspec( dllexport ) - #else - #ifdef HAVE_FVISIBILITY -diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c -index b94c83c..1902a55 100644 ---- a/src/libusbmuxd.c -+++ b/src/libusbmuxd.c -@@ -34,7 +34,7 @@ - #include - #include - --#ifdef _MSC_VER -+#if defined(_MSC_VER) && defined(USBMUXD_EXPORTS) - #define USBMUXD_API __declspec( dllexport ) - #else - #define USBMUXD_API diff --git a/ports/libusbmuxd/portfile.cmake b/ports/libusbmuxd/portfile.cmake index 9a03b5e53..acf6bba6c 100644 --- a/ports/libusbmuxd/portfile.cmake +++ b/ports/libusbmuxd/portfile.cmake @@ -1,14 +1,13 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_DYNAMIC_CRT) +vcpkg_check_linkage(ONLY_DYNAMIC_CRT ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libimobiledevice-win32/libusbmuxd - REF a4422aa65f3635d99c3b80fad18f093ef3c5f653 + REF a4422aa65f3635d99c3b80fad18f093ef3c5f653 SHA512 9446bbcd6b901e6183f6e86d7fe7301c01182ae5b9330182fbca529bb1db54250cd6012256a420d457a7243388811c94bb2ecf5a0747238714d00b3850e60e8e HEAD_REF msvc-master - PATCHES dllexport.patch ) set(ENV{_CL_} "$ENV{_CL_} /GL-") diff --git a/ports/libuuid/CONTROL b/ports/libuuid/CONTROL index 265fdeebf..e5dc0c0b4 100644 --- a/ports/libuuid/CONTROL +++ b/ports/libuuid/CONTROL @@ -1,3 +1,3 @@ Source: libuuid -Version: 1.0.3-2 +Version: 1.0.3-3 Description: Universally unique id library diff --git a/ports/libuuid/portfile.cmake b/ports/libuuid/portfile.cmake index c5cd287f6..719478e24 100644 --- a/ports/libuuid/portfile.cmake +++ b/ports/libuuid/portfile.cmake @@ -4,14 +4,16 @@ if (NOT ((VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") OR (VCPKG_CMAKE_SYSTEM_NAME message(FATAL_ERROR "libuuid currently only supports unix platforms.") endif() -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libuuid-1.0.3) vcpkg_download_distfile(ARCHIVE URLS "http://sourceforge.net/projects/libuuid/files/libuuid-1.0.3.tar.gz" FILENAME libuuid-1.0.3.tar.gz SHA512 77488caccc66503f6f2ded7bdfc4d3bc2c20b24a8dc95b2051633c695e99ec27876ffbafe38269b939826e1fdb06eea328f07b796c9e0aaca12331a787175507 ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL index f50e6fbea..c26eb3d37 100644 --- a/ports/libuv/CONTROL +++ b/ports/libuv/CONTROL @@ -1,4 +1,4 @@ Source: libuv -Version: 1.29.1 +Version: 1.30.1 Homepage: https://github.com/libuv/libuv Description: libuv is a multi-platform support library with a focus on asynchronous I/O. diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake index ba7cdfeb0..63990da95 100644 --- a/ports/libuv/portfile.cmake +++ b/ports/libuv/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libuv/libuv - REF d16e6094e1eb3b0b5981ef1dd7e03ec4d466944d - SHA512 338d25fec26ab69d300141086de825edabc5e65c50b6d9cf0e2f8f1937a930e4ecf4460ba2789cef64a85ad4a63c9b5f2a482ee2498c542f73e5915bbff6170f + REF 1551969c84c2f546a429dac169c7fdac3e38115e + SHA512 86ad8223c2ec6815e009f5070766e7fc626a6249892a097aafbd45d0ac7c6ef2a38c7db45404ebd5c7648d406172b9236c115a2f1f15eaf735ff60e45bfe9bdd HEAD_REF v1.x ) diff --git a/ports/libvpx/CONTROL b/ports/libvpx/CONTROL index 5aa726c1e..52727e622 100644 --- a/ports/libvpx/CONTROL +++ b/ports/libvpx/CONTROL @@ -1,4 +1,4 @@ Source: libvpx -Version: 1.7.0-3 +Version: 1.8.1-1 Homepage: https://github.com/webmproject/libvpx Description: The reference software implementation for the video coding formats VP8 and VP9. diff --git a/ports/libvpx/portfile.cmake b/ports/libvpx/portfile.cmake index 1290d415a..5725b5358 100644 --- a/ports/libvpx/portfile.cmake +++ b/ports/libvpx/portfile.cmake @@ -2,20 +2,19 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(LIBVPX_VERSION 1.7.0) -set(LIBVPX_HASH 8b3b766b550f8d86907628d7ed88035f9a2612aac21542e0fd5ad35b905eb82cbe1be02a1a24afce7a3bcc4766f62611971f72724761996b392136c40a1e7ff0) - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libvpx-${LIBVPX_VERSION}) - -string(REGEX REPLACE "\\\\" "/" SOURCE_PATH_UNIX ${SOURCE_PATH}) -string(REGEX REPLACE "\\\\" "/" CURRENT_PACKAGES_DIR_UNIX ${CURRENT_PACKAGES_DIR}) +set(LIBVPX_VERSION 1.8.1) +set(LIBVPX_HASH 615476a929e46befdd4782a39345ce55cd30176ecb2fcd8a875c31694ae2334b395dcab9c5ba58d53ceb572ed0c022d2a3748ca4bbd36092e22b01cf3c9b2e8e) vcpkg_download_distfile(ARCHIVE URLS "https://github.com/webmproject/libvpx/archive/v${LIBVPX_VERSION}/libvpx-${LIBVPX_VERSION}.tar.gz" FILENAME "libvpx-${LIBVPX_VERSION}.tar.gz" SHA512 ${LIBVPX_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) vcpkg_find_acquire_program(YASM) vcpkg_find_acquire_program(PERL) @@ -55,7 +54,7 @@ file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) vcpkg_execute_required_process( COMMAND ${BASH} --noprofile --norc - "${SOURCE_PATH_UNIX}/configure" + "${SOURCE_PATH}/configure" --target=${LIBVPX_TARGET_ARCH}-${LIBVPX_TARGET_VS} ${LIBVPX_CRT_LINKAGE} --disable-examples @@ -75,16 +74,24 @@ vcpkg_build_msbuild( PROJECT_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/vpx.vcxproj" ) -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmdd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmd.pdb") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmdd.pdb") -else() - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmt.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmtd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmt.pdb") - file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmtd.pdb") +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmd.pdb") + else() + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpxmt.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Release/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/lib" RENAME "vpxmt.pdb") + endif() +endif() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmdd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmdd.pdb") + else() + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpxmtd.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${LIBVPX_ARCH_DIR}/Debug/vpx/vpx.pdb" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib" RENAME "vpxmtd.pdb") + endif() endif() if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm) diff --git a/ports/libwebp/0006-fix-dependecies-platform.patch b/ports/libwebp/0006-fix-dependecies-platform.patch new file mode 100644 index 000000000..fdb5ec0b3 --- /dev/null +++ b/ports/libwebp/0006-fix-dependecies-platform.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 83edb3a..f634094 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -540,7 +540,10 @@ if(WEBP_BUILD_EXTRAS) + find_package(SDL) + if(SDL_FOUND) + add_executable(vwebp_sdl ${VWEBP_SDL_SRCS}) +- target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp dxguid winmm) ++ target_link_libraries(vwebp_sdl ${SDL_LIBRARY} imageioutil webp) ++ if (MSVC) ++ target_link_libraries(vwebp_sdl dxguid winmm) ++ endif() + target_include_directories(vwebp_sdl + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/src diff --git a/ports/libwebp/CONTROL b/ports/libwebp/CONTROL index a22b389b4..02a65e5c0 100644 --- a/ports/libwebp/CONTROL +++ b/ports/libwebp/CONTROL @@ -1,5 +1,5 @@ Source: libwebp -Version: 1.0.2-4 +Version: 1.0.2-7 Homepage: https://github.com/webmproject/libwebp Description: Lossy compression of digital photographic images. Build-Depends: opengl diff --git a/ports/libwebp/portfile.cmake b/ports/libwebp/portfile.cmake index 49590a982..9fb26d532 100644 --- a/ports/libwebp/portfile.cmake +++ b/ports/libwebp/portfile.cmake @@ -12,6 +12,7 @@ vcpkg_from_github( 0003-remove-missing-symbol.patch 0004-add-missing-linked-library.patch 0005-fix-static-build.patch + 0006-fix-dependecies-platform.patch ) set(WEBP_BUILD_ANIM_UTILS OFF) @@ -37,6 +38,12 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") message("WebP currently requires the following library from the system package manager:\n Xxf86vm\n\nThis can be installed on Ubuntu systems via apt-get install libxxf86vm-dev") endif() +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(WEBP_BUILD_VWEBP OFF) + set(WEBP_BUILD_EXTRAS OFF) + message("Due to GLUT Framework problems with CMake, at the moment it's not possible to build VWebP on Mac. It has been disabled together with extras.") +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -63,8 +70,12 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/WebP/cmake/" TARGET_PATH "share/WebP/") +vcpkg_fixup_cmake_targets(CONFIG_PATH share/WebP/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/WebP) +file(GLOB CMAKE_FILES ${CURRENT_PACKAGES_DIR}/share/${PORT}/*) +file(COPY ${CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/webp/) #somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it if(CMAKE_HOST_WIN32) @@ -114,5 +125,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libwebp/COPYING ${CURRENT_PACKAGES_DIR}/share/libwebp/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebp RENAME copyright) diff --git a/ports/libwebsockets/CONTROL b/ports/libwebsockets/CONTROL index ae9c3d6ee..66a4af024 100644 --- a/ports/libwebsockets/CONTROL +++ b/ports/libwebsockets/CONTROL @@ -1,5 +1,5 @@ Source: libwebsockets -Version: 3.1.0-1 +Version: 3.2.0 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 c23f99042..6f00115eb 100644 --- a/ports/libwebsockets/portfile.cmake +++ b/ports/libwebsockets/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO warmcat/libwebsockets - REF v3.1.0 - SHA512 e2a4c1b25bc6f028654a63fc01a2732e6c63414868f8d3d01fa477752fdabe0f61e8d271fe7dd2734db0e15b1250f6b0101285b6d694f971ec4bf67ba7ee067c + REF v3.2.0 + SHA512 afc1c9e259d6d48000b09da111af4129680d50474cdfedbad197ee22260d57a837b67cc6a3f8e6b1aa7ce7dc5d3fd900569783631540501709868125c6d1e4da HEAD_REF master ) @@ -13,6 +13,7 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" LWS_WITH_SHARED) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DLWS_WITH_STATIC=${LWS_WITH_STATIC} -DLWS_WITH_SHARED=${LWS_WITH_SHARED} @@ -27,9 +28,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "windows" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libwebsockets" TARGET_PATH "share/libwebsockets") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libwebsockets) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/libxlsxwriter/0003-fix-include-file.patch b/ports/libxlsxwriter/0003-fix-include-file.patch new file mode 100644 index 000000000..faa0517b8 --- /dev/null +++ b/ports/libxlsxwriter/0003-fix-include-file.patch @@ -0,0 +1,14 @@ +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 ++#ifndef _MSC_VER + #include ++#endif + #include "common.h" + #include "xmlwriter.h" + diff --git a/ports/libxlsxwriter/CONTROL b/ports/libxlsxwriter/CONTROL index 0cf7ed965..8848ce5f9 100644 --- a/ports/libxlsxwriter/CONTROL +++ b/ports/libxlsxwriter/CONTROL @@ -1,4 +1,4 @@ Source: libxlsxwriter -Version: 0.8.6-1 +Version: 0.8.7-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 f60d2f88d..cf77a09e4 100644 --- a/ports/libxlsxwriter/portfile.cmake +++ b/ports/libxlsxwriter/portfile.cmake @@ -3,12 +3,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jmcnamara/libxlsxwriter - REF RELEASE_0.8.6 - SHA512 60822dc5f87531edc97cf774e234f25229a605d4430061c24b95c387318e6e05dde1b0f2f433cea14c6f84ee901c1dffe0d174bfd7e2a8459f59bcee900097db + REF RELEASE_0.8.7 + SHA512 20bf09f084808a8db00315848213c550fb809b587ea49ce3b25b310de981c176a44c518452507b6e00ca3f0a8e0056d88a6f575c031d54aa68791575cb9ab285 HEAD_REF master PATCHES 0001-fix-build-error.patch 0002-fix-uwp-build.patch + 0003-fix-include-file.patch ) if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") @@ -30,4 +31,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) \ No newline at end of file +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/License.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL index 31b54a74c..247704f9f 100644 --- a/ports/libxmlpp/CONTROL +++ b/ports/libxmlpp/CONTROL @@ -1,4 +1,4 @@ Source: libxmlpp -Version: 2.40.1-3 +Version: 2.40.1-5 Description: a C++ wrapper for the libxml XML parser library. Build-Depends: libxml2, glibmm diff --git a/ports/libxmlpp/portfile.cmake b/ports/libxmlpp/portfile.cmake index 3919e4bf2..1b31ed225 100644 --- a/ports/libxmlpp/portfile.cmake +++ b/ports/libxmlpp/portfile.cmake @@ -3,21 +3,22 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(LIBXMLPP_VERSION 2.40.1) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxml++-${LIBXMLPP_VERSION}) + vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/libxml++/2.40/libxml++-${LIBXMLPP_VERSION}.tar.xz" FILENAME "libxml++-${LIBXMLPP_VERSION}.tar.xz" SHA512 a4ec2e8182d981c57bdcb8f0a203a3161f8c735ceb59fd212408b7a539d1dc826adf6717bed8f4d544ab08afd9c2fc861efe518e24bbd3a1c4b158e2ca48183a ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fixAutoPtrExpired.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxml++-${LIBXMLPP_VERSION} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/fixAutoPtrExpired.patch" -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/libxmp-lite/CONTROL b/ports/libxmp-lite/CONTROL index cbc01c58f..8ca5cbd41 100644 --- a/ports/libxmp-lite/CONTROL +++ b/ports/libxmp-lite/CONTROL @@ -1,4 +1,4 @@ Source: libxmp-lite -Version: 4.4.1-1 +Version: 4.4.1-2 Homepage: https://sourceforge.net/projects/xmp/ Description: Lightweight version of libxmp that supports MOD, S3M, XM and IT modules. diff --git a/ports/libxmp-lite/portfile.cmake b/ports/libxmp-lite/portfile.cmake index 5af0f25f3..e77290095 100644 --- a/ports/libxmp-lite/portfile.cmake +++ b/ports/libxmp-lite/portfile.cmake @@ -2,18 +2,18 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxmp-lite-4.4.1) vcpkg_download_distfile(ARCHIVE URLS "http://sourceforge.net/projects/xmp/files/libxmp/4.4.1/libxmp-lite-4.4.1.tar.gz" FILENAME "libxmp-lite-4.4.1.tar.gz" SHA512 f27e3f9fb79ff15ce90b51fb29641c01cadf7455150da57cde6860c2ba075ed497650eb44ec9143bdd3538288228c609f7db6d862c9d73f007f686eccb05543e ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-msvc-buildfix.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-fix-symbols.patch + 0001-msvc-buildfix.patch + 0002-fix-symbols.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -26,5 +26,4 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxmp-lite RENAME copyright) +file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/libxslt/0002-Fix-lzma.patch b/ports/libxslt/0002-Fix-lzma.patch new file mode 100644 index 000000000..8c0e287ae --- /dev/null +++ b/ports/libxslt/0002-Fix-lzma.patch @@ -0,0 +1,61 @@ +diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc +index 0d1953d..0e538ef 100644 +--- a/win32/Makefile.msvc ++++ b/win32/Makefile.msvc +@@ -62,9 +62,9 @@ LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX) + # The libraries are needed for static builds (the makefile builds all tools and dlls) + LIBS = wsock32.lib libiconv.lib libcharset.lib + !if "$(DEBUG)" == "1" +-LIBS = $(LIBS) zlibd.lib ++LIBS = $(LIBS) zlibd.lib lzmad.lib + !else +-LIBS = $(LIBS) zlib.lib ++LIBS = $(LIBS) zlib.lib lzma.lib + !endif + + # The archiver and its options. +diff --git a/win32/configure.js b/win32/configure.js +index 56694cc..24ccc8d 100644 +--- a/win32/configure.js ++++ b/win32/configure.js +@@ -45,6 +45,7 @@ var withMemDebug = false; + var withDebugger = true; + var withIconv = true; + var withZlib = false; ++var withLzma = true; + var withCrypto = true; + var withModules = false; + /* Win32 build options. */ +@@ -104,6 +105,7 @@ function usage() + txt += " debugger: Enable external debugger support (" + (withDebugger? "yes" : "no") + ")\n"; + txt += " iconv: Use iconv library (" + (withIconv? "yes" : "no") + ")\n"; + txt += " zlib: Use zlib library (" + (withZlib? "yes" : "no") + ")\n"; ++ txt += " lzma: Use lzma library (" + (withLzma? "yes" : "no") + ")\n"; + txt += " crypto: Enable Crypto support (" + (withCrypto? "yes" : "no") + ")\n"; + txt += " modules: Enable Module support (" + (withModules? "yes" : "no") + ")\n"; + txt += "\nWin32 build options, default value given in parentheses:\n\n"; +@@ -190,6 +192,7 @@ function discoverVersion() + vf.WriteLine("WITH_DEBUGGER=" + (withDebugger? "1" : "0")); + vf.WriteLine("WITH_ICONV=" + (withIconv? "1" : "0")); + vf.WriteLine("WITH_ZLIB=" + (withZlib? "1" : "0")); ++ vf.WriteLine("WITH_LZMA=" + (withLzma? "1" : "0")); + vf.WriteLine("WITH_CRYPTO=" + (withCrypto? "1" : "0")); + vf.WriteLine("WITH_MODULES=" + (withModules? "1" : "0")); + vf.WriteLine("DEBUG=" + (buildDebug? "1" : "0")); +@@ -339,6 +342,8 @@ for (i = 0; (i < WScript.Arguments.length) && (error == 0); i++) { + withIconv = strToBool(arg.substring(opt.length + 1, arg.length)); + else if (opt == "zlib") + withZlib = strToBool(arg.substring(opt.length + 1, arg.length)); ++ else if (opt == "lzma") ++ withLzma = strToBool(arg.substring(opt.length + 1, arg.length)); + else if (opt == "crypto") + withCrypto = strToBool(arg.substring(opt.length + 1, arg.length)); + else if (opt == "modules") +@@ -475,6 +480,7 @@ txtOut += " Memory debugging: " + boolToStr(withMemDebug) + "\n"; + txtOut += " Debugger support: " + boolToStr(withDebugger) + "\n"; + txtOut += " Use iconv: " + boolToStr(withIconv) + "\n"; + txtOut += " With zlib: " + boolToStr(withZlib) + "\n"; ++txtOut += " Lzma: " + boolToStr(withLzma) + "\n"; + txtOut += " Crypto: " + boolToStr(withCrypto) + "\n"; + txtOut += " Modules: " + boolToStr(withModules) + "\n"; + txtOut += "\n"; diff --git a/ports/libxslt/CONTROL b/ports/libxslt/CONTROL index 965079523..6e3c7e2b4 100644 --- a/ports/libxslt/CONTROL +++ b/ports/libxslt/CONTROL @@ -1,5 +1,5 @@ Source: libxslt -Version: 1.1.29 -Homepage: http://xmlsoft.org/XSLT/ +Version: 1.1.33-5 +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 +Build-Depends: libxml2, liblzma diff --git a/ports/libxslt/portfile.cmake b/ports/libxslt/portfile.cmake index 2343ba99f..5ab963bff 100644 --- a/ports/libxslt/portfile.cmake +++ b/ports/libxslt/portfile.cmake @@ -1,133 +1,127 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libxslt-1.1.29) -vcpkg_download_distfile(ARCHIVE - URLS "ftp://xmlsoft.org/libxslt/libxslt-1.1.29.tar.gz" - FILENAME "libxslt-1.1.29.tar.gz" - SHA512 a1ce555a74a9dabe65e8f64bb66e27e77760fd76940d88f2d59f58dd63ca73c8ae59f3fcbd8e76c8f92ff992fb0c09328528c20ea38ccac83e63252106bf5f31 -) -vcpkg_extract_source_archive(${ARCHIVE}) -find_program(NMAKE nmake) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH}/ - PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-makefile.patch +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO GNOME/libxslt + REF v1.1.33 + SHA512 2c20b2af3c19952b25b10dca0d95fe227602f7f815db352b04dd061c52c458d745f92c597ce08ac9207ba0fbe0169ea2fb78263d8590743717553f84463fe1d9 + HEAD_REF master + PATCHES + 0001-Fix-makefile.patch + 0002-Fix-lzma.patch ) -set(SCRIPTS_DIR ${SOURCE_PATH}/win32) - -set(CONFIGURE_COMMAND_TEMPLATE cscript configure.js - cruntime=@CRUNTIME@ - debug=@DEBUGMODE@ - prefix=@INSTALL_DIR@ - include=@INCLUDE_DIR@ - lib=@LIB_DIR@ - bindir=$(PREFIX)\\tools\\ - sodir=$(PREFIX)\\bin\\ -) - -# Create some directories ourselves, because the makefile doesn't -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - -# -# Release -# - -message(STATUS "Configuring ${TARGET_TRIPLET}-rel") - -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CRUNTIME /MD) +if (VCPKG_TARGET_IS_WINDOWS) + # Create some directories ourselves, because the makefile doesn't + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/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@ + prefix=@INSTALL_DIR@ + include=@INCLUDE_DIR@ + lib=@LIB_DIR@ + bindir=$(PREFIX)\\tools\\ + sodir=$(PREFIX)\\bin\\ + ) + # Debug params + if(VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(CRUNTIME /MD) + else() + set(CRUNTIME /MT) + endif() + set(DEBUGMODE no) + set(LIB_DIR ${CURRENT_INSTALLED_DIR}/lib) + set(INCLUDE_DIR ${CURRENT_INSTALLED_DIR}/include) + set(INSTALL_DIR ${CURRENT_PACKAGES_DIR}) + file(TO_NATIVE_PATH "${LIB_DIR}" LIB_DIR) + file(TO_NATIVE_PATH "${INCLUDE_DIR}" INCLUDE_DIR) + file(TO_NATIVE_PATH "${INSTALL_DIR}" INSTALL_DIR) + string(CONFIGURE "${CONFIGURE_COMMAND_TEMPLATE}" CONFIGURE_COMMAND_REL) + # Release params + if(VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(CRUNTIME /MDd) + else() + set(CRUNTIME /MTd) + endif() + set(DEBUGMODE yes) + set(LIB_DIR ${CURRENT_INSTALLED_DIR}/debug/lib) + set(INSTALL_DIR ${CURRENT_PACKAGES_DIR}/debug) + file(TO_NATIVE_PATH "${LIB_DIR}" LIB_DIR) + file(TO_NATIVE_PATH "${INSTALL_DIR}" INSTALL_DIR) + string(CONFIGURE "${CONFIGURE_COMMAND_TEMPLATE}" CONFIGURE_COMMAND_DBG) + + vcpkg_install_nmake( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH win32 + PROJECT_NAME Makefile.msvc + PRERUN_SHELL_DEBUG cscript configure.js ${CONFIGURE_COMMAND_DBG} + PRERUN_SHELL_RELEASE cscript configure.js ${CONFIGURE_COMMAND_REL} + OPTIONS rebuild + ) + + # The makefile builds both static and dynamic libraries, so remove the ones we don't want + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libxslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/lib/libexslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + else() + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libxslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/lib/libexslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + # Rename the libs to match the dynamic lib names + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libxslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/lib/libxslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libexslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/lib/libexslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt_a${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) + endif() else() - set(CRUNTIME /MT) + vcpkg_find_acquire_program(PYTHON2) + get_filename_component(PYTHON2_DIR ${PYTHON2} DIRECTORY) + + find_library(LibXml2_DEBUG_LIBRARIES libxml2 PATHS ${CURRENT_INSTALLED_DIR}/debug/lib REQUIRED) + find_library(LibXml2_RELEASE_LIBRARIES libxml2 PATHS ${CURRENT_INSTALLED_DIR}/lib REQUIRED) + + vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + AUTOCONFIG + OPTIONS + --with-crypto + --with-plugins + --with-libxml-include-prefix=${CURRENT_INSTALLED_DIR}/include + --with-python=${PYTHON2_DIR} + OPTIONS_DEBUG + --with-mem-debug + --with-debug + --with-debugger + --with-libxml-libs-prefix="${CURRENT_INSTALLED_DIR}/debug/lib -lxml2 -lz -llzmad" + --with-html-dir=${CURRENT_INSTALLED_DIR}/debug/tools + --with-html-subdir=${CURRENT_INSTALLED_DIR}/debug/tools + OPTIONS_RELEASE + --with-libxml-libs-prefix="${CURRENT_INSTALLED_DIR}/lib -lxml2 -lz -llzma" + --with-html-dir=${CURRENT_INSTALLED_DIR}/tools + --with-html-subdir=${CURRENT_INSTALLED_DIR}/tools + ) + + vcpkg_install_make() + + if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/xslt-config) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/xslt-config DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/xslt-config) + endif() + if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/xsltproc) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/xsltproc DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/xslt-config) + endif() + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(COPY ${CURRENT_PACKAGES_DIR}/lib/libxslt.so ${CURRENT_PACKAGES_DIR}/bin/) + else() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/libxslt-plugins ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt-plugins) + endif() + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libxslt.so) endif() -set(DEBUGMODE no) -set(LIB_DIR ${CURRENT_INSTALLED_DIR}/lib) -set(INCLUDE_DIR ${CURRENT_INSTALLED_DIR}/include) -set(INSTALL_DIR ${CURRENT_PACKAGES_DIR}) -file(TO_NATIVE_PATH "${LIB_DIR}" LIB_DIR) -file(TO_NATIVE_PATH "${INCLUDE_DIR}" INCLUDE_DIR) -file(TO_NATIVE_PATH "${INSTALL_DIR}" INSTALL_DIR) -string(CONFIGURE "${CONFIGURE_COMMAND_TEMPLATE}" CONFIGURE_COMMAND) -vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} - WORKING_DIRECTORY ${SCRIPTS_DIR} - LOGNAME config-${TARGET_TRIPLET}-rel -) -# Handle build output directory -file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" OUTDIR) -file(MAKE_DIRECTORY "${OUTDIR}") -message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") - -message(STATUS "Building ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${NMAKE} /f Makefile.msvc rebuild OUTDIR=${OUTDIR} - WORKING_DIRECTORY ${SCRIPTS_DIR} - LOGNAME build-${TARGET_TRIPLET}-rel -) -message(STATUS "Building ${TARGET_TRIPLET}-rel done") - -message(STATUS "Installing ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${NMAKE} /f Makefile.msvc install OUTDIR=${OUTDIR} - WORKING_DIRECTORY ${SCRIPTS_DIR} - LOGNAME install-${TARGET_TRIPLET}-rel -) -message(STATUS "Installing ${TARGET_TRIPLET}-rel done") - - -# -# Debug -# - -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") - -if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CRUNTIME /MDd) -else() - set(CRUNTIME /MTd) -endif() -set(DEBUGMODE yes) -set(LIB_DIR ${CURRENT_INSTALLED_DIR}/debug/lib) -set(INSTALL_DIR ${CURRENT_PACKAGES_DIR}/debug) -file(TO_NATIVE_PATH "${LIB_DIR}" LIB_DIR) -file(TO_NATIVE_PATH "${INSTALL_DIR}" INSTALL_DIR) -string(CONFIGURE "${CONFIGURE_COMMAND_TEMPLATE}" CONFIGURE_COMMAND) - -vcpkg_execute_required_process( - COMMAND ${CONFIGURE_COMMAND} - WORKING_DIRECTORY ${SCRIPTS_DIR} - LOGNAME config-${TARGET_TRIPLET}-dbg -) -# Handle build output directory -file(TO_NATIVE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" OUTDIR) -file(MAKE_DIRECTORY "${OUTDIR}") -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") - -message(STATUS "Building ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${NMAKE} /f Makefile.msvc rebuild OUTDIR=${OUTDIR} - WORKING_DIRECTORY ${SCRIPTS_DIR} - LOGNAME build-${TARGET_TRIPLET}-dbg -) -message(STATUS "Building ${TARGET_TRIPLET}-dbg done") - -message(STATUS "Installing ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${NMAKE} /f Makefile.msvc install OUTDIR=${OUTDIR} - WORKING_DIRECTORY ${SCRIPTS_DIR} - LOGNAME install-${TARGET_TRIPLET}-dbg -) -message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") - # # Cleanup # @@ -153,24 +147,11 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/include/libexslt/exsltexports.h "${EXSLTEXPOR file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -# The makefile builds both static and dynamic libraries, so remove the ones we don't want -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libxslt_a.lib ${CURRENT_PACKAGES_DIR}/lib/libexslt_a.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt_a.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt_a.lib) -else() - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libxslt.lib ${CURRENT_PACKAGES_DIR}/lib/libexslt.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt.lib) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - # Rename the libs to match the dynamic lib names - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libxslt_a.lib ${CURRENT_PACKAGES_DIR}/lib/libxslt.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libexslt_a.lib ${CURRENT_PACKAGES_DIR}/lib/libexslt.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt_a.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libxslt.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt_a.lib ${CURRENT_PACKAGES_DIR}/debug/lib/libexslt.lib) +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + vcpkg_copy_pdbs() endif() -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libxslt) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/libxslt/COPYING ${CURRENT_PACKAGES_DIR}/share/libxslt/copyright) +file(INSTALL ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -vcpkg_copy_pdbs() \ No newline at end of file diff --git a/ports/libyaml/CONTROL b/ports/libyaml/CONTROL index df8b2b1fe..6dbff7ff3 100644 --- a/ports/libyaml/CONTROL +++ b/ports/libyaml/CONTROL @@ -1,3 +1,3 @@ Source: libyaml -Version: 0.2.2 +Version: 0.2.2-2 Description: A C library for parsing and emitting YAML. diff --git a/ports/libyaml/fix-POSIX_name.patch b/ports/libyaml/fix-POSIX_name.patch new file mode 100644 index 000000000..0aa6d211c --- /dev/null +++ b/ports/libyaml/fix-POSIX_name.patch @@ -0,0 +1,13 @@ +diff --git a/src/api.c b/src/api.c +index e793b08..6f16fc5 100644 +--- a/src/api.c ++++ b/src/api.c +@@ -63,7 +63,7 @@ yaml_strdup(const yaml_char_t *str) + if (!str) + return NULL; + +- return (yaml_char_t *)strdup((char *)str); ++ return (yaml_char_t *)_strdup((char *)str); + } + + /* diff --git a/ports/libyaml/portfile.cmake b/ports/libyaml/portfile.cmake index 210fc2d7f..3d7f12d7e 100644 --- a/ports/libyaml/portfile.cmake +++ b/ports/libyaml/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF 0.2.2 SHA512 455494591014a97c4371a1f372ad09f0d6e487e4f1d3419c98e9cd2f16d43a0cf9a0787d7250bebee8b8d400df4626f5acd81e90139e54fa574a66ec84964c06 HEAD_REF master + PATCHES + fix-POSIX_name.patch ) vcpkg_configure_cmake( @@ -13,12 +15,14 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF + -DINSTALL_CMAKE_DIR=share/yaml ) vcpkg_install_cmake() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/config.h) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/yaml TARGET_PATH share/yaml) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/config.h ${CURRENT_PACKAGES_DIR}/debug/share) -vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/libyaml/copyright COPYONLY) diff --git a/ports/libyuv/CONTROL b/ports/libyuv/CONTROL new file mode 100644 index 000000000..63dfda401 --- /dev/null +++ b/ports/libyuv/CONTROL @@ -0,0 +1,4 @@ +Source: libyuv +Version: fec9121-1 +Build-Depends: libjpeg-turbo +Description: libyuv is an open source project that includes YUV scaling and conversion functionality. diff --git a/ports/libyuv/fix-build-type.patch b/ports/libyuv/fix-build-type.patch new file mode 100644 index 000000000..984a1253f --- /dev/null +++ b/ports/libyuv/fix-build-type.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 097434b..8f8864f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -28,21 +28,25 @@ LIST ( SORT ly_unittest_sources ) + INCLUDE_DIRECTORIES( BEFORE ${ly_inc_dir} ) + + # this creates the static library (.a) ++if (NOT BUILD_SHARED_LIBS) + ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) + SET_TARGET_PROPERTIES( ${ly_lib_static} PROPERTIES PUBLIC_HEADER include/libyuv.h ) +- ++else() + # this creates the shared library (.so) + ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) + SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES OUTPUT_NAME "${ly_lib_name}" ) + SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES PREFIX "lib" ) +- ++endif() + # this creates the conversion tool + ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) +-TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) +- ++if (BUILD_SHARED_LIBS) ++ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_shared} ) ++else() ++ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) ++endif() + + INCLUDE ( FindJPEG ) +-if (JPEG_FOUND) ++if (JPEG_FOUND AND BUILD_SHARED_LIBS) + include_directories( ${JPEG_INCLUDE_DIR} ) + target_link_libraries( ${ly_lib_shared} PUBLIC ${JPEG_LIBRARY} ) + target_link_libraries( yuvconvert ${JPEG_LIBRARY} ) +@@ -88,11 +92,13 @@ endif() + + + # install the conversion tool, .so, .a, and all the header files +-INSTALL ( TARGETS yuvconvert DESTINATION bin ) ++INSTALL ( TARGETS yuvconvert DESTINATION tools ) + INSTALL ( FILES ${ly_include_files} DESTINATION include/libyuv ) +-INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-export DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include ) +-INSTALL ( TARGETS ${ly_lib_shared} EXPORT libyuv-export LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) +- ++if (NOT BUILD_SHARED_LIBS) ++ INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-export DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include ) ++else() ++ INSTALL ( TARGETS ${ly_lib_shared} EXPORT libyuv-export LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) ++endif() + INSTALL( EXPORT libyuv-export FILE libyuv-config.cmake DESTINATION share/cmake/libyuv/ EXPORT_LINK_INTERFACE_LIBRARIES ) + + # create the .deb and .rpm packages using cpack diff --git a/ports/libyuv/fix_cmakelists.patch b/ports/libyuv/fix_cmakelists.patch new file mode 100644 index 000000000..bebfe7155 --- /dev/null +++ b/ports/libyuv/fix_cmakelists.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ed4948f0..9f48ebde 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,10 +2,14 @@ + # Originally created for "roxlu build system" to compile libyuv on windows + # Run with -DTEST=ON to build unit tests + +-PROJECT ( YUV C CXX ) # "C" is required even for C++ projects + CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) ++CMAKE_POLICY( SET CMP0022 NEW ) ++ ++PROJECT ( YUV C CXX ) # "C" is required even for C++ projects + OPTION( TEST "Built unit tests" OFF ) + ++SET( CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON ) ++ + SET ( ly_base_dir ${PROJECT_SOURCE_DIR} ) + SET ( ly_src_dir ${ly_base_dir}/source ) + SET ( ly_inc_dir ${ly_base_dir}/include ) +@@ -14,6 +18,7 @@ SET ( ly_lib_name yuv ) + SET ( ly_lib_static ${ly_lib_name} ) + SET ( ly_lib_shared ${ly_lib_name}_shared ) + ++FILE ( GLOB_RECURSE ly_include_files ${ly_inc_dir}/libyuv/*.h ) + FILE ( GLOB_RECURSE ly_source_files ${ly_src_dir}/*.cc ) + LIST ( SORT ly_source_files ) + +@@ -24,6 +29,7 @@ INCLUDE_DIRECTORIES( BEFORE ${ly_inc_dir} ) + + # this creates the static library (.a) + ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) ++SET_TARGET_PROPERTIES( ${ly_lib_static} PROPERTIES PUBLIC_HEADER include/libyuv.h ) + + # this creates the shared library (.so) + ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) +@@ -38,6 +44,7 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) + INCLUDE ( FindJPEG ) + if (JPEG_FOUND) + include_directories( ${JPEG_INCLUDE_DIR} ) ++ target_link_libraries( ${ly_lib_shared} PUBLIC ${JPEG_LIBRARY} ) + target_link_libraries( yuvconvert ${JPEG_LIBRARY} ) + add_definitions( -DHAVE_JPEG ) + endif() +@@ -81,10 +88,12 @@ endif() + + + # install the conversion tool, .so, .a, and all the header files +-INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) +-INSTALL ( TARGETS ${ly_lib_static} DESTINATION lib ) +-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) +-INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) ++INSTALL ( TARGETS yuvconvert DESTINATION bin ) ++INSTALL ( FILES ${ly_include_files} DESTINATION include/libyuv ) ++INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-export DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include ) ++INSTALL ( TARGETS ${ly_lib_shared} EXPORT libyuv-export LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) ++ ++INSTALL( EXPORT libyuv-export FILE libyuv-config.cmake DESTINATION share/cmake/libyuv/ EXPORT_LINK_INTERFACE_LIBRARIES ) + + # create the .deb and .rpm packages using cpack + INCLUDE ( CM_linux_packages.cmake ) diff --git a/ports/libyuv/portfile.cmake b/ports/libyuv/portfile.cmake new file mode 100644 index 000000000..1e955c185 --- /dev/null +++ b/ports/libyuv/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH + URL https://chromium.googlesource.com/libyuv/libyuv + REF fec9121b676eccd9acea2460aec7d6ae219701b9 + PATCHES + fix_cmakelists.patch + fix-build-type.patch +) + +set(POSTFIX d) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DCMAKE_DEBUG_POSTFIX=${POSTFIX} +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/libyuv) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libyuv RENAME copyright) diff --git a/ports/libzen/CONTROL b/ports/libzen/CONTROL new file mode 100644 index 000000000..aca3ff287 --- /dev/null +++ b/ports/libzen/CONTROL @@ -0,0 +1,3 @@ +Source: libzen +Version: 0.4.37 +Description: ZenLib is a C++ utility library for easiest cross-platform development diff --git a/ports/libzen/portfile.cmake b/ports/libzen/portfile.cmake new file mode 100644 index 000000000..52ad55ef6 --- /dev/null +++ b/ports/libzen/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO MediaArea/ZenLib + REF v0.4.37 + SHA512 857091422d6425aeae59bf5a9dfedd72f5c9b4a18f29acf88842d812f2b470fc8b1b03a245af6b7d08d616dd5596a8905cc138daecee23dadea39ae4215f77d4 + HEAD_REF master + + PATCHES vcpkg_support_in_cmakelists.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/Project/CMake + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/zenlib TARGET_PATH share/zenlib) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/pkgconfig) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig) + +file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/libzen RENAME copyright) + +vcpkg_test_cmake(PACKAGE_NAME ZenLib MODULE) diff --git a/ports/libzen/vcpkg_support_in_cmakelists.patch b/ports/libzen/vcpkg_support_in_cmakelists.patch new file mode 100644 index 000000000..fb2ce81f7 --- /dev/null +++ b/ports/libzen/vcpkg_support_in_cmakelists.patch @@ -0,0 +1,31 @@ +diff --git a/Project/CMake/CMakeLists.txt b/Project/CMake/CMakeLists.txt +index cb96dc8..8b05a25 100644 +--- a/Project/CMake/CMakeLists.txt ++++ b/Project/CMake/CMakeLists.txt +@@ -33,10 +33,12 @@ set(BIN_INSTALL_DIR "${CMAKE_INSTALL_FULL_BINDIR}" CACHE STRING "Directory where + set(LIB_INSTALL_DIR "${CMAKE_INSTALL_FULL_LIBDIR}" CACHE STRING "Directory where library will install") + set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}" CACHE PATH "The directory the headers are installed in") + +-if(NOT MSVC) +- set(ZenLib_CONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake/zenlib") ++if(VCPKG_TARGET_TRIPLET) ++ set(ZenLib_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/zenlib") ++elseif(MSVC) ++ set(ZenLib_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/cmake") + else() +- set(ZenLib_CONFIG_INSTALL_DIR "cmake") ++ set(ZenLib_CONFIG_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake/zenlib") + endif() + + set(ZenLib_HDRS +@@ -136,10 +138,6 @@ set_target_properties(zen PROPERTIES + PUBLIC_HEADER "${ZenLib_HDRS}" + ) + +-if(MSVC) +- install(FILES $ DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS "Debug;RelWithDebInfo" OPTIONAL) +-endif() +- + install(TARGETS zen EXPORT zen-export + PUBLIC_HEADER DESTINATION ${INCLUDE_INSTALL_DIR}/ZenLib + RUNTIME DESTINATION ${BIN_INSTALL_DIR} 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/libzippp/CONTROL b/ports/libzippp/CONTROL new file mode 100644 index 000000000..f2a6b24d6 --- /dev/null +++ b/ports/libzippp/CONTROL @@ -0,0 +1,4 @@ +Source: libzippp +Version: 2019-07-22 +Description: Simple basic C++ wrapper around the libzip library. It is meant to be a portable and easy-to-use library for ZIP handling +Build-Depends: zlib, libzip[bzip2] diff --git a/ports/libzippp/portfile.cmake b/ports/libzippp/portfile.cmake new file mode 100644 index 000000000..3c3a22ffa --- /dev/null +++ b/ports/libzippp/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ctabin/libzippp + REF be75a3413b648a3264e94a2c1921c83081dec1e0 + SHA512 86c6040bbaea0817486218e96c4d230a328e3560ada41861fbd18d78faa085b158199318d633085e616509084082bf29d6f97afdd2d2dfbc6b843dfbf6a20c85 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF + OPTIONS_DEBUG + -DINSTALL_HEADERS=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/libzippp") + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libzippp RENAME copyright) diff --git a/ports/linenoise-ng/CONTROL b/ports/linenoise-ng/CONTROL index 8023c7f7d..cb5f9429a 100644 --- a/ports/linenoise-ng/CONTROL +++ b/ports/linenoise-ng/CONTROL @@ -1,3 +1,3 @@ Source: linenoise-ng -Version: 4754bee2d8eb3 +Version: 4754bee2d8eb3-1 Description: A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. \ No newline at end of file diff --git a/ports/linenoise-ng/portfile.cmake b/ports/linenoise-ng/portfile.cmake index c5e448e86..18dcfd262 100644 --- a/ports/linenoise-ng/portfile.cmake +++ b/ports/linenoise-ng/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE ) vcpkg_install_cmake() diff --git a/ports/llgl/CONTROL b/ports/llgl/CONTROL new file mode 100644 index 000000000..476ccd8c2 --- /dev/null +++ b/ports/llgl/CONTROL @@ -0,0 +1,10 @@ +Source: llgl +Version: 2019-08-15 +Homepage: https://github.com/LukasBanana/LLGL +Description: Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal. + +Feature: opengl +Description: Support for opengl + +Feature: direct3d11 +Description: Support for direct3d11 \ No newline at end of file diff --git a/ports/llgl/fix-arm64-build-error.patch b/ports/llgl/fix-arm64-build-error.patch new file mode 100644 index 000000000..d80061c16 --- /dev/null +++ b/ports/llgl/fix-arm64-build-error.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f440884..f1a9190 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -559,6 +559,8 @@ if(APPLE) + endif() + elseif(UNIX) + target_link_libraries(LLGL X11 pthread Xxf86vm Xrandr) ++elseif(WIN32) ++ target_link_libraries(LLGL gdi32 shell32) + endif() + + set_target_properties(LLGL PROPERTIES LINKER_LANGUAGE CXX DEBUG_POSTFIX "D") diff --git a/ports/llgl/fix-install-error.patch b/ports/llgl/fix-install-error.patch new file mode 100644 index 000000000..30b9c3040 --- /dev/null +++ b/ports/llgl/fix-install-error.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f440884..d1b0c2f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -614,6 +614,12 @@ if(LLGL_BUILD_RENDERER_OPENGL) + target_link_libraries(LLGL_OpenGL LLGL ${OPENGL_LIBRARIES}) + + ADD_DEFINE(LLGL_BUILD_RENDERER_OPENGL) ++ ++ install(TARGETS LLGL_OpenGL ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + else() + message("Missing OpenGL -> LLGL_OpenGL renderer will be excluded from project") + endif() +@@ -681,6 +687,12 @@ if(WIN32) + target_link_libraries(LLGL_Direct3D11 LLGL d3d11 dxgi D3DCompiler) + + ADD_DEFINE(LLGL_BUILD_RENDERER_DIRECT3D11) ++ ++ install(TARGETS LLGL_Direct3D11 ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + endif() + + if(LLGL_BUILD_RENDERER_DIRECT3D12) +@@ -821,4 +833,13 @@ if(LLGL_ENABLE_SPIRV_REFLECT) + message("Including Submodule: SPIRV") + endif() + ++# Install targets ++install(TARGETS ${PROJECT_NAME} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++# Install headers ++install(DIRECTORY ${PROJECT_INCLUDE_DIR} DESTINATION include) ++ + diff --git a/ports/llgl/portfile.cmake b/ports/llgl/portfile.cmake new file mode 100644 index 000000000..c41de8b45 --- /dev/null +++ b/ports/llgl/portfile.cmake @@ -0,0 +1,41 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} currently doesn't supports UWP.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LukasBanana/LLGL + REF 8f28437960ed60622e94f4f97b24e842b5a0e9e6 + SHA512 8a6bd4109e977f9def0f04a3d31f7bd4beebbe162c52eaa08a54daf8335871615215ece166e5a9d5b5475b834fd53a26ff9638ff270a2f00c88bab21ed156760 + HEAD_REF master + PATCHES + fix-install-error.patch + fix-arm64-build-error.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + opengl LLGL_BUILD_RENDERER_OPENGL + direct3d11 LLGL_BUILD_RENDERER_DIRECT3D11 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +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() + +vcpkg_copy_pdbs() + +# 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 diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL index f700235a6..e1569bdee 100644 --- a/ports/llvm/CONTROL +++ b/ports/llvm/CONTROL @@ -1,5 +1,18 @@ -Source: llvm -Version: 7.0.0-3 -Homepage: https://llvm.org/ -Description: The LLVM Compiler Infrastructure -Build-Depends: atlmfc (windows) +Source: llvm +Version: 8.0.0-3 +Homepage: https://llvm.org/ +Description: The LLVM Compiler Infrastructure +Build-Depends: atlmfc (windows) +Default-Features: tools, utils + +Feature: tools +Description: Generate build targets for the LLVM tools. + +Feature: utils +Description: Generate build targets for the LLVM utils. + +Feature: example +Description: Generate build targets for the LLVM examples + +Feature: test +Description: Generate build targets for the LLVM unit tests. \ No newline at end of file diff --git a/ports/llvm/fix-build-error.patch b/ports/llvm/fix-build-error.patch index a311fb959..f48df44ac 100644 --- a/ports/llvm/fix-build-error.patch +++ b/ports/llvm/fix-build-error.patch @@ -1,7 +1,5 @@ -diff --git a/tools/clang/tools/libclang/CMakeLists.txt b/tools/clang/tools/libclang/CMakeLists.txt -index e539c83..09c1ea3 100644 ---- a/tools/clang/tools/libclang/CMakeLists.txt -+++ b/tools/clang/tools/libclang/CMakeLists.txt +--- a/tools/libclang/CMakeLists.txt ++++ b/tools/libclang/CMakeLists.txt @@ -56,10 +56,7 @@ if (TARGET clangTidyPlugin) endif() endif () diff --git a/ports/llvm/fix-linux-build.patch b/ports/llvm/fix-linux-build.patch new file mode 100644 index 000000000..780ea6535 --- /dev/null +++ b/ports/llvm/fix-linux-build.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake +index 900c35e..78fd3cd 100644 +--- a/cmake/config-ix.cmake ++++ b/cmake/config-ix.cmake +@@ -154,7 +154,7 @@ if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + else() + include_directories(${LIBXML2_INCLUDE_DIR}) + endif() +- set(LIBXML2_LIBS "xml2") ++ set(LIBXML2_LIBS ${LIBXML2_LIBRARIES}) + endif() + endif() + endif() diff --git a/ports/llvm/install-clang-modules-to-share.patch b/ports/llvm/install-clang-modules-to-share.patch new file mode 100644 index 000000000..fa5eed84b --- /dev/null +++ b/ports/llvm/install-clang-modules-to-share.patch @@ -0,0 +1,18 @@ +diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt +index be6d1d72..4749f64b 100644 +--- a/cmake/modules/CMakeLists.txt ++++ b/cmake/modules/CMakeLists.txt +@@ -1,11 +1,11 @@ + # Generate a list of CMake library targets so that other CMake projects can + # link against them. LLVM calls its version of this file LLVMExports.cmake, but + # the usual CMake convention seems to be ${Project}Targets.cmake. +-set(CLANG_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/clang) ++set(CLANG_INSTALL_PACKAGE_DIR share/clang) + set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") + + # Keep this in sync with llvm/cmake/CMakeLists.txt! +-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) ++set(LLVM_INSTALL_PACKAGE_DIR share/llvm) + set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") + + get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) diff --git a/ports/llvm/install-cmake-modules-to-share.patch b/ports/llvm/install-cmake-modules-to-share.patch deleted file mode 100644 index 1a2b3b0db..000000000 --- a/ports/llvm/install-cmake-modules-to-share.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -urN llvm-7.0.0.src-orig/cmake/modules/CMakeLists.txt llvm-7.0.0.src/cmake/modules/CMakeLists.txt ---- llvm-7.0.0.src-orig/cmake/modules/CMakeLists.txt 2018-07-27 13:57:51.000000000 +0300 -+++ llvm-7.0.0.src/cmake/modules/CMakeLists.txt 2019-03-26 14:56:34.645434190 +0200 -@@ -1,4 +1,4 @@ --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR share/llvm) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - # First for users who use an installed LLVM, create the LLVMExports.cmake file. -diff -urN llvm-7.0.0.src-orig/tools/clang/cmake/modules/CMakeLists.txt llvm-7.0.0.src/tools/clang/cmake/modules/CMakeLists.txt ---- llvm-7.0.0.src-orig/tools/clang/cmake/modules/CMakeLists.txt 2018-01-24 21:26:50.000000000 +0200 -+++ llvm-7.0.0.src/tools/clang/cmake/modules/CMakeLists.txt 2019-03-26 14:57:07.173362736 +0200 -@@ -1,11 +1,11 @@ - # Generate a list of CMake library targets so that other CMake projects can - # link against them. LLVM calls its version of this file LLVMExports.cmake, but - # the usual CMake convention seems to be ${Project}Targets.cmake. --set(CLANG_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/clang) -+set(CLANG_INSTALL_PACKAGE_DIR share/clang) - set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") - - # Keep this in sync with llvm/cmake/CMakeLists.txt! --set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) -+set(LLVM_INSTALL_PACKAGE_DIR share/llvm) - set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") - - get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) diff --git a/ports/llvm/install-llvm-modules-to-share.patch b/ports/llvm/install-llvm-modules-to-share.patch new file mode 100644 index 000000000..802cf183e --- /dev/null +++ b/ports/llvm/install-llvm-modules-to-share.patch @@ -0,0 +1,10 @@ +diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt +index f5cc0006..1d9c52ac 100644 +--- a/cmake/modules/CMakeLists.txt ++++ b/cmake/modules/CMakeLists.txt +@@ -1,4 +1,4 @@ +-set(LLVM_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm) ++set(LLVM_INSTALL_PACKAGE_DIR share/llvm) + set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") + + # First for users who use an installed LLVM, create the LLVMExports.cmake file. diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index 1828ea86e..61f45654c 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -1,111 +1,132 @@ -# LLVM documentation recommends always using static library linkage when -# building with Microsoft toolchain; it's also the default on other platforms -set(VCPKG_LIBRARY_LINKAGE static) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "llvm cannot currently be built for UWP") -endif() - -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/llvm-7.0.0.src) -vcpkg_download_distfile(ARCHIVE - URLS "http://releases.llvm.org/7.0.0/llvm-7.0.0.src.tar.xz" - FILENAME "llvm-7.0.0.src.tar.xz" - SHA512 bdc9b851c158b17e1bbeb7ac5ae49821bfb1251a3826fe8a3932cd1a43f9fb0d620c3de67150c1d9297bf0b86fa917e75978da29c3f751b277866dc90395abec -) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_download_distfile(CLANG_ARCHIVE - URLS "http://releases.llvm.org/7.0.0/cfe-7.0.0.src.tar.xz" - FILENAME "cfe-7.0.0.src.tar.xz" - SHA512 17a658032a0160c57d4dc23cb45a1516a897e0e2ba4ebff29472e471feca04c5b68cff351cdf231b42aab0cff587b84fe11b921d1ca7194a90e6485913d62cb7 -) -vcpkg_extract_source_archive(${CLANG_ARCHIVE} ${SOURCE_PATH}/tools) - -if(NOT EXISTS ${SOURCE_PATH}/tools/clang) - file(RENAME ${SOURCE_PATH}/tools/cfe-7.0.0.src ${SOURCE_PATH}/tools/clang) -endif() - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - install-cmake-modules-to-share.patch - fix-build-error.patch -) - -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}") - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DLLVM_TARGETS_TO_BUILD=X86 - -DLLVM_INCLUDE_TOOLS=ON - -DLLVM_INCLUDE_UTILS=OFF - -DLLVM_INCLUDE_EXAMPLES=OFF - -DLLVM_INCLUDE_TESTS=OFF - -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF - -DLLVM_TOOLS_INSTALL_DIR=tools/llvm - -DLLVM_PARALLEL_LINK_JOBS=1 -) - -vcpkg_install_cmake() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*) - file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/llvm) - file(REMOVE ${EXE}) -endif() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*) - file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/llvm) - file(REMOVE ${DEBUG_EXE}) -endif() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/clang TARGET_PATH share/clang) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/llvm) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/llvm) - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(READ ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-release.cmake RELEASE_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/tools/llvm" RELEASE_MODULE "${RELEASE_MODULE}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-release.cmake "${RELEASE_MODULE}") - - file(READ ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-release.cmake RELEASE_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/tools/llvm" RELEASE_MODULE "${RELEASE_MODULE}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-release.cmake "${RELEASE_MODULE}") -endif() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(READ ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-debug.cmake DEBUG_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/debug/bin" "\${_IMPORT_PREFIX}/tools/llvm" DEBUG_MODULE "${DEBUG_MODULE}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-debug.cmake "${DEBUG_MODULE}") - - file(READ ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-debug.cmake DEBUG_MODULE) - string(REPLACE "\${_IMPORT_PREFIX}/debug/bin" "\${_IMPORT_PREFIX}/tools/llvm" DEBUG_MODULE "${DEBUG_MODULE}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-debug.cmake "${DEBUG_MODULE}") -endif() - -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/debug/include - ${CURRENT_PACKAGES_DIR}/debug/tools - ${CURRENT_PACKAGES_DIR}/debug/share - ${CURRENT_PACKAGES_DIR}/debug/bin - ${CURRENT_PACKAGES_DIR}/debug/msbuild-bin - ${CURRENT_PACKAGES_DIR}/bin - ${CURRENT_PACKAGES_DIR}/msbuild-bin - ${CURRENT_PACKAGES_DIR}/tools/msbuild-bin - ${CURRENT_PACKAGES_DIR}/include/llvm/BinaryFormat/WasmRelocs -) - -# Remove one empty include subdirectory if it is indeed empty -file(GLOB MCANALYSISFILES ${CURRENT_PACKAGES_DIR}/include/llvm/MC/MCAnalysis/*) -if(NOT MCANALYSISFILES) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/llvm/MC/MCAnalysis) -endif() - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME copyright) +include(vcpkg_common_functions) + +# LLVM documentation recommends always using static library linkage when +# building with Microsoft toolchain; it's also the default on other platforms +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "llvm cannot currently be built for UWP") +endif() + +vcpkg_download_distfile(ARCHIVE + URLS "http://releases.llvm.org/8.0.0/llvm-8.0.0.src.tar.xz" + FILENAME "llvm-8.0.0.src.tar.xz" + SHA512 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + install-llvm-modules-to-share.patch + fix-linux-build.patch +) + +vcpkg_download_distfile(CLANG_ARCHIVE + URLS "http://releases.llvm.org/8.0.0/cfe-8.0.0.src.tar.xz" + FILENAME "cfe-8.0.0.src.tar.xz" + SHA512 98e540222719716985e5d8439116e47469cb01201ea91d1da7e46cb6633da099688d9352c3b65e5c5f660cbbae353b3d79bb803fc66b3be663f2b04b1feed1c3 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH CLANG_SOURCE_PATH + ARCHIVE ${CLANG_ARCHIVE} + PATCHES + fix-build-error.patch + install-clang-modules-to-share.patch +) + +if(NOT EXISTS ${SOURCE_PATH}/tools/clang) + file(RENAME ${CLANG_SOURCE_PATH} ${SOURCE_PATH}/tools/clang) +endif() + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +set(ENV{PATH} "$ENV{PATH};${PYTHON3_DIR}") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + tools LLVM_INCLUDE_TOOLS + utils LLVM_INCLUDE_UTILS + example LLVM_INCLUDE_EXAMPLES + test LLVM_INCLUDE_TESTS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DLLVM_TARGETS_TO_BUILD=X86 + -DLLVM_ABI_BREAKING_CHECKS=FORCE_OFF + -DLLVM_TOOLS_INSTALL_DIR=tools/llvm + -DLLVM_PARALLEL_LINK_JOBS=1 +) + +vcpkg_install_cmake() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*) + file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/llvm) + file(REMOVE ${EXE}) +endif() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*) + file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/llvm) + file(REMOVE ${DEBUG_EXE}) +endif() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/clang TARGET_PATH share/clang) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/llvm) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/llvm) + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(READ ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-release.cmake RELEASE_MODULE) + string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/tools/llvm" RELEASE_MODULE "${RELEASE_MODULE}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-release.cmake "${RELEASE_MODULE}") + + file(READ ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-release.cmake RELEASE_MODULE) + string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/tools/llvm" RELEASE_MODULE "${RELEASE_MODULE}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-release.cmake "${RELEASE_MODULE}") +endif() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(READ ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-debug.cmake DEBUG_MODULE) + string(REPLACE "\${_IMPORT_PREFIX}/debug/bin" "\${_IMPORT_PREFIX}/tools/llvm" DEBUG_MODULE "${DEBUG_MODULE}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/clang/ClangTargets-debug.cmake "${DEBUG_MODULE}") + + file(READ ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-debug.cmake DEBUG_MODULE) + string(REPLACE "\${_IMPORT_PREFIX}/debug/bin" "\${_IMPORT_PREFIX}/tools/llvm" DEBUG_MODULE "${DEBUG_MODULE}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-debug.cmake "${DEBUG_MODULE}") +endif() + +if (EXISTS ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMConfig.cmake) + file(READ ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMConfig.cmake LLVM_TOOLS_MODULE) + string(REPLACE "\${LLVM_INSTALL_PREFIX}/bin" "\${LLVM_INSTALL_PREFIX}/tools/llvm" LLVM_TOOLS_MODULE "${LLVM_TOOLS_MODULE}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMConfig.cmake "${LLVM_TOOLS_MODULE}") +endif() + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/tools + ${CURRENT_PACKAGES_DIR}/debug/share + ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/debug/msbuild-bin + ${CURRENT_PACKAGES_DIR}/bin + ${CURRENT_PACKAGES_DIR}/msbuild-bin + ${CURRENT_PACKAGES_DIR}/tools/msbuild-bin + ${CURRENT_PACKAGES_DIR}/include/llvm/BinaryFormat/WasmRelocs +) + +# Remove two empty include subdirectorys if they are indeed empty +file(GLOB MCANALYSISFILES ${CURRENT_PACKAGES_DIR}/include/llvm/MC/MCAnalysis/*) +if(NOT MCANALYSISFILES) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/llvm/MC/MCAnalysis) +endif() + +file(GLOB MACHOFILES ${CURRENT_PACKAGES_DIR}/include/llvm/TextAPI/MachO/*) +if(NOT MACHOFILES) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/llvm/TextAPI/MachO) +endif() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/llvm RENAME copyright) diff --git a/ports/lmdb/CONTROL b/ports/lmdb/CONTROL index 247d812d5..eb174de87 100644 --- a/ports/lmdb/CONTROL +++ b/ports/lmdb/CONTROL @@ -1,4 +1,4 @@ Source: lmdb -Version: 0.9.23 +Version: 0.9.23-3 Homepage: https://github.com/LMDB/lmdb Description: LMDB is an extraordinarily fast, memory-efficient database diff --git a/ports/lmdb/lmdb_45a88275d2a410e683bae4ef44881e0f55fa3c4d.patch b/ports/lmdb/lmdb_45a88275d2a410e683bae4ef44881e0f55fa3c4d.patch deleted file mode 100644 index e6d1f108c..000000000 --- a/ports/lmdb/lmdb_45a88275d2a410e683bae4ef44881e0f55fa3c4d.patch +++ /dev/null @@ -1,3958 +0,0 @@ -diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile -index 0940c49..72d0984 100644 ---- a/libraries/liblmdb/Makefile -+++ b/libraries/liblmdb/Makefile -@@ -8,7 +8,7 @@ - # platforms; you should not need to change any of these. - # Read their descriptions in mdb.c if you do: - # --# - MDB_USE_POSIX_SEM -+# - MDB_USE_POSIX_MUTEX, MDB_USE_POSIX_SEM, MDB_USE_SYSV_SEM - # - MDB_DSYNC - # - MDB_FDATASYNC - # - MDB_FDATASYNC_WORKS -@@ -24,8 +24,9 @@ W = -W -Wall -Wno-unused-parameter -Wbad-function-cast -Wuninitialized - THREADS = -pthread - OPT = -O2 -g - CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS) --LDLIBS = --SOLIBS = -+LDLIBS = # -lntdll # Windows needs ntdll -+SOLIBS = # -lntdll -+SOEXT = .so - prefix = /usr/local - exec_prefix = $(prefix) - bindir = $(exec_prefix)/bin -@@ -37,7 +38,7 @@ mandir = $(datarootdir)/man - ######################################################################## - - IHDRS = lmdb.h --ILIBS = liblmdb.a liblmdb.so -+ILIBS = liblmdb.a liblmdb$(SOEXT) - IPROGS = mdb_stat mdb_copy mdb_dump mdb_load - IDOCS = mdb_stat.1 mdb_copy.1 mdb_dump.1 mdb_load.1 - PROGS = $(IPROGS) mtest mtest2 mtest3 mtest4 mtest5 -@@ -63,7 +64,7 @@ test: all - liblmdb.a: mdb.o midl.o - $(AR) rs $@ mdb.o midl.o - --liblmdb.so: mdb.lo midl.lo -+liblmdb$(SOEXT): mdb.lo midl.lo - # $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS) - $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS) - -diff --git a/libraries/liblmdb/lmdb.h b/libraries/liblmdb/lmdb.h -index c4d05d1..30d5862 100644 ---- a/libraries/liblmdb/lmdb.h -+++ b/libraries/liblmdb/lmdb.h -@@ -53,14 +53,15 @@ - * - * Fix: Check for stale readers periodically, using the - * #mdb_reader_check function or the \ref mdb_stat_1 "mdb_stat" tool. -- * Stale writers will be cleared automatically on some systems: -+ * Stale writers will be cleared automatically on most systems: - * - Windows - automatic -+ * - BSD, systems using SysV semaphores - automatic - * - Linux, systems using POSIX mutexes with Robust option - automatic -- * - not on BSD, systems using POSIX semaphores. - * Otherwise just make all programs using the database close it; - * the lockfile is always reset on first open of the environment. - * -- * - On BSD systems or others configured with MDB_USE_POSIX_SEM, -+ * - On BSD systems or others configured with MDB_USE_SYSV_SEM or -+ * MDB_USE_POSIX_SEM, - * startup can fail due to semaphores owned by another userid. - * - * Fix: Open and close the database as the user which owns the -@@ -77,6 +78,11 @@ - * access to locks and lock file. Exceptions: On read-only filesystems - * or with the #MDB_NOLOCK flag described under #mdb_env_open(). - * -+ * - An LMDB configuration will often reserve considerable \b unused -+ * memory address space and maybe file size for future growth. -+ * This does not use actual memory or disk space, but users may need -+ * to understand the difference so they won't be scared off. -+ * - * - By default, in versions before 0.9.10, unused portions of the data - * file might receive garbage data from memory freed by other code. - * (This does not happen when using the #MDB_WRITEMAP flag.) As of -@@ -160,6 +166,8 @@ - #define _LMDB_H_ - - #include -+#include -+#include - - #ifdef __cplusplus - extern "C" { -@@ -172,6 +180,32 @@ typedef int mdb_mode_t; - typedef mode_t mdb_mode_t; - #endif - -+#ifdef _WIN32 -+# define MDB_FMT_Z "I" -+#else -+# define MDB_FMT_Z "z" /**< printf/scanf format modifier for size_t */ -+#endif -+ -+#ifndef MDB_VL32 -+/** Unsigned type used for mapsize, entry counts and page/transaction IDs. -+ * -+ * It is normally size_t, hence the name. Defining MDB_VL32 makes it -+ * uint64_t, but do not try this unless you know what you are doing. -+ */ -+typedef size_t mdb_size_t; -+# define MDB_SIZE_MAX SIZE_MAX /**< max #mdb_size_t */ -+/** #mdb_size_t printf formats, \b t = one of [diouxX] without quotes */ -+# define MDB_PRIy(t) MDB_FMT_Z #t -+/** #mdb_size_t scanf formats, \b t = one of [dioux] without quotes */ -+# define MDB_SCNy(t) MDB_FMT_Z #t -+#else -+typedef uint64_t mdb_size_t; -+# define MDB_SIZE_MAX UINT64_MAX -+# define MDB_PRIy(t) PRI##t##64 -+# define MDB_SCNy(t) SCN##t##64 -+# define mdb_env_create mdb_env_create_vl32 /**< Prevent mixing with non-VL32 builds */ -+#endif -+ - /** An abstraction for a file handle. - * On POSIX systems file handles are small integers. On Windows - * they're opaque pointers. -@@ -194,7 +228,7 @@ typedef int mdb_filehandle_t; - /** Library minor version */ - #define MDB_VERSION_MINOR 9 - /** Library patch version */ --#define MDB_VERSION_PATCH 18 -+#define MDB_VERSION_PATCH 70 - - /** Combine args a,b,c into a single integer for easy version comparisons */ - #define MDB_VERINT(a,b,c) (((a) << 24) | ((b) << 16) | (c)) -@@ -204,7 +238,7 @@ typedef int mdb_filehandle_t; - MDB_VERINT(MDB_VERSION_MAJOR,MDB_VERSION_MINOR,MDB_VERSION_PATCH) - - /** The release date of this library version */ --#define MDB_VERSION_DATE "February 5, 2016" -+#define MDB_VERSION_DATE "December 19, 2015" - - /** A stringifier for the version info */ - #define MDB_VERSTR(a,b,c,d) "LMDB " #a "." #b "." #c ": (" d ")" -@@ -306,7 +340,8 @@ typedef void (MDB_rel_func)(MDB_val *item, void *oldptr, void *newptr, void *rel - #define MDB_REVERSEKEY 0x02 - /** use sorted duplicates */ - #define MDB_DUPSORT 0x04 -- /** numeric keys in native byte order: either unsigned int or size_t. -+ /** numeric keys in native byte order, either unsigned int or #mdb_size_t. -+ * (lmdb expects 32-bit int <= size_t <= 32/64-bit mdb_size_t.) - * The keys must all be of the same size. */ - #define MDB_INTEGERKEY 0x08 - /** with #MDB_DUPSORT, sorted dup items have fixed size */ -@@ -383,7 +418,9 @@ typedef enum MDB_cursor_op { - MDB_PREV_NODUP, /**< Position at last data item of previous key */ - MDB_SET, /**< Position at specified key */ - MDB_SET_KEY, /**< Position at specified key, return key + data */ -- MDB_SET_RANGE /**< Position at first key greater than or equal to specified key. */ -+ MDB_SET_RANGE, /**< Position at first key greater than or equal to specified key. */ -+ MDB_PREV_MULTIPLE /**< Position at previous page and return key and up to -+ a page of duplicate data items. Only for #MDB_DUPFIXED */ - } MDB_cursor_op; - - /** @defgroup errors Return Codes -@@ -440,8 +477,10 @@ typedef enum MDB_cursor_op { - #define MDB_BAD_VALSIZE (-30781) - /** The specified DBI was changed unexpectedly */ - #define MDB_BAD_DBI (-30780) -+ /** Unexpected problem - txn should abort */ -+#define MDB_PROBLEM (-30779) - /** The last defined error code */ --#define MDB_LAST_ERRCODE MDB_BAD_DBI -+#define MDB_LAST_ERRCODE MDB_PROBLEM - /** @} */ - - /** @brief Statistics for a database in the environment */ -@@ -449,18 +488,18 @@ typedef struct MDB_stat { - unsigned int ms_psize; /**< Size of a database page. - This is currently the same for all databases. */ - unsigned int ms_depth; /**< Depth (height) of the B-tree */ -- size_t ms_branch_pages; /**< Number of internal (non-leaf) pages */ -- size_t ms_leaf_pages; /**< Number of leaf pages */ -- size_t ms_overflow_pages; /**< Number of overflow pages */ -- size_t ms_entries; /**< Number of data items */ -+ mdb_size_t ms_branch_pages; /**< Number of internal (non-leaf) pages */ -+ mdb_size_t ms_leaf_pages; /**< Number of leaf pages */ -+ mdb_size_t ms_overflow_pages; /**< Number of overflow pages */ -+ mdb_size_t ms_entries; /**< Number of data items */ - } MDB_stat; - - /** @brief Information about the environment */ - typedef struct MDB_envinfo { - void *me_mapaddr; /**< Address of map, if fixed */ -- size_t me_mapsize; /**< Size of the data memory map */ -- size_t me_last_pgno; /**< ID of the last used page */ -- size_t me_last_txnid; /**< ID of the last committed transaction */ -+ mdb_size_t me_mapsize; /**< Size of the data memory map */ -+ mdb_size_t me_last_pgno; /**< ID of the last used page */ -+ mdb_size_t me_last_txnid; /**< ID of the last committed transaction */ - unsigned int me_maxreaders; /**< max reader slots in the environment */ - unsigned int me_numreaders; /**< max reader slots used in the environment */ - } MDB_envinfo; -@@ -672,6 +711,7 @@ int mdb_env_copyfd(MDB_env *env, mdb_filehandle_t fd); - *
  • #MDB_CP_COMPACT - Perform compaction while copying: omit free - * pages and sequentially renumber all pages in output. This option - * consumes more CPU and runs more slowly than the default. -+ * Currently it fails if the environment has suffered a page leak. - * - * @return A non-zero error value on failure and 0 on success. - */ -@@ -829,7 +869,7 @@ int mdb_env_get_fd(MDB_env *env, mdb_filehandle_t *fd); - * an active write transaction. - * - */ --int mdb_env_set_mapsize(MDB_env *env, size_t size); -+int mdb_env_set_mapsize(MDB_env *env, mdb_size_t size); - - /** @brief Set the maximum number of threads/reader slots for the environment. - * -@@ -942,6 +982,10 @@ int mdb_env_set_assert(MDB_env *env, MDB_assert_func *func); - *
      - *
    • #MDB_RDONLY - * This transaction will not perform any write operations. -+ *
    • #MDB_NOSYNC -+ * Don't flush system buffers to disk when committing this transaction. -+ *
    • #MDB_NOMETASYNC -+ * Flush system buffers but omit metadata flush when committing this transaction. - *
    - * @param[out] txn Address where the new #MDB_txn handle will be stored - * @return A non-zero error value on failure and 0 on success. Some possible -@@ -974,7 +1018,7 @@ MDB_env *mdb_txn_env(MDB_txn *txn); - * @param[in] txn A transaction handle returned by #mdb_txn_begin() - * @return A transaction ID, valid if input is an active transaction. - */ --size_t mdb_txn_id(MDB_txn *txn); -+mdb_size_t mdb_txn_id(MDB_txn *txn); - - /** @brief Commit all the operations of a transaction into the database. - * -@@ -1084,7 +1128,8 @@ int mdb_txn_renew(MDB_txn *txn); - * keys must be unique and may have only a single data item. - *
  • #MDB_INTEGERKEY - * Keys are binary integers in native byte order, either unsigned int -- * or size_t, and will be sorted as such. -+ * or #mdb_size_t, and will be sorted as such. -+ * (lmdb expects 32-bit int <= size_t <= 32/64-bit mdb_size_t.) - * The keys must all be of the same size. - *
  • #MDB_DUPFIXED - * This flag may only be used in combination with #MDB_DUPSORT. This option -@@ -1524,7 +1569,7 @@ int mdb_cursor_del(MDB_cursor *cursor, unsigned int flags); - *
  • EINVAL - cursor is not initialized, or an invalid parameter was specified. - * - */ --int mdb_cursor_count(MDB_cursor *cursor, size_t *countp); -+int mdb_cursor_count(MDB_cursor *cursor, mdb_size_t *countp); - - /** @brief Compare two data items according to a particular database. - * -diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c -index d2e81e4..1d9e9fa 100644 ---- a/libraries/liblmdb/mdb.c -+++ b/libraries/liblmdb/mdb.c -@@ -35,9 +35,42 @@ - #ifndef _GNU_SOURCE - #define _GNU_SOURCE 1 - #endif -+#if defined(MDB_VL32) || defined(__WIN64__) -+#define _FILE_OFFSET_BITS 64 -+#endif - #ifdef _WIN32 - #include - #include -+ -+/* We use native NT APIs to setup the memory map, so that we can -+ * let the DB file grow incrementally instead of always preallocating -+ * the full size. These APIs are defined in and -+ * but those headers are meant for driver-level development and -+ * conflict with the regular user-level headers, so we explicitly -+ * declare them here. Using these APIs also means we must link to -+ * ntdll.dll, which is not linked by default in user code. -+ */ -+NTSTATUS WINAPI -+NtCreateSection(OUT PHANDLE sh, IN ACCESS_MASK acc, -+ IN void * oa OPTIONAL, -+ IN PLARGE_INTEGER ms OPTIONAL, -+ IN ULONG pp, IN ULONG aa, IN HANDLE fh OPTIONAL); -+ -+typedef enum _SECTION_INHERIT { -+ ViewShare = 1, -+ ViewUnmap = 2 -+} SECTION_INHERIT; -+ -+NTSTATUS WINAPI -+NtMapViewOfSection(IN PHANDLE sh, IN HANDLE ph, -+ IN OUT PVOID *addr, IN ULONG_PTR zbits, -+ IN SIZE_T cs, IN OUT PLARGE_INTEGER off OPTIONAL, -+ IN OUT PSIZE_T vs, IN SECTION_INHERIT ih, -+ IN ULONG at, IN ULONG pp); -+ -+NTSTATUS WINAPI -+NtClose(HANDLE h); -+ - /** getpid() returns int; MinGW defines pid_t but MinGW64 typedefs it - * as int64 which is wrong. MSVC doesn't define it at all, so just - * don't use it. -@@ -56,6 +89,10 @@ - # define SSIZE_MAX INT_MAX - # endif - #endif -+/* Windows uses 32-bit off_t to define our own -+ 64 bit offset type -+*/ -+#define offset_t __int64 - #else - #include - #include -@@ -68,6 +105,7 @@ - #include - #endif - #include -+#define offset_t off_t - #endif - - #if defined(__mips) && defined(__linux) -@@ -116,7 +154,9 @@ typedef SSIZE_T ssize_t; - #endif - - #if defined(__APPLE__) || defined (BSD) --# define MDB_USE_POSIX_SEM 1 -+# if !(defined(MDB_USE_POSIX_MUTEX) || defined(MDB_USE_POSIX_SEM)) -+# define MDB_USE_SYSV_SEM 1 -+# endif - # define MDB_FDATASYNC fsync - #elif defined(ANDROID) - # define MDB_FDATASYNC fsync -@@ -127,12 +167,22 @@ typedef SSIZE_T ssize_t; - #ifdef MDB_USE_POSIX_SEM - # define MDB_USE_HASH 1 - #include -+#elif defined(MDB_USE_SYSV_SEM) -+#include -+#include -+#ifdef _SEM_SEMUN_UNDEFINED -+union semun { -+ int val; -+ struct semid_ds *buf; -+ unsigned short *array; -+}; -+#endif /* _SEM_SEMUN_UNDEFINED */ - #else - #define MDB_USE_POSIX_MUTEX 1 --#endif --#endif -+#endif /* MDB_USE_POSIX_SEM */ -+#endif /* !_WIN32 */ - --#if defined(_WIN32) + defined(MDB_USE_POSIX_SEM) \ -+#if defined(_WIN32) + defined(MDB_USE_POSIX_SEM) + defined(MDB_USE_SYSV_SEM) \ - + defined(MDB_USE_POSIX_MUTEX) != 1 - # error "Ambiguous shared-lock implementation" - #endif -@@ -183,7 +233,7 @@ typedef SSIZE_T ssize_t; - - #if (BYTE_ORDER == LITTLE_ENDIAN) == (BYTE_ORDER == BIG_ENDIAN) - # error "Unknown or unsupported endianness (BYTE_ORDER)" --#elif (-6 & 5) || CHAR_BIT != 8 || UINT_MAX < 0xffffffff || ULONG_MAX % 0xFFFF -+#elif (-6 & 5) || CHAR_BIT!=8 || UINT_MAX!=0xffffffff || MDB_SIZE_MAX%UINT_MAX - # error "Two's complement, reasonably sized integer types, please" - #endif - -@@ -234,6 +284,8 @@ typedef SSIZE_T ssize_t; - #define MDB_NO_ROOT (MDB_LAST_ERRCODE + 10) - #ifdef _WIN32 - #define MDB_OWNERDEAD ((int) WAIT_ABANDONED) -+#elif defined MDB_USE_SYSV_SEM -+#define MDB_OWNERDEAD (MDB_LAST_ERRCODE + 11) - #elif defined(MDB_USE_POSIX_MUTEX) && defined(EOWNERDEAD) - #define MDB_OWNERDEAD EOWNERDEAD /**< #LOCK_MUTEX0() result if dead owner */ - #endif -@@ -256,16 +308,20 @@ typedef SSIZE_T ssize_t; - # define MDB_USE_ROBUST 0 - # else - # define MDB_USE_ROBUST 1 -+# endif -+#endif /* !MDB_USE_ROBUST */ -+ -+#if defined(MDB_USE_POSIX_MUTEX) && (MDB_USE_ROBUST) - /* glibc < 2.12 only provided _np API */ --# if defined(__GLIBC__) && GLIBC_VER < 0x02000c -+# if (defined(__GLIBC__) && GLIBC_VER < 0x02000c) || \ -+ (defined(PTHREAD_MUTEX_ROBUST_NP) && !defined(PTHREAD_MUTEX_ROBUST)) - # define PTHREAD_MUTEX_ROBUST PTHREAD_MUTEX_ROBUST_NP - # define pthread_mutexattr_setrobust(attr, flag) pthread_mutexattr_setrobust_np(attr, flag) - # define pthread_mutex_consistent(mutex) pthread_mutex_consistent_np(mutex) - # endif --# endif --#endif /* MDB_USE_ROBUST */ -+#endif /* MDB_USE_POSIX_MUTEX && MDB_USE_ROBUST */ - --#if defined(MDB_OWNERDEAD) && MDB_USE_ROBUST -+#if defined(MDB_OWNERDEAD) && (MDB_USE_ROBUST) - #define MDB_ROBUST_SUPPORTED 1 - #endif - -@@ -288,8 +344,10 @@ typedef HANDLE mdb_mutex_t, mdb_mutexref_t; - #define pthread_mutex_lock(x) WaitForSingleObject(*x, INFINITE) - #define pthread_cond_signal(x) SetEvent(*x) - #define pthread_cond_wait(cond,mutex) do{SignalObjectAndWait(*mutex, *cond, INFINITE, FALSE); WaitForSingleObject(*mutex, INFINITE);}while(0) --#define THREAD_CREATE(thr,start,arg) thr=CreateThread(NULL,0,start,arg,0,NULL) --#define THREAD_FINISH(thr) WaitForSingleObject(thr, INFINITE) -+#define THREAD_CREATE(thr,start,arg) \ -+ (((thr) = CreateThread(NULL, 0, start, arg, 0, NULL)) ? 0 : ErrCode()) -+#define THREAD_FINISH(thr) \ -+ (WaitForSingleObject(thr, INFINITE) ? ErrCode() : 0) - #define LOCK_MUTEX0(mutex) WaitForSingleObject(mutex, INFINITE) - #define UNLOCK_MUTEX(mutex) ReleaseMutex(mutex) - #define mdb_mutex_consistent(mutex) 0 -@@ -305,12 +363,10 @@ typedef HANDLE mdb_mutex_t, mdb_mutexref_t; - #else - #define MDB_PROCESS_QUERY_LIMITED_INFORMATION 0x1000 - #endif --#define Z "I" - #else - #define THREAD_RET void * - #define THREAD_CREATE(thr,start,arg) pthread_create(&thr,NULL,start,arg) - #define THREAD_FINISH(thr) pthread_join(thr,NULL) --#define Z "z" /**< printf format modifier for size_t */ - - /** For MDB_LOCK_FORMAT: True if readers take a pid lock in the lockfile */ - #define MDB_PIDLOCK 1 -@@ -329,12 +385,46 @@ mdb_sem_wait(sem_t *sem) - return rc; - } - -+#elif defined MDB_USE_SYSV_SEM -+ -+typedef struct mdb_mutex { -+ int semid; -+ int semnum; -+ int *locked; -+} mdb_mutex_t[1], *mdb_mutexref_t; -+ -+#define LOCK_MUTEX0(mutex) mdb_sem_wait(mutex) -+#define UNLOCK_MUTEX(mutex) do { \ -+ struct sembuf sb = { 0, 1, SEM_UNDO }; \ -+ sb.sem_num = (mutex)->semnum; \ -+ *(mutex)->locked = 0; \ -+ semop((mutex)->semid, &sb, 1); \ -+} while(0) -+ -+static int -+mdb_sem_wait(mdb_mutexref_t sem) -+{ -+ int rc, *locked = sem->locked; -+ struct sembuf sb = { 0, -1, SEM_UNDO }; -+ sb.sem_num = sem->semnum; -+ do { -+ if (!semop(sem->semid, &sb, 1)) { -+ rc = *locked ? MDB_OWNERDEAD : MDB_SUCCESS; -+ *locked = 1; -+ break; -+ } -+ } while ((rc = errno) == EINTR); -+ return rc; -+} -+ -+#define mdb_mutex_consistent(mutex) 0 -+ - #else /* MDB_USE_POSIX_MUTEX: */ - /** Shared mutex/semaphore as it is stored (mdb_mutex_t), and as - * local variables keep it (mdb_mutexref_t). - * -- * When #mdb_mutexref_t is a pointer declaration and #mdb_mutex_t is -- * not, then it is array[size 1] so it can be assigned to a pointer. -+ * An mdb_mutex_t can be assigned to an mdb_mutexref_t. They can -+ * be the same, or an array[size 1] and a pointer. - * @{ - */ - typedef pthread_mutex_t mdb_mutex_t[1], *mdb_mutexref_t; -@@ -349,7 +439,7 @@ typedef pthread_mutex_t mdb_mutex_t[1], *mdb_mutexref_t; - /** Mark mutex-protected data as repaired, after death of previous owner. - */ - #define mdb_mutex_consistent(mutex) pthread_mutex_consistent(mutex) --#endif /* MDB_USE_POSIX_SEM */ -+#endif /* MDB_USE_POSIX_SEM || MDB_USE_SYSV_SEM */ - - /** Get the error code for the last failed system function. - */ -@@ -374,12 +464,24 @@ typedef pthread_mutex_t mdb_mutex_t[1], *mdb_mutexref_t; - #define GET_PAGESIZE(x) ((x) = sysconf(_SC_PAGE_SIZE)) - #endif - -+#define Z MDB_FMT_Z /**< printf/scanf format modifier for size_t */ -+#define Yu MDB_PRIy(u) /**< printf format for #mdb_size_t */ -+#define Yd MDB_PRIy(d) /**< printf format for "signed #mdb_size_t" */ -+ - #if defined(_WIN32) || defined(MDB_USE_POSIX_SEM) - #define MNAME_LEN 32 -+#elif defined(MDB_USE_SYSV_SEM) -+#define MNAME_LEN (sizeof(int)) - #else - #define MNAME_LEN (sizeof(pthread_mutex_t)) - #endif - -+#ifdef MDB_USE_SYSV_SEM -+#define SYSV_SEM_FLAG 1 /**< SysV sems in lockfile format */ -+#else -+#define SYSV_SEM_FLAG 0 -+#endif -+ - /** @} */ - - #ifdef MDB_ROBUST_SUPPORTED -@@ -521,7 +623,7 @@ static txnid_t mdb_debug_start; - /** The version number for a database's datafile format. */ - #define MDB_DATA_VERSION ((MDB_DEVEL) ? 999 : 1) - /** The version number for a database's lockfile format. */ --#define MDB_LOCK_VERSION 1 -+#define MDB_LOCK_VERSION ((MDB_DEVEL) ? 999 : 1) - - /** @brief The max size of a key we can write, or 0 for computed max. - * -@@ -712,6 +814,9 @@ typedef struct MDB_txbody { - uint32_t mtb_format; - #if defined(_WIN32) || defined(MDB_USE_POSIX_SEM) - char mtb_rmname[MNAME_LEN]; -+#elif defined(MDB_USE_SYSV_SEM) -+ int mtb_semid; -+ int mtb_rlocked; - #else - /** Mutex protecting access to this table. - * This is the reader table lock used with LOCK_MUTEX(). -@@ -740,12 +845,19 @@ typedef struct MDB_txninfo { - #define mti_rmname mt1.mtb.mtb_rmname - #define mti_txnid mt1.mtb.mtb_txnid - #define mti_numreaders mt1.mtb.mtb_numreaders -+#ifdef MDB_USE_SYSV_SEM -+#define mti_semid mt1.mtb.mtb_semid -+#define mti_rlocked mt1.mtb.mtb_rlocked -+#endif - char pad[(sizeof(MDB_txbody)+CACHELINE-1) & ~(CACHELINE-1)]; - } mt1; - union { - #if defined(_WIN32) || defined(MDB_USE_POSIX_SEM) - char mt2_wmname[MNAME_LEN]; - #define mti_wmname mt2.mt2_wmname -+#elif defined MDB_USE_SYSV_SEM -+ int mt2_wlocked; -+#define mti_wlocked mt2.mt2_wlocked - #else - mdb_mutex_t mt2_wmutex; - #define mti_wmutex mt2.mt2_wmutex -@@ -760,12 +872,27 @@ typedef struct MDB_txninfo { - ((uint32_t) \ - ((MDB_LOCK_VERSION) \ - /* Flags which describe functionality */ \ -+ + (SYSV_SEM_FLAG << 18) \ - + (((MDB_PIDLOCK) != 0) << 16))) - /** @} */ - --/** Common header for all page types. -- * Overflow records occupy a number of contiguous pages with no -- * headers on any page after the first. -+/** Common header for all page types. The page type depends on #mp_flags. -+ * -+ * #P_BRANCH and #P_LEAF pages have unsorted '#MDB_node's at the end, with -+ * sorted #mp_ptrs[] entries referring to them. Exception: #P_LEAF2 pages -+ * omit mp_ptrs and pack sorted #MDB_DUPFIXED values after the page header. -+ * -+ * #P_OVERFLOW records occupy one or more contiguous pages where only the -+ * first has a page header. They hold the real data of #F_BIGDATA nodes. -+ * -+ * #P_SUBP sub-pages are small leaf "pages" with duplicate data. -+ * A node with flag #F_DUPDATA but not #F_SUBDATA contains a sub-page. -+ * (Duplicate data can also go in sub-databases, which use normal pages.) -+ * -+ * #P_META pages contain #MDB_meta, the start point of an LMDB snapshot. -+ * -+ * Each non-metapage up to #MDB_meta.%mm_last_pg is reachable exactly once -+ * in the snapshot: Either used by a database or listed in a freeDB record. - */ - typedef struct MDB_page { - #define mp_pgno mp_p.p_pgno -@@ -774,7 +901,7 @@ typedef struct MDB_page { - pgno_t p_pgno; /**< page number */ - struct MDB_page *p_next; /**< for in-memory list of freed pages */ - } mp_p; -- uint16_t mp_pad; -+ uint16_t mp_pad; /**< key size if this is a LEAF2 page */ - /** @defgroup mdb_page Page Flags - * @ingroup internal - * Flags for the page headers. -@@ -841,7 +968,9 @@ typedef struct MDB_page { - /** The number of overflow pages needed to store the given size. */ - #define OVPAGES(size, psize) ((PAGEHDRSZ-1 + (size)) / (psize) + 1) - -- /** Link in #MDB_txn.%mt_loose_pgs list */ -+ /** Link in #MDB_txn.%mt_loose_pgs list. -+ * Kept outside the page header, which is needed when reusing the page. -+ */ - #define NEXT_LOOSE_PAGE(p) (*(MDB_page **)((p) + 2)) - - /** Header for a single key/data pair within a page. -@@ -924,7 +1053,7 @@ typedef struct MDB_node { - #ifdef MISALIGNED_OK - #define COPY_PGNO(dst,src) dst = src - #else --#if SIZE_MAX > 4294967295UL -+#if MDB_SIZE_MAX > 0xffffffffU - #define COPY_PGNO(dst,src) do { \ - unsigned short *s, *d; \ - s = (unsigned short *)&(src); \ -@@ -965,13 +1094,13 @@ typedef struct MDB_db { - pgno_t md_branch_pages; /**< number of internal pages */ - pgno_t md_leaf_pages; /**< number of leaf pages */ - pgno_t md_overflow_pages; /**< number of overflow pages */ -- size_t md_entries; /**< number of data items */ -+ mdb_size_t md_entries; /**< number of data items */ - pgno_t md_root; /**< the root page of this tree */ - } MDB_db; - -- /** mdb_dbi_open flags */ - #define MDB_VALID 0x8000 /**< DB handle is valid, for me_dbflags */ - #define PERSISTENT_FLAGS (0xffff & ~(MDB_VALID)) -+ /** #mdb_dbi_open() flags */ - #define VALID_FLAGS (MDB_REVERSEKEY|MDB_DUPSORT|MDB_INTEGERKEY|MDB_DUPFIXED|\ - MDB_INTEGERDUP|MDB_REVERSEDUP|MDB_CREATE) - -@@ -995,14 +1124,25 @@ typedef struct MDB_meta { - uint32_t mm_magic; - /** Version number of this file. Must be set to #MDB_DATA_VERSION. */ - uint32_t mm_version; -+#ifdef MDB_VL32 -+ union { /* always zero since we don't support fixed mapping in MDB_VL32 */ -+ MDB_ID mmun_ull; -+ void *mmun_address; -+ } mm_un; -+#define mm_address mm_un.mmun_address -+#else - void *mm_address; /**< address for fixed mapping */ -- size_t mm_mapsize; /**< size of mmap region */ -+#endif -+ pgno_t mm_mapsize; /**< size of mmap region */ - MDB_db mm_dbs[CORE_DBS]; /**< first is free space, 2nd is main db */ - /** The size of pages used in this DB */ - #define mm_psize mm_dbs[FREE_DBI].md_pad - /** Any persistent environment flags. @ref mdb_env */ - #define mm_flags mm_dbs[FREE_DBI].md_flags -- pgno_t mm_last_pg; /**< last used page in file */ -+ /** Last used page in the datafile. -+ * Actually the file may be shorter if the freeDB lists the final pages. -+ */ -+ pgno_t mm_last_pg; - volatile txnid_t mm_txnid; /**< txnid that committed this page */ - } MDB_meta; - -@@ -1039,6 +1179,9 @@ struct MDB_txn { - /** Nested txn under this txn, set together with flag #MDB_TXN_HAS_CHILD */ - MDB_txn *mt_child; - pgno_t mt_next_pgno; /**< next unallocated page */ -+#ifdef MDB_VL32 -+ pgno_t mt_last_pgno; /**< last written page */ -+#endif - /** The ID of this transaction. IDs are integers incrementing from 1. - * Only committed write transactions increment the ID. If a transaction - * aborts, the ID may be re-used by the next writer. -@@ -1052,7 +1195,7 @@ struct MDB_txn { - * in this transaction, linked through #NEXT_LOOSE_PAGE(page). - */ - MDB_page *mt_loose_pgs; -- /* #Number of loose pages (#mt_loose_pgs) */ -+ /** Number of loose pages (#mt_loose_pgs) */ - int mt_loose_count; - /** The sorted list of dirty pages we temporarily wrote to disk - * because the dirty list was full. page numbers in here are -@@ -1085,6 +1228,19 @@ struct MDB_txn { - MDB_cursor **mt_cursors; - /** Array of flags for each DB */ - unsigned char *mt_dbflags; -+#ifdef MDB_VL32 -+ /** List of read-only pages (actually chunks) */ -+ MDB_ID3L mt_rpages; -+ /** We map chunks of 16 pages. Even though Windows uses 4KB pages, all -+ * mappings must begin on 64KB boundaries. So we round off all pgnos to -+ * a chunk boundary. We do the same on Linux for symmetry, and also to -+ * reduce the frequency of mmap/munmap calls. -+ */ -+#define MDB_RPAGE_CHUNK 16 -+#define MDB_TRPAGE_SIZE 4096 /**< size of #mt_rpages array of chunks */ -+#define MDB_TRPAGE_MAX (MDB_TRPAGE_SIZE-1) /**< maximum chunk index */ -+ unsigned int mt_rpcheck; /**< threshold for reclaiming unref'd chunks */ -+#endif - /** Number of DB records in use, or 0 when the txn is finished. - * This number only ever increments until the txn finishes; we - * don't decrement it when individual DB handles are closed. -@@ -1096,7 +1252,9 @@ struct MDB_txn { - * @{ - */ - /** #mdb_txn_begin() flags */ --#define MDB_TXN_BEGIN_FLAGS MDB_RDONLY -+#define MDB_TXN_BEGIN_FLAGS (MDB_NOMETASYNC|MDB_NOSYNC|MDB_RDONLY) -+#define MDB_TXN_NOMETASYNC MDB_NOMETASYNC /**< don't sync meta for this txn on commit */ -+#define MDB_TXN_NOSYNC MDB_NOSYNC /**< don't sync this txn on commit */ - #define MDB_TXN_RDONLY MDB_RDONLY /**< read-only transaction */ - /* internal txn flags */ - #define MDB_TXN_WRITEMAP MDB_WRITEMAP /**< copy of #MDB_env flag in writers */ -@@ -1162,10 +1320,24 @@ struct MDB_cursor { - #define C_SUB 0x04 /**< Cursor is a sub-cursor */ - #define C_DEL 0x08 /**< last op was a cursor_del */ - #define C_UNTRACK 0x40 /**< Un-track cursor when closing */ -+#define C_WRITEMAP MDB_TXN_WRITEMAP /**< Copy of txn flag */ -+/** Read-only cursor into the txn's original snapshot in the map. -+ * Set for read-only txns, and in #mdb_page_alloc() for #FREE_DBI when -+ * #MDB_DEVEL & 2. Only implements code which is necessary for this. -+ */ -+#define C_ORIG_RDONLY MDB_TXN_RDONLY - /** @} */ - unsigned int mc_flags; /**< @ref mdb_cursor */ - MDB_page *mc_pg[CURSOR_STACK]; /**< stack of pushed pages */ - indx_t mc_ki[CURSOR_STACK]; /**< stack of page indices */ -+#ifdef MDB_VL32 -+ MDB_page *mc_ovpg; /**< a referenced overflow page */ -+# define MC_OVPG(mc) ((mc)->mc_ovpg) -+# define MC_SET_OVPG(mc, pg) ((mc)->mc_ovpg = (pg)) -+#else -+# define MC_OVPG(mc) ((MDB_page *)0) -+# define MC_SET_OVPG(mc, pg) ((void)0) -+#endif - }; - - /** Context for sorted-dup records. -@@ -1195,6 +1367,9 @@ struct MDB_env { - HANDLE me_fd; /**< The main data file */ - HANDLE me_lfd; /**< The lock file */ - HANDLE me_mfd; /**< just for writing the meta pages */ -+#if defined(MDB_VL32) && defined(_WIN32) -+ HANDLE me_fmh; /**< File Mapping handle */ -+#endif - /** Failed to update the meta page. Probably an I/O error. */ - #define MDB_FATAL_ERROR 0x80000000U - /** Some fields are initialized. */ -@@ -1219,8 +1394,8 @@ struct MDB_env { - void *me_pbuf; /**< scratch area for DUPSORT put() */ - MDB_txn *me_txn; /**< current write transaction */ - MDB_txn *me_txn0; /**< prealloc'd write transaction */ -- size_t me_mapsize; /**< size of the data memory map */ -- off_t me_size; /**< current file size */ -+ mdb_size_t me_mapsize; /**< size of the data memory map */ -+ offset_t me_size; /**< current file size */ - pgno_t me_maxpg; /**< me_mapsize / me_psize */ - MDB_dbx *me_dbxs; /**< array of static DB info */ - uint16_t *me_dbflags; /**< array of flags from MDB_db.md_flags */ -@@ -1253,6 +1428,13 @@ struct MDB_env { - mdb_mutex_t me_rmutex; - mdb_mutex_t me_wmutex; - #endif -+#ifdef MDB_VL32 -+ MDB_ID3L me_rpages; /**< like #mt_rpages, but global to env */ -+ pthread_mutex_t me_rpmutex; /**< control access to #me_rpages */ -+#define MDB_ERPAGE_SIZE 16384 -+#define MDB_ERPAGE_MAX (MDB_ERPAGE_SIZE-1) -+ unsigned int me_rpcheck; -+#endif - void *me_userctx; /**< User-settable context */ - MDB_assert_func *me_assert_func; /**< Callback for assertion failures */ - }; -@@ -1298,7 +1480,7 @@ enum { - #define MDB_END_SLOT MDB_NOTLS /**< release any reader slot if #MDB_NOTLS */ - static void mdb_txn_end(MDB_txn *txn, unsigned mode); - --static int mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **mp, int *lvl); -+static int mdb_page_get(MDB_cursor *mc, pgno_t pgno, MDB_page **mp, int *lvl); - static int mdb_page_search_root(MDB_cursor *mc, - MDB_val *key, int modify); - #define MDB_PS_MODIFY 1 -@@ -1327,7 +1509,7 @@ static int mdb_node_add(MDB_cursor *mc, indx_t indx, - static void mdb_node_del(MDB_cursor *mc, int ksize); - static void mdb_node_shrink(MDB_page *mp, indx_t indx); - static int mdb_node_move(MDB_cursor *csrc, MDB_cursor *cdst, int fromleft); --static int mdb_node_read(MDB_txn *txn, MDB_node *leaf, MDB_val *data); -+static int mdb_node_read(MDB_cursor *mc, MDB_node *leaf, MDB_val *data); - static size_t mdb_leaf_size(MDB_env *env, MDB_val *key, MDB_val *data); - static size_t mdb_branch_size(MDB_env *env, MDB_val *key); - -@@ -1360,13 +1542,18 @@ static int mdb_reader_check0(MDB_env *env, int rlocked, int *dead); - static MDB_cmp_func mdb_cmp_memn, mdb_cmp_memnr, mdb_cmp_int, mdb_cmp_cint, mdb_cmp_long; - /** @endcond */ - --/** Compare two items pointing at size_t's of unknown alignment. */ -+/** Compare two items pointing at '#mdb_size_t's of unknown alignment. */ - #ifdef MISALIGNED_OK - # define mdb_cmp_clong mdb_cmp_long - #else - # define mdb_cmp_clong mdb_cmp_cint - #endif - -+/** True if we need #mdb_cmp_clong() instead of \b cmp for #MDB_INTEGERDUP */ -+#define NEED_CMP_CLONG(cmp, ksize) \ -+ (UINT_MAX < MDB_SIZE_MAX && \ -+ (cmp) == mdb_cmp_int && (ksize) == sizeof(mdb_size_t)) -+ - #ifdef _WIN32 - static SECURITY_DESCRIPTOR mdb_null_sd; - static SECURITY_ATTRIBUTES mdb_all_sa; -@@ -1407,6 +1594,7 @@ static char *const mdb_errstr[] = { - "MDB_BAD_TXN: Transaction must abort, has a child, or is invalid", - "MDB_BAD_VALSIZE: Unsupported size of key/DB name/data, or wrong DUPFIXED size", - "MDB_BAD_DBI: The specified DBI handle was closed/changed unexpectedly", -+ "MDB_PROBLEM: Unexpected problem - txn should abort", - }; - - char * -@@ -1417,8 +1605,9 @@ mdb_strerror(int err) - * This works as long as no function between the call to mdb_strerror - * and the actual use of the message uses more than 4K of stack. - */ -- char pad[4096]; -- char buf[1024], *ptr = buf; -+#define MSGSIZE 1024 -+#define PADSIZE 4096 -+ char buf[MSGSIZE+PADSIZE], *ptr = buf; - #endif - int i; - if (!err) -@@ -1450,7 +1639,7 @@ mdb_strerror(int err) - buf[0] = 0; - FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, -- NULL, err, 0, ptr, sizeof(buf), (va_list *)pad); -+ NULL, err, 0, ptr, MSGSIZE, (va_list *)buf+MSGSIZE); - return ptr; - #else - return strerror(err); -@@ -1550,20 +1739,20 @@ mdb_page_list(MDB_page *mp) - case P_LEAF|P_LEAF2: type = "LEAF2 page"; break; - case P_LEAF|P_LEAF2|P_SUBP: type = "LEAF2 sub-page"; break; - case P_OVERFLOW: -- fprintf(stderr, "Overflow page %"Z"u pages %u%s\n", -+ fprintf(stderr, "Overflow page %"Yu" pages %u%s\n", - pgno, mp->mp_pages, state); - return; - case P_META: -- fprintf(stderr, "Meta-page %"Z"u txnid %"Z"u\n", -+ fprintf(stderr, "Meta-page %"Yu" txnid %"Yu"\n", - pgno, ((MDB_meta *)METADATA(mp))->mm_txnid); - return; - default: -- fprintf(stderr, "Bad page %"Z"u flags 0x%u\n", pgno, mp->mp_flags); -+ fprintf(stderr, "Bad page %"Yu" flags 0x%X\n", pgno, mp->mp_flags); - return; - } - - nkeys = NUMKEYS(mp); -- fprintf(stderr, "%s %"Z"u numkeys %d%s\n", type, pgno, nkeys, state); -+ fprintf(stderr, "%s %"Yu" numkeys %d%s\n", type, pgno, nkeys, state); - - for (i=0; imn_data; - nsize = NODESIZE + key.mv_size; - if (IS_BRANCH(mp)) { -- fprintf(stderr, "key %d: page %"Z"u, %s\n", i, NODEPGNO(node), -+ fprintf(stderr, "key %d: page %"Yu", %s\n", i, NODEPGNO(node), - DKEY(&key)); - total += nsize; - } else { -@@ -1674,7 +1863,7 @@ static void mdb_audit(MDB_txn *txn) - } - } - if (freecount + count + NUM_METAS != txn->mt_next_pgno) { -- fprintf(stderr, "audit: %lu freecount: %lu count: %lu total: %lu next_pgno: %lu\n", -+ fprintf(stderr, "audit: %"Yu" freecount: %"Yu" count: %"Yu" total: %"Yu" next_pgno: %"Yu"\n", - txn->mt_txnid, freecount, count+NUM_METAS, - freecount+count+NUM_METAS, txn->mt_next_pgno); - } -@@ -1691,10 +1880,8 @@ int - mdb_dcmp(MDB_txn *txn, MDB_dbi dbi, const MDB_val *a, const MDB_val *b) - { - MDB_cmp_func *dcmp = txn->mt_dbxs[dbi].md_dcmp; --#if UINT_MAX < SIZE_MAX -- if (dcmp == mdb_cmp_int && a->mv_size == sizeof(size_t)) -+ if (NEED_CMP_CLONG(dcmp, a->mv_size)) - dcmp = mdb_cmp_clong; --#endif - return dcmp(a, b); - } - -@@ -1774,6 +1961,51 @@ mdb_dlist_free(MDB_txn *txn) - dl[0].mid = 0; - } - -+#ifdef MDB_VL32 -+static void -+mdb_page_unref(MDB_txn *txn, MDB_page *mp) -+{ -+ pgno_t pgno; -+ MDB_ID3L tl = txn->mt_rpages; -+ unsigned x, rem; -+ if (mp->mp_flags & (P_SUBP|P_DIRTY)) -+ return; -+ rem = mp->mp_pgno & (MDB_RPAGE_CHUNK-1); -+ pgno = mp->mp_pgno ^ rem; -+ x = mdb_mid3l_search(tl, pgno); -+ if (x != tl[0].mid && tl[x+1].mid == mp->mp_pgno) -+ x++; -+ if (tl[x].mref) -+ tl[x].mref--; -+} -+#define MDB_PAGE_UNREF(txn, mp) mdb_page_unref(txn, mp) -+ -+static void -+mdb_cursor_unref(MDB_cursor *mc) -+{ -+ int i; -+ if (!mc->mc_snum || !mc->mc_pg[0] || IS_SUBP(mc->mc_pg[0])) -+ return; -+ for (i=0; imc_snum; i++) -+ mdb_page_unref(mc->mc_txn, mc->mc_pg[i]); -+ if (mc->mc_ovpg) { -+ mdb_page_unref(mc->mc_txn, mc->mc_ovpg); -+ mc->mc_ovpg = 0; -+ } -+ mc->mc_snum = mc->mc_top = 0; -+ mc->mc_pg[0] = NULL; -+ mc->mc_flags &= ~C_INITIALIZED; -+} -+#define MDB_CURSOR_UNREF(mc, force) \ -+ (((force) || ((mc)->mc_flags & C_INITIALIZED)) \ -+ ? mdb_cursor_unref(mc) \ -+ : (void)0) -+ -+#else -+#define MDB_PAGE_UNREF(txn, mp) -+#define MDB_CURSOR_UNREF(mc, force) ((void)0) -+#endif /* MDB_VL32 */ -+ - /** Loosen or free a single page. - * Saves single pages to a list for future reuse - * in this same txn. It has been pulled from the freeDB -@@ -1803,7 +2035,7 @@ mdb_page_loose(MDB_cursor *mc, MDB_page *mp) - if (mp != dl[x].mptr) { /* bad cursor? */ - mc->mc_flags &= ~(C_INITIALIZED|C_EOF); - txn->mt_flags |= MDB_TXN_ERROR; -- return MDB_CORRUPTED; -+ return MDB_PROBLEM; - } - /* ok, it's ours */ - loose = 1; -@@ -1815,8 +2047,7 @@ mdb_page_loose(MDB_cursor *mc, MDB_page *mp) - } - } - if (loose) { -- DPRINTF(("loosen db %d page %"Z"u", DDBI(mc), -- mp->mp_pgno)); -+ DPRINTF(("loosen db %d page %"Yu, DDBI(mc), mp->mp_pgno)); - NEXT_LOOSE_PAGE(mp) = txn->mt_loose_pgs; - txn->mt_loose_pgs = mp; - txn->mt_loose_count++; -@@ -1842,7 +2073,7 @@ mdb_pages_xkeep(MDB_cursor *mc, unsigned pflags, int all) - { - enum { Mask = P_SUBP|P_DIRTY|P_LOOSE|P_KEEP }; - MDB_txn *txn = mc->mc_txn; -- MDB_cursor *m3; -+ MDB_cursor *m3, *m0 = mc; - MDB_xcursor *mx; - MDB_page *dp, *mp; - MDB_node *leaf; -@@ -1885,7 +2116,7 @@ mdb_pages_xkeep(MDB_cursor *mc, unsigned pflags, int all) - pgno_t pgno = txn->mt_dbs[i].md_root; - if (pgno == P_INVALID) - continue; -- if ((rc = mdb_page_get(txn, pgno, &dp, &level)) != MDB_SUCCESS) -+ if ((rc = mdb_page_get(m0, pgno, &dp, &level)) != MDB_SUCCESS) - break; - if ((dp->mp_flags & Mask) == pflags && level <= 1) - dp->mp_flags ^= P_KEEP; -@@ -2074,6 +2305,8 @@ mdb_page_dirty(MDB_txn *txn, MDB_page *mp) - * Do not modify the freedB, just merge freeDB records into me_pghead[] - * and move me_pglast to say which records were consumed. Only this - * function can create me_pghead and move me_pglast/mt_next_pgno. -+ * When #MDB_DEVEL & 2, it is not affected by #mdb_freelist_save(): it -+ * then uses the transaction's original snapshot of the freeDB. - * @param[in] mc cursor A cursor handle identifying the transaction and - * database for which we are allocating. - * @param[in] num the number of pages to allocate. -@@ -2111,8 +2344,7 @@ mdb_page_alloc(MDB_cursor *mc, int num, MDB_page **mp) - np = txn->mt_loose_pgs; - txn->mt_loose_pgs = NEXT_LOOSE_PAGE(np); - txn->mt_loose_count--; -- DPRINTF(("db %d use loose page %"Z"u", DDBI(mc), -- np->mp_pgno)); -+ DPRINTF(("db %d use loose page %"Yu, DDBI(mc), np->mp_pgno)); - *mp = np; - return MDB_SUCCESS; - } -@@ -2149,6 +2381,14 @@ mdb_page_alloc(MDB_cursor *mc, int num, MDB_page **mp) - last = env->me_pglast; - oldest = env->me_pgoldest; - mdb_cursor_init(&m2, txn, FREE_DBI, NULL); -+#if (MDB_DEVEL) & 2 /* "& 2" so MDB_DEVEL=1 won't hide bugs breaking freeDB */ -+ /* Use original snapshot. TODO: Should need less care in code -+ * which modifies the database. Maybe we can delete some code? -+ */ -+ m2.mc_flags |= C_ORIG_RDONLY; -+ m2.mc_db = &env->me_metas[(txn->mt_txnid-1) & 1]->mm_dbs[FREE_DBI]; -+ m2.mc_dbflag = (unsigned char *)""; /* probably unnecessary */ -+#endif - if (last) { - op = MDB_SET_RANGE; - key.mv_data = &last; /* will look up last+1 */ -@@ -2189,7 +2429,7 @@ mdb_page_alloc(MDB_cursor *mc, int num, MDB_page **mp) - } - np = m2.mc_pg[m2.mc_top]; - leaf = NODEPTR(np, m2.mc_ki[m2.mc_top]); -- if ((rc = mdb_node_read(txn, leaf, &data)) != MDB_SUCCESS) -+ if ((rc = mdb_node_read(&m2, leaf, &data)) != MDB_SUCCESS) - return rc; - - idl = (MDB_ID *) data.mv_data; -@@ -2206,10 +2446,10 @@ mdb_page_alloc(MDB_cursor *mc, int num, MDB_page **mp) - } - env->me_pglast = last; - #if (MDB_DEBUG) > 1 -- DPRINTF(("IDL read txn %"Z"u root %"Z"u num %u", -+ DPRINTF(("IDL read txn %"Yu" root %"Yu" num %u", - last, txn->mt_dbs[FREE_DBI].md_root, i)); - for (j = i; j; j--) -- DPRINTF(("IDL %"Z"u", idl[j])); -+ DPRINTF(("IDL %"Yu, idl[j])); - #endif - /* Merge in descending sorted order */ - mdb_midl_xmerge(mop, idl); -@@ -2224,6 +2464,20 @@ mdb_page_alloc(MDB_cursor *mc, int num, MDB_page **mp) - rc = MDB_MAP_FULL; - goto fail; - } -+#if defined(_WIN32) && !defined(MDB_VL32) -+ if (!(env->me_flags & MDB_RDONLY)) { -+ void *p; -+ p = (MDB_page *)(env->me_map + env->me_psize * pgno); -+ p = VirtualAlloc(p, env->me_psize * num, MEM_COMMIT, -+ (env->me_flags & MDB_WRITEMAP) ? PAGE_READWRITE: -+ PAGE_READONLY); -+ if (!p) { -+ DPUTS("VirtualAlloc failed"); -+ rc = ErrCode(); -+ goto fail; -+ } -+ } -+#endif - - search_done: - if (env->me_flags & MDB_WRITEMAP) { -@@ -2365,7 +2619,7 @@ mdb_page_touch(MDB_cursor *mc) - (rc = mdb_page_alloc(mc, 1, &np))) - goto fail; - pgno = np->mp_pgno; -- DPRINTF(("touched db %d page %"Z"u -> %"Z"u", DDBI(mc), -+ DPRINTF(("touched db %d page %"Yu" -> %"Yu, DDBI(mc), - mp->mp_pgno, pgno)); - mdb_cassert(mc, mp->mp_pgno != pgno); - mdb_midl_xappend(txn->mt_free_pgs, mp->mp_pgno); -@@ -2389,7 +2643,7 @@ mdb_page_touch(MDB_cursor *mc) - if (mp != dl[x].mptr) { /* bad cursor? */ - mc->mc_flags &= ~(C_INITIALIZED|C_EOF); - txn->mt_flags |= MDB_TXN_ERROR; -- return MDB_CORRUPTED; -+ return MDB_PROBLEM; - } - return 0; - } -@@ -2439,6 +2693,7 @@ done: - } - } - } -+ MDB_PAGE_UNREF(mc->mc_txn, mp); - return 0; - - fail: -@@ -2447,7 +2702,7 @@ fail: - } - - int --mdb_env_sync(MDB_env *env, int force) -+mdb_env_sync0(MDB_env *env, int force, pgno_t numpgs) - { - int rc = 0; - if (env->me_flags & MDB_RDONLY) -@@ -2456,7 +2711,7 @@ mdb_env_sync(MDB_env *env, int force) - if (env->me_flags & MDB_WRITEMAP) { - int flags = ((env->me_flags & MDB_MAPASYNC) && !force) - ? MS_ASYNC : MS_SYNC; -- if (MDB_MSYNC(env->me_map, env->me_mapsize, flags)) -+ if (MDB_MSYNC(env->me_map, env->me_psize * numpgs, flags)) - rc = ErrCode(); - #ifdef _WIN32 - else if (flags == MS_SYNC && MDB_FDATASYNC(env->me_fd)) -@@ -2476,6 +2731,13 @@ mdb_env_sync(MDB_env *env, int force) - return rc; - } - -+int -+mdb_env_sync(MDB_env *env, int force) -+{ -+ MDB_meta *m = mdb_env_pick_meta(env); -+ return mdb_env_sync0(env, force, m->mm_last_pg+1); -+} -+ - /** Back up parent txn's cursors, then grab the originals for tracking */ - static int - mdb_cursor_shadow(MDB_txn *src, MDB_txn *dst) -@@ -2720,6 +2982,9 @@ mdb_txn_renew0(MDB_txn *txn) - - /* Moved to here to avoid a data race in read TXNs */ - txn->mt_next_pgno = meta->mm_last_pg+1; -+#ifdef MDB_VL32 -+ txn->mt_last_pgno = txn->mt_next_pgno - 1; -+#endif - - txn->mt_flags = flags; - -@@ -2755,7 +3020,7 @@ mdb_txn_renew(MDB_txn *txn) - - rc = mdb_txn_renew0(txn); - if (rc == MDB_SUCCESS) { -- DPRINTF(("renew txn %"Z"u%c %p on mdbenv %p, root page %"Z"u", -+ DPRINTF(("renew txn %"Yu"%c %p on mdbenv %p, root page %"Yu, - txn->mt_txnid, (txn->mt_flags & MDB_TXN_RDONLY) ? 'r' : 'w', - (void *)txn, (void *)txn->mt_env, txn->mt_dbs[MAIN_DBI].md_root)); - } -@@ -2798,6 +3063,17 @@ mdb_txn_begin(MDB_env *env, MDB_txn *parent, unsigned int flags, MDB_txn **ret) - DPRINTF(("calloc: %s", strerror(errno))); - return ENOMEM; - } -+#ifdef MDB_VL32 -+ if (!parent) { -+ txn->mt_rpages = malloc(MDB_TRPAGE_SIZE * sizeof(MDB_ID3)); -+ if (!txn->mt_rpages) { -+ free(txn); -+ return ENOMEM; -+ } -+ txn->mt_rpages[0].mid = 0; -+ txn->mt_rpcheck = MDB_TRPAGE_SIZE/2; -+ } -+#endif - txn->mt_dbxs = env->me_dbxs; /* static */ - txn->mt_dbs = (MDB_db *) ((char *)txn + tsize); - txn->mt_dbflags = (unsigned char *)txn + size - env->me_maxdbs; -@@ -2825,6 +3101,9 @@ mdb_txn_begin(MDB_env *env, MDB_txn *parent, unsigned int flags, MDB_txn **ret) - parent->mt_child = txn; - txn->mt_parent = parent; - txn->mt_numdbs = parent->mt_numdbs; -+#ifdef MDB_VL32 -+ txn->mt_rpages = parent->mt_rpages; -+#endif - memcpy(txn->mt_dbs, parent->mt_dbs, txn->mt_numdbs * sizeof(MDB_db)); - /* Copy parent's mt_dbflags, but clear DB_NEW */ - for (i=0; imt_numdbs; i++) -@@ -2850,12 +3129,16 @@ renew: - rc = mdb_txn_renew0(txn); - } - if (rc) { -- if (txn != env->me_txn0) -+ if (txn != env->me_txn0) { -+#ifdef MDB_VL32 -+ free(txn->mt_rpages); -+#endif - free(txn); -+ } - } else { - txn->mt_flags |= flags; /* could not change txn=me_txn0 earlier */ - *ret = txn; -- DPRINTF(("begin txn %"Z"u%c %p on mdbenv %p, root page %"Z"u", -+ DPRINTF(("begin txn %"Yu"%c %p on mdbenv %p, root page %"Yu, - txn->mt_txnid, (flags & MDB_RDONLY) ? 'r' : 'w', - (void *) txn, (void *) env, txn->mt_dbs[MAIN_DBI].md_root)); - } -@@ -2870,7 +3153,7 @@ mdb_txn_env(MDB_txn *txn) - return txn->mt_env; - } - --size_t -+mdb_size_t - mdb_txn_id(MDB_txn *txn) - { - if(!txn) return 0; -@@ -2922,7 +3205,7 @@ mdb_txn_end(MDB_txn *txn, unsigned mode) - /* Export or close DBI handles opened in this txn */ - mdb_dbis_update(txn, mode & MDB_END_UPDATE); - -- DPRINTF(("%s txn %"Z"u%c %p on mdbenv %p, root page %"Z"u", -+ DPRINTF(("%s txn %"Yu"%c %p on mdbenv %p, root page %"Yu, - names[mode & MDB_END_OPMASK], - txn->mt_txnid, (txn->mt_flags & MDB_TXN_RDONLY) ? 'r' : 'w', - (void *) txn, (void *)env, txn->mt_dbs[MAIN_DBI].md_root)); -@@ -2976,7 +3259,31 @@ mdb_txn_end(MDB_txn *txn, unsigned mode) - - mdb_midl_free(pghead); - } -- -+#ifdef MDB_VL32 -+ if (!txn->mt_parent) { -+ MDB_ID3L el = env->me_rpages, tl = txn->mt_rpages; -+ unsigned i, x, n = tl[0].mid; -+ pthread_mutex_lock(&env->me_rpmutex); -+ for (i = 1; i <= n; i++) { -+ if (tl[i].mid & (MDB_RPAGE_CHUNK-1)) { -+ /* tmp overflow pages that we didn't share in env */ -+ munmap(tl[i].mptr, tl[i].mcnt * env->me_psize); -+ } else { -+ x = mdb_mid3l_search(el, tl[i].mid); -+ if (tl[i].mptr == el[x].mptr) { -+ el[x].mref--; -+ } else { -+ /* another tmp overflow page */ -+ munmap(tl[i].mptr, tl[i].mcnt * env->me_psize); -+ } -+ } -+ } -+ pthread_mutex_unlock(&env->me_rpmutex); -+ tl[0].mid = 0; -+ if (mode & MDB_END_FREE) -+ free(tl); -+ } -+#endif - if (mode & MDB_END_FREE) - free(txn); - } -@@ -3008,6 +3315,9 @@ mdb_txn_abort(MDB_txn *txn) - - /** Save the freelist as of this transaction to the freeDB. - * This changes the freelist. Keep trying until it stabilizes. -+ * -+ * When (MDB_DEVEL) & 2, the changes do not affect #mdb_page_alloc(), -+ * it then uses the transaction's original snapshot of the freeDB. - */ - static int - mdb_freelist_save(MDB_txn *txn) -@@ -3096,10 +3406,10 @@ mdb_freelist_save(MDB_txn *txn) - #if (MDB_DEBUG) > 1 - { - unsigned int i = free_pgs[0]; -- DPRINTF(("IDL write txn %"Z"u root %"Z"u num %u", -+ DPRINTF(("IDL write txn %"Yu" root %"Yu" num %u", - txn->mt_txnid, txn->mt_dbs[FREE_DBI].md_root, i)); - for (; i; i--) -- DPRINTF(("IDL %"Z"u", free_pgs[i])); -+ DPRINTF(("IDL %"Yu, free_pgs[i])); - } - #endif - continue; -@@ -3210,15 +3520,16 @@ mdb_page_flush(MDB_txn *txn, int keep) - MDB_ID2L dl = txn->mt_u.dirty_list; - unsigned psize = env->me_psize, j; - int i, pagecount = dl[0].mid, rc; -- size_t size = 0, pos = 0; -+ size_t size = 0; -+ offset_t pos = 0; - pgno_t pgno = 0; - MDB_page *dp = NULL; - #ifdef _WIN32 - OVERLAPPED ov; - #else - struct iovec iov[MDB_COMMIT_PAGES]; -- ssize_t wpos = 0, wsize = 0, wres; -- size_t next_pos = 1; /* impossible pos, so pos != next_pos */ -+ ssize_t wsize = 0, wres; -+ offset_t wpos = 0, next_pos = 1; /* impossible pos, so pos != next_pos */ - int n = 0; - #endif - -@@ -3266,7 +3577,7 @@ mdb_page_flush(MDB_txn *txn, int keep) - * the write offset, to at least save the overhead of a Seek - * system call. - */ -- DPRINTF(("committing page %"Z"u", pgno)); -+ DPRINTF(("committing page %"Yu, pgno)); - memset(&ov, 0, sizeof(ov)); - ov.Offset = pos & 0xffffffff; - ov.OffsetHigh = pos >> 16 >> 16; -@@ -3317,7 +3628,7 @@ retry_seek: - wpos = pos; - wsize = 0; - } -- DPRINTF(("committing page %"Z"u", pgno)); -+ DPRINTF(("committing page %"Yu, pgno)); - next_pos = pos + size; - iov[n].iov_len = size; - iov[n].iov_base = (char *)dp; -@@ -3325,6 +3636,10 @@ retry_seek: - n++; - #endif /* _WIN32 */ - } -+#ifdef MDB_VL32 -+ if (pgno > txn->mt_last_pgno) -+ txn->mt_last_pgno = pgno; -+#endif - - /* MIPS has cache coherency issues, this is a no-op everywhere else - * Note: for any size >= on-chip cache size, entire on-chip cache is -@@ -3526,7 +3841,7 @@ mdb_txn_commit(MDB_txn *txn) - !(txn->mt_flags & (MDB_TXN_DIRTY|MDB_TXN_SPILLS))) - goto done; - -- DPRINTF(("committing txn %"Z"u %p on mdbenv %p, root page %"Z"u", -+ DPRINTF(("committing txn %"Yu" %p on mdbenv %p, root page %"Yu, - txn->mt_txnid, (void*)txn, (void*)env, txn->mt_dbs[MAIN_DBI].md_root)); - - /* Update DB root pointers */ -@@ -3564,9 +3879,12 @@ mdb_txn_commit(MDB_txn *txn) - mdb_audit(txn); - #endif - -- if ((rc = mdb_page_flush(txn, 0)) || -- (rc = mdb_env_sync(env, 0)) || -- (rc = mdb_env_write_meta(txn))) -+ if ((rc = mdb_page_flush(txn, 0))) -+ goto fail; -+ if (!F_ISSET(txn->mt_flags, MDB_TXN_NOSYNC) && -+ (rc = mdb_env_sync0(env, 0, txn->mt_next_pgno))) -+ goto fail; -+ if ((rc = mdb_env_write_meta(txn))) - goto fail; - end_mode = MDB_END_COMMITTED|MDB_END_UPDATE; - -@@ -3621,7 +3939,7 @@ mdb_env_read_header(MDB_env *env, MDB_meta *meta) - p = (MDB_page *)&pbuf; - - if (!F_ISSET(p->mp_flags, P_META)) { -- DPRINTF(("page %"Z"u not a meta page", p->mp_pgno)); -+ DPRINTF(("page %"Yu" not a meta page", p->mp_pgno)); - return MDB_INVALID; - } - -@@ -3691,7 +4009,6 @@ mdb_env_init_meta(MDB_env *env, MDB_meta *meta) - p = calloc(NUM_METAS, psize); - if (!p) - return ENOMEM; -- - p->mp_pgno = 0; - p->mp_flags = P_META; - *(MDB_meta *)METADATA(p) = *meta; -@@ -3722,8 +4039,8 @@ mdb_env_write_meta(MDB_txn *txn) - MDB_env *env; - MDB_meta meta, metab, *mp; - unsigned flags; -- size_t mapsize; -- off_t off; -+ mdb_size_t mapsize; -+ offset_t off; - int rc, len, toggle; - char *ptr; - HANDLE mfd; -@@ -3734,11 +4051,11 @@ mdb_env_write_meta(MDB_txn *txn) - #endif - - toggle = txn->mt_txnid & 1; -- DPRINTF(("writing meta page %d for root page %"Z"u", -+ DPRINTF(("writing meta page %d for root page %"Yu, - toggle, txn->mt_dbs[MAIN_DBI].md_root)); - - env = txn->mt_env; -- flags = env->me_flags; -+ flags = txn->mt_flags | env->me_flags; - mp = env->me_metas[toggle]; - mapsize = env->me_metas[toggle ^ 1]->mm_mapsize; - /* Persist any increases of mapsize config */ -@@ -3867,6 +4184,9 @@ mdb_env_create(MDB_env **env) - #ifdef MDB_USE_POSIX_SEM - e->me_rmutex = SEM_FAILED; - e->me_wmutex = SEM_FAILED; -+#elif defined MDB_USE_SYSV_SEM -+ e->me_rmutex->semid = -1; -+ e->me_wmutex->semid = -1; - #endif - e->me_pid = getpid(); - GET_PAGESIZE(e->me_os_psize); -@@ -3875,6 +4195,19 @@ mdb_env_create(MDB_env **env) - return MDB_SUCCESS; - } - -+#ifdef _WIN32 -+/** @brief Map a result from an NTAPI call to WIN32. */ -+static DWORD -+mdb_nt2win32(NTSTATUS st) -+{ -+ OVERLAPPED o = {0}; -+ DWORD br; -+ o.Internal = st; -+ GetOverlappedResult(NULL, &o, &br, FALSE); -+ return GetLastError(); -+} -+#endif -+ - static int ESECT - mdb_env_map(MDB_env *env, void *addr) - { -@@ -3882,42 +4215,51 @@ mdb_env_map(MDB_env *env, void *addr) - unsigned int flags = env->me_flags; - #ifdef _WIN32 - int rc; -+ int access = SECTION_MAP_READ; - HANDLE mh; -- LONG sizelo, sizehi; -- size_t msize; -+ void *map; -+ SIZE_T msize; -+ ULONG pageprot = PAGE_READONLY, secprot, alloctype; - -+ if (flags & MDB_WRITEMAP) { -+ access |= SECTION_MAP_WRITE; -+ pageprot = PAGE_READWRITE; -+ } - if (flags & MDB_RDONLY) { -- /* Don't set explicit map size, use whatever exists */ -+ secprot = PAGE_READONLY; - msize = 0; -- sizelo = 0; -- sizehi = 0; -+ alloctype = 0; - } else { -+ secprot = PAGE_READWRITE; - msize = env->me_mapsize; -- sizelo = msize & 0xffffffff; -- sizehi = msize >> 16 >> 16; /* only needed on Win64 */ -- -- /* Windows won't create mappings for zero length files. -- * and won't map more than the file size. -- * Just set the maxsize right now. -- */ -- if (SetFilePointer(env->me_fd, sizelo, &sizehi, 0) != (DWORD)sizelo -- || !SetEndOfFile(env->me_fd) -- || SetFilePointer(env->me_fd, 0, NULL, 0) != 0) -- return ErrCode(); -+ alloctype = MEM_RESERVE; - } - -- mh = CreateFileMapping(env->me_fd, NULL, flags & MDB_WRITEMAP ? -- PAGE_READWRITE : PAGE_READONLY, -- sizehi, sizelo, NULL); -- if (!mh) -- return ErrCode(); -- env->me_map = MapViewOfFileEx(mh, flags & MDB_WRITEMAP ? -- FILE_MAP_WRITE : FILE_MAP_READ, -- 0, 0, msize, addr); -- rc = env->me_map ? 0 : ErrCode(); -- CloseHandle(mh); -+ rc = NtCreateSection(&mh, access, NULL, NULL, secprot, SEC_RESERVE, env->me_fd); - if (rc) -- return rc; -+ return mdb_nt2win32(rc); -+ map = addr; -+#ifdef MDB_VL32 -+ msize = NUM_METAS * env->me_psize; -+#endif -+ rc = NtMapViewOfSection(mh, GetCurrentProcess(), &map, 0, 0, NULL, &msize, ViewUnmap, alloctype, pageprot); -+#ifdef MDB_VL32 -+ env->me_fmh = mh; -+#else -+ NtClose(mh); -+#endif -+ if (rc) -+ return mdb_nt2win32(rc); -+ env->me_map = map; -+#else -+#ifdef MDB_VL32 -+ (void) flags; -+ env->me_map = mmap(addr, NUM_METAS * env->me_psize, PROT_READ, MAP_SHARED, -+ env->me_fd, 0); -+ if (env->me_map == MAP_FAILED) { -+ env->me_map = NULL; -+ return ErrCode(); -+ } - #else - int prot = PROT_READ; - if (flags & MDB_WRITEMAP) { -@@ -3951,6 +4293,7 @@ mdb_env_map(MDB_env *env, void *addr) - */ - if (addr && env->me_map != addr) - return EBUSY; /* TODO: Make a new MDB_* error code? */ -+#endif - - p = (MDB_page *)env->me_map; - env->me_metas[0] = METADATA(p); -@@ -3960,15 +4303,17 @@ mdb_env_map(MDB_env *env, void *addr) - } - - int ESECT --mdb_env_set_mapsize(MDB_env *env, size_t size) -+mdb_env_set_mapsize(MDB_env *env, mdb_size_t size) - { - /* If env is already open, caller is responsible for making - * sure there are no active txns. - */ - if (env->me_map) { -- int rc; - MDB_meta *meta; -+#ifndef MDB_VL32 - void *old; -+ int rc; -+#endif - if (env->me_txn) - return EINVAL; - meta = mdb_env_pick_meta(env); -@@ -3976,16 +4321,21 @@ mdb_env_set_mapsize(MDB_env *env, size_t size) - size = meta->mm_mapsize; - { - /* Silently round up to minimum if the size is too small */ -- size_t minsize = (meta->mm_last_pg + 1) * env->me_psize; -+ mdb_size_t minsize = (meta->mm_last_pg + 1) * env->me_psize; - if (size < minsize) - size = minsize; - } -+#ifndef MDB_VL32 -+ /* For MDB_VL32 this bit is a noop since we dynamically remap -+ * chunks of the DB anyway. -+ */ - munmap(env->me_map, env->me_mapsize); - env->me_mapsize = size; - old = (env->me_flags & MDB_FIXEDMAP) ? env->me_map : NULL; - rc = mdb_env_map(env, old); - if (rc) - return rc; -+#endif /* !MDB_VL32 */ - } - env->me_mapsize = size; - if (env->me_psize) -@@ -4021,7 +4371,7 @@ mdb_env_get_maxreaders(MDB_env *env, unsigned int *readers) - } - - static int ESECT --mdb_fsize(HANDLE fd, size_t *size) -+mdb_fsize(HANDLE fd, mdb_size_t *size) - { - #ifdef _WIN32 - LARGE_INTEGER fsize; -@@ -4135,7 +4485,7 @@ mdb_env_open2(MDB_env *env) - /* Make sure mapsize >= committed data size. Even when using - * mm_mapsize, which could be broken in old files (ITS#7789). - */ -- size_t minsize = (meta.mm_last_pg + 1) * meta.mm_psize; -+ mdb_size_t minsize = (meta.mm_last_pg + 1) * meta.mm_psize; - if (env->me_mapsize < minsize) - env->me_mapsize = minsize; - } -@@ -4154,6 +4504,18 @@ mdb_env_open2(MDB_env *env) - return rc; - newenv = 0; - } -+#ifdef _WIN32 -+ /* For FIXEDMAP, make sure the file is non-empty before we attempt to map it */ -+ if (newenv) { -+ char dummy = 0; -+ DWORD len; -+ rc = WriteFile(env->me_fd, &dummy, 1, &len, NULL); -+ if (!rc) { -+ rc = ErrCode(); -+ return rc; -+ } -+ } -+#endif - - rc = mdb_env_map(env, (flags & MDB_FIXEDMAP) ? meta.mm_address : NULL); - if (rc) -@@ -4183,13 +4545,13 @@ mdb_env_open2(MDB_env *env) - - DPRINTF(("opened database version %u, pagesize %u", - meta->mm_version, env->me_psize)); -- DPRINTF(("using meta page %d", (int) (meta->mm_txnid & 1))); -- DPRINTF(("depth: %u", db->md_depth)); -- DPRINTF(("entries: %"Z"u", db->md_entries)); -- DPRINTF(("branch pages: %"Z"u", db->md_branch_pages)); -- DPRINTF(("leaf pages: %"Z"u", db->md_leaf_pages)); -- DPRINTF(("overflow pages: %"Z"u", db->md_overflow_pages)); -- DPRINTF(("root: %"Z"u", db->md_root)); -+ DPRINTF(("using meta page %d", (int) (meta->mm_txnid & 1))); -+ DPRINTF(("depth: %u", db->md_depth)); -+ DPRINTF(("entries: %"Yu, db->md_entries)); -+ DPRINTF(("branch pages: %"Yu, db->md_branch_pages)); -+ DPRINTF(("leaf pages: %"Yu, db->md_leaf_pages)); -+ DPRINTF(("overflow pages: %"Yu, db->md_overflow_pages)); -+ DPRINTF(("root: %"Yu, db->md_root)); - } - #endif - -@@ -4465,8 +4827,12 @@ mdb_env_setup_locks(MDB_env *env, char *lpath, int mode, int *excl) - # define MDB_CLOEXEC 0 - #endif - #endif -+#ifdef MDB_USE_SYSV_SEM -+ int semid; -+ union semun semu; -+#endif - int rc; -- off_t size, rsize; -+ offset_t size, rsize; - - #ifdef _WIN32 - wchar_t *wlpath; -@@ -4616,19 +4982,42 @@ mdb_env_setup_locks(MDB_env *env, char *lpath, int mode, int *excl) - env->me_wmutex = sem_open(env->me_txns->mti_wmname, - O_CREAT|O_EXCL, mode, 1); - if (env->me_wmutex == SEM_FAILED) goto fail_errno; -+#elif defined(MDB_USE_SYSV_SEM) -+ unsigned short vals[2] = {1, 1}; -+ key_t key = ftok(lpath, 'M'); -+ if (key == -1) -+ goto fail_errno; -+ semid = semget(key, 2, (mode & 0777) | IPC_CREAT); -+ if (semid < 0) -+ goto fail_errno; -+ semu.array = vals; -+ if (semctl(semid, 0, SETALL, semu) < 0) -+ goto fail_errno; -+ env->me_txns->mti_semid = semid; -+ env->me_txns->mti_rlocked = 0; -+ env->me_txns->mti_wlocked = 0; - #else /* MDB_USE_POSIX_MUTEX: */ - pthread_mutexattr_t mattr; - -- if ((rc = pthread_mutexattr_init(&mattr)) -- || (rc = pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED)) -+ /* Solaris needs this before initing a robust mutex. Otherwise -+ * it may skip the init and return EBUSY "seems someone already -+ * inited" or EINVAL "it was inited differently". -+ */ -+ memset(env->me_txns->mti_rmutex, 0, sizeof(*env->me_txns->mti_rmutex)); -+ memset(env->me_txns->mti_wmutex, 0, sizeof(*env->me_txns->mti_wmutex)); -+ -+ if ((rc = pthread_mutexattr_init(&mattr)) != 0) -+ goto fail; -+ rc = pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED); - #ifdef MDB_ROBUST_SUPPORTED -- || (rc = pthread_mutexattr_setrobust(&mattr, PTHREAD_MUTEX_ROBUST)) -+ if (!rc) rc = pthread_mutexattr_setrobust(&mattr, PTHREAD_MUTEX_ROBUST); - #endif -- || (rc = pthread_mutex_init(env->me_txns->mti_rmutex, &mattr)) -- || (rc = pthread_mutex_init(env->me_txns->mti_wmutex, &mattr))) -- goto fail; -+ if (!rc) rc = pthread_mutex_init(env->me_txns->mti_rmutex, &mattr); -+ if (!rc) rc = pthread_mutex_init(env->me_txns->mti_wmutex, &mattr); - pthread_mutexattr_destroy(&mattr); --#endif /* _WIN32 || MDB_USE_POSIX_SEM */ -+ if (rc) -+ goto fail; -+#endif /* _WIN32 || ... */ - - env->me_txns->mti_magic = MDB_MAGIC; - env->me_txns->mti_format = MDB_LOCK_FORMAT; -@@ -4636,6 +5025,9 @@ mdb_env_setup_locks(MDB_env *env, char *lpath, int mode, int *excl) - env->me_txns->mti_numreaders = 0; - - } else { -+#ifdef MDB_USE_SYSV_SEM -+ struct semid_ds buf; -+#endif - if (env->me_txns->mti_magic != MDB_MAGIC) { - DPUTS("lock region has invalid magic"); - rc = MDB_INVALID; -@@ -4661,8 +5053,33 @@ mdb_env_setup_locks(MDB_env *env, char *lpath, int mode, int *excl) - if (env->me_rmutex == SEM_FAILED) goto fail_errno; - env->me_wmutex = sem_open(env->me_txns->mti_wmname, 0); - if (env->me_wmutex == SEM_FAILED) goto fail_errno; -+#elif defined(MDB_USE_SYSV_SEM) -+ semid = env->me_txns->mti_semid; -+ semu.buf = &buf; -+ /* check for read access */ -+ if (semctl(semid, 0, IPC_STAT, semu) < 0) -+ goto fail_errno; -+ /* check for write access */ -+ if (semctl(semid, 0, IPC_SET, semu) < 0) -+ goto fail_errno; - #endif - } -+#ifdef MDB_USE_SYSV_SEM -+ env->me_rmutex->semid = semid; -+ env->me_wmutex->semid = semid; -+ env->me_rmutex->semnum = 0; -+ env->me_wmutex->semnum = 1; -+ env->me_rmutex->locked = &env->me_txns->mti_rlocked; -+ env->me_wmutex->locked = &env->me_txns->mti_wlocked; -+#endif -+#ifdef MDB_VL32 -+#ifdef _WIN32 -+ env->me_rpmutex = CreateMutex(NULL, FALSE, NULL); -+#else -+ pthread_mutex_init(&env->me_rpmutex, NULL); -+#endif -+#endif -+ - return MDB_SUCCESS; - - fail_errno: -@@ -4701,6 +5118,17 @@ mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mdb_mode_t mode - if (env->me_fd!=INVALID_HANDLE_VALUE || (flags & ~(CHANGEABLE|CHANGELESS))) - return EINVAL; - -+#ifdef MDB_VL32 -+ if (flags & MDB_WRITEMAP) { -+ /* silently ignore WRITEMAP in 32 bit mode */ -+ flags ^= MDB_WRITEMAP; -+ } -+ if (flags & MDB_FIXEDMAP) { -+ /* cannot support FIXEDMAP */ -+ return EINVAL; -+ } -+#endif -+ - len = strlen(path); - if (flags & MDB_NOSUBDIR) { - rc = len + sizeof(LOCKSUFF) + len + 1; -@@ -4730,6 +5158,17 @@ mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mdb_mode_t mode - (env->me_dirty_list = calloc(MDB_IDL_UM_SIZE, sizeof(MDB_ID2))))) - rc = ENOMEM; - } -+#ifdef MDB_VL32 -+ if (!rc) { -+ env->me_rpages = malloc(MDB_ERPAGE_SIZE * sizeof(MDB_ID3)); -+ if (!env->me_rpages) { -+ rc = ENOMEM; -+ goto leave; -+ } -+ env->me_rpages[0].mid = 0; -+ env->me_rpcheck = MDB_ERPAGE_SIZE/2; -+ } -+#endif - env->me_flags = flags |= MDB_ENV_ACTIVE; - if (rc) - goto leave; -@@ -4828,6 +5267,16 @@ mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mdb_mode_t mode - txn->mt_dbiseqs = (unsigned int *)(txn->mt_cursors + env->me_maxdbs); - txn->mt_dbflags = (unsigned char *)(txn->mt_dbiseqs + env->me_maxdbs); - txn->mt_env = env; -+#ifdef MDB_VL32 -+ txn->mt_rpages = malloc(MDB_TRPAGE_SIZE * sizeof(MDB_ID3)); -+ if (!txn->mt_rpages) { -+ free(txn); -+ rc = ENOMEM; -+ goto leave; -+ } -+ txn->mt_rpages[0].mid = 0; -+ txn->mt_rpcheck = MDB_TRPAGE_SIZE/2; -+#endif - txn->mt_dbxs = env->me_dbxs; - txn->mt_flags = MDB_TXN_FINISHED; - env->me_txn0 = txn; -@@ -4866,6 +5315,15 @@ mdb_env_close0(MDB_env *env, int excl) - free(env->me_dbflags); - free(env->me_path); - free(env->me_dirty_list); -+#ifdef MDB_VL32 -+ if (env->me_txn0 && env->me_txn0->mt_rpages) -+ free(env->me_txn0->mt_rpages); -+ { unsigned int x; -+ for (x=1; x<=env->me_rpages[0].mid; x++) -+ munmap(env->me_rpages[x].mptr, env->me_rpages[x].mcnt * env->me_psize); -+ } -+ free(env->me_rpages); -+#endif - free(env->me_txn0); - mdb_midl_free(env->me_free_pgs); - -@@ -4883,7 +5341,11 @@ mdb_env_close0(MDB_env *env, int excl) - } - - if (env->me_map) { -+#ifdef MDB_VL32 -+ munmap(env->me_map, NUM_METAS*env->me_psize); -+#else - munmap(env->me_map, env->me_mapsize); -+#endif - } - if (env->me_mfd != env->me_fd && env->me_mfd != INVALID_HANDLE_VALUE) - (void) close(env->me_mfd); -@@ -4924,6 +5386,16 @@ mdb_env_close0(MDB_env *env, int excl) - sem_unlink(env->me_txns->mti_wmname); - } - } -+#elif defined(MDB_USE_SYSV_SEM) -+ if (env->me_rmutex->semid != -1) { -+ /* If we have the filelock: If we are the -+ * only remaining user, clean up semaphores. -+ */ -+ if (excl == 0) -+ mdb_env_excl_lock(env, &excl); -+ if (excl > 0) -+ semctl(env->me_rmutex->semid, 0, IPC_RMID); -+ } - #endif - munmap((void *)env->me_txns, (env->me_maxreaders-1)*sizeof(MDB_reader)+sizeof(MDB_txninfo)); - } -@@ -4938,6 +5410,14 @@ mdb_env_close0(MDB_env *env, int excl) - #endif - (void) close(env->me_lfd); - } -+#ifdef MDB_VL32 -+#ifdef _WIN32 -+ if (env->me_fmh) CloseHandle(env->me_fmh); -+ if (env->me_rpmutex) CloseHandle(env->me_rpmutex); -+#else -+ pthread_mutex_destroy(&env->me_rpmutex); -+#endif -+#endif - - env->me_flags &= ~(MDB_ENV_ACTIVE|MDB_ENV_TXKEY); - } -@@ -4961,18 +5441,18 @@ mdb_env_close(MDB_env *env) - free(env); - } - --/** Compare two items pointing at aligned size_t's */ -+/** Compare two items pointing at aligned #mdb_size_t's */ - static int - mdb_cmp_long(const MDB_val *a, const MDB_val *b) - { -- return (*(size_t *)a->mv_data < *(size_t *)b->mv_data) ? -1 : -- *(size_t *)a->mv_data > *(size_t *)b->mv_data; -+ return (*(mdb_size_t *)a->mv_data < *(mdb_size_t *)b->mv_data) ? -1 : -+ *(mdb_size_t *)a->mv_data > *(mdb_size_t *)b->mv_data; - } - - /** Compare two items pointing at aligned unsigned int's. - * - * This is also set as #MDB_INTEGERDUP|#MDB_DUPFIXED's #MDB_dbx.%md_dcmp, -- * but #mdb_cmp_clong() is called instead if the data type is size_t. -+ * but #mdb_cmp_clong() is called instead if the data type is #mdb_size_t. - */ - static int - mdb_cmp_int(const MDB_val *a, const MDB_val *b) -@@ -5077,7 +5557,7 @@ mdb_node_search(MDB_cursor *mc, MDB_val *key, int *exactp) - - nkeys = NUMKEYS(mp); - -- DPRINTF(("searching %u keys in %s %spage %"Z"u", -+ DPRINTF(("searching %u keys in %s %spage %"Yu, - nkeys, IS_LEAF(mp) ? "leaf" : "branch", IS_SUBP(mp) ? "sub-" : "", - mdb_dbg_pgno(mp))); - -@@ -5089,7 +5569,7 @@ mdb_node_search(MDB_cursor *mc, MDB_val *key, int *exactp) - * alignment is guaranteed. Use faster mdb_cmp_int. - */ - if (cmp == mdb_cmp_cint && IS_BRANCH(mp)) { -- if (NODEPTR(mp, 1)->mn_ksize == sizeof(size_t)) -+ if (NODEPTR(mp, 1)->mn_ksize == sizeof(mdb_size_t)) - cmp = mdb_cmp_long; - else - cmp = mdb_cmp_int; -@@ -5125,7 +5605,7 @@ mdb_node_search(MDB_cursor *mc, MDB_val *key, int *exactp) - DPRINTF(("found leaf index %u [%s], rc = %i", - i, DKEY(&nodekey), rc)); - else -- DPRINTF(("found branch index %u [%s -> %"Z"u], rc = %i", -+ DPRINTF(("found branch index %u [%s -> %"Yu"], rc = %i", - i, DKEY(&nodekey), NODEPGNO(node), rc)); - #endif - if (rc == 0) -@@ -5173,7 +5653,7 @@ static void - mdb_cursor_pop(MDB_cursor *mc) - { - if (mc->mc_snum) { -- DPRINTF(("popping page %"Z"u off db %d cursor %p", -+ DPRINTF(("popping page %"Yu" off db %d cursor %p", - mc->mc_pg[mc->mc_top]->mp_pgno, DDBI(mc), (void *) mc)); - - mc->mc_snum--; -@@ -5189,7 +5669,7 @@ mdb_cursor_pop(MDB_cursor *mc) - static int - mdb_cursor_push(MDB_cursor *mc, MDB_page *mp) - { -- DPRINTF(("pushing page %"Z"u on db %d cursor %p", mp->mp_pgno, -+ DPRINTF(("pushing page %"Yu" on db %d cursor %p", mp->mp_pgno, - DDBI(mc), (void *) mc)); - - if (mc->mc_snum >= CURSOR_STACK) { -@@ -5204,21 +5684,309 @@ mdb_cursor_push(MDB_cursor *mc, MDB_page *mp) - return MDB_SUCCESS; - } - --/** Find the address of the page corresponding to a given page number. -+#ifdef MDB_VL32 -+/** Map a read-only page. -+ * There are two levels of tracking in use, a per-txn list and a per-env list. -+ * ref'ing and unref'ing the per-txn list is faster since it requires no -+ * locking. Pages are cached in the per-env list for global reuse, and a lock -+ * is required. Pages are not immediately unmapped when their refcnt goes to -+ * zero; they hang around in case they will be reused again soon. -+ * -+ * When the per-txn list gets full, all pages with refcnt=0 are purged from the -+ * list and their refcnts in the per-env list are decremented. -+ * -+ * When the per-env list gets full, all pages with refcnt=0 are purged from the -+ * list and their pages are unmapped. -+ * -+ * @note "full" means the list has reached its respective rpcheck threshold. -+ * This threshold slowly raises if no pages could be purged on a given check, -+ * and returns to its original value when enough pages were purged. -+ * -+ * If purging doesn't free any slots, filling the per-txn list will return -+ * MDB_TXN_FULL, and filling the per-env list returns MDB_MAP_FULL. -+ * -+ * Reference tracking in a txn is imperfect, pages can linger with non-zero -+ * refcnt even without active references. It was deemed to be too invasive -+ * to add unrefs in every required location. However, all pages are unref'd -+ * at the end of the transaction. This guarantees that no stale references -+ * linger in the per-env list. -+ * -+ * Usually we map chunks of 16 pages at a time, but if an overflow page begins -+ * at the tail of the chunk we extend the chunk to include the entire overflow -+ * page. Unfortunately, pages can be turned into overflow pages after their -+ * chunk was already mapped. In that case we must remap the chunk if the -+ * overflow page is referenced. If the chunk's refcnt is 0 we can just remap -+ * it, otherwise we temporarily map a new chunk just for the overflow page. -+ * -+ * @note this chunk handling means we cannot guarantee that a data item -+ * returned from the DB will stay alive for the duration of the transaction: -+ * We unref pages as soon as a cursor moves away from the page -+ * A subsequent op may cause a purge, which may unmap any unref'd chunks -+ * The caller must copy the data if it must be used later in the same txn. -+ * -+ * Also - our reference counting revolves around cursors, but overflow pages -+ * aren't pointed to by a cursor's page stack. We have to remember them -+ * explicitly, in the added mc_ovpg field. A single cursor can only hold a -+ * reference to one overflow page at a time. -+ * - * @param[in] txn the transaction for this access. - * @param[in] pgno the page number for the page to retrieve. - * @param[out] ret address of a pointer where the page's address will be stored. -- * @param[out] lvl dirty_list inheritance level of found page. 1=current txn, 0=mapped page. - * @return 0 on success, non-zero on failure. - */ - static int --mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **ret, int *lvl) -+mdb_rpage_get(MDB_txn *txn, pgno_t pg0, MDB_page **ret) - { - MDB_env *env = txn->mt_env; -+ MDB_page *p; -+ MDB_ID3L tl = txn->mt_rpages; -+ MDB_ID3L el = env->me_rpages; -+ MDB_ID3 id3; -+ unsigned x, rem; -+ pgno_t pgno; -+ int rc, retries = 1; -+#ifdef _WIN32 -+ LARGE_INTEGER off; -+ SIZE_T len; -+#define SET_OFF(off,val) off.QuadPart = val -+#define MAP(rc,env,addr,len,off) \ -+ addr = NULL; \ -+ rc = NtMapViewOfSection(env->me_fmh, GetCurrentProcess(), &addr, 0, \ -+ len, &off, &len, ViewUnmap, (env->me_flags & MDB_RDONLY) ? 0 : MEM_RESERVE, PAGE_READONLY); \ -+ if (rc) rc = mdb_nt2win32(rc) -+#else -+ offset_t off; -+ size_t len; -+#define SET_OFF(off,val) off = val -+#define MAP(rc,env,addr,len,off) \ -+ addr = mmap(NULL, len, PROT_READ, MAP_SHARED, env->me_fd, off); \ -+ rc = (addr == MAP_FAILED) ? errno : 0 -+#endif -+ -+ /* remember the offset of the actual page number, so we can -+ * return the correct pointer at the end. -+ */ -+ rem = pg0 & (MDB_RPAGE_CHUNK-1); -+ pgno = pg0 ^ rem; -+ -+ id3.mid = 0; -+ x = mdb_mid3l_search(tl, pgno); -+ if (x <= tl[0].mid && tl[x].mid == pgno) { -+ if (x != tl[0].mid && tl[x+1].mid == pg0) -+ x++; -+ /* check for overflow size */ -+ p = (MDB_page *)((char *)tl[x].mptr + rem * env->me_psize); -+ if (IS_OVERFLOW(p) && p->mp_pages + rem > tl[x].mcnt) { -+ id3.mcnt = p->mp_pages + rem; -+ len = id3.mcnt * env->me_psize; -+ SET_OFF(off, pgno * env->me_psize); -+ MAP(rc, env, id3.mptr, len, off); -+ if (rc) -+ return rc; -+ /* check for local-only page */ -+ if (rem) { -+ mdb_tassert(txn, tl[x].mid != pg0); -+ /* hope there's room to insert this locally. -+ * setting mid here tells later code to just insert -+ * this id3 instead of searching for a match. -+ */ -+ id3.mid = pg0; -+ goto notlocal; -+ } else { -+ /* ignore the mapping we got from env, use new one */ -+ tl[x].mptr = id3.mptr; -+ tl[x].mcnt = id3.mcnt; -+ /* if no active ref, see if we can replace in env */ -+ if (!tl[x].mref) { -+ unsigned i; -+ pthread_mutex_lock(&env->me_rpmutex); -+ i = mdb_mid3l_search(el, tl[x].mid); -+ if (el[i].mref == 1) { -+ /* just us, replace it */ -+ munmap(el[i].mptr, el[i].mcnt * env->me_psize); -+ el[i].mptr = tl[x].mptr; -+ el[i].mcnt = tl[x].mcnt; -+ } else { -+ /* there are others, remove ourself */ -+ el[i].mref--; -+ } -+ pthread_mutex_unlock(&env->me_rpmutex); -+ } -+ } -+ } -+ id3.mptr = tl[x].mptr; -+ id3.mcnt = tl[x].mcnt; -+ tl[x].mref++; -+ goto ok; -+ } -+ -+notlocal: -+ if (tl[0].mid >= MDB_TRPAGE_MAX - txn->mt_rpcheck) { -+ unsigned i, y; -+ /* purge unref'd pages from our list and unref in env */ -+ pthread_mutex_lock(&env->me_rpmutex); -+retry: -+ y = 0; -+ for (i=1; i<=tl[0].mid; i++) { -+ if (!tl[i].mref) { -+ if (!y) y = i; -+ /* tmp overflow pages don't go to env */ -+ if (tl[i].mid & (MDB_RPAGE_CHUNK-1)) { -+ munmap(tl[i].mptr, tl[i].mcnt * env->me_psize); -+ continue; -+ } -+ x = mdb_mid3l_search(el, tl[i].mid); -+ el[x].mref--; -+ } -+ } -+ pthread_mutex_unlock(&env->me_rpmutex); -+ if (!y) { -+ /* we didn't find any unref'd chunks. -+ * if we're out of room, fail. -+ */ -+ if (tl[0].mid >= MDB_TRPAGE_MAX) -+ return MDB_TXN_FULL; -+ /* otherwise, raise threshold for next time around -+ * and let this go. -+ */ -+ txn->mt_rpcheck /= 2; -+ } else { -+ /* we found some unused; consolidate the list */ -+ for (i=y+1; i<= tl[0].mid; i++) -+ if (tl[i].mref) -+ tl[y++] = tl[i]; -+ tl[0].mid = y-1; -+ /* decrease the check threshold toward its original value */ -+ if (!txn->mt_rpcheck) -+ txn->mt_rpcheck = 1; -+ while (txn->mt_rpcheck < tl[0].mid && txn->mt_rpcheck < MDB_TRPAGE_SIZE/2) -+ txn->mt_rpcheck *= 2; -+ } -+ } -+ if (tl[0].mid < MDB_TRPAGE_SIZE) { -+ id3.mref = 1; -+ if (id3.mid) -+ goto found; -+ /* don't map past last written page in read-only envs */ -+ if ((env->me_flags & MDB_RDONLY) && pgno + MDB_RPAGE_CHUNK-1 > txn->mt_last_pgno) -+ id3.mcnt = txn->mt_last_pgno + 1 - pgno; -+ else -+ id3.mcnt = MDB_RPAGE_CHUNK; -+ len = id3.mcnt * env->me_psize; -+ id3.mid = pgno; -+ -+ /* search for page in env */ -+ pthread_mutex_lock(&env->me_rpmutex); -+ x = mdb_mid3l_search(el, pgno); -+ if (x <= el[0].mid && el[x].mid == pgno) { -+ id3.mptr = el[x].mptr; -+ id3.mcnt = el[x].mcnt; -+ /* check for overflow size */ -+ p = (MDB_page *)((char *)id3.mptr + rem * env->me_psize); -+ if (IS_OVERFLOW(p) && p->mp_pages + rem > id3.mcnt) { -+ id3.mcnt = p->mp_pages + rem; -+ len = id3.mcnt * env->me_psize; -+ SET_OFF(off, pgno * env->me_psize); -+ MAP(rc, env, id3.mptr, len, off); -+ if (rc) -+ goto fail; -+ if (!el[x].mref) { -+ munmap(el[x].mptr, env->me_psize * el[x].mcnt); -+ el[x].mptr = id3.mptr; -+ el[x].mcnt = id3.mcnt; -+ } else { -+ id3.mid = pg0; -+ pthread_mutex_unlock(&env->me_rpmutex); -+ goto found; -+ } -+ } -+ el[x].mref++; -+ pthread_mutex_unlock(&env->me_rpmutex); -+ goto found; -+ } -+ if (el[0].mid >= MDB_ERPAGE_MAX - env->me_rpcheck) { -+ /* purge unref'd pages */ -+ unsigned i, y = 0; -+ for (i=1; i<=el[0].mid; i++) { -+ if (!el[i].mref) { -+ if (!y) y = i; -+ munmap(el[i].mptr, env->me_psize * el[i].mcnt); -+ } -+ } -+ if (!y) { -+ if (retries) { -+ /* see if we can unref some local pages */ -+ retries--; -+ id3.mid = 0; -+ goto retry; -+ } -+ if (el[0].mid >= MDB_ERPAGE_MAX) { -+ pthread_mutex_unlock(&env->me_rpmutex); -+ return MDB_MAP_FULL; -+ } -+ env->me_rpcheck /= 2; -+ } else { -+ for (i=y+1; i<= el[0].mid; i++) -+ if (el[i].mref) -+ el[y++] = el[i]; -+ el[0].mid = y-1; -+ if (!env->me_rpcheck) -+ env->me_rpcheck = 1; -+ while (env->me_rpcheck < el[0].mid && env->me_rpcheck < MDB_ERPAGE_SIZE/2) -+ env->me_rpcheck *= 2; -+ } -+ } -+ SET_OFF(off, pgno * env->me_psize); -+ MAP(rc, env, id3.mptr, len, off); -+ if (rc) { -+fail: -+ pthread_mutex_unlock(&env->me_rpmutex); -+ return rc; -+ } -+ /* check for overflow size */ -+ p = (MDB_page *)((char *)id3.mptr + rem * env->me_psize); -+ if (IS_OVERFLOW(p) && p->mp_pages + rem > id3.mcnt) { -+ id3.mcnt = p->mp_pages + rem; -+ munmap(id3.mptr, len); -+ len = id3.mcnt * env->me_psize; -+ MAP(rc, env, id3.mptr, len, off); -+ if (rc) -+ goto fail; -+ } -+ mdb_mid3l_insert(el, &id3); -+ pthread_mutex_unlock(&env->me_rpmutex); -+found: -+ mdb_mid3l_insert(tl, &id3); -+ } else { -+ return MDB_TXN_FULL; -+ } -+ok: -+ p = (MDB_page *)((char *)id3.mptr + rem * env->me_psize); -+#if MDB_DEBUG /* we don't need this check any more */ -+ if (IS_OVERFLOW(p)) { -+ mdb_tassert(txn, p->mp_pages + rem <= id3.mcnt); -+ } -+#endif -+ *ret = p; -+ return MDB_SUCCESS; -+} -+#endif -+ -+/** Find the address of the page corresponding to a given page number. -+ * @param[in] mc the cursor accessing the page. -+ * @param[in] pgno the page number for the page to retrieve. -+ * @param[out] ret address of a pointer where the page's address will be stored. -+ * @param[out] lvl dirty_list inheritance level of found page. 1=current txn, 0=mapped page. -+ * @return 0 on success, non-zero on failure. -+ */ -+static int -+mdb_page_get(MDB_cursor *mc, pgno_t pgno, MDB_page **ret, int *lvl) -+{ -+ MDB_txn *txn = mc->mc_txn; - MDB_page *p = NULL; - int level; - -- if (! (txn->mt_flags & (MDB_TXN_RDONLY|MDB_TXN_WRITEMAP))) { -+ if (! (mc->mc_flags & (C_ORIG_RDONLY|C_WRITEMAP))) { - MDB_txn *tx2 = txn; - level = 1; - do { -@@ -5233,8 +6001,7 @@ mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **ret, int *lvl) - MDB_ID pn = pgno << 1; - x = mdb_midl_search(tx2->mt_spill_pgs, pn); - if (x <= tx2->mt_spill_pgs[0] && tx2->mt_spill_pgs[x] == pn) { -- p = (MDB_page *)(env->me_map + env->me_psize * pgno); -- goto done; -+ goto mapped; - } - } - if (dl[0].mid) { -@@ -5248,15 +6015,26 @@ mdb_page_get(MDB_txn *txn, pgno_t pgno, MDB_page **ret, int *lvl) - } while ((tx2 = tx2->mt_parent) != NULL); - } - -- if (pgno < txn->mt_next_pgno) { -- level = 0; -- p = (MDB_page *)(env->me_map + env->me_psize * pgno); -- } else { -- DPRINTF(("page %"Z"u not found", pgno)); -+ if (pgno >= txn->mt_next_pgno) { -+ DPRINTF(("page %"Yu" not found", pgno)); - txn->mt_flags |= MDB_TXN_ERROR; - return MDB_PAGE_NOTFOUND; - } - -+ level = 0; -+ -+mapped: -+ { -+#ifdef MDB_VL32 -+ int rc = mdb_rpage_get(txn, pgno, &p); -+ if (rc) -+ return rc; -+#else -+ MDB_env *env = txn->mt_env; -+ p = (MDB_page *)(env->me_map + env->me_psize * pgno); -+#endif -+ } -+ - done: - *ret = p; - if (lvl) -@@ -5278,13 +6056,13 @@ mdb_page_search_root(MDB_cursor *mc, MDB_val *key, int flags) - MDB_node *node; - indx_t i; - -- DPRINTF(("branch page %"Z"u has %u keys", mp->mp_pgno, NUMKEYS(mp))); -+ DPRINTF(("branch page %"Yu" has %u keys", mp->mp_pgno, NUMKEYS(mp))); - /* Don't assert on branch pages in the FreeDB. We can get here - * while in the process of rebalancing a FreeDB branch page; we must - * let that proceed. ITS#8336 - */ - mdb_cassert(mc, !mc->mc_dbi || NUMKEYS(mp) > 1); -- DPRINTF(("found index 0 to page %"Z"u", NODEPGNO(NODEPTR(mp, 0)))); -+ DPRINTF(("found index 0 to page %"Yu, NODEPGNO(NODEPTR(mp, 0)))); - - if (flags & (MDB_PS_FIRST|MDB_PS_LAST)) { - i = 0; -@@ -5308,7 +6086,7 @@ mdb_page_search_root(MDB_cursor *mc, MDB_val *key, int flags) - mdb_cassert(mc, i < NUMKEYS(mp)); - node = NODEPTR(mp, i); - -- if ((rc = mdb_page_get(mc->mc_txn, NODEPGNO(node), &mp, NULL)) != 0) -+ if ((rc = mdb_page_get(mc, NODEPGNO(node), &mp, NULL)) != 0) - return rc; - - mc->mc_ki[mc->mc_top] = i; -@@ -5329,7 +6107,7 @@ mdb_page_search_root(MDB_cursor *mc, MDB_val *key, int flags) - return MDB_CORRUPTED; - } - -- DPRINTF(("found leaf page %"Z"u for key [%s]", mp->mp_pgno, -+ DPRINTF(("found leaf page %"Yu" for key [%s]", mp->mp_pgno, - key ? DKEY(key) : "null")); - mc->mc_flags |= C_INITIALIZED; - mc->mc_flags &= ~C_EOF; -@@ -5350,7 +6128,7 @@ mdb_page_search_lowest(MDB_cursor *mc) - MDB_node *node = NODEPTR(mp, 0); - int rc; - -- if ((rc = mdb_page_get(mc->mc_txn, NODEPGNO(node), &mp, NULL)) != 0) -+ if ((rc = mdb_page_get(mc, NODEPGNO(node), &mp, NULL)) != 0) - return rc; - - mc->mc_ki[mc->mc_top] = 0; -@@ -5402,7 +6180,7 @@ mdb_page_search(MDB_cursor *mc, MDB_val *key, int flags) - return MDB_NOTFOUND; - if ((leaf->mn_flags & (F_DUPDATA|F_SUBDATA)) != F_SUBDATA) - return MDB_INCOMPATIBLE; /* not a named DB */ -- rc = mdb_node_read(mc->mc_txn, leaf, &data); -+ rc = mdb_node_read(&mc2, leaf, &data); - if (rc) - return rc; - memcpy(&flags, ((char *) data.mv_data + offsetof(MDB_db, md_flags)), -@@ -5425,14 +6203,26 @@ mdb_page_search(MDB_cursor *mc, MDB_val *key, int flags) - } - - mdb_cassert(mc, root > 1); -- if (!mc->mc_pg[0] || mc->mc_pg[0]->mp_pgno != root) -- if ((rc = mdb_page_get(mc->mc_txn, root, &mc->mc_pg[0], NULL)) != 0) -+ if (!mc->mc_pg[0] || mc->mc_pg[0]->mp_pgno != root) { -+#ifdef MDB_VL32 -+ if (mc->mc_pg[0]) -+ MDB_PAGE_UNREF(mc->mc_txn, mc->mc_pg[0]); -+#endif -+ if ((rc = mdb_page_get(mc, root, &mc->mc_pg[0], NULL)) != 0) - return rc; -+ } - -+#ifdef MDB_VL32 -+ { -+ int i; -+ for (i=1; imc_snum; i++) -+ MDB_PAGE_UNREF(mc->mc_txn, mc->mc_pg[i]); -+ } -+#endif - mc->mc_snum = 1; - mc->mc_top = 0; - -- DPRINTF(("db %d root page %"Z"u has flags 0x%X", -+ DPRINTF(("db %d root page %"Yu" has flags 0x%X", - DDBI(mc), root, mc->mc_pg[0]->mp_flags)); - - if (flags & MDB_PS_MODIFY) { -@@ -5457,7 +6247,7 @@ mdb_ovpage_free(MDB_cursor *mc, MDB_page *mp) - MDB_ID pn = pg << 1; - int rc; - -- DPRINTF(("free ov page %"Z"u (%d)", pg, ovpages)); -+ DPRINTF(("free ov page %"Yu" (%d)", pg, ovpages)); - /* If the page is dirty or on the spill list we just acquired it, - * so we should give it back to our current free list, if any. - * Otherwise put it onto the list of pages we freed in this txn. -@@ -5498,7 +6288,7 @@ mdb_ovpage_free(MDB_cursor *mc, MDB_page *mp) - j = ++(dl[0].mid); - dl[j] = ix; /* Unsorted. OK when MDB_TXN_ERROR. */ - txn->mt_flags |= MDB_TXN_ERROR; -- return MDB_CORRUPTED; -+ return MDB_PROBLEM; - } - } - txn->mt_dirty_room++; -@@ -5523,18 +6313,22 @@ release: - } - - /** Return the data associated with a given node. -- * @param[in] txn The transaction for this operation. -+ * @param[in] mc The cursor for this operation. - * @param[in] leaf The node being read. - * @param[out] data Updated to point to the node's data. - * @return 0 on success, non-zero on failure. - */ - static int --mdb_node_read(MDB_txn *txn, MDB_node *leaf, MDB_val *data) -+mdb_node_read(MDB_cursor *mc, MDB_node *leaf, MDB_val *data) - { - MDB_page *omp; /* overflow page */ - pgno_t pgno; - int rc; - -+ if (MC_OVPG(mc)) { -+ MDB_PAGE_UNREF(mc->mc_txn, MC_OVPG(mc)); -+ MC_SET_OVPG(mc, NULL); -+ } - if (!F_ISSET(leaf->mn_flags, F_BIGDATA)) { - data->mv_size = NODEDSZ(leaf); - data->mv_data = NODEDATA(leaf); -@@ -5545,11 +6339,12 @@ mdb_node_read(MDB_txn *txn, MDB_node *leaf, MDB_val *data) - */ - data->mv_size = NODEDSZ(leaf); - memcpy(&pgno, NODEDATA(leaf), sizeof(pgno)); -- if ((rc = mdb_page_get(txn, pgno, &omp, NULL)) != 0) { -- DPRINTF(("read overflow page %"Z"u failed", pgno)); -+ if ((rc = mdb_page_get(mc, pgno, &omp, NULL)) != 0) { -+ DPRINTF(("read overflow page %"Yu" failed", pgno)); - return rc; - } - data->mv_data = METADATA(omp); -+ MC_SET_OVPG(mc, omp); - - return MDB_SUCCESS; - } -@@ -5560,7 +6355,7 @@ mdb_get(MDB_txn *txn, MDB_dbi dbi, - { - MDB_cursor mc; - MDB_xcursor mx; -- int exact = 0; -+ int exact = 0, rc; - DKBUF; - - DPRINTF(("===> get db %u key [%s]", dbi, DKEY(key))); -@@ -5572,7 +6367,12 @@ mdb_get(MDB_txn *txn, MDB_dbi dbi, - return MDB_BAD_TXN; - - mdb_cursor_init(&mc, txn, dbi, &mx); -- return mdb_cursor_set(&mc, key, data, MDB_SET, &exact); -+ rc = mdb_cursor_set(&mc, key, data, MDB_SET, &exact); -+ /* unref all the pages when MDB_VL32 - caller must copy the data -+ * before doing anything else -+ */ -+ MDB_CURSOR_UNREF(&mc, 1); -+ return rc; - } - - /** Find a sibling for a page. -@@ -5589,13 +6389,19 @@ mdb_cursor_sibling(MDB_cursor *mc, int move_right) - int rc; - MDB_node *indx; - MDB_page *mp; -+#ifdef MDB_VL32 -+ MDB_page *op; -+#endif - - if (mc->mc_snum < 2) { - return MDB_NOTFOUND; /* root has no siblings */ - } - -+#ifdef MDB_VL32 -+ op = mc->mc_pg[mc->mc_top]; -+#endif - mdb_cursor_pop(mc); -- DPRINTF(("parent page is page %"Z"u, index %u", -+ DPRINTF(("parent page is page %"Yu", index %u", - mc->mc_pg[mc->mc_top]->mp_pgno, mc->mc_ki[mc->mc_top])); - - if (move_right ? (mc->mc_ki[mc->mc_top] + 1u >= NUMKEYS(mc->mc_pg[mc->mc_top])) -@@ -5618,8 +6424,10 @@ mdb_cursor_sibling(MDB_cursor *mc, int move_right) - } - mdb_cassert(mc, IS_BRANCH(mc->mc_pg[mc->mc_top])); - -+ MDB_PAGE_UNREF(mc->mc_txn, op); -+ - indx = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); -- if ((rc = mdb_page_get(mc->mc_txn, NODEPGNO(indx), &mp, NULL)) != 0) { -+ if ((rc = mdb_page_get(mc, NODEPGNO(indx), &mp, NULL)) != 0) { - /* mc will be inconsistent if caller does mc_snum++ as above */ - mc->mc_flags &= ~(C_INITIALIZED|C_EOF); - return rc; -@@ -5640,11 +6448,12 @@ mdb_cursor_next(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - MDB_node *leaf; - int rc; - -- if (mc->mc_flags & C_EOF) { -+ if ((mc->mc_flags & C_EOF) || -+ ((mc->mc_flags & C_DEL) && op == MDB_NEXT_DUP)) { - return MDB_NOTFOUND; - } -- -- mdb_cassert(mc, mc->mc_flags & C_INITIALIZED); -+ if (!(mc->mc_flags & C_INITIALIZED)) -+ return mdb_cursor_first(mc, key, data); - - mp = mc->mc_pg[mc->mc_top]; - -@@ -5659,6 +6468,9 @@ mdb_cursor_next(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - return rc; - } - } -+ else { -+ MDB_CURSOR_UNREF(&mc->mc_xcursor->mx_cursor, 0); -+ } - } else { - mc->mc_xcursor->mx_cursor.mc_flags &= ~(C_INITIALIZED|C_EOF); - if (op == MDB_NEXT_DUP) -@@ -5666,7 +6478,7 @@ mdb_cursor_next(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - } - } - -- DPRINTF(("cursor_next: top page is %"Z"u in cursor %p", -+ DPRINTF(("cursor_next: top page is %"Yu" in cursor %p", - mdb_dbg_pgno(mp), (void *) mc)); - if (mc->mc_flags & C_DEL) { - mc->mc_flags ^= C_DEL; -@@ -5680,12 +6492,12 @@ mdb_cursor_next(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - return rc; - } - mp = mc->mc_pg[mc->mc_top]; -- DPRINTF(("next page is %"Z"u, key index %u", mp->mp_pgno, mc->mc_ki[mc->mc_top])); -+ DPRINTF(("next page is %"Yu", key index %u", mp->mp_pgno, mc->mc_ki[mc->mc_top])); - } else - mc->mc_ki[mc->mc_top]++; - - skip: -- DPRINTF(("==> cursor points to page %"Z"u with %u keys, key index %u", -+ DPRINTF(("==> cursor points to page %"Yu" with %u keys, key index %u", - mdb_dbg_pgno(mp), NUMKEYS(mp), mc->mc_ki[mc->mc_top])); - - if (IS_LEAF2(mp)) { -@@ -5701,7 +6513,7 @@ skip: - mdb_xcursor_init1(mc, leaf); - } - if (data) { -- if ((rc = mdb_node_read(mc->mc_txn, leaf, data)) != MDB_SUCCESS) -+ if ((rc = mdb_node_read(mc, leaf, data)) != MDB_SUCCESS) - return rc; - - if (F_ISSET(leaf->mn_flags, F_DUPDATA)) { -@@ -5723,7 +6535,12 @@ mdb_cursor_prev(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - MDB_node *leaf; - int rc; - -- mdb_cassert(mc, mc->mc_flags & C_INITIALIZED); -+ if (!(mc->mc_flags & C_INITIALIZED)) { -+ rc = mdb_cursor_last(mc, key, data); -+ if (rc) -+ return rc; -+ mc->mc_ki[mc->mc_top]++; -+ } - - mp = mc->mc_pg[mc->mc_top]; - -@@ -5740,6 +6557,9 @@ mdb_cursor_prev(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - return rc; - } - } -+ else { -+ MDB_CURSOR_UNREF(&mc->mc_xcursor->mx_cursor, 0); -+ } - } else { - mc->mc_xcursor->mx_cursor.mc_flags &= ~(C_INITIALIZED|C_EOF); - if (op == MDB_PREV_DUP) -@@ -5747,7 +6567,7 @@ mdb_cursor_prev(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - } - } - -- DPRINTF(("cursor_prev: top page is %"Z"u in cursor %p", -+ DPRINTF(("cursor_prev: top page is %"Yu" in cursor %p", - mdb_dbg_pgno(mp), (void *) mc)); - - mc->mc_flags &= ~(C_EOF|C_DEL); -@@ -5759,11 +6579,13 @@ mdb_cursor_prev(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - } - mp = mc->mc_pg[mc->mc_top]; - mc->mc_ki[mc->mc_top] = NUMKEYS(mp) - 1; -- DPRINTF(("prev page is %"Z"u, key index %u", mp->mp_pgno, mc->mc_ki[mc->mc_top])); -+ DPRINTF(("prev page is %"Yu", key index %u", mp->mp_pgno, mc->mc_ki[mc->mc_top])); - } else - mc->mc_ki[mc->mc_top]--; - -- DPRINTF(("==> cursor points to page %"Z"u with %u keys, key index %u", -+ mc->mc_flags &= ~C_EOF; -+ -+ DPRINTF(("==> cursor points to page %"Yu" with %u keys, key index %u", - mdb_dbg_pgno(mp), NUMKEYS(mp), mc->mc_ki[mc->mc_top])); - - if (IS_LEAF2(mp)) { -@@ -5779,7 +6601,7 @@ mdb_cursor_prev(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op) - mdb_xcursor_init1(mc, leaf); - } - if (data) { -- if ((rc = mdb_node_read(mc->mc_txn, leaf, data)) != MDB_SUCCESS) -+ if ((rc = mdb_node_read(mc, leaf, data)) != MDB_SUCCESS) - return rc; - - if (F_ISSET(leaf->mn_flags, F_DUPDATA)) { -@@ -5806,8 +6628,10 @@ mdb_cursor_set(MDB_cursor *mc, MDB_val *key, MDB_val *data, - if (key->mv_size == 0) - return MDB_BAD_VALSIZE; - -- if (mc->mc_xcursor) -+ if (mc->mc_xcursor) { -+ MDB_CURSOR_UNREF(&mc->mc_xcursor->mx_cursor, 0); - mc->mc_xcursor->mx_cursor.mc_flags &= ~(C_INITIALIZED|C_EOF); -+ } - - /* See if we're already on the right page */ - if (mc->mc_flags & C_INITIALIZED) { -@@ -5873,6 +6697,7 @@ mdb_cursor_set(MDB_cursor *mc, MDB_val *key, MDB_val *data, - } - } - rc = 0; -+ mc->mc_flags &= ~C_EOF; - goto set2; - } - } -@@ -5961,25 +6786,23 @@ set1: - } else if (op == MDB_GET_BOTH || op == MDB_GET_BOTH_RANGE) { - MDB_val olddata; - MDB_cmp_func *dcmp; -- if ((rc = mdb_node_read(mc->mc_txn, leaf, &olddata)) != MDB_SUCCESS) -+ if ((rc = mdb_node_read(mc, leaf, &olddata)) != MDB_SUCCESS) - return rc; - dcmp = mc->mc_dbx->md_dcmp; --#if UINT_MAX < SIZE_MAX -- if (dcmp == mdb_cmp_int && olddata.mv_size == sizeof(size_t)) -+ if (NEED_CMP_CLONG(dcmp, olddata.mv_size)) - dcmp = mdb_cmp_clong; --#endif - rc = dcmp(data, &olddata); - if (rc) { - if (op == MDB_GET_BOTH || rc > 0) - return MDB_NOTFOUND; - rc = 0; -- *data = olddata; - } -+ *data = olddata; - - } else { - if (mc->mc_xcursor) - mc->mc_xcursor->mx_cursor.mc_flags &= ~(C_INITIALIZED|C_EOF); -- if ((rc = mdb_node_read(mc->mc_txn, leaf, data)) != MDB_SUCCESS) -+ if ((rc = mdb_node_read(mc, leaf, data)) != MDB_SUCCESS) - return rc; - } - } -@@ -5999,8 +6822,10 @@ mdb_cursor_first(MDB_cursor *mc, MDB_val *key, MDB_val *data) - int rc; - MDB_node *leaf; - -- if (mc->mc_xcursor) -+ if (mc->mc_xcursor) { -+ MDB_CURSOR_UNREF(&mc->mc_xcursor->mx_cursor, 0); - mc->mc_xcursor->mx_cursor.mc_flags &= ~(C_INITIALIZED|C_EOF); -+ } - - if (!(mc->mc_flags & C_INITIALIZED) || mc->mc_top) { - rc = mdb_page_search(mc, NULL, MDB_PS_FIRST); -@@ -6028,7 +6853,7 @@ mdb_cursor_first(MDB_cursor *mc, MDB_val *key, MDB_val *data) - if (rc) - return rc; - } else { -- if ((rc = mdb_node_read(mc->mc_txn, leaf, data)) != MDB_SUCCESS) -+ if ((rc = mdb_node_read(mc, leaf, data)) != MDB_SUCCESS) - return rc; - } - } -@@ -6043,8 +6868,10 @@ mdb_cursor_last(MDB_cursor *mc, MDB_val *key, MDB_val *data) - int rc; - MDB_node *leaf; - -- if (mc->mc_xcursor) -+ if (mc->mc_xcursor) { -+ MDB_CURSOR_UNREF(&mc->mc_xcursor->mx_cursor, 0); - mc->mc_xcursor->mx_cursor.mc_flags &= ~(C_INITIALIZED|C_EOF); -+ } - - if (!(mc->mc_flags & C_EOF)) { - -@@ -6073,7 +6900,7 @@ mdb_cursor_last(MDB_cursor *mc, MDB_val *key, MDB_val *data) - if (rc) - return rc; - } else { -- if ((rc = mdb_node_read(mc->mc_txn, leaf, data)) != MDB_SUCCESS) -+ if ((rc = mdb_node_read(mc, leaf, data)) != MDB_SUCCESS) - return rc; - } - } -@@ -6119,7 +6946,7 @@ mdb_cursor_get(MDB_cursor *mc, MDB_val *key, MDB_val *data, - if (F_ISSET(leaf->mn_flags, F_DUPDATA)) { - rc = mdb_cursor_get(&mc->mc_xcursor->mx_cursor, data, NULL, MDB_GET_CURRENT); - } else { -- rc = mdb_node_read(mc->mc_txn, leaf, data); -+ rc = mdb_node_read(mc, leaf, data); - } - } - } -@@ -6169,10 +6996,7 @@ mdb_cursor_get(MDB_cursor *mc, MDB_val *key, MDB_val *data, - rc = MDB_INCOMPATIBLE; - break; - } -- if (!(mc->mc_flags & C_INITIALIZED)) -- rc = mdb_cursor_first(mc, key, data); -- else -- rc = mdb_cursor_next(mc, key, data, MDB_NEXT_DUP); -+ rc = mdb_cursor_next(mc, key, data, MDB_NEXT_DUP); - if (rc == MDB_SUCCESS) { - if (mc->mc_xcursor->mx_cursor.mc_flags & C_INITIALIZED) { - MDB_cursor *mx; -@@ -6187,24 +7011,38 @@ fetchm: - } - } - break; -+ case MDB_PREV_MULTIPLE: -+ if (data == NULL) { -+ rc = EINVAL; -+ break; -+ } -+ if (!(mc->mc_db->md_flags & MDB_DUPFIXED)) { -+ rc = MDB_INCOMPATIBLE; -+ break; -+ } -+ if (!(mc->mc_flags & C_INITIALIZED)) -+ rc = mdb_cursor_last(mc, key, data); -+ else -+ rc = MDB_SUCCESS; -+ if (rc == MDB_SUCCESS) { -+ MDB_cursor *mx = &mc->mc_xcursor->mx_cursor; -+ if (mx->mc_flags & C_INITIALIZED) { -+ rc = mdb_cursor_sibling(mx, 0); -+ if (rc == MDB_SUCCESS) -+ goto fetchm; -+ } else { -+ rc = MDB_NOTFOUND; -+ } -+ } -+ break; - case MDB_NEXT: - case MDB_NEXT_DUP: - case MDB_NEXT_NODUP: -- if (!(mc->mc_flags & C_INITIALIZED)) -- rc = mdb_cursor_first(mc, key, data); -- else -- rc = mdb_cursor_next(mc, key, data, op); -+ rc = mdb_cursor_next(mc, key, data, op); - break; - case MDB_PREV: - case MDB_PREV_DUP: - case MDB_PREV_NODUP: -- if (!(mc->mc_flags & C_INITIALIZED)) { -- rc = mdb_cursor_last(mc, key, data); -- if (rc) -- break; -- mc->mc_flags |= C_INITIALIZED; -- mc->mc_ki[mc->mc_top]++; -- } - rc = mdb_cursor_prev(mc, key, data, op); - break; - case MDB_FIRST: -@@ -6225,7 +7063,7 @@ fetchm: - MDB_node *leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]); - if (!F_ISSET(leaf->mn_flags, F_DUPDATA)) { - MDB_GET_KEY(leaf, key); -- rc = mdb_node_read(mc->mc_txn, leaf, data); -+ rc = mdb_node_read(mc, leaf, data); - break; - } - } -@@ -6487,10 +7325,8 @@ more: - if (flags == MDB_CURRENT) - goto current; - dcmp = mc->mc_dbx->md_dcmp; --#if UINT_MAX < SIZE_MAX -- if (dcmp == mdb_cmp_int && olddata.mv_size == sizeof(size_t)) -+ if (NEED_CMP_CLONG(dcmp, olddata.mv_size)) - dcmp = mdb_cmp_clong; --#endif - /* does data match? */ - if (!dcmp(data, &olddata)) { - if (flags & (MDB_NODUPDATA|MDB_APPENDDUP)) -@@ -6609,7 +7445,7 @@ current: - int level, ovpages, dpages = OVPAGES(data->mv_size, env->me_psize); - - memcpy(&pg, olddata.mv_data, sizeof(pg)); -- if ((rc2 = mdb_page_get(mc->mc_txn, pg, &omp, &level)) != 0) -+ if ((rc2 = mdb_page_get(mc, pg, &omp, &level)) != 0) - return rc2; - ovpages = omp->mp_pages; - -@@ -6641,8 +7477,13 @@ current: - /* Note - this page is already counted in parent's dirty_room */ - rc2 = mdb_mid2l_insert(mc->mc_txn->mt_u.dirty_list, &id2); - mdb_cassert(mc, rc2 == 0); -+ /* Currently we make the page look as with put() in the -+ * parent txn, in case the user peeks at MDB_RESERVEd -+ * or unused parts. Some users treat ovpages specially. -+ */ - if (!(flags & MDB_RESERVE)) { -- /* Copy end of page, adjusting alignment so -+ /* Skip the part where LMDB will put *data. -+ * Copy end of page, adjusting alignment so - * compiler may copy words instead of bytes. - */ - off = (PAGEHDRSZ + data->mv_size) & -sizeof(size_t); -@@ -6728,7 +7569,7 @@ new_sub: - */ - if (do_sub) { - int xflags, new_dupdata; -- size_t ecount; -+ mdb_size_t ecount; - put_sub: - xdata.mv_size = 0; - xdata.mv_data = ""; -@@ -6810,7 +7651,7 @@ put_sub: - return rc; - bad_sub: - if (rc == MDB_KEYEXIST) /* should not happen, we deleted that item */ -- rc = MDB_CORRUPTED; -+ rc = MDB_PROBLEM; - } - mc->mc_txn->mt_flags |= MDB_TXN_ERROR; - return rc; -@@ -6910,7 +7751,7 @@ mdb_cursor_del(MDB_cursor *mc, unsigned int flags) - pgno_t pg; - - memcpy(&pg, NODEDATA(leaf), sizeof(pg)); -- if ((rc = mdb_page_get(mc->mc_txn, pg, &omp, NULL)) || -+ if ((rc = mdb_page_get(mc, pg, &omp, NULL)) || - (rc = mdb_ovpage_free(mc, omp))) - goto fail; - } -@@ -6939,7 +7780,7 @@ mdb_page_new(MDB_cursor *mc, uint32_t flags, int num, MDB_page **mp) - - if ((rc = mdb_page_alloc(mc, num, &np))) - return rc; -- DPRINTF(("allocated new mpage %"Z"u, page size %u", -+ DPRINTF(("allocated new mpage %"Yu", page size %u", - np->mp_pgno, mc->mc_txn->mt_env->me_psize)); - np->mp_flags = flags | P_DIRTY; - np->mp_lower = (PAGEHDRSZ-PAGEBASE); -@@ -7039,7 +7880,7 @@ mdb_node_add(MDB_cursor *mc, indx_t indx, - - mdb_cassert(mc, mp->mp_upper >= mp->mp_lower); - -- DPRINTF(("add to %s %spage %"Z"u index %i, data size %"Z"u key size %"Z"u [%s]", -+ DPRINTF(("add to %s %spage %"Yu" index %i, data size %"Z"u key size %"Z"u [%s]", - IS_LEAF(mp) ? "leaf" : "branch", - IS_SUBP(mp) ? "sub-" : "", - mdb_dbg_pgno(mp), indx, data ? data->mv_size : 0, -@@ -7080,7 +7921,7 @@ mdb_node_add(MDB_cursor *mc, indx_t indx, - goto full; - if ((rc = mdb_page_new(mc, P_OVERFLOW, ovpages, &ofp))) - return rc; -- DPRINTF(("allocated overflow page %"Z"u", ofp->mp_pgno)); -+ DPRINTF(("allocated overflow page %"Yu, ofp->mp_pgno)); - flags |= F_BIGDATA; - goto update; - } else { -@@ -7137,7 +7978,7 @@ update: - return MDB_SUCCESS; - - full: -- DPRINTF(("not enough room in page %"Z"u, got %u ptrs", -+ DPRINTF(("not enough room in page %"Yu", got %u ptrs", - mdb_dbg_pgno(mp), NUMKEYS(mp))); - DPRINTF(("upper-lower = %u - %u = %"Z"d", mp->mp_upper,mp->mp_lower,room)); - DPRINTF(("node size = %"Z"u", node_size)); -@@ -7160,7 +8001,7 @@ mdb_node_del(MDB_cursor *mc, int ksize) - MDB_node *node; - char *base; - -- DPRINTF(("delete node %u on %s page %"Z"u", indx, -+ DPRINTF(("delete node %u on %s page %"Yu, indx, - IS_LEAF(mp) ? "leaf" : "branch", mdb_dbg_pgno(mp))); - numkeys = NUMKEYS(mp); - mdb_cassert(mc, indx < numkeys); -@@ -7269,7 +8110,8 @@ mdb_xcursor_init0(MDB_cursor *mc) - mx->mx_cursor.mc_dbflag = &mx->mx_dbflag; - mx->mx_cursor.mc_snum = 0; - mx->mx_cursor.mc_top = 0; -- mx->mx_cursor.mc_flags = C_SUB; -+ MC_SET_OVPG(&mx->mx_cursor, NULL); -+ mx->mx_cursor.mc_flags = C_SUB | (mc->mc_flags & (C_ORIG_RDONLY|C_WRITEMAP)); - mx->mx_dbx.md_name.mv_size = 0; - mx->mx_dbx.md_name.mv_data = NULL; - mx->mx_dbx.md_cmp = mc->mc_dbx->md_dcmp; -@@ -7288,12 +8130,12 @@ mdb_xcursor_init1(MDB_cursor *mc, MDB_node *node) - { - MDB_xcursor *mx = mc->mc_xcursor; - -+ mx->mx_cursor.mc_flags &= C_SUB|C_ORIG_RDONLY|C_WRITEMAP; - if (node->mn_flags & F_SUBDATA) { - memcpy(&mx->mx_db, NODEDATA(node), sizeof(MDB_db)); - mx->mx_cursor.mc_pg[0] = 0; - mx->mx_cursor.mc_snum = 0; - mx->mx_cursor.mc_top = 0; -- mx->mx_cursor.mc_flags = C_SUB; - } else { - MDB_page *fp = NODEDATA(node); - mx->mx_db.md_pad = 0; -@@ -7306,7 +8148,7 @@ mdb_xcursor_init1(MDB_cursor *mc, MDB_node *node) - COPY_PGNO(mx->mx_db.md_root, fp->mp_pgno); - mx->mx_cursor.mc_snum = 1; - mx->mx_cursor.mc_top = 0; -- mx->mx_cursor.mc_flags = C_INITIALIZED|C_SUB; -+ mx->mx_cursor.mc_flags |= C_INITIALIZED; - mx->mx_cursor.mc_pg[0] = fp; - mx->mx_cursor.mc_ki[0] = 0; - if (mc->mc_db->md_flags & MDB_DUPFIXED) { -@@ -7316,13 +8158,11 @@ mdb_xcursor_init1(MDB_cursor *mc, MDB_node *node) - mx->mx_db.md_flags |= MDB_INTEGERKEY; - } - } -- DPRINTF(("Sub-db -%u root page %"Z"u", mx->mx_cursor.mc_dbi, -+ DPRINTF(("Sub-db -%u root page %"Yu, mx->mx_cursor.mc_dbi, - mx->mx_db.md_root)); - mx->mx_dbflag = DB_VALID|DB_USRVALID|DB_DIRTY; /* DB_DIRTY guides mdb_cursor_touch */ --#if UINT_MAX < SIZE_MAX -- if (mx->mx_dbx.md_cmp == mdb_cmp_int && mx->mx_db.md_pad == sizeof(size_t)) -+ if (NEED_CMP_CLONG(mx->mx_dbx.md_cmp, mx->mx_db.md_pad)) - mx->mx_dbx.md_cmp = mdb_cmp_clong; --#endif - } - - -@@ -7345,7 +8185,7 @@ mdb_xcursor_init2(MDB_cursor *mc, MDB_xcursor *src_mx, int new_dupdata) - mx->mx_cursor.mc_flags |= C_INITIALIZED; - mx->mx_cursor.mc_ki[0] = 0; - mx->mx_dbflag = DB_VALID|DB_USRVALID|DB_DIRTY; /* DB_DIRTY guides mdb_cursor_touch */ --#if UINT_MAX < SIZE_MAX -+#if UINT_MAX < MDB_SIZE_MAX /* matches mdb_xcursor_init1:NEED_CMP_CLONG() */ - mx->mx_dbx.md_cmp = src_mx->mx_dbx.md_cmp; - #endif - } else if (!(mx->mx_cursor.mc_flags & C_INITIALIZED)) { -@@ -7353,7 +8193,7 @@ mdb_xcursor_init2(MDB_cursor *mc, MDB_xcursor *src_mx, int new_dupdata) - } - mx->mx_db = src_mx->mx_db; - mx->mx_cursor.mc_pg[0] = src_mx->mx_cursor.mc_pg[0]; -- DPRINTF(("Sub-db -%u root page %"Z"u", mx->mx_cursor.mc_dbi, -+ DPRINTF(("Sub-db -%u root page %"Yu, mx->mx_cursor.mc_dbi, - mx->mx_db.md_root)); - } - -@@ -7372,7 +8212,8 @@ mdb_cursor_init(MDB_cursor *mc, MDB_txn *txn, MDB_dbi dbi, MDB_xcursor *mx) - mc->mc_top = 0; - mc->mc_pg[0] = 0; - mc->mc_ki[0] = 0; -- mc->mc_flags = 0; -+ MC_SET_OVPG(mc, NULL); -+ mc->mc_flags = txn->mt_flags & (C_ORIG_RDONLY|C_WRITEMAP); - if (txn->mt_dbs[dbi].md_flags & MDB_DUPSORT) { - mdb_tassert(txn, mx != NULL); - mc->mc_xcursor = mx; -@@ -7437,7 +8278,7 @@ mdb_cursor_renew(MDB_txn *txn, MDB_cursor *mc) - - /* Return the count of duplicate data items for the current key */ - int --mdb_cursor_count(MDB_cursor *mc, size_t *countp) -+mdb_cursor_count(MDB_cursor *mc, mdb_size_t *countp) - { - MDB_node *leaf; - -@@ -7471,6 +8312,9 @@ mdb_cursor_count(MDB_cursor *mc, size_t *countp) - void - mdb_cursor_close(MDB_cursor *mc) - { -+ if (mc) { -+ MDB_CURSOR_UNREF(mc, 0); -+ } - if (mc && !mc->mc_backup) { - /* remove from txn, if tracked */ - if ((mc->mc_flags & C_UNTRACK) && mc->mc_txn->mt_cursors) { -@@ -7522,7 +8366,7 @@ mdb_update_key(MDB_cursor *mc, MDB_val *key) - char kbuf2[DKBUF_MAXKEYSIZE*2+1]; - k2.mv_data = NODEKEY(node); - k2.mv_size = node->mn_ksize; -- DPRINTF(("update key %u (ofs %u) [%s] to [%s] on page %"Z"u", -+ DPRINTF(("update key %u (ofs %u) [%s] to [%s] on page %"Yu, - indx, ptr, - mdb_dkey(&k2, kbuf2), - DKEY(key), -@@ -7670,7 +8514,7 @@ mdb_node_move(MDB_cursor *csrc, MDB_cursor *cdst, int fromleft) - return rc; - } - -- DPRINTF(("moving %s node %u [%s] on page %"Z"u to node %u on page %"Z"u", -+ DPRINTF(("moving %s node %u [%s] on page %"Yu" to node %u on page %"Yu, - IS_LEAF(csrc->mc_pg[csrc->mc_top]) ? "leaf" : "branch", - csrc->mc_ki[csrc->mc_top], - DKEY(&key), -@@ -7764,7 +8608,7 @@ mdb_node_move(MDB_cursor *csrc, MDB_cursor *cdst, int fromleft) - key.mv_size = NODEKSZ(srcnode); - key.mv_data = NODEKEY(srcnode); - } -- DPRINTF(("update separator for source page %"Z"u to [%s]", -+ DPRINTF(("update separator for source page %"Yu" to [%s]", - csrc->mc_pg[csrc->mc_top]->mp_pgno, DKEY(&key))); - mdb_cursor_copy(csrc, &mn); - mn.mc_snum--; -@@ -7795,7 +8639,7 @@ mdb_node_move(MDB_cursor *csrc, MDB_cursor *cdst, int fromleft) - key.mv_size = NODEKSZ(srcnode); - key.mv_data = NODEKEY(srcnode); - } -- DPRINTF(("update separator for destination page %"Z"u to [%s]", -+ DPRINTF(("update separator for destination page %"Yu" to [%s]", - cdst->mc_pg[cdst->mc_top]->mp_pgno, DKEY(&key))); - mdb_cursor_copy(cdst, &mn); - mn.mc_snum--; -@@ -7841,7 +8685,7 @@ mdb_page_merge(MDB_cursor *csrc, MDB_cursor *cdst) - psrc = csrc->mc_pg[csrc->mc_top]; - pdst = cdst->mc_pg[cdst->mc_top]; - -- DPRINTF(("merging page %"Z"u into %"Z"u", psrc->mp_pgno, pdst->mp_pgno)); -+ DPRINTF(("merging page %"Yu" into %"Yu, psrc->mp_pgno, pdst->mp_pgno)); - - mdb_cassert(csrc, csrc->mc_snum > 1); /* can't merge root page */ - mdb_cassert(csrc, cdst->mc_snum > 1); -@@ -7898,7 +8742,7 @@ mdb_page_merge(MDB_cursor *csrc, MDB_cursor *cdst) - } - } - -- DPRINTF(("dst page %"Z"u now has %u keys (%.1f%% filled)", -+ DPRINTF(("dst page %"Yu" now has %u keys (%.1f%% filled)", - pdst->mp_pgno, NUMKEYS(pdst), - (float)PAGEFILL(cdst->mc_txn->mt_env, pdst) / 10)); - -@@ -7986,6 +8830,7 @@ mdb_cursor_copy(const MDB_cursor *csrc, MDB_cursor *cdst) - cdst->mc_snum = csrc->mc_snum; - cdst->mc_top = csrc->mc_top; - cdst->mc_flags = csrc->mc_flags; -+ MC_SET_OVPG(cdst, MC_OVPG(csrc)); - - for (i=0; imc_snum; i++) { - cdst->mc_pg[i] = csrc->mc_pg[i]; -@@ -8014,14 +8859,14 @@ mdb_rebalance(MDB_cursor *mc) - minkeys = 1; - thresh = FILL_THRESHOLD; - } -- DPRINTF(("rebalancing %s page %"Z"u (has %u keys, %.1f%% full)", -+ DPRINTF(("rebalancing %s page %"Yu" (has %u keys, %.1f%% full)", - IS_LEAF(mc->mc_pg[mc->mc_top]) ? "leaf" : "branch", - mdb_dbg_pgno(mc->mc_pg[mc->mc_top]), NUMKEYS(mc->mc_pg[mc->mc_top]), - (float)PAGEFILL(mc->mc_txn->mt_env, mc->mc_pg[mc->mc_top]) / 10)); - - if (PAGEFILL(mc->mc_txn->mt_env, mc->mc_pg[mc->mc_top]) >= thresh && - NUMKEYS(mc->mc_pg[mc->mc_top]) >= minkeys) { -- DPRINTF(("no need to rebalance page %"Z"u, above fill threshold", -+ DPRINTF(("no need to rebalance page %"Yu", above fill threshold", - mdb_dbg_pgno(mc->mc_pg[mc->mc_top]))); - return MDB_SUCCESS; - } -@@ -8069,7 +8914,7 @@ mdb_rebalance(MDB_cursor *mc) - if (rc) - return rc; - mc->mc_db->md_root = NODEPGNO(NODEPTR(mp, 0)); -- rc = mdb_page_get(mc->mc_txn,mc->mc_db->md_root,&mc->mc_pg[0],NULL); -+ rc = mdb_page_get(mc, mc->mc_db->md_root, &mc->mc_pg[0], NULL); - if (rc) - return rc; - mc->mc_db->md_depth--; -@@ -8130,7 +8975,7 @@ mdb_rebalance(MDB_cursor *mc) - DPUTS("reading right neighbor"); - mn.mc_ki[ptop]++; - node = NODEPTR(mc->mc_pg[ptop], mn.mc_ki[ptop]); -- rc = mdb_page_get(mc->mc_txn,NODEPGNO(node),&mn.mc_pg[mn.mc_top],NULL); -+ rc = mdb_page_get(mc, NODEPGNO(node), &mn.mc_pg[mn.mc_top], NULL); - if (rc) - return rc; - mn.mc_ki[mn.mc_top] = 0; -@@ -8142,7 +8987,7 @@ mdb_rebalance(MDB_cursor *mc) - DPUTS("reading left neighbor"); - mn.mc_ki[ptop]--; - node = NODEPTR(mc->mc_pg[ptop], mn.mc_ki[ptop]); -- rc = mdb_page_get(mc->mc_txn,NODEPGNO(node),&mn.mc_pg[mn.mc_top],NULL); -+ rc = mdb_page_get(mc, NODEPGNO(node), &mn.mc_pg[mn.mc_top], NULL); - if (rc) - return rc; - mn.mc_ki[mn.mc_top] = NUMKEYS(mn.mc_pg[mn.mc_top]) - 1; -@@ -8150,7 +8995,7 @@ mdb_rebalance(MDB_cursor *mc) - fromleft = 1; - } - -- DPRINTF(("found neighbor page %"Z"u (%u keys, %.1f%% full)", -+ DPRINTF(("found neighbor page %"Yu" (%u keys, %.1f%% full)", - mn.mc_pg[mn.mc_top]->mp_pgno, NUMKEYS(mn.mc_pg[mn.mc_top]), - (float)PAGEFILL(mc->mc_txn->mt_env, mn.mc_pg[mn.mc_top]) / 10)); - -@@ -8207,8 +9052,6 @@ mdb_cursor_del0(MDB_cursor *mc) - if (m3->mc_pg[mc->mc_top] == mp) { - if (m3->mc_ki[mc->mc_top] == ki) { - m3->mc_flags |= C_DEL; -- if (mc->mc_db->md_flags & MDB_DUPSORT) -- m3->mc_xcursor->mx_cursor.mc_flags &= ~C_INITIALIZED; - } else if (m3->mc_ki[mc->mc_top] > ki) { - m3->mc_ki[mc->mc_top]--; - } -@@ -8242,11 +9085,21 @@ mdb_cursor_del0(MDB_cursor *mc) - continue; - if (m3->mc_pg[mc->mc_top] == mp) { - /* if m3 points past last node in page, find next sibling */ -- if (m3->mc_ki[mc->mc_top] >= nkeys) { -- rc = mdb_cursor_sibling(m3, 1); -- if (rc == MDB_NOTFOUND) { -- m3->mc_flags |= C_EOF; -- rc = MDB_SUCCESS; -+ if (m3->mc_ki[mc->mc_top] >= mc->mc_ki[mc->mc_top]) { -+ if (m3->mc_ki[mc->mc_top] >= nkeys) { -+ rc = mdb_cursor_sibling(m3, 1); -+ if (rc == MDB_NOTFOUND) { -+ m3->mc_flags |= C_EOF; -+ rc = MDB_SUCCESS; -+ continue; -+ } -+ } -+ if (mc->mc_db->md_flags & MDB_DUPSORT) { -+ MDB_node *node = NODEPTR(m3->mc_pg[m3->mc_top], m3->mc_ki[m3->mc_top]); -+ if (node->mn_flags & F_DUPDATA) { -+ mdb_xcursor_init1(m3, node); -+ m3->mc_xcursor->mx_cursor.mc_flags |= C_DEL; -+ } - } - } - } -@@ -8352,7 +9205,7 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno - newindx = mc->mc_ki[mc->mc_top]; - nkeys = NUMKEYS(mp); - -- DPRINTF(("-----> splitting %s page %"Z"u and adding [%s] at index %i/%i", -+ DPRINTF(("-----> splitting %s page %"Yu" and adding [%s] at index %i/%i", - IS_LEAF(mp) ? "leaf" : "branch", mp->mp_pgno, - DKEY(newkey), mc->mc_ki[mc->mc_top], nkeys)); - -@@ -8360,7 +9213,7 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno - if ((rc = mdb_page_new(mc, mp->mp_flags, 1, &rp))) - return rc; - rp->mp_pad = mp->mp_pad; -- DPRINTF(("new right sibling: page %"Z"u", rp->mp_pgno)); -+ DPRINTF(("new right sibling: page %"Yu, rp->mp_pgno)); - - /* Usually when splitting the root page, the cursor - * height is 1. But when called from mdb_update_key, -@@ -8378,7 +9231,7 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno - mc->mc_pg[0] = pp; - mc->mc_ki[0] = 0; - mc->mc_db->md_root = pp->mp_pgno; -- DPRINTF(("root split! new root = %"Z"u", pp->mp_pgno)); -+ DPRINTF(("root split! new root = %"Yu, pp->mp_pgno)); - new_root = mc->mc_db->md_depth++; - - /* Add left (implicit) pointer. */ -@@ -8395,7 +9248,7 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno - ptop = 0; - } else { - ptop = mc->mc_top-1; -- DPRINTF(("parent branch page is %"Z"u", mc->mc_pg[ptop]->mp_pgno)); -+ DPRINTF(("parent branch page is %"Yu, mc->mc_pg[ptop]->mp_pgno)); - } - - mdb_cursor_copy(mc, &mn); -@@ -8776,11 +9629,12 @@ mdb_put(MDB_txn *txn, MDB_dbi dbi, - #ifndef MDB_WBUF - #define MDB_WBUF (1024*1024) - #endif -+#define MDB_EOF 0x10 /**< #mdb_env_copyfd1() is done reading */ - -- /** State needed for a compacting copy. */ -+ /** State needed for a double-buffering compacting copy. */ - typedef struct mdb_copy { - pthread_mutex_t mc_mutex; -- pthread_cond_t mc_cond; -+ pthread_cond_t mc_cond; /**< Condition variable for #mc_new */ - char *mc_wbuf[2]; - char *mc_over[2]; - MDB_env *mc_env; -@@ -8789,10 +9643,9 @@ typedef struct mdb_copy { - int mc_olen[2]; - pgno_t mc_next_pgno; - HANDLE mc_fd; -- int mc_status; -- volatile int mc_new; -- int mc_toggle; -- -+ int mc_toggle; /**< Buffer number in provider */ -+ int mc_new; /**< (0-2 buffers to write) | (#MDB_EOF at end) */ -+ volatile int mc_error; /**< Error code, never cleared if set */ - } mdb_copy; - - /** Dedicated writer thread for compacting copy. */ -@@ -8811,20 +9664,16 @@ mdb_env_copythr(void *arg) - #endif - - pthread_mutex_lock(&my->mc_mutex); -- my->mc_new = 0; -- pthread_cond_signal(&my->mc_cond); - for(;;) { - while (!my->mc_new) - pthread_cond_wait(&my->mc_cond, &my->mc_mutex); -- if (my->mc_new < 0) { -- my->mc_new = 0; -+ if (my->mc_new == 0 + MDB_EOF) /* 0 buffers, just EOF */ - break; -- } -- my->mc_new = 0; - wsize = my->mc_wlen[toggle]; - ptr = my->mc_wbuf[toggle]; - again: -- while (wsize > 0) { -+ rc = MDB_SUCCESS; -+ while (wsize > 0 && !my->mc_error) { - DO_WRITE(rc, my->mc_fd, ptr, wsize, len); - if (!rc) { - rc = ErrCode(); -@@ -8840,8 +9689,7 @@ again: - } - } - if (rc) { -- my->mc_status = rc; -- break; -+ my->mc_error = rc; - } - /* If there's an overflow page tail, write it too */ - if (my->mc_olen[toggle]) { -@@ -8852,39 +9700,41 @@ again: - } - my->mc_wlen[toggle] = 0; - toggle ^= 1; -+ /* Return the empty buffer to provider */ -+ my->mc_new--; - pthread_cond_signal(&my->mc_cond); - } -- pthread_cond_signal(&my->mc_cond); - pthread_mutex_unlock(&my->mc_mutex); - return (THREAD_RET)0; - #undef DO_WRITE - } - -- /** Tell the writer thread there's a buffer ready to write */ -+ /** Give buffer and/or #MDB_EOF to writer thread, await unused buffer. -+ * -+ * @param[in] my control structure. -+ * @param[in] adjust (1 to hand off 1 buffer) | (MDB_EOF when ending). -+ */ - static int ESECT --mdb_env_cthr_toggle(mdb_copy *my, int st) -+mdb_env_cthr_toggle(mdb_copy *my, int adjust) - { -- int toggle = my->mc_toggle ^ 1; - pthread_mutex_lock(&my->mc_mutex); -- if (my->mc_status) { -- pthread_mutex_unlock(&my->mc_mutex); -- return my->mc_status; -- } -- while (my->mc_new == 1) -- pthread_cond_wait(&my->mc_cond, &my->mc_mutex); -- my->mc_new = st; -- my->mc_toggle = toggle; -+ my->mc_new += adjust; - pthread_cond_signal(&my->mc_cond); -+ while (my->mc_new & 2) /* both buffers in use */ -+ pthread_cond_wait(&my->mc_cond, &my->mc_mutex); - pthread_mutex_unlock(&my->mc_mutex); -- return 0; -+ -+ my->mc_toggle ^= (adjust & 1); -+ /* Both threads reset mc_wlen, to be safe from threading errors */ -+ my->mc_wlen[my->mc_toggle] = 0; -+ return my->mc_error; - } - - /** Depth-first tree traversal for compacting copy. */ - static int ESECT - mdb_env_cwalk(mdb_copy *my, pgno_t *pg, int flags) - { -- MDB_cursor mc; -- MDB_txn *txn = my->mc_txn; -+ MDB_cursor mc = {0}; - MDB_node *ni; - MDB_page *mo, *mp, *leaf; - char *buf, *ptr; -@@ -8896,10 +9746,10 @@ mdb_env_cwalk(mdb_copy *my, pgno_t *pg, int flags) - return MDB_SUCCESS; - - mc.mc_snum = 1; -- mc.mc_top = 0; -- mc.mc_txn = txn; -+ mc.mc_txn = my->mc_txn; -+ mc.mc_flags = my->mc_txn->mt_flags & (C_ORIG_RDONLY|C_WRITEMAP); - -- rc = mdb_page_get(my->mc_txn, *pg, &mc.mc_pg[0], NULL); -+ rc = mdb_page_get(&mc, *pg, &mc.mc_pg[0], NULL); - if (rc) - return rc; - rc = mdb_page_search_root(&mc, NULL, MDB_PS_FIRST); -@@ -8943,7 +9793,8 @@ mdb_env_cwalk(mdb_copy *my, pgno_t *pg, int flags) - } - - memcpy(&pg, NODEDATA(ni), sizeof(pg)); -- rc = mdb_page_get(txn, pg, &omp, NULL); -+ memcpy(NODEDATA(ni), &my->mc_next_pgno, sizeof(pgno_t)); -+ rc = mdb_page_get(&mc, pg, &omp, NULL); - if (rc) - goto done; - if (my->mc_wlen[toggle] >= MDB_WBUF) { -@@ -8965,7 +9816,6 @@ mdb_env_cwalk(mdb_copy *my, pgno_t *pg, int flags) - goto done; - toggle = my->mc_toggle; - } -- memcpy(NODEDATA(ni), &mo->mp_pgno, sizeof(pgno_t)); - } else if (ni->mn_flags & F_SUBDATA) { - MDB_db db; - -@@ -8994,7 +9844,7 @@ mdb_env_cwalk(mdb_copy *my, pgno_t *pg, int flags) - again: - ni = NODEPTR(mp, mc.mc_ki[mc.mc_top]); - pg = NODEPGNO(ni); -- rc = mdb_page_get(txn, pg, &mp, NULL); -+ rc = mdb_page_get(&mc, pg, &mp, NULL); - if (rc) - goto done; - mc.mc_top++; -@@ -9043,47 +9893,56 @@ mdb_env_copyfd1(MDB_env *env, HANDLE fd) - { - MDB_meta *mm; - MDB_page *mp; -- mdb_copy my; -+ mdb_copy my = {0}; - MDB_txn *txn = NULL; - pthread_t thr; -- int rc; -+ pgno_t root, new_root; -+ int rc = MDB_SUCCESS; - - #ifdef _WIN32 -- my.mc_mutex = CreateMutex(NULL, FALSE, NULL); -- my.mc_cond = CreateEvent(NULL, FALSE, FALSE, NULL); -+ if (!(my.mc_mutex = CreateMutex(NULL, FALSE, NULL)) || -+ !(my.mc_cond = CreateEvent(NULL, FALSE, FALSE, NULL))) { -+ rc = ErrCode(); -+ goto done; -+ } - my.mc_wbuf[0] = _aligned_malloc(MDB_WBUF*2, env->me_os_psize); -- if (my.mc_wbuf[0] == NULL) -- return errno; -+ if (my.mc_wbuf[0] == NULL) { -+ /* _aligned_malloc() sets errno, but we use Windows error codes */ -+ rc = ERROR_NOT_ENOUGH_MEMORY; -+ goto done; -+ } - #else -- pthread_mutex_init(&my.mc_mutex, NULL); -- pthread_cond_init(&my.mc_cond, NULL); -+ if ((rc = pthread_mutex_init(&my.mc_mutex, NULL)) != 0) -+ return rc; -+ if ((rc = pthread_cond_init(&my.mc_cond, NULL)) != 0) -+ goto done2; - #ifdef HAVE_MEMALIGN - my.mc_wbuf[0] = memalign(env->me_os_psize, MDB_WBUF*2); -- if (my.mc_wbuf[0] == NULL) -- return errno; -+ if (my.mc_wbuf[0] == NULL) { -+ rc = errno; -+ goto done; -+ } - #else -- rc = posix_memalign((void **)&my.mc_wbuf[0], env->me_os_psize, MDB_WBUF*2); -- if (rc) -- return rc; -+ { -+ void *p; -+ if ((rc = posix_memalign(&p, env->me_os_psize, MDB_WBUF*2)) != 0) -+ goto done; -+ my.mc_wbuf[0] = p; -+ } - #endif - #endif - memset(my.mc_wbuf[0], 0, MDB_WBUF*2); - my.mc_wbuf[1] = my.mc_wbuf[0] + MDB_WBUF; -- my.mc_wlen[0] = 0; -- my.mc_wlen[1] = 0; -- my.mc_olen[0] = 0; -- my.mc_olen[1] = 0; - my.mc_next_pgno = NUM_METAS; -- my.mc_status = 0; -- my.mc_new = 1; -- my.mc_toggle = 0; - my.mc_env = env; - my.mc_fd = fd; -- THREAD_CREATE(thr, mdb_env_copythr, &my); -+ rc = THREAD_CREATE(thr, mdb_env_copythr, &my); -+ if (rc) -+ goto done; - - rc = mdb_txn_begin(env, NULL, MDB_RDONLY, &txn); - if (rc) -- return rc; -+ goto finish; - - mp = (MDB_page *)my.mc_wbuf[0]; - memset(mp, 0, NUM_METAS * env->me_psize); -@@ -9099,57 +9958,64 @@ mdb_env_copyfd1(MDB_env *env, HANDLE fd) - *(MDB_meta *)METADATA(mp) = *mm; - mm = (MDB_meta *)METADATA(mp); - -- /* Count the number of free pages, subtract from lastpg to find -- * number of active pages -- */ -- { -+ /* Set metapage 1 with current main DB */ -+ root = new_root = txn->mt_dbs[MAIN_DBI].md_root; -+ if (root != P_INVALID) { -+ /* Count free pages + freeDB pages. Subtract from last_pg -+ * to find the new last_pg, which also becomes the new root. -+ */ - MDB_ID freecount = 0; - MDB_cursor mc; - MDB_val key, data; - mdb_cursor_init(&mc, txn, FREE_DBI, NULL); - while ((rc = mdb_cursor_get(&mc, &key, &data, MDB_NEXT)) == 0) - freecount += *(MDB_ID *)data.mv_data; -+ if (rc != MDB_NOTFOUND) -+ goto finish; - freecount += txn->mt_dbs[FREE_DBI].md_branch_pages + - txn->mt_dbs[FREE_DBI].md_leaf_pages + - txn->mt_dbs[FREE_DBI].md_overflow_pages; - -- /* Set metapage 1 */ -- mm->mm_last_pg = txn->mt_next_pgno - freecount - 1; -+ new_root = txn->mt_next_pgno - 1 - freecount; -+ mm->mm_last_pg = new_root; - mm->mm_dbs[MAIN_DBI] = txn->mt_dbs[MAIN_DBI]; -- if (mm->mm_last_pg > NUM_METAS-1) { -- mm->mm_dbs[MAIN_DBI].md_root = mm->mm_last_pg; -- mm->mm_txnid = 1; -- } else { -- mm->mm_dbs[MAIN_DBI].md_root = P_INVALID; -- } -+ mm->mm_dbs[MAIN_DBI].md_root = new_root; -+ } else { -+ /* When the DB is empty, handle it specially to -+ * fix any breakage like page leaks from ITS#8174. -+ */ -+ mm->mm_dbs[MAIN_DBI].md_flags = txn->mt_dbs[MAIN_DBI].md_flags; -+ } -+ if (root != P_INVALID || mm->mm_dbs[MAIN_DBI].md_flags) { -+ mm->mm_txnid = 1; /* use metapage 1 */ - } -+ - my.mc_wlen[0] = env->me_psize * NUM_METAS; - my.mc_txn = txn; -- pthread_mutex_lock(&my.mc_mutex); -- while(my.mc_new) -- pthread_cond_wait(&my.mc_cond, &my.mc_mutex); -- pthread_mutex_unlock(&my.mc_mutex); -- rc = mdb_env_cwalk(&my, &txn->mt_dbs[MAIN_DBI].md_root, 0); -- if (rc == MDB_SUCCESS && my.mc_wlen[my.mc_toggle]) -- rc = mdb_env_cthr_toggle(&my, 1); -- mdb_env_cthr_toggle(&my, -1); -- pthread_mutex_lock(&my.mc_mutex); -- while(my.mc_new) -- pthread_cond_wait(&my.mc_cond, &my.mc_mutex); -- pthread_mutex_unlock(&my.mc_mutex); -- THREAD_FINISH(thr); -+ rc = mdb_env_cwalk(&my, &root, 0); -+ if (rc == MDB_SUCCESS && root != new_root) { -+ rc = MDB_INCOMPATIBLE; /* page leak or corrupt DB */ -+ } - -+finish: -+ if (rc) -+ my.mc_error = rc; -+ mdb_env_cthr_toggle(&my, 1 | MDB_EOF); -+ rc = THREAD_FINISH(thr); - mdb_txn_abort(txn); -+ -+done: - #ifdef _WIN32 -- CloseHandle(my.mc_cond); -- CloseHandle(my.mc_mutex); -- _aligned_free(my.mc_wbuf[0]); -+ if (my.mc_wbuf[0]) _aligned_free(my.mc_wbuf[0]); -+ if (my.mc_cond) CloseHandle(my.mc_cond); -+ if (my.mc_mutex) CloseHandle(my.mc_mutex); - #else -+ free(my.mc_wbuf[0]); - pthread_cond_destroy(&my.mc_cond); -+done2: - pthread_mutex_destroy(&my.mc_mutex); -- free(my.mc_wbuf[0]); - #endif -- return rc; -+ return rc ? rc : my.mc_error; - } - - /** Copy environment as-is. */ -@@ -9159,7 +10025,7 @@ mdb_env_copyfd0(MDB_env *env, HANDLE fd) - MDB_txn *txn = NULL; - mdb_mutexref_t wmutex = NULL; - int rc; -- size_t wsize, w3; -+ mdb_size_t wsize, w3; - char *ptr; - #ifdef _WIN32 - DWORD len, w2; -@@ -9220,7 +10086,7 @@ mdb_env_copyfd0(MDB_env *env, HANDLE fd) - - w3 = txn->mt_next_pgno * env->me_psize; - { -- size_t fsize = 0; -+ mdb_size_t fsize = 0; - if ((rc = mdb_fsize(env->me_fd, &fsize))) - goto leave; - if (w3 > fsize) -@@ -9659,11 +10525,19 @@ mdb_drop0(MDB_cursor *mc, int subs) - - /* DUPSORT sub-DBs have no ovpages/DBs. Omit scanning leaves. - * This also avoids any P_LEAF2 pages, which have no nodes. -+ * Also if the DB doesn't have sub-DBs and has no overflow -+ * pages, omit scanning leaves. - */ -- if (mc->mc_flags & C_SUB) -+ if ((mc->mc_flags & C_SUB) || -+ (!subs && !mc->mc_db->md_overflow_pages)) - mdb_cursor_pop(mc); - - mdb_cursor_copy(mc, &mx); -+#ifdef MDB_VL32 -+ /* bump refcount for mx's pages */ -+ for (i=0; imc_snum; i++) -+ mdb_page_get(&mx, mc->mc_pg[i]->mp_pgno, &mx.mc_pg[i], NULL); -+#endif - while (mc->mc_snum > 0) { - MDB_page *mp = mc->mc_pg[mc->mc_top]; - unsigned n = NUMKEYS(mp); -@@ -9674,7 +10548,7 @@ mdb_drop0(MDB_cursor *mc, int subs) - MDB_page *omp; - pgno_t pg; - memcpy(&pg, NODEDATA(ni), sizeof(pg)); -- rc = mdb_page_get(txn, pg, &omp, NULL); -+ rc = mdb_page_get(mc, pg, &omp, NULL); - if (rc != 0) - goto done; - mdb_cassert(mc, IS_OVERFLOW(omp)); -@@ -9682,6 +10556,9 @@ mdb_drop0(MDB_cursor *mc, int subs) - pg, omp->mp_pages); - if (rc) - goto done; -+ mc->mc_db->md_overflow_pages -= omp->mp_pages; -+ if (!mc->mc_db->md_overflow_pages && !subs) -+ break; - } else if (subs && (ni->mn_flags & F_SUBDATA)) { - mdb_xcursor_init1(mc, ni); - rc = mdb_drop0(&mc->mc_xcursor->mx_cursor, 0); -@@ -9689,6 +10566,8 @@ mdb_drop0(MDB_cursor *mc, int subs) - goto done; - } - } -+ if (!subs && !mc->mc_db->md_overflow_pages) -+ goto pop; - } else { - if ((rc = mdb_midl_need(&txn->mt_free_pgs, n)) != 0) - goto done; -@@ -9710,6 +10589,7 @@ mdb_drop0(MDB_cursor *mc, int subs) - /* no more siblings, go back to beginning - * of previous level. - */ -+pop: - mdb_cursor_pop(mc); - mc->mc_ki[0] = 0; - for (i=1; imc_snum; i++) { -@@ -9723,6 +10603,8 @@ mdb_drop0(MDB_cursor *mc, int subs) - done: - if (rc) - txn->mt_flags |= MDB_TXN_ERROR; -+ /* drop refcount for mx's pages */ -+ MDB_CURSOR_UNREF(&mx, 0); - } else if (rc == MDB_NOTFOUND) { - rc = MDB_SUCCESS; - } -@@ -9842,7 +10724,7 @@ mdb_reader_list(MDB_env *env, MDB_msg_func *func, void *ctx) - if (mr[i].mr_pid) { - txnid_t txnid = mr[i].mr_txnid; - sprintf(buf, txnid == (txnid_t)-1 ? -- "%10d %"Z"x -\n" : "%10d %"Z"x %"Z"u\n", -+ "%10d %"Z"x -\n" : "%10d %"Z"x %"Yu"\n", - (int)mr[i].mr_pid, (size_t)mr[i].mr_tid, txnid); - if (first) { - first = 0; -@@ -9947,7 +10829,7 @@ mdb_reader_check0(MDB_env *env, int rlocked, int *dead) - } - for (; j - #include "lmdb.h" - --#ifdef _WIN32 --#define Z "I" --#else --#define Z "z" --#endif -+#define Yu MDB_PRIy(u) - - #define PRINT 1 - static int mode; -@@ -115,7 +111,7 @@ static int dumpit(MDB_txn *txn, MDB_dbi dbi, char *name) - if (name) - printf("database=%s\n", name); - printf("type=btree\n"); -- printf("mapsize=%" Z "u\n", info.me_mapsize); -+ printf("mapsize=%"Yu"\n", info.me_mapsize); - if (info.me_mapaddr) - printf("mapaddr=%p\n", info.me_mapaddr); - printf("maxreaders=%u\n", info.me_maxreaders); -diff --git a/libraries/liblmdb/mdb_load.c b/libraries/liblmdb/mdb_load.c -index 053cc88..73dfe8c 100644 ---- a/libraries/liblmdb/mdb_load.c -+++ b/libraries/liblmdb/mdb_load.c -@@ -25,7 +25,7 @@ static int mode; - - static char *subname = NULL; - --static size_t lineno; -+static mdb_size_t lineno; - static int version; - - static int flags; -@@ -38,11 +38,7 @@ static MDB_envinfo info; - - static MDB_val kbuf, dbuf; - --#ifdef _WIN32 --#define Z "I" --#else --#define Z "z" --#endif -+#define Yu MDB_PRIy(u) - - #define STRLENOF(s) (sizeof(s)-1) - -@@ -73,7 +69,7 @@ static void readhdr(void) - if (!strncmp(dbuf.mv_data, "VERSION=", STRLENOF("VERSION="))) { - version=atoi((char *)dbuf.mv_data+STRLENOF("VERSION=")); - if (version > 3) { -- fprintf(stderr, "%s: line %" Z "d: unsupported VERSION %d\n", -+ fprintf(stderr, "%s: line %"Yu": unsupported VERSION %d\n", - prog, lineno, version); - exit(EXIT_FAILURE); - } -@@ -83,7 +79,7 @@ static void readhdr(void) - if (!strncmp((char *)dbuf.mv_data+STRLENOF("FORMAT="), "print", STRLENOF("print"))) - mode |= PRINT; - else if (strncmp((char *)dbuf.mv_data+STRLENOF("FORMAT="), "bytevalue", STRLENOF("bytevalue"))) { -- fprintf(stderr, "%s: line %" Z "d: unsupported FORMAT %s\n", -+ fprintf(stderr, "%s: line %"Yu": unsupported FORMAT %s\n", - prog, lineno, (char *)dbuf.mv_data+STRLENOF("FORMAT=")); - exit(EXIT_FAILURE); - } -@@ -94,7 +90,7 @@ static void readhdr(void) - subname = strdup((char *)dbuf.mv_data+STRLENOF("database=")); - } else if (!strncmp(dbuf.mv_data, "type=", STRLENOF("type="))) { - if (strncmp((char *)dbuf.mv_data+STRLENOF("type="), "btree", STRLENOF("btree"))) { -- fprintf(stderr, "%s: line %" Z "d: unsupported type %s\n", -+ fprintf(stderr, "%s: line %"Yu": unsupported type %s\n", - prog, lineno, (char *)dbuf.mv_data+STRLENOF("type=")); - exit(EXIT_FAILURE); - } -@@ -104,7 +100,7 @@ static void readhdr(void) - if (ptr) *ptr = '\0'; - i = sscanf((char *)dbuf.mv_data+STRLENOF("mapaddr="), "%p", &info.me_mapaddr); - if (i != 1) { -- fprintf(stderr, "%s: line %" Z "d: invalid mapaddr %s\n", -+ fprintf(stderr, "%s: line %"Yu": invalid mapaddr %s\n", - prog, lineno, (char *)dbuf.mv_data+STRLENOF("mapaddr=")); - exit(EXIT_FAILURE); - } -@@ -112,9 +108,10 @@ static void readhdr(void) - int i; - ptr = memchr(dbuf.mv_data, '\n', dbuf.mv_size); - if (ptr) *ptr = '\0'; -- i = sscanf((char *)dbuf.mv_data+STRLENOF("mapsize="), "%" Z "u", &info.me_mapsize); -+ i = sscanf((char *)dbuf.mv_data+STRLENOF("mapsize="), -+ "%" MDB_SCNy(u), &info.me_mapsize); - if (i != 1) { -- fprintf(stderr, "%s: line %" Z "d: invalid mapsize %s\n", -+ fprintf(stderr, "%s: line %"Yu": invalid mapsize %s\n", - prog, lineno, (char *)dbuf.mv_data+STRLENOF("mapsize=")); - exit(EXIT_FAILURE); - } -@@ -124,7 +121,7 @@ static void readhdr(void) - if (ptr) *ptr = '\0'; - i = sscanf((char *)dbuf.mv_data+STRLENOF("maxreaders="), "%u", &info.me_maxreaders); - if (i != 1) { -- fprintf(stderr, "%s: line %" Z "d: invalid maxreaders %s\n", -+ fprintf(stderr, "%s: line %"Yu": invalid maxreaders %s\n", - prog, lineno, (char *)dbuf.mv_data+STRLENOF("maxreaders=")); - exit(EXIT_FAILURE); - } -@@ -140,12 +137,12 @@ static void readhdr(void) - if (!dbflags[i].bit) { - ptr = memchr(dbuf.mv_data, '=', dbuf.mv_size); - if (!ptr) { -- fprintf(stderr, "%s: line %" Z "d: unexpected format\n", -+ fprintf(stderr, "%s: line %"Yu": unexpected format\n", - prog, lineno); - exit(EXIT_FAILURE); - } else { - *ptr = '\0'; -- fprintf(stderr, "%s: line %" Z "d: unrecognized keyword ignored: %s\n", -+ fprintf(stderr, "%s: line %"Yu": unrecognized keyword ignored: %s\n", - prog, lineno, (char *)dbuf.mv_data); - } - } -@@ -155,7 +152,7 @@ static void readhdr(void) - - static void badend(void) - { -- fprintf(stderr, "%s: line %" Z "d: unexpected end of input\n", -+ fprintf(stderr, "%s: line %"Yu": unexpected end of input\n", - prog, lineno); - } - -@@ -213,7 +210,7 @@ badend: - buf->mv_data = realloc(buf->mv_data, buf->mv_size*2); - if (!buf->mv_data) { - Eof = 1; -- fprintf(stderr, "%s: line %" Z "d: out of memory, line too long\n", -+ fprintf(stderr, "%s: line %"Yu": out of memory, line too long\n", - prog, lineno); - return EOF; - } -@@ -405,7 +402,7 @@ int main(int argc, char *argv[]) - - rc = readline(&data, &dbuf); - if (rc) { -- fprintf(stderr, "%s: line %" Z "d: failed to read key value\n", prog, lineno); -+ fprintf(stderr, "%s: line %"Yu": failed to read key value\n", prog, lineno); - goto txn_abort; - } - -@@ -420,7 +417,7 @@ int main(int argc, char *argv[]) - if (batch == 100) { - rc = mdb_txn_commit(txn); - if (rc) { -- fprintf(stderr, "%s: line %" Z "d: txn_commit: %s\n", -+ fprintf(stderr, "%s: line %"Yu": txn_commit: %s\n", - prog, lineno, mdb_strerror(rc)); - goto env_close; - } -@@ -440,7 +437,7 @@ int main(int argc, char *argv[]) - rc = mdb_txn_commit(txn); - txn = NULL; - if (rc) { -- fprintf(stderr, "%s: line %" Z "d: txn_commit: %s\n", -+ fprintf(stderr, "%s: line %"Yu": txn_commit: %s\n", - prog, lineno, mdb_strerror(rc)); - goto env_close; - } -diff --git a/libraries/liblmdb/mdb_stat.c b/libraries/liblmdb/mdb_stat.c -index a5cda2f..0343a65 100644 ---- a/libraries/liblmdb/mdb_stat.c -+++ b/libraries/liblmdb/mdb_stat.c -@@ -17,11 +17,8 @@ - #include - #include "lmdb.h" - --#ifdef _WIN32 --#define Z "I" --#else --#define Z "z" --#endif -+#define Z MDB_FMT_Z -+#define Yu MDB_PRIy(u) - - static void prstat(MDB_stat *ms) - { -@@ -29,10 +26,10 @@ static void prstat(MDB_stat *ms) - printf(" Page size: %u\n", ms->ms_psize); - #endif - printf(" Tree depth: %u\n", ms->ms_depth); -- printf(" Branch pages: %"Z"u\n", ms->ms_branch_pages); -- printf(" Leaf pages: %"Z"u\n", ms->ms_leaf_pages); -- printf(" Overflow pages: %"Z"u\n", ms->ms_overflow_pages); -- printf(" Entries: %"Z"u\n", ms->ms_entries); -+ printf(" Branch pages: %"Yu"\n", ms->ms_branch_pages); -+ printf(" Leaf pages: %"Yu"\n", ms->ms_leaf_pages); -+ printf(" Overflow pages: %"Yu"\n", ms->ms_overflow_pages); -+ printf(" Entries: %"Yu"\n", ms->ms_entries); - } - - static void usage(char *prog) -@@ -125,11 +122,11 @@ int main(int argc, char *argv[]) - (void)mdb_env_info(env, &mei); - printf("Environment Info\n"); - printf(" Map address: %p\n", mei.me_mapaddr); -- printf(" Map size: %"Z"u\n", mei.me_mapsize); -+ printf(" Map size: %"Yu"\n", mei.me_mapsize); - printf(" Page size: %u\n", mst.ms_psize); -- printf(" Max pages: %"Z"u\n", mei.me_mapsize / mst.ms_psize); -- printf(" Number of pages used: %"Z"u\n", mei.me_last_pgno+1); -- printf(" Last transaction ID: %"Z"u\n", mei.me_last_txnid); -+ printf(" Max pages: %"Yu"\n", mei.me_mapsize / mst.ms_psize); -+ printf(" Number of pages used: %"Yu"\n", mei.me_last_pgno+1); -+ printf(" Last transaction ID: %"Yu"\n", mei.me_last_txnid); - printf(" Max readers: %u\n", mei.me_maxreaders); - printf(" Number of readers used: %u\n", mei.me_numreaders); - } -@@ -156,7 +153,7 @@ int main(int argc, char *argv[]) - if (freinfo) { - MDB_cursor *cursor; - MDB_val key, data; -- size_t pages = 0, *iptr; -+ mdb_size_t pages = 0, *iptr; - - printf("Freelist Status\n"); - dbi = 0; -@@ -176,7 +173,7 @@ int main(int argc, char *argv[]) - pages += *iptr; - if (freinfo > 1) { - char *bad = ""; -- size_t pg, prev; -+ mdb_size_t pg, prev; - ssize_t i, j, span = 0; - j = *iptr++; - for (i = j, prev = 1; --i >= 0; ) { -@@ -187,20 +184,20 @@ int main(int argc, char *argv[]) - pg += span; - for (; i >= span && iptr[i-span] == pg; span++, pg++) ; - } -- printf(" Transaction %"Z"u, %"Z"d pages, maxspan %"Z"d%s\n", -- *(size_t *)key.mv_data, j, span, bad); -+ printf(" Transaction %"Yu", %"Z"d pages, maxspan %"Z"d%s\n", -+ *(mdb_size_t *)key.mv_data, j, span, bad); - if (freinfo > 2) { - for (--j; j >= 0; ) { - pg = iptr[j]; - for (span=1; --j >= 0 && iptr[j] == pg+span; span++) ; -- printf(span>1 ? " %9"Z"u[%"Z"d]\n" : " %9"Z"u\n", -+ printf(span>1 ? " %9"Yu"[%"Z"d]\n" : " %9"Yu"\n", - pg, span); - } - } - } - } - mdb_cursor_close(cursor); -- printf(" Free pages: %"Z"u\n", pages); -+ printf(" Free pages: %"Yu"\n", pages); - } - - rc = mdb_open(txn, subname, 0, &dbi); -diff --git a/libraries/liblmdb/midl.c b/libraries/liblmdb/midl.c -index 5c6d841..9748d8d 100644 ---- a/libraries/liblmdb/midl.c -+++ b/libraries/liblmdb/midl.c -@@ -3,7 +3,7 @@ - /* $OpenLDAP$ */ - /* This work is part of OpenLDAP Software . - * -- * Copyright 2000-2015 The OpenLDAP Foundation. -+ * Copyright 2000-2016 The OpenLDAP Foundation. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -354,5 +354,67 @@ int mdb_mid2l_append( MDB_ID2L ids, MDB_ID2 *id ) - return 0; - } - -+#ifdef MDB_VL32 -+unsigned mdb_mid3l_search( MDB_ID3L ids, MDB_ID id ) -+{ -+ /* -+ * binary search of id in ids -+ * if found, returns position of id -+ * if not found, returns first position greater than id -+ */ -+ unsigned base = 0; -+ unsigned cursor = 1; -+ int val = 0; -+ unsigned n = (unsigned)ids[0].mid; -+ -+ while( 0 < n ) { -+ unsigned pivot = n >> 1; -+ cursor = base + pivot + 1; -+ val = CMP( id, ids[cursor].mid ); -+ -+ if( val < 0 ) { -+ n = pivot; -+ -+ } else if ( val > 0 ) { -+ base = cursor; -+ n -= pivot + 1; -+ -+ } else { -+ return cursor; -+ } -+ } -+ -+ if( val > 0 ) { -+ ++cursor; -+ } -+ return cursor; -+} -+ -+int mdb_mid3l_insert( MDB_ID3L ids, MDB_ID3 *id ) -+{ -+ unsigned x, i; -+ -+ x = mdb_mid3l_search( ids, id->mid ); -+ -+ if( x < 1 ) { -+ /* internal error */ -+ return -2; -+ } -+ -+ if ( x <= ids[0].mid && ids[x].mid == id->mid ) { -+ /* duplicate */ -+ return -1; -+ } -+ -+ /* insert id */ -+ ids[0].mid++; -+ for (i=(unsigned)ids[0].mid; i>x; i--) -+ ids[i] = ids[i-1]; -+ ids[x] = *id; -+ -+ return 0; -+} -+#endif /* MDB_VL32 */ -+ - /** @} */ - /** @} */ -diff --git a/libraries/liblmdb/midl.h b/libraries/liblmdb/midl.h -index 2331e78..dc532c4 100644 ---- a/libraries/liblmdb/midl.h -+++ b/libraries/liblmdb/midl.h -@@ -11,7 +11,7 @@ - /* $OpenLDAP$ */ - /* This work is part of OpenLDAP Software . - * -- * Copyright 2000-2015 The OpenLDAP Foundation. -+ * Copyright 2000-2016 The OpenLDAP Foundation. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without -@@ -26,7 +26,7 @@ - #ifndef _MDB_MIDL_H_ - #define _MDB_MIDL_H_ - --#include -+#include "lmdb.h" - - #ifdef __cplusplus - extern "C" { -@@ -42,7 +42,7 @@ extern "C" { - /** A generic unsigned ID number. These were entryIDs in back-bdb. - * Preferably it should have the same size as a pointer. - */ --typedef size_t MDB_ID; -+typedef mdb_size_t MDB_ID; - - /** An IDL is an ID List, a sorted array of IDs. The first - * element of the array is a counter for how many actual -@@ -55,7 +55,11 @@ typedef MDB_ID *MDB_IDL; - /* IDL sizes - likely should be even bigger - * limiting factors: sizeof(ID), thread stack size - */ -+#ifdef MDB_VL32 -+#define MDB_IDL_LOGN 14 /* DB_SIZE is 2^14, UM_SIZE is 2^15 */ -+#else - #define MDB_IDL_LOGN 16 /* DB_SIZE is 2^16, UM_SIZE is 2^17 */ -+#endif - #define MDB_IDL_DB_SIZE (1< -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) + vcpkg_download_distfile(ARCHIVE URLS "https://www.lua.org/ftp/lua-5.3.5.tar.gz" FILENAME "lua-5.3.5.tar.gz" @@ -32,6 +25,20 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +if("cpp" IN_LIST FEATURES) + vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCOMPILE_AS_CPP=ON + OPTIONS_DEBUG + -DSKIP_INSTALL_HEADERS=ON + -DSKIP_INSTALL_TOOLS=ON + ) + + vcpkg_install_cmake() +endif() + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) file(READ ${CURRENT_PACKAGES_DIR}/include/luaconf.h LUA_CONF_H) diff --git a/ports/luabridge/CONTROL b/ports/luabridge/CONTROL index 7c2a41aa4..db2ffcedf 100644 --- a/ports/luabridge/CONTROL +++ b/ports/luabridge/CONTROL @@ -1,3 +1,3 @@ Source: luabridge -Version: 2.3.1 +Version: 2.3.2 Description: A lightweight, dependency-free library for binding Lua to C++ diff --git a/ports/luabridge/portfile.cmake b/ports/luabridge/portfile.cmake index 9b9ccbb42..cc5331fcc 100644 --- a/ports/luabridge/portfile.cmake +++ b/ports/luabridge/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vinniefalco/LuaBridge - REF 2.3.1 - SHA512 6478410ec5863f40087f023a68c585b4c84974aa27dd522552094f6c823bee9820edc77685a9932b5d7d74f26cced4d624810dbfbaa3694f55c0b7803d2d5216 + REF b6f17446265865e0ba06bea4d8e328eebfa2b9f0 + SHA512 a422489826ae7047a794948b315f1f9abf8a3201da1d2bf31212a0fd24f47e7a86f17803b1dc678dfc1e0f6724c8e5333bea1a5c7d1e4814e59604cebaa311da HEAD_REF master ) diff --git a/ports/luafilesystem/CONTROL b/ports/luafilesystem/CONTROL index d6d96910c..e05ed6df3 100644 --- a/ports/luafilesystem/CONTROL +++ b/ports/luafilesystem/CONTROL @@ -1,5 +1,5 @@ Source: luafilesystem -Version: 1.7.0.2 +Version: 1.7.0.2-1 Homepage: https://github.com/keplerproject/luafilesystem Description: LuaFileSystem is a Lua library developed to complement the set of functions related to file systems offered by the standard Lua distribution. Build-Depends: lua diff --git a/ports/luafilesystem/portfile.cmake b/ports/luafilesystem/portfile.cmake index 74c3d116a..da13d7e55 100644 --- a/ports/luafilesystem/portfile.cmake +++ b/ports/luafilesystem/portfile.cmake @@ -4,18 +4,15 @@ set(LUAFILESYSTEM_VERSION 1.7.0.2) set(LUAFILESYSTEM_REVISION v1_7_0_2) set(LUAFILESYSTEM_HASH a1d4d077776e57cd878dbcd21656da141ea3686c587b5420a2b039aeaf086b7e7d05d531ee1cc2bbd7d06660d1315b09593e52143f6711f033ce8eecdc550511) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/luafilesystem-${LUAFILESYSTEM_VERSION}) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO keplerproject/luafilesystem REF ${LUAFILESYSTEM_REVISION} SHA512 ${LUAFILESYSTEM_HASH} - HEAD_REF master) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} + HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/lfs-def-fix.patch) + lfs-def-fix.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/luajit/002-fix-build-path.patch b/ports/luajit/002-fix-build-path.patch new file mode 100644 index 000000000..b97bf689f --- /dev/null +++ b/ports/luajit/002-fix-build-path.patch @@ -0,0 +1,124 @@ +diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat +index 6f64a49..ba77cd5 100644 +--- a/src/msvcbuild.bat ++++ b/src/msvcbuild.bat +@@ -14,17 +14,18 @@ + @if not defined INCLUDE goto :FAIL + + @setlocal +-@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline ++@set SOURCEDIR=%1 ++@set LJCOMPILE=cl /nologo /c /O2 /W3 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_STDIO_INLINE=__declspec(dllexport)__inline /I%SOURCEDIR% + @set LJLINK=link /nologo + @set LJMT=mt /nologo + @set LJLIB=lib /nologo /nodefaultlib +-@set DASMDIR=..\dynasm ++@set DASMDIR=%SOURCEDIR%\..\dynasm + @set DASM=%DASMDIR%\dynasm.lua + @set LJDLLNAME=lua51.dll + @set LJLIBNAME=lua51.lib +-@set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c ++@set ALL_LIB=%SOURCEDIR%\lib_base.c %SOURCEDIR%\lib_math.c %SOURCEDIR%\lib_bit.c %SOURCEDIR%\lib_string.c %SOURCEDIR%\lib_table.c %SOURCEDIR%\lib_io.c %SOURCEDIR%\lib_os.c %SOURCEDIR%\lib_package.c %SOURCEDIR%\lib_debug.c %SOURCEDIR%\lib_jit.c %SOURCEDIR%\lib_ffi.c + +-%LJCOMPILE% host\minilua.c ++%LJCOMPILE% %SOURCEDIR%\host\minilua.c /Fdminilua.pdb + @if errorlevel 1 goto :BAD + %LJLINK% /out:minilua.exe minilua.obj + @if errorlevel 1 goto :BAD +@@ -38,10 +39,10 @@ if exist minilua.exe.manifest^ + @set DASMFLAGS=-D WIN -D JIT -D FFI + @set LJARCH=x86 + :X64 +-minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h vm_x86.dasc ++minilua %DASM% -LN %DASMFLAGS% -o %SOURCEDIR%\host\buildvm_arch.h %SOURCEDIR%\vm_x86.dasc + @if errorlevel 1 goto :BAD + +-%LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c ++%LJCOMPILE% /I "." /I %DASMDIR% %SOURCEDIR%\host\buildvm*.c /Fdbuildvm.pdb + @if errorlevel 1 goto :BAD + %LJLINK% /out:buildvm.exe buildvm*.obj + @if errorlevel 1 goto :BAD +@@ -50,30 +51,30 @@ if exist buildvm.exe.manifest^ + + buildvm -m peobj -o lj_vm.obj + @if errorlevel 1 goto :BAD +-buildvm -m bcdef -o lj_bcdef.h %ALL_LIB% ++buildvm -m bcdef -o %SOURCEDIR%\lj_bcdef.h %ALL_LIB% + @if errorlevel 1 goto :BAD +-buildvm -m ffdef -o lj_ffdef.h %ALL_LIB% ++buildvm -m ffdef -o %SOURCEDIR%\lj_ffdef.h %ALL_LIB% + @if errorlevel 1 goto :BAD +-buildvm -m libdef -o lj_libdef.h %ALL_LIB% ++buildvm -m libdef -o %SOURCEDIR%\lj_libdef.h %ALL_LIB% + @if errorlevel 1 goto :BAD +-buildvm -m recdef -o lj_recdef.h %ALL_LIB% ++buildvm -m recdef -o %SOURCEDIR%\lj_recdef.h %ALL_LIB% + @if errorlevel 1 goto :BAD +-buildvm -m vmdef -o jit\vmdef.lua %ALL_LIB% ++buildvm -m vmdef -o %SOURCEDIR%\jit\vmdef.lua %ALL_LIB% + @if errorlevel 1 goto :BAD +-buildvm -m folddef -o lj_folddef.h lj_opt_fold.c ++buildvm -m folddef -o %SOURCEDIR%\lj_folddef.h %SOURCEDIR%\lj_opt_fold.c + @if errorlevel 1 goto :BAD + +-@if "%1" neq "debug" goto :NODEBUG ++@set LJLINK=%LJLINK% /debug ++@if "%2" neq "debug" goto :NODEBUG + @shift + @set LJCOMPILE=%LJCOMPILE% /Zi +-@set LJLINK=%LJLINK% /debug + @set DEBUG=1 + :NODEBUG +-@if "%1"=="amalg" goto :AMALGDLL +-@if "%1"=="static" goto :STATIC ++@if "%2"=="amalg" goto :AMALGDLL ++@if "%2"=="static" goto :STATIC + @if "%DEBUG%"=="1" set LJCOMPILE=%LJCOMPILE% /MDd + @if "%DEBUG%"=="" set LJCOMPILE=%LJCOMPILE% /MD +-%LJCOMPILE% /DLUA_BUILD_AS_DLL lj_*.c lib_*.c ++%LJCOMPILE% /DLUA_BUILD_AS_DLL %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb + @if errorlevel 1 goto :BAD + %LJLINK% /DLL /out:%LJDLLNAME% lj_*.obj lib_*.obj + @if errorlevel 1 goto :BAD +@@ -81,13 +82,13 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c + :STATIC + @if "%DEBUG%"=="1" set LJCOMPILE=%LJCOMPILE% /MTd + @if "%DEBUG%"=="" set LJCOMPILE=%LJCOMPILE% /MT +-%LJCOMPILE% lj_*.c lib_*.c ++%LJCOMPILE% %SOURCEDIR%\lj_*.c %SOURCEDIR%\lib_*.c /Fdlua51.pdb + @if errorlevel 1 goto :BAD + %LJLIB% /OUT:%LJLIBNAME% lj_*.obj lib_*.obj + @if errorlevel 1 goto :BAD + @goto :MTDLL + :AMALGDLL +-%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL ljamalg.c ++%LJCOMPILE% /MD /DLUA_BUILD_AS_DLL %SOURCEDIR%\ljamalg.c + @if errorlevel 1 goto :BAD + %LJLINK% /DLL /out:%LJDLLNAME% ljamalg.obj lj_vm.obj + @if errorlevel 1 goto :BAD +@@ -95,7 +96,7 @@ buildvm -m folddef -o lj_folddef.h lj_opt_fold.c + if exist %LJDLLNAME%.manifest^ + %LJMT% -manifest %LJDLLNAME%.manifest -outputresource:%LJDLLNAME%;2 + +-%LJCOMPILE% luajit.c ++%LJCOMPILE% %SOURCEDIR%\luajit.c /Fdluajit.pdb + @if errorlevel 1 goto :BAD + %LJLINK% /out:luajit.exe luajit.obj %LJLIBNAME% + @if errorlevel 1 goto :BAD +@@ -103,8 +104,8 @@ if exist luajit.exe.manifest^ + %LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe + + @del *.obj *.manifest minilua.exe buildvm.exe +-@del host\buildvm_arch.h +-@del lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h ++@del %SOURCEDIR%\host\buildvm_arch.h ++@del %SOURCEDIR%\lj_bcdef.h %SOURCEDIR%\lj_ffdef.h %SOURCEDIR%\lj_libdef.h %SOURCEDIR%\lj_recdef.h %SOURCEDIR%\lj_folddef.h + @echo. + @echo === Successfully built LuaJIT for Windows/%LJARCH% === + +@@ -117,4 +118,5 @@ if exist luajit.exe.manifest^ + @goto :END + :FAIL + @echo You must open a "Visual Studio .NET Command Prompt" to run this script ++exit 1 + :END diff --git a/ports/luajit/CONTROL b/ports/luajit/CONTROL index fb9c9d646..9b02c5b2b 100644 --- a/ports/luajit/CONTROL +++ b/ports/luajit/CONTROL @@ -1,4 +1,4 @@ Source: luajit -Version: 2.0.5-1 +Version: 2.0.5-2 Homepage: https://github.com/LuaJIT/LuaJIT Description: LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language. diff --git a/ports/luajit/portfile.cmake b/ports/luajit/portfile.cmake index 326929d17..dff84bfcb 100644 --- a/ports/luajit/portfile.cmake +++ b/ports/luajit/portfile.cmake @@ -4,82 +4,72 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "LuaJIT currently only supports being built for desktop") endif() -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/LuaJIT-2.0.5) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO LuaJIT/LuaJIT REF v2.0.5 SHA512 65d982d7fe532a61335613f414f3b8fa5333747bdf7aefc2c2d52022d227594ade827639049b97e3c4ffae9f38f32cb15f1a17b1780fb0a943e1a3af05e2b576 HEAD_REF master + PATCHES + 001-fixStaticBuild.patch + 002-fix-build-path.patch ) -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/luajit) - -set (SRC ${SOURCE_PATH}/src) - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) set (LJIT_STATIC "") else() set (LJIT_STATIC "static") endif() -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/001-fixStaticBuild.patch -) - -message(STATUS "Building ${TARGET_TRIPLET}-dbg") - -file(REMOVE "${SRC}/*.dll") -file(REMOVE "${SRC}/*.exe") -file(REMOVE "${SRC}/*.lib") - -vcpkg_execute_required_process_repeat( - COUNT 1 - COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" debug ${LJIT_STATIC} - WORKING_DIRECTORY "${SOURCE_PATH}/src/" - LOGNAME build-${TARGET_TRIPLET}-dbg -) - -file(INSTALL ${SRC}/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools) -file(INSTALL ${SRC}/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${SRC}/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) +if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + + vcpkg_execute_required_process_repeat( + COUNT 1 + COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${SOURCE_PATH}/src debug ${LJIT_STATIC} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" + LOGNAME build-${TARGET_TRIPLET}-dbg + ) + + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() + vcpkg_copy_pdbs() endif() -vcpkg_copy_pdbs() -file(REMOVE "${SRC}/*.dll") -file(REMOVE "${SRC}/*.exe") -file(REMOVE "${SRC}/*.lib") -message(STATUS "Building ${TARGET_TRIPLET}-rel") - -vcpkg_execute_required_process_repeat(d8un - COUNT 1 - COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${LJIT_STATIC} - WORKING_DIRECTORY "${SOURCE_PATH}/src/" - LOGNAME build-${TARGET_TRIPLET}-rel -) - -file(INSTALL ${SRC}/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) -file(INSTALL ${SRC}/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(INSTALL ${SRC}/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) +if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release) + message(STATUS "Building ${TARGET_TRIPLET}-rel") + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") + + vcpkg_execute_required_process_repeat(d8un + COUNT 1 + COMMAND "${SOURCE_PATH}/src/msvcbuild.bat" ${SOURCE_PATH}/src ${LJIT_STATIC} + WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" + LOGNAME build-${TARGET_TRIPLET}-rel + ) + + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/luajit.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lua51.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + endif() + vcpkg_copy_pdbs() endif() -vcpkg_copy_pdbs() -file(INSTALL ${SRC}/lua.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit) -file(INSTALL ${SRC}/luajit.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit) -file(INSTALL ${SRC}/luaconf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit) -file(INSTALL ${SRC}/lualib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit) -file(INSTALL ${SRC}/lauxlib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit) -file(INSTALL ${SRC}/lua.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/luajit) +file(INSTALL ${SOURCE_PATH}/src/lua.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(INSTALL ${SOURCE_PATH}/src/luajit.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(INSTALL ${SOURCE_PATH}/src/luaconf.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(INSTALL ${SOURCE_PATH}/src/lualib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(INSTALL ${SOURCE_PATH}/src/lauxlib.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(INSTALL ${SOURCE_PATH}/src/lua.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -file(REMOVE "${SRC}/*.dll") -file(REMOVE "${SRC}/*.exe") -file(REMOVE "${SRC}/*.lib") +# Handle copyright +file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) \ No newline at end of file diff --git a/ports/lz4/CONTROL b/ports/lz4/CONTROL index e6e99dd6a..a00b88454 100644 --- a/ports/lz4/CONTROL +++ b/ports/lz4/CONTROL @@ -1,5 +1,5 @@ Source: lz4 -Version: 1.9.1-2 +Version: 1.9.2 Homepage: https://github.com/lz4/lz4 Description: Lossless compression algorithm, providing compression speed at 400 MB/s per core. Build-Depends: xxhash \ No newline at end of file diff --git a/ports/lz4/portfile.cmake b/ports/lz4/portfile.cmake index e7f1ee461..3468236bf 100644 --- a/ports/lz4/portfile.cmake +++ b/ports/lz4/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lz4/lz4 - REF v1.9.1 - SHA512 536cdeb6dd73b4769cf9501ad312b004ab01699758534b47ca2eddbc815fd374a3caba40cde36f73a7a70e134065836b733e2b0c023c31740b877ef9317ccf3e + REF v1.9.2 + SHA512 ae714c61ec8e33ed91359b63f2896cfa102d66b730dce112b74696ec5850e59d88bd5527173e01e354a70fbe8f036557a47c767ee0766bc5f9c257978116c3c1 HEAD_REF dev ) diff --git a/ports/lzfse/CONTROL b/ports/lzfse/CONTROL index 98fdf6c0d..f79063ad9 100644 --- a/ports/lzfse/CONTROL +++ b/ports/lzfse/CONTROL @@ -1,4 +1,4 @@ Source: lzfse -Version: 1.0-1 +Version: 1.0-2 Homepage: https://github.com/lzfse/lzfse Description: Lempel-Ziv style data compressor using Finite State Entropy coding. diff --git a/ports/lzfse/portfile.cmake b/ports/lzfse/portfile.cmake index 80d9e2f10..65a17927e 100644 --- a/ports/lzfse/portfile.cmake +++ b/ports/lzfse/portfile.cmake @@ -8,10 +8,10 @@ vcpkg_from_github( REPO lzfse/lzfse REF lzfse-1.0 SHA512 9d7ca44e6d3d2bdf4b82b0eb66c14922369b8b6fe2cf891187a77c6708b8d26c2c1b2ccddec6059e85dbbbb37c497419549f02812b5f34d06238ac246a8cf912 - HEAD_REF master) - -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/disable-cli-option.patch) + HEAD_REF master + PATCHES + disable-cli-option.patch +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/lzo/CONTROL b/ports/lzo/CONTROL index cd1149f61..10d403d68 100644 --- a/ports/lzo/CONTROL +++ b/ports/lzo/CONTROL @@ -1,4 +1,4 @@ Source: lzo -Version: 2.10-2 +Version: 2.10-4 Homepage: https://www.oberhumer.com/opensource/lzo/ Description: Lossless data compression library diff --git a/ports/lzo/portfile.cmake b/ports/lzo/portfile.cmake index b8faeb358..1069403dd 100644 --- a/ports/lzo/portfile.cmake +++ b/ports/lzo/portfile.cmake @@ -1,19 +1,15 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/lzo-2.10) + vcpkg_download_distfile(ARCHIVE URLS "http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz" FILENAME "lzo-2.10.tar.gz" SHA512 a3dae5e4a6b93b1f5bf7435e8ab114a9be57252e9efc5dd444947d7a2d031b0819f34bcaeb35f60b5629a01b1238d738735a64db8f672be9690d3c80094511a4 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) set(LZO_STATIC OFF) set(LZO_SHARED OFF) @@ -47,6 +43,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) file(WRITE ${CURRENT_PACKAGES_DIR}/include/lzo/lzoconf.h "${LZO_CONFIG}") endif() -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/lzo) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/lzo/COPYING ${CURRENT_PACKAGES_DIR}/share/lzo/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/magic-enum/CONTROL b/ports/magic-enum/CONTROL index 590b8d758..070b202fd 100644 --- a/ports/magic-enum/CONTROL +++ b/ports/magic-enum/CONTROL @@ -1,3 +1,4 @@ Source: magic-enum -Version: 2019-06-07 +Version: 0.6.3-1 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 95be6cc27..3a8fca1c2 100644 --- a/ports/magic-enum/portfile.cmake +++ b/ports/magic-enum/portfile.cmake @@ -1,22 +1,26 @@ -include(vcpkg_common_functions) +# header-only library vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO "Neargye/magic_enum" - REF 4dfaa4b7b4814c2cf85b08ad3084fc28c8b129c6 - SHA512 924e5a134f4200652fdc3f3d676b49efa8c30b5577d638f60134ce81092b23f7976a494ce50b58b25ed7bce0653a7e29206acf9e512408c4701ec6822ab2d176 + REPO Neargye/magic_enum + REF v0.6.3 + SHA512 ac5e1a08c491c380980b1ca928cd545f0f062818e5946904e6f17803f6e6578f4a7f882896b22681537ef7c559897b002aacc52f8fe35d22ea528d1b5e491e63 + HEAD_REF master ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA + PREFER_NINJA OPTIONS - -DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF - -DMAGIC_ENUM_OPT_BUILD_TESTS=OFF + -DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF + -DMAGIC_ENUM_OPT_BUILD_TESTS=OFF ) 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) -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/magic-enum RENAME copyright) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/magic-get/CONTROL b/ports/magic-get/CONTROL new file mode 100644 index 000000000..c59f8b85c --- /dev/null +++ b/ports/magic-get/CONTROL @@ -0,0 +1,4 @@ +Source: magic-get +Version: 2019-09-02 +Homepage: https://github.com/apolukhin/magic_get +Description: This C++14 library is meant for accessing structure elements by index and providing other std::tuple like methods for user defined types without any macro or boilerplate code. \ No newline at end of file diff --git a/ports/magic-get/portfile.cmake b/ports/magic-get/portfile.cmake new file mode 100644 index 000000000..f66b4310c --- /dev/null +++ b/ports/magic-get/portfile.cmake @@ -0,0 +1,21 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO apolukhin/magic_get + REF abb467c0e22a83bf75a46a9e6610370fabfc39af #Branch develop, Commits on Sep 2, 2019 + SHA512 1feb5d105d13a20aec8ab2c748dbd79ecc5d2267c8c0ee7db93a3d0c6b7186ea0c475fdc14712e78502ea839788f6dfb0b359e3fedbec59d331dafe137326fa4 + HEAD_REF develop +) + +vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://www.boost.org/LICENSE_1_0.txt" + FILENAME "boost_license_1_0.txt" + SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 +) + +file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + +# Handle copyright +# On Homepage README.md, License Distributed under the Boost Software License, Version 1.0. https://www.boost.org/LICENSE_1_0.txt +file(INSTALL ${VCPKG_ROOT_DIR}/downloads/boost_license_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/magnum-extras/CONTROL b/ports/magnum-extras/CONTROL index 7ff04cb63..d1d889d20 100644 --- a/ports/magnum-extras/CONTROL +++ b/ports/magnum-extras/CONTROL @@ -1,10 +1,9 @@ -Source: magnum-extras -Version: 2019.01-1 -Build-Depends: magnum[core] -Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization -Homepage: https://magnum.graphics/ -Default-Features: - -Feature: ui -Description: Ui library -Build-Depends: corrade[interconnect], magnum[text] +Source: magnum-extras +Version: 2019.10 +Build-Depends: magnum[core] +Description: Extras for magnum, C++11/C++14 graphics middleware for games and data visualization +Homepage: https://magnum.graphics/ + +Feature: ui +Description: Ui library +Build-Depends: corrade[interconnect], magnum[text] diff --git a/ports/magnum-extras/portfile.cmake b/ports/magnum-extras/portfile.cmake index 7941aeee9..f5075fdaa 100644 --- a/ports/magnum-extras/portfile.cmake +++ b/ports/magnum-extras/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/magnum-extras - REF v2019.01 - SHA512 b7116e53a6132c937ad1dc10d251d0b98884375a14e947c5ddfa046cd7a8e7e60eddf2802e1c945168fcb42d78fb13639fe65ea259c6a44f064e6065ee5ae3af + REF v2019.10 + SHA512 75335a75f1662e6223d2be7bc2f3cdb12af0e13ed11f3551dbd68a9488ab2e37ba9cd7ee786cc13e545689ed213558b305bfaffbaf8fa7d3be61eb21eeeeba4a HEAD_REF master ) @@ -37,7 +37,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/MagnumExtras TARGET_PATH share/MagnumExtras) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/MagnumExtras TARGET_PATH share/magnumextras) # Messages to the user if("ui" IN_LIST FEATURES) diff --git a/ports/magnum-integration/CONTROL b/ports/magnum-integration/CONTROL index 538320497..05fce1f61 100644 --- a/ports/magnum-integration/CONTROL +++ b/ports/magnum-integration/CONTROL @@ -1,14 +1,17 @@ Source: magnum-integration -Version: 2019.01-1 +Version: 2019.10 Build-Depends: magnum[core] -Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization +Description: Integrations for magnum, C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ -Default-Features: Feature: bullet Description: BulletIntegration library Build-Depends: bullet3 +Feature: eigen +Description: EigenIntegration library +Build-Depends: eigen3 + Feature: glm Description: GlmIntegration library Build-Depends: glm @@ -22,4 +25,3 @@ Build-Depends: imgui #Feature: dart #Description: DartIntegration library #Build-Depends: dart - diff --git a/ports/magnum-integration/portfile.cmake b/ports/magnum-integration/portfile.cmake index 60231be97..c079ee445 100644 --- a/ports/magnum-integration/portfile.cmake +++ b/ports/magnum-integration/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/magnum-integration - REF v2019.01 - SHA512 4f892c30c3824aea5d51b9178ca5001b97eb89659b45ac6f5f2182ea2a3a8ff54d80e6b143679ea7f5a07c408afb480d11895c6e7afdc9003951f68e14000f9f + REF v2019.10 + SHA512 be8b21da07b9720ad19263d6ee0a234ff97ee4a1d5770e3ab33047bc54711689532945b099431c24f6ae863bb55a0883b3ba34a48d7d17768082b26651a9621e HEAD_REF master ) diff --git a/ports/magnum-plugins/CONTROL b/ports/magnum-plugins/CONTROL index ef4c4084c..c298e9417 100644 --- a/ports/magnum-plugins/CONTROL +++ b/ports/magnum-plugins/CONTROL @@ -1,7 +1,7 @@ Source: magnum-plugins -Version: 2019.01-1 +Version: 2019.10 Build-Depends: magnum[core] -Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization +Description: Plugins for magnum, C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ Default-Features: ddsimporter, miniexrimageconverter, opengeximporter, stanfordimporter, stbimageconverter, stbimageimporter @@ -12,6 +12,14 @@ Build-Depends: assimp, magnum[anyimageimporter], magnum[trade] Feature: openddl Description: OpenDdl library +Feature: basisimageconverter +Description: BasisImageConverter plugin +Build-Depends: magnum[trade], basisu + +Feature: basisimporter +Description: BasisImporter plugin +Build-Depends: magnum[trade], basisu + Feature: ddsimporter Description: DdsImporter plugin Build-Depends: magnum[trade] @@ -24,10 +32,13 @@ Feature: drflacaudioimporter Description: DrFlacAudioImporter plugin Build-Depends: magnum[audio] +Feature: drmp3audioimporter +Description: DrMp3AudioImporter plugin +Build-Depends: magnum[audio] + Feature: drwavaudioimporter Description: DrWavAudioImporter plugin Build-Depends: magnum[audio] -# #Feature: faad2audioimporter #Description: Faad2AudioImporter plugin #Build-Depends: magnum[audio], faad2 diff --git a/ports/magnum-plugins/portfile.cmake b/ports/magnum-plugins/portfile.cmake index c013a0841..96c87e77e 100644 --- a/ports/magnum-plugins/portfile.cmake +++ b/ports/magnum-plugins/portfile.cmake @@ -2,15 +2,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/magnum-plugins - REF v2019.01 - SHA512 482131372671ce0b86b6643f8c584f000db4324fe0f7e32bf9a31febded7b97ab7e947028fe21ce649554d2cff2bc11dfd94fad0006c465911c9f44b28c2d2a5 + REF v2019.10 + SHA512 702c43b0d323dc5b903ffee3dd9aaecf2de3b6bb00e7b243880e433df12efe337e512aac75a6f38adce02eb94f3065770ff6a03b7241198f27b5c46de63e5750 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/001-tools-path.patch + 001-tools-path.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/ports/magnum/003-glfw-find-module.patch b/ports/magnum/003-glfw-find-module.patch deleted file mode 100644 index 8dd37d010..000000000 --- a/ports/magnum/003-glfw-find-module.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/modules/FindGLFW.cmake b/modules/FindGLFW.cmake -index 5e13798f7..d7cb12b03 100644 ---- a/modules/FindGLFW.cmake -+++ b/modules/FindGLFW.cmake -@@ -64,7 +64,7 @@ if(TARGET glfw) - endif() - - # In case no config file was found, try manually finding the library. --find_library(GLFW_LIBRARY NAMES glfw glfw3) -+find_library(GLFW_LIBRARY NAMES glfw glfw3 glfw3dll) - - # Include dir - find_path(GLFW_INCLUDE_DIR diff --git a/ports/magnum/CONTROL b/ports/magnum/CONTROL index 89bcff28e..0570cb4dc 100644 --- a/ports/magnum/CONTROL +++ b/ports/magnum/CONTROL @@ -1,7 +1,7 @@ Source: magnum -Version: 2019.01-1 +Version: 2019.10 Build-Depends: corrade[utility] -Description: C++11/C++14 graphics middleware for games and data visualization +Description: C++11/C++14 graphics middleware for games and data visualization Homepage: https://magnum.graphics/ Default-Features: anyimageimporter, anyaudioimporter, anyimageconverter, anysceneimporter, debugtools, gl, meshtools, primitives, scenegraph, shaders, text, texturetools, trade, sdl2application @@ -117,6 +117,34 @@ Feature: windowlesswglapplication Description: WindowlessWglApplication library Build-Depends: magnum[gl] +Feature: eglcontext +Description: EglContext library +Build-Depends: magnum[gl] + +Feature: cglcontext +Description: CglContext library +Build-Depends: magnum[gl] + +Feature: glxcontext +Description: GlxContext library +Build-Depends: magnum[gl] + Feature: wglcontext Description: WglContext library Build-Depends: magnum[gl] + +Feature: windowlesseglapplication +Description: WindowlessEglApplication library +Build-Depends: magnum[gl] + +Feature: eglcontext +Description: EglContext library +Build-Depends: magnum[gl] + +Feature: windowlessglxapplication +Description: WindowlessGlxApplication library +Build-Depends: magnum[gl] + +Feature: glxcontext +Description: GlxContext library +Build-Depends: magnum[gl] diff --git a/ports/magnum/portfile.cmake b/ports/magnum/portfile.cmake index 9b8d3b424..113698702 100644 --- a/ports/magnum/portfile.cmake +++ b/ports/magnum/portfile.cmake @@ -2,17 +2,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mosra/magnum - REF v2019.01 - SHA512 1edce0a38af90bd456a827b073d30d470a13b47797d62ba22001643be7519722c6886498a63be5e2ee65b8649a7eb2c217bbe2cd36ab4f4523d91aaee573ffd5 + REF v2019.10 + SHA512 b1c991199fa9b09b780ea822de4b2251c70fcc95e7f28bb14a6184861d92fcd4c6e6fe43ad21acfbfd191cd46e79bf58b867240ad6f706b07cd1fbe145b8eaff HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/001-sdl-includes.patch - ${CMAKE_CURRENT_LIST_DIR}/002-tools-path.patch - ${CMAKE_CURRENT_LIST_DIR}/003-glfw-find-module.patch + 001-sdl-includes.patch + 002-tools-path.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/ports/marl/CONTROL b/ports/marl/CONTROL new file mode 100644 index 000000000..f3a24fdcd --- /dev/null +++ b/ports/marl/CONTROL @@ -0,0 +1,4 @@ +Source: marl +Version: 2019-09-13 +Description: A hybrid thread/fiber task scheduler written in C++ 11 +Homepage: https://github.com/google/marl diff --git a/ports/marl/portfile.cmake b/ports/marl/portfile.cmake new file mode 100644 index 000000000..225aa93aa --- /dev/null +++ b/ports/marl/portfile.cmake @@ -0,0 +1,34 @@ +include(vcpkg_common_functions) + +if(VCPKG_TARGET_IS_UWP) + message(FATAL_ERROR "This port doesn't support UWP currently!") +endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO google/marl + REF bf3e23083979c3bd3de1c77346b655eec423b3bc + SHA512 8c85b9a2b7e3cb397fc11c4bf32c5f62d4113ab6af92861c93472299f1b9296edef4dd8d1eb24db242fe55b52f33d2e058a4ce91fbaa793ffa4d5f4c8e336251 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DMARL_INSTALL=ON +) + +vcpkg_install_cmake() + +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) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/mathc/CMakeLists.txt b/ports/mathc/CMakeLists.txt new file mode 100644 index 000000000..7c221bec1 --- /dev/null +++ b/ports/mathc/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.14) + +project(mathc LANGUAGES C) + +include(GNUInstallDirs) + +add_library(mathc mathc.c) + +target_include_directories( + mathc + PUBLIC + $ +) + +set_target_properties(mathc PROPERTIES PUBLIC_HEADER mathc.h) + +install(TARGETS mathc EXPORT unofficial-mathc-config) + +install( + EXPORT unofficial-mathc-config + NAMESPACE unofficial::mathc:: + DESTINATION share/unofficial-mathc + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/mathc/CONTROL b/ports/mathc/CONTROL new file mode 100644 index 000000000..47292b5c4 --- /dev/null +++ b/ports/mathc/CONTROL @@ -0,0 +1,4 @@ +Source: mathc +Version: 2019-09-29 +Description: Pure C math library for 2D and 3D programming +Homepage: https://github.com/felselva/mathc diff --git a/ports/mathc/portfile.cmake b/ports/mathc/portfile.cmake new file mode 100644 index 000000000..7b3d263e2 --- /dev/null +++ b/ports/mathc/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO felselva/mathc + REF d672725203fc80f6f79fba64533b87d51c32d714 + SHA512 6db96b7ca9b26745b6ead774b547f6cccdecaef0b55cb766d4f26ae7149bbb72e2bd877cb7994455bd19cae129d014efaf40b50395b1114b7ac95dc6ed53bf34 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +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}) diff --git a/ports/mathgl/CONTROL b/ports/mathgl/CONTROL index 211c435e8..a600207e3 100644 --- a/ports/mathgl/CONTROL +++ b/ports/mathgl/CONTROL @@ -1,5 +1,5 @@ Source: mathgl -Version: 2.4.3 +Version: 2.4.3-3 Description: MathGL is a free library of fast C++ routines for the plotting of the data varied in one or more dimensions Default-Features: opengl, jpeg, png, zlib diff --git a/ports/mathgl/fix_cmakelists_and_cpp.patch b/ports/mathgl/fix_cmakelists_and_cpp.patch new file mode 100644 index 000000000..a929f1ebe --- /dev/null +++ b/ports/mathgl/fix_cmakelists_and_cpp.patch @@ -0,0 +1,153 @@ +diff --git a/mgllab/CMakeLists.txt b/mgllab/CMakeLists.txt +index 1649104..eeec1c1 100644 +--- a/mgllab/CMakeLists.txt ++++ b/mgllab/CMakeLists.txt +@@ -38,7 +38,11 @@ if(MGL_HAVE_FLTK) + set(mgllab_src ${mgllab_src} mgllab.rc) + endif(WIN32) + add_executable(mgllab ${mgllab_src} ${mgllab_hdr}) +- target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES}) ++ if(WIN32) ++ target_link_libraries(mgllab mgl mgl-fltk mgl-fltk-static mgl-static getopt-static ${FLTK_LIBRARIES}) ++ else(WIN32) ++ target_link_libraries(mgllab mgl mgl-fltk ${FLTK_LIBRARIES}) ++ endif(WIN32) + install( + TARGETS mgllab + RUNTIME DESTINATION bin ) +diff --git a/mgllab/table.cpp b/mgllab/table.cpp +index 5243549..23eebe5 100644 +--- a/mgllab/table.cpp ++++ b/mgllab/table.cpp +@@ -559,8 +559,13 @@ public: + o->tooltip(_("Change data values and close this window")); + w->set_modal(); w->end(); + } +- double min() { return wmin->value(); } +- double max() { return wmax->value(); } ++ #if WIN32 ++ double _min() { return wmin->value(); } ++ double _max() { return wmax->value(); } ++ #else ++ double min() { return wmin->value(); } ++ double max() { return wmax->value(); } ++ #endif + int sym() { return wsym->value(); } + bool ok() { return !result.empty(); } + void cb_ok() +@@ -581,8 +586,14 @@ void fill_cb(Fl_Widget*, void*v) + HMDT d = dynamic_cast(e->var); + HADT c = dynamic_cast(e->var); + char ch = nrm_dlg.result[0]; +- if(d) { d->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } +- if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } ++ #if WIN32 ++ if(d) { d->Fill(nrm_dlg._min(),nrm_dlg._max(),ch); e->refresh(); } ++ if(c) { c->Fill(nrm_dlg._min(),nrm_dlg._max(),ch); e->refresh(); } ++ #else ++ if(d) { d->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } ++ if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),ch); e->refresh(); } ++ #endif ++ + } + } + //----------------------------------------------------------------------------- +@@ -594,8 +605,13 @@ void normal_cb(Fl_Widget*, void*v) + { + HMDT d = dynamic_cast(e->var); + HADT c = dynamic_cast(e->var); +- if(d) { d->Norm(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } +- if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } ++ #if WIN32 ++ if(d) { d->Norm(nrm_dlg._min(),nrm_dlg._max(),nrm_dlg.sym()); e->refresh(); } ++ if(c) { c->Fill(nrm_dlg._min(),nrm_dlg._max(),nrm_dlg.sym()); e->refresh(); } ++ #else ++ if(d) { d->Norm(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } ++ if(c) { c->Fill(nrm_dlg.min(),nrm_dlg.max(),nrm_dlg.sym()); e->refresh(); } ++ #endif + } + } + //----------------------------------------------------------------------------- +diff --git a/src/parser.cpp b/src/parser.cpp +index 577191d..e6909a1 100644 +--- a/src/parser.cpp ++++ b/src/parser.cpp +@@ -58,7 +58,10 @@ void mglParser::FillBaseCmd() + HMDT MGL_NO_EXPORT mglFormulaCalc(std::wstring string, mglParser *arg, const std::vector &head); + HADT MGL_NO_EXPORT mglFormulaCalcC(std::wstring string, mglParser *arg, const std::vector &head); + //----------------------------------------------------------------------------- ++#ifndef MGL_ASK_FUNC ++#define MGL_ASK_FUNC + MGL_EXPORT void (*mgl_ask_func)(const wchar_t *, wchar_t *)=0; ++#endif + void MGL_EXPORT mgl_ask_gets(const wchar_t *quest, wchar_t *res) + { printf("%ls\n",quest); if(!fgetws(res,1024,stdin)) *res=0; } + //----------------------------------------------------------------------------- +@@ -69,7 +72,10 @@ void MGL_EXPORT mgl_progress_txt(int value, int maximal, HMGL) + else for(int i=prev;i anim; + mglParse p(true); +diff --git a/include/mgl2/datac.h b/include/mgl2/datac.h +index f2c0251..0e69de7 100644 +--- a/include/mgl2/datac.h ++++ b/include/mgl2/datac.h +@@ -474,7 +474,7 @@ using mglDataA::Momentum; + void set_v(mreal val, long i,long j=0,long k=0) { a[i+nx*(j+ny*k)]=val; } + #else + /// Get the value in given cell of the data with border checking +- mreal v(long i,long j=0,long k=0) const { return mgl_abs(mgl_datac_get_value(this,i,j,k)); } ++ mreal v(long i,long j=0,long k=0) const { return abs(a[i+nx*(j+ny*k)]); } + /// Set the value in given cell of the data + void set_v(mreal val, long i,long j=0,long k=0) { mgl_datac_set_value(this,val,i,j,k); } + #endif +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d0c779d..acd9d7f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -579,10 +579,15 @@ if(enable-glut) + if(NOT MGL_HAVE_OPENGL) + message(SEND_ERROR "You have to enable OpenGL if you plan to use GLUT.") + endif(NOT MGL_HAVE_OPENGL) +- include(FindGLUT) ++ find_path(GLUT_INCLUDE_DIR freeglut.h PATH_SUFFIXES GL) ++ include(SelectLibraryConfigurations) ++ find_library(GLUT_LIBRARY_RELEASE NAMES freeglut) ++ find_library(GLUT_LIBRARY_DEBUG NAMES freeglutd) ++ select_library_configurations(GLUT) + if(NOT GLUT_FOUND) + message(SEND_ERROR "Couldn't find GLUT library.") + endif(NOT GLUT_FOUND) ++ include_directories(${GLUT_INCLUDE_DIR}/GL) + else(enable-glut) + set(MGL_HAVE_GLUT 0) + endif(enable-glut) diff --git a/ports/mathgl/portfile.cmake b/ports/mathgl/portfile.cmake index dd44353e0..3556b917c 100644 --- a/ports/mathgl/portfile.cmake +++ b/ports/mathgl/portfile.cmake @@ -13,89 +13,38 @@ vcpkg_extract_source_archive_ex( REF ${MATHGL_VERSION} PATCHES type_fix.patch + fix_cmakelists_and_cpp.patch ) -set(enable-hdf5 OFF) -if("hdf5" IN_LIST FEATURES) - set(enable-hdf5 ON) -endif() - -set(enable-fltk OFF) -if("fltk" IN_LIST FEATURES) - set(enable-fltk ON) -endif() - -set(enable-gif OFF) -if("gif" IN_LIST FEATURES) - set(enable-gif ON) -endif() - -set(enable-png OFF) -if("png" IN_LIST FEATURES) - set(enable-png ON) -endif() - -set(enable-zlib OFF) -if("zlib" IN_LIST FEATURES) - set(enable-zlib ON) -endif() - -set(enable-jpeg OFF) -if("jpeg" IN_LIST FEATURES) - set(enable-jpeg ON) -endif() - -set(enable-gsl OFF) -if("gsl" IN_LIST FEATURES) - set(enable-gsl ON) -endif() - -set(enable-opengl OFF) -if("opengl" IN_LIST FEATURES) - set(enable-opengl ON) -endif() - -set(enable-glut OFF) -if("glut" IN_LIST FEATURES) - set(enable-glut ON) -endif() - -set(enable-wx OFF) -if("wx" IN_LIST FEATURES) - set(enable-wx ON) -endif() - -set(enable-qt5 OFF) -if("qt5" IN_LIST FEATURES) - set(enable-qt5 ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + hdf5 enable-hdf5 + fltk enable-fltk + gif enable-gif + png enable-png + zlib enable-zlib + jpeg enable-jpeg + gsl enable-gsl + opengl enable-opengl + glut enable-glut + wx enable-wx + qt5 enable-qt5 +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -Denable-hdf5=${enable-hdf5} - -Denable-fltk=${enable-fltk} - -Denable-gif=${enable-gif} - -Denable-png=${enable-png} - -Denable-zlib=${enable-zlib} - -Denable-jpeg=${enable-jpeg} - -Denable-gsl=${enable-gsl} - -Denable-opengl=${enable-opengl} - -Denable-glut=${enable-glut} - -Denable-wx=${enable-wx} - -Denable-qt5=${enable-qt5} + OPTIONS ${FEATURE_OPTIONS} ) 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 TARGET_PATH share/mathgl) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) file(REMOVE ${CURRENT_PACKAGES_DIR}/mathgl2-config.cmake) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/mathgl2-config.cmake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mathgl TARGET_PATH share/mathgl) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/mathgl) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) @@ -107,11 +56,24 @@ else() set(EXECUTABLE_SUFFIX "") endif() +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mgllab${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mglview${EXECUTABLE_SUFFIX}) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mglconv${EXECUTABLE_SUFFIX}) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/mgltask${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/udav${EXECUTABLE_SUFFIX}) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/mathgl/) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mglconv${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mglconv${EXECUTABLE_SUFFIX}) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mgltask${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mgltask${EXECUTABLE_SUFFIX}) +if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/mgllab${EXECUTABLE_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mgllab${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mgllab${EXECUTABLE_SUFFIX}) +endif() +if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/mglview${EXECUTABLE_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/mglview${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/mglview${EXECUTABLE_SUFFIX}) +endif() +if (EXISTS ${CURRENT_PACKAGES_DIR}/bin/udav${EXECUTABLE_SUFFIX}) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/udav${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/mathgl/udav${EXECUTABLE_SUFFIX}) +endif() + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/mathgl) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) diff --git a/ports/matio/CONTROL b/ports/matio/CONTROL index 6877c2972..5e433e2df 100644 --- a/ports/matio/CONTROL +++ b/ports/matio/CONTROL @@ -1,5 +1,5 @@ Source: matio -Version: 1.5.15 +Version: 1.5.16 Homepage: https://github.com/tbeu/matio Description: MATLAB MAT File I/O Library Build-Depends: zlib, hdf5 diff --git a/ports/matio/portfile.cmake b/ports/matio/portfile.cmake index 859bfdea6..b173ddcc6 100644 --- a/ports/matio/portfile.cmake +++ b/ports/matio/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tbeu/matio - REF v1.5.15 - SHA512 5e80aef3e929ff306810861ba14bc82bdd9cb3090de60dbd6905cfa35706d8cbe6c40471e8abf41e5d0836c10083c359449d34bdf32c6b2022a73986e8303eb3 + REF fabac6cf3ab36dbb82bff747aa99016d7759ccc3 + SHA512 5aa77bced72e23b69692e28ff181f8a08ade25e356cf1ca327cf61c8a3f8f4a468e907090deae104ecff28f997806a8605168b034121f1d8c0a125b750911e83 HEAD_REF master ) diff --git a/ports/matplotlib-cpp/CONTROL b/ports/matplotlib-cpp/CONTROL new file mode 100644 index 000000000..cdbf0afc2 --- /dev/null +++ b/ports/matplotlib-cpp/CONTROL @@ -0,0 +1,4 @@ +Source: matplotlib-cpp +Version: 2019-09-24 +Description: Extremely simple yet powerful header-only C++ plotting library built on the popular matplotlib +Homepage: https://github.com/lava/matplotlib-cpp diff --git a/ports/matplotlib-cpp/portfile.cmake b/ports/matplotlib-cpp/portfile.cmake new file mode 100644 index 000000000..ed2ff5b9a --- /dev/null +++ b/ports/matplotlib-cpp/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lava/matplotlib-cpp + REF f4ad842e70cc56a38f3e4cd852968c7c1cecc9a7 + SHA512 433eb2bc60aa65b9bc40310d7a55b728737e59aafe13e06ddf1a71b25e3cc365cd10f64121fba936180c98eaf5c96dfaf2547e0e3c0daef0b808d1527a37cc17 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/matplotlibcpp.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/mbedtls/CONTROL b/ports/mbedtls/CONTROL index ac4a4a131..09562f001 100644 --- a/ports/mbedtls/CONTROL +++ b/ports/mbedtls/CONTROL @@ -1,4 +1,4 @@ Source: mbedtls -Version: 2.15.1 +Version: 2.16.3 Homepage: https://github.com/ARMmbed/mbedtls Description: An open source, portable, easy to use, readable and flexible SSL library diff --git a/ports/mbedtls/portfile.cmake b/ports/mbedtls/portfile.cmake index fa87630a4..cd32e2171 100644 --- a/ports/mbedtls/portfile.cmake +++ b/ports/mbedtls/portfile.cmake @@ -5,8 +5,8 @@ set(VCPKG_LIBRARY_LINKAGE static) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ARMmbed/mbedtls - REF mbedtls-2.15.1 - SHA512 361bac49bc179c020855a59140a3e9e31ec9e89ebde9d630e9f3491cdfdf466c8dc2313276d6b257a7728784f5478bdcfd14d26e81f90d432bad2e9a94151fc2 + REF mbedtls-2.16.3 + SHA512 3d798f7de9c33325585d5d7c8608cc16acdcf42c246d283b2fb8a29f5e419f2899342965ff297432ef2ab20c91eaee28d6ca53349f5a68b0a4fd29d6905fc64c HEAD_REF master ) diff --git a/ports/mdnsresponder/CONTROL b/ports/mdnsresponder/CONTROL index cfac2cca9..a94e7866c 100644 --- a/ports/mdnsresponder/CONTROL +++ b/ports/mdnsresponder/CONTROL @@ -1,4 +1,4 @@ Source: mdnsresponder -Version: 765.30.11 +Version: 765.30.11-1 Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative. -Homepage: https://developer.apple.com/bonjour/ \ No newline at end of file +Homepage: https://developer.apple.com/bonjour/ diff --git a/ports/mdnsresponder/portfile.cmake b/ports/mdnsresponder/portfile.cmake index df86db75c..46ab04ddb 100644 --- a/ports/mdnsresponder/portfile.cmake +++ b/ports/mdnsresponder/portfile.cmake @@ -1,11 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mDNSResponder-765.30.11) -vcpkg_download_distfile(ARCHIVE_FILE + +vcpkg_download_distfile(ARCHIVE URLS https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-765.30.11.tar.gz FILENAME mDNSResponder-765.30.11.tar.gz SHA512 dfdea663ec1089058c2225ede13d70241dfec8311ff7fb8d29c8d386f5077a4104455d78f8777496cce96b8ff289b73ed1aec2bf65c52154b866fc1b7675ef90 ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) IF (TRIPLET_SYSTEM_ARCH MATCHES "x86") SET(BUILD_ARCH "Win32") @@ -82,4 +86,4 @@ file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/mdnsresponder/copyright ) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/mecab/CMakeLists.txt b/ports/mecab/CMakeLists.txt new file mode 100644 index 000000000..9ebf42ee1 --- /dev/null +++ b/ports/mecab/CMakeLists.txt @@ -0,0 +1,67 @@ +cmake_minimum_required(VERSION 3.12 FATAL_ERROR) + +PROJECT(mecab VERSION 1.0) + +file(GLOB SOURCE_FILE + "*.cpp" + "*.c" +) +file(GLOB HEADERS_FILE + "*.h" +) + +message(STATUS "current cmake path: ${CMAKE_CURRENT_SOURCE_DIR}") +list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-cost-train.cpp) +list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-dict-gen.cpp) +list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-dict-index.cpp) +list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-system-eval.cpp) +list(REMOVE_ITEM SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/mecab-test-gen.cpp) +#list(REMOVE_ITEM SOURCE_FILE "mecab-cost-train.cpp" "mecab-dict-gen.cpp" "mecab-dict-index.cpp" "mecab-system-eval.cpp" "mecab-test-gen.cpp") + +add_library (mecab ${SOURCE_FILE}) +target_include_directories(mecab PUBLIC + $ + $) + +if(UNIX) + target_compile_definitions(mecab PUBLIC -DHAVE_UNISTD_H -DHAVE_FCNTL_H -DHAVE_STDINT_H -DHAVE_SYS_TYPES_H -DHAVE_SYS_STAT_H -DHAVE_DIRENT_H -DDIC_VERSION=102 -DVERSION="@VERSION@" -DPACKAGE="mecab" -DMECAB_DEFAULT_RC="./mecabrc") +endif(UNIX) +if(WIN32) + target_compile_definitions(mecab PUBLIC -D_CRT_SECURE_NO_DEPRECATE -DMECAB_USE_THREAD -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 -DVERSION="@VERSION@" -DPACKAGE="mecab" -DUNICODE -D_UNICODE -DMECAB_DEFAULT_RC="mecabrc") +endif(WIN32) + + +include (GNUInstallDirs) +include(CMakePackageConfigHelpers) + +set (mecab_CMAKE_DIR share/mecab CACHE STRING "Installation dir") +set (targets_export_name mecabTargets CACHE INTERNAL "") + +install(TARGETS mecab + EXPORT ${targets_export_name} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +) + +install(FILES ${HEADERS_FILE} DESTINATION include/mecab CONFIGURATIONS Release) + +install(EXPORT ${targets_export_name} + NAMESPACE mecab:: + DESTINATION ${mecab_CMAKE_DIR}) + +configure_package_config_file( + "${PROJECT_SOURCE_DIR}/Config.cmake.in" + "${PROJECT_BINARY_DIR}/mecabConfig.cmake" + INSTALL_DESTINATION ${mecab_CMAKE_DIR}) + + +write_basic_package_version_file( + ${PROJECT_BINARY_DIR}/mecabConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion ) + +install(FILES + ${PROJECT_BINARY_DIR}/mecabConfig.cmake + ${PROJECT_BINARY_DIR}/mecabConfigVersion.cmake + DESTINATION ${mecab_CMAKE_DIR}) diff --git a/ports/mecab/CONTROL b/ports/mecab/CONTROL new file mode 100644 index 000000000..b5b9c8f10 --- /dev/null +++ b/ports/mecab/CONTROL @@ -0,0 +1,3 @@ +Source: mecab +Version: 1.0 +Description: A morphological analysis engine based on CRF diff --git a/ports/mecab/Config.cmake.in b/ports/mecab/Config.cmake.in new file mode 100644 index 000000000..927b3637b --- /dev/null +++ b/ports/mecab/Config.cmake.in @@ -0,0 +1,4 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/@targets_export_name@.cmake") +check_required_components(mecab) \ No newline at end of file diff --git a/ports/mecab/fix_wpath_unsigned.patch b/ports/mecab/fix_wpath_unsigned.patch new file mode 100644 index 000000000..d8dcf1509 --- /dev/null +++ b/ports/mecab/fix_wpath_unsigned.patch @@ -0,0 +1,40 @@ +diff --git a/mecab/src/common.h b/mecab/src/common.h +index d1fc459..2951d5a 100644 +--- a/mecab/src/common.h ++++ b/mecab/src/common.h +@@ -86,7 +86,8 @@ + #define WPATH_FORCE(path) (MeCab::Utf8ToWide(path).c_str()) + #define WPATH(path) (path) + #else +-#define WPATH(path) WPATH_FORCE(path) ++#define WPATH_FORCE(path) (MeCab::Utf8ToWide(path).c_str()) ++#define WPATH(path) (path) + #endif + #else + #define WPATH_FORCE(path) (path) +diff --git a/mecab/src/feature_index.cpp b/mecab/src/feature_index.cpp +index 051bdf8..fdd0145 100644 +--- a/mecab/src/feature_index.cpp ++++ b/mecab/src/feature_index.cpp +@@ -353,7 +353,7 @@ bool FeatureIndex::buildUnigramFeature(LearnerPath *path, + if (!r) goto NEXT; + os_ << r; + } break; +- case 't': os_ << (size_t)path->rnode->char_type; break; ++ case 't': os_ << (int)(size_t)path->rnode->char_type; break; + case 'u': os_ << ufeature; break; + case 'w': + if (path->rnode->stat == MECAB_NOR_NODE) { +diff --git a/mecab/src/writer.cpp b/mecab/src/writer.cpp +index 0ef6975..f068fa3 100644 +--- a/mecab/src/writer.cpp ++++ b/mecab/src/writer.cpp +@@ -257,7 +257,7 @@ bool Writer::writeNode(Lattice *lattice, + // input sentence + case 'S': os->write(lattice->sentence(), lattice->size()); break; + // sentence length +- case 'L': *os << lattice->size(); break; ++ case 'L': *os << (int)lattice->size(); break; + // morph + case 'm': os->write(node->surface, node->length); break; + case 'M': os->write(reinterpret_cast diff --git a/ports/mecab/portfile.cmake b/ports/mecab/portfile.cmake new file mode 100644 index 000000000..b7b04aa0b --- /dev/null +++ b/ports/mecab/portfile.cmake @@ -0,0 +1,30 @@ +if (VCPKG_TARGET_TRIPLET STREQUAL "x64-uwp" OR VCPKG_TARGET_TRIPLET STREQUAL "arm64-windows" OR VCPKG_TARGET_TRIPLET STREQUAL "arm-uwp") + message(FATAL_ERROR "mecab does not support on this platform") +endif() + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO taku910/mecab + REF master + SHA512 2a7f1d159ddca846357b5bcab2d2b5de2e6a27dca4301cdd1cc52c155c352f9c7030b77d1187afe9c0a7f1b131a1acdcc40ee81ce7ba5c0fa6b2325c56676353 + HEAD_REF master + PATCHES + fix_wpath_unsigned.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/mecab/src) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}/mecab/src) +file(COPY ${SOURCE_PATH}/mecab/COPYING DESTINATION ${SOURCE_PATH}/mecab/src) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/mecab/src +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() +vcpkg_copy_pdbs() + +file(COPY ${SOURCE_PATH}/mecab/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mecab) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/mecab/COPYING ${CURRENT_PACKAGES_DIR}/share/mecab/copyright) \ No newline at end of file diff --git a/ports/meschach/CONTROL b/ports/meschach/CONTROL index d54e03952..2a9d86976 100644 --- a/ports/meschach/CONTROL +++ b/ports/meschach/CONTROL @@ -1,4 +1,4 @@ Source: meschach -Version: 1.2b-2 +Version: 1.2b-3 Homepage: https://homepage.math.uiowa.edu/~dstewart/meschach Description: Matrix computations in C diff --git a/ports/meschach/portfile.cmake b/ports/meschach/portfile.cmake index 1ec6fcd04..6c4a6f6c0 100644 --- a/ports/meschach/portfile.cmake +++ b/ports/meschach/portfile.cmake @@ -2,13 +2,17 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src) vcpkg_download_distfile(ARCHIVE URLS "http://homepage.math.uiowa.edu/~dstewart/meschach/mesch12b.tar.gz" FILENAME "mesch12b.tar.gz" SHA512 9051e1502b8c9741400c61fd6038e514887f305f267ba4e97d747423de3da1270f835f65b2d1f538f8938677060bc0fcfd7a94022d74fbfd31a0450116e9d79e ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/metis/CONTROL b/ports/metis/CONTROL index 6db70e599..c47b9d85e 100644 --- a/ports/metis/CONTROL +++ b/ports/metis/CONTROL @@ -1,4 +1,4 @@ Source: metis -Version: 5.1.0-3 +Version: 5.1.0-6 Homepage: https://glaros.dtc.umn.edu/gkhome/metis/metis/overview Description: Serial Graph Partitioning and Fill-reducing Matrix Ordering diff --git a/ports/metis/fix-linux-build-error.patch b/ports/metis/fix-linux-build-error.patch new file mode 100644 index 000000000..b3563a881 --- /dev/null +++ b/ports/metis/fix-linux-build-error.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e94f050..b9613a7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,8 @@ + cmake_minimum_required(VERSION 2.8) + project(METIS) + +-set(GKLIB_PATH "GKlib" CACHE PATH "path to GKlib") ++set(GKLIB_PATH "${CMAKE_SOURCE_DIR}/GKlib" CACHE PATH "path to GKlib") ++ + set(SHARED FALSE CACHE BOOL "build a shared library") + + set(METIS_INSTALL TRUE) diff --git a/ports/metis/install-metisConfig.patch b/ports/metis/install-metisConfig.patch new file mode 100644 index 000000000..c07600a85 --- /dev/null +++ b/ports/metis/install-metisConfig.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b9613a7..e43ffee 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,3 +22,23 @@ include_directories(include) + add_subdirectory("include") + add_subdirectory("libmetis") + # add_subdirectory("programs") ++ ++if(METIS_INSTALL) ++ set(PRJ_NAME metis) ++ set(PRJ_VER 5.1.0) ++ install(EXPORT metisTargets ++ FILE ${PRJ_NAME}Targets.cmake ++ DESTINATION lib/cmake/${PRJ_NAME}) ++ include(CMakePackageConfigHelpers) ++ write_basic_package_version_file( ++ ${CMAKE_CURRENT_BINARY_DIR}/${PRJ_NAME}ConfigVersion.cmake ++ VERSION ${PRJ_VER} ++ COMPATIBILITY SameMajorVersion) ++ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${PRJ_NAME}Config.cmake ++ "include(\${CMAKE_CURRENT_LIST_DIR}/${PRJ_NAME}Targets.cmake)") ++ install(FILES ++ ${CMAKE_CURRENT_BINARY_DIR}/${PRJ_NAME}ConfigVersion.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/${PRJ_NAME}Config.cmake ++ DESTINATION lib/cmake/${PRJ_NAME}) ++endif() ++ +diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt +index 7a5fc74..5a68cf0 100644 +--- a/libmetis/CMakeLists.txt ++++ b/libmetis/CMakeLists.txt +@@ -9,8 +9,9 @@ if(UNIX) + endif() + + if(METIS_INSTALL) +- install(TARGETS metis ++ install(TARGETS metis EXPORT metisTargets + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +- ARCHIVE DESTINATION lib) ++ ARCHIVE DESTINATION lib ++ INCLUDES DESTINATION include) + endif() diff --git a/ports/metis/portfile.cmake b/ports/metis/portfile.cmake index 4f8d4520d..1ba641bcb 100644 --- a/ports/metis/portfile.cmake +++ b/ports/metis/portfile.cmake @@ -21,15 +21,19 @@ vcpkg_extract_source_archive_ex( fix-runtime-install-destination.patch fix-metis-vs14-math.patch fix-gklib-vs14-math.patch + fix-linux-build-error.patch + install-metisConfig.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS ${OPTIONS} ) vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/metis) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/mgnlibs/CONTROL b/ports/mgnlibs/CONTROL new file mode 100644 index 000000000..0be257059 --- /dev/null +++ b/ports/mgnlibs/CONTROL @@ -0,0 +1,4 @@ +Source: mgnlibs +Version: 2019-09-29 +Homepage: https://github.com/mattiasgustavsson/libs +Description: Single-file public domain libraries for C/C++ diff --git a/ports/mgnlibs/portfile.cmake b/ports/mgnlibs/portfile.cmake new file mode 100644 index 000000000..e49a122e7 --- /dev/null +++ b/ports/mgnlibs/portfile.cmake @@ -0,0 +1,17 @@ +#header-only library +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mattiasgustavsson/libs + REF 9a6e7205caecbe336e41aebdc9c79a5c47daa5ec + SHA512 87493f883f0752a334bbcec69228e325d9e1f36a99d313be9243f4e6e14876bcd5a976682d3fd7e3e285e426ac69587d35ba3378b2124450b9a8ed6127f110a5 + HEAD_REF master +) + +# Put the licence file where vcpkg expects it +file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/mgnlibs/README.md) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/mgnlibs/README.md ${CURRENT_PACKAGES_DIR}/share/mgnlibs/copyright) + +# Copy the header files +file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h) +file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/mgnlibs) diff --git a/ports/milerius-sfml-imgui/CONTROL b/ports/milerius-sfml-imgui/CONTROL index 7d3ec477d..0414fc11a 100644 --- a/ports/milerius-sfml-imgui/CONTROL +++ b/ports/milerius-sfml-imgui/CONTROL @@ -1,4 +1,4 @@ -Source: milerius-sfml-imgui -Version: 1.1-2 -Description: imgui dll for sfml usage -Build-Depends: sfml (windows), imgui +Source: milerius-sfml-imgui +Version: 1.1-2 +Description: imgui dll for sfml usage +Build-Depends: sfml, imgui diff --git a/ports/milerius-sfml-imgui/FixFindPackageIssue.patch b/ports/milerius-sfml-imgui/FixFindPackageIssue.patch index be47cfada..a3d8053dd 100644 --- a/ports/milerius-sfml-imgui/FixFindPackageIssue.patch +++ b/ports/milerius-sfml-imgui/FixFindPackageIssue.patch @@ -1,53 +1,53 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 27b8bd8..33fe623 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -2,7 +2,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) - message(FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the source code and call cmake from there") - endif () - --project(sfml-imgui) -+project(milerius-sfml-imgui) - cmake_minimum_required(VERSION 3.9) - set(CMAKE_EXPORT_COMPILE_COMMANDS ON) - -@@ -26,7 +26,7 @@ include(CMakePackageConfigHelpers) - - install(TARGETS - ${PROJECT_NAME} -- EXPORT sfml-imgui-targets -+ EXPORT milerius-sfml-imgui-targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -39,7 +39,7 @@ install(EXPORT ${PROJECT_NAME}-targets - ) - - configure_package_config_file( -- "${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake.in" -+ "${PROJECT_SOURCE_DIR}/cmake/sfml-imgui-config.cmake.in" - "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" - INSTALL_DESTINATION lib/cmake/${PROJECT_NAME} - ) -@@ -51,6 +51,6 @@ install(FILES - install(DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/sfml-imgui - DESTINATION -- ${CMAKE_INSTALL_INCLUDEDIR}/sfml-imgui -+ ${CMAKE_INSTALL_INCLUDEDIR}/ - FILES_MATCHING PATTERN "*.h*" - ) -diff --git a/cmake/sfml-imgui-config.cmake.in b/cmake/sfml-imgui-config.cmake.in -index cd790be..e1bdd77 100644 ---- a/cmake/sfml-imgui-config.cmake.in -+++ b/cmake/sfml-imgui-config.cmake.in -@@ -2,5 +2,5 @@ - find_package(SFML CONFIG REQUIRED graphics) - find_package(imgui CONFIG REQUIRED) - find_package(OpenGL REQUIRED) --include("${CMAKE_CURRENT_LIST_DIR}/sfml-imgui-targets.cmake") --check_required_components("sfml-imgui") -\ No newline at end of file -+include("${CMAKE_CURRENT_LIST_DIR}/milerius-sfml-imgui-targets.cmake") -+check_required_components("milerius-sfml-imgui") -\ No newline at end of file +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 27b8bd8..33fe623 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,7 +2,7 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + message(FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the source code and call cmake from there") + endif () + +-project(sfml-imgui) ++project(milerius-sfml-imgui) + cmake_minimum_required(VERSION 3.9) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +@@ -26,7 +26,7 @@ include(CMakePackageConfigHelpers) + + install(TARGETS + ${PROJECT_NAME} +- EXPORT sfml-imgui-targets ++ EXPORT milerius-sfml-imgui-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +@@ -39,7 +39,7 @@ install(EXPORT ${PROJECT_NAME}-targets + ) + + configure_package_config_file( +- "${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake.in" ++ "${PROJECT_SOURCE_DIR}/cmake/sfml-imgui-config.cmake.in" + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" + INSTALL_DESTINATION lib/cmake/${PROJECT_NAME} + ) +@@ -51,6 +51,6 @@ install(FILES + install(DIRECTORY + ${CMAKE_CURRENT_SOURCE_DIR}/sfml-imgui + DESTINATION +- ${CMAKE_INSTALL_INCLUDEDIR}/sfml-imgui ++ ${CMAKE_INSTALL_INCLUDEDIR}/ + FILES_MATCHING PATTERN "*.h*" + ) +diff --git a/cmake/sfml-imgui-config.cmake.in b/cmake/sfml-imgui-config.cmake.in +index cd790be..e1bdd77 100644 +--- a/cmake/sfml-imgui-config.cmake.in ++++ b/cmake/sfml-imgui-config.cmake.in +@@ -2,5 +2,5 @@ + find_package(SFML CONFIG REQUIRED graphics) + find_package(imgui CONFIG REQUIRED) + find_package(OpenGL REQUIRED) +-include("${CMAKE_CURRENT_LIST_DIR}/sfml-imgui-targets.cmake") +-check_required_components("sfml-imgui") +\ No newline at end of file ++include("${CMAKE_CURRENT_LIST_DIR}/milerius-sfml-imgui-targets.cmake") ++check_required_components("milerius-sfml-imgui") +\ No newline at end of file diff --git a/ports/milerius-sfml-imgui/portfile.cmake b/ports/milerius-sfml-imgui/portfile.cmake index c5191cb85..b154a59df 100644 --- a/ports/milerius-sfml-imgui/portfile.cmake +++ b/ports/milerius-sfml-imgui/portfile.cmake @@ -1,25 +1,25 @@ -include(vcpkg_common_functions) - -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO Milerius/imgui-sfml-shared - REF 1.1 - SHA512 191184f7b302f643bd7c241b69d9f9edc0d03c6f5a0b3a49f57ac84f3828202f8065291fb17993073a2c07f1237ba491de677c47e2f8160dc70ea77f20eb1946 - HEAD_REF master - PATCHES FixFindPackageIssue.patch -) - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/milerius-sfml-imgui) -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui) +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Milerius/imgui-sfml-shared + REF 1.1 + SHA512 191184f7b302f643bd7c241b69d9f9edc0d03c6f5a0b3a49f57ac84f3828202f8065291fb17993073a2c07f1237ba491de677c47e2f8160dc70ea77f20eb1946 + HEAD_REF master + PATCHES FixFindPackageIssue.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/milerius-sfml-imgui) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui) file(RENAME ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui/LICENSE ${CURRENT_PACKAGES_DIR}/share/milerius-sfml-imgui/copyright) \ No newline at end of file diff --git a/ports/mimalloc/CONTROL b/ports/mimalloc/CONTROL new file mode 100644 index 000000000..daf48d8ce --- /dev/null +++ b/ports/mimalloc/CONTROL @@ -0,0 +1,13 @@ +Source: mimalloc +Version: 2019-06-25-1 +Description: Compact general purpose allocator with excellent performance +Homepage: https://github.com/microsoft/mimalloc + +Feature: asm +Description: Generate assembly files + +Feature: override +Description: Override the standard malloc interface + +Feature: secure +Description: Use security mitigations (like guard pages and randomization) diff --git a/ports/mimalloc/fix-cmake.patch b/ports/mimalloc/fix-cmake.patch new file mode 100644 index 000000000..3fd5f3050 --- /dev/null +++ b/ports/mimalloc/fix-cmake.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a35e885..76b6f60 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -105,7 +105,7 @@ else() + list(APPEND mi_libraries pthread) + endif() + +- ++if(BUILD_SHARED_LIBS) + # shared library + add_library(mimalloc SHARED ${mi_sources}) + set_target_properties(mimalloc PROPERTIES VERSION ${mi_version} NO_SONAME "YES" OUTPUT_NAME ${mi_basename} ) +@@ -116,7 +116,7 @@ endif() + target_compile_options(mimalloc PRIVATE ${mi_cflags}) + target_include_directories(mimalloc PRIVATE include PUBLIC $) + target_link_libraries(mimalloc PUBLIC ${mi_libraries}) +- ++else() + # static library + add_library(mimalloc-static STATIC ${mi_sources}) + if(WIN32) +@@ -135,15 +135,18 @@ endif() + target_compile_options(mimalloc-static PRIVATE ${mi_cflags}) + target_include_directories(mimalloc-static PRIVATE include PUBLIC $) + target_link_libraries(mimalloc-static PUBLIC ${mi_libraries}) ++endif() + + # install static and shared library, and the include files +-install(TARGETS mimalloc EXPORT mimalloc DESTINATION ${mi_install_dir} LIBRARY NAMELINK_SKIP) +-install(TARGETS mimalloc-static EXPORT mimalloc DESTINATION ${mi_install_dir}) ++if(BUILD_SHARED_LIBS) ++install(TARGETS mimalloc EXPORT mimalloc ARCHIVE DESTINATION lib RUNTIME DESTINATION bin LIBRARY DESTINATION lib NAMELINK_SKIP) ++else() ++install(TARGETS mimalloc-static EXPORT mimalloc DESTINATION lib) ++endif() + install(FILES include/mimalloc.h DESTINATION ${mi_install_dir}/include) + install(FILES cmake/mimalloc-config.cmake DESTINATION ${mi_install_dir}/cmake) + install(FILES cmake/mimalloc-config-version.cmake DESTINATION ${mi_install_dir}/cmake) + install(EXPORT mimalloc DESTINATION ${mi_install_dir}/cmake) +-install(FILES "$" DESTINATION lib) # duplicate the .so in the lib directory (unversioned) + + # single object file for more predictable static overriding + add_library(mimalloc-obj OBJECT src/static.c) +@@ -154,7 +157,3 @@ if(NOT WIN32 AND MI_OVERRIDE MATCHES "ON") + endif() + target_compile_options(mimalloc-obj PRIVATE ${mi_cflags}) + target_include_directories(mimalloc-obj PRIVATE include PUBLIC $) +- +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/mimalloc-obj.dir/src/static.c${CMAKE_C_OUTPUT_EXTENSION} +- DESTINATION ${mi_install_dir} +- RENAME ${mi_basename}${CMAKE_C_OUTPUT_EXTENSION} ) diff --git a/ports/mimalloc/portfile.cmake b/ports/mimalloc/portfile.cmake new file mode 100644 index 000000000..1a11284f5 --- /dev/null +++ b/ports/mimalloc/portfile.cmake @@ -0,0 +1,71 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO microsoft/mimalloc + REF c6c1d5fffd0cf8dcb2ab969cde8fd170af44fdef + SHA512 3b9ce5d7dd70dd5ea56b70833c842068312a739e6131d956fd733e9893441e7e3340b6734bea0b799ac292533b0082975c08facd963961062dac821ccc44f9a9 + HEAD_REF master + PATCHES + fix-cmake.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + asm MI_SEE_ASM + secure MI_SECURE + override MI_OVERRIDE +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DMI_CHECK_FULL=ON + OPTIONS_RELEASE + -DMI_CHECK_FULL=OFF + OPTIONS + -DMI_INTERPOSE=ON + -DMI_USE_CXX=OFF + ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(GLOB lib_directories RELATIVE ${CURRENT_PACKAGES_DIR}/lib "${CURRENT_PACKAGES_DIR}/lib/${PORT}-*") +list(GET lib_directories 0 lib_install_dir) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/${lib_install_dir}/cmake) + +vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/share/${PORT}/mimalloc.cmake + "lib/${lib_install_dir}/" + "" +) + +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) + +file(COPY ${CURRENT_PACKAGES_DIR}/lib/${lib_install_dir}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/lib/${lib_install_dir} + ${CURRENT_PACKAGES_DIR}/debug/share + ${CURRENT_PACKAGES_DIR}/lib/${lib_install_dir} +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/include/mimalloc.h + "!defined(MI_SHARED_LIB)" + "0 // !defined(MI_SHARED_LIB)" + ) +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/mimalloc/vcpkg-cmake-wrapper.cmake b/ports/mimalloc/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..4e2a70c4b --- /dev/null +++ b/ports/mimalloc/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) + +if(TARGET mimalloc AND NOT TARGET mimalloc-static) + add_library(mimalloc-static INTERFACE IMPORTED) + set_target_properties(mimalloc-static PROPERTIES INTERFACE_LINK_LIBRARIES mimalloc) +elseif(TARGET mimalloc-static AND NOT TARGET mimalloc) + add_library(mimalloc INTERFACE IMPORTED) + set_target_properties(mimalloc PROPERTIES INTERFACE_LINK_LIBRARIES mimalloc-static) +endif() diff --git a/ports/minifb/CONTROL b/ports/minifb/CONTROL new file mode 100644 index 000000000..cff3a97c0 --- /dev/null +++ b/ports/minifb/CONTROL @@ -0,0 +1,4 @@ +Source: minifb +Version: 2019-08-20-1 +Homepage: https://github.com/emoon/minifb +Description: MiniFB (Mini FrameBuffer) is a small cross platform library that makes it easy to render (32-bit) pixels in a window. diff --git a/ports/minifb/fix-arm-build-error.patch b/ports/minifb/fix-arm-build-error.patch new file mode 100644 index 000000000..66579d449 --- /dev/null +++ b/ports/minifb/fix-arm-build-error.patch @@ -0,0 +1,40 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 06ba472..0f5874c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -54,6 +54,27 @@ add_library(minifb STATIC + ${SrcLib} + ) + ++if (WIN32) ++add_executable(noise ++ tests/noise.c ++) ++target_link_libraries(noise minifb Gdi32.lib) ++ ++add_executable(input_events ++ tests/input_events.c ++) ++target_link_libraries(input_events minifb Gdi32.lib) ++ ++add_executable(input_events_cpp ++ tests/input_events_cpp.cpp ++) ++target_link_libraries(input_events_cpp minifb Gdi32.lib) ++ ++add_executable(multiple_windows ++ tests/multiple_windows.c ++) ++target_link_libraries(multiple_windows minifb Gdi32.lib) ++else() + add_executable(noise + tests/noise.c + ) +@@ -73,6 +94,7 @@ add_executable(multiple_windows + tests/multiple_windows.c + ) + target_link_libraries(multiple_windows minifb) ++endif() + + if (MSVC) + elseif (MINGW) diff --git a/ports/minifb/fix-build-error.patch b/ports/minifb/fix-build-error.patch new file mode 100644 index 000000000..e1a4c0775 --- /dev/null +++ b/ports/minifb/fix-build-error.patch @@ -0,0 +1,25 @@ +diff --git a/src/windows/WinMiniFB.c b/src/windows/WinMiniFB.c +index 84ed0cb..b33f252 100644 +--- a/src/windows/WinMiniFB.c ++++ b/src/windows/WinMiniFB.c +@@ -19,7 +19,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) + { + LRESULT res = 0; + +- SWindowData *window_data = (SWindowData *) GetWindowLongPtr(hWnd, GWL_USERDATA); ++ SWindowData *window_data = (SWindowData *) GetWindowLongPtr(hWnd, GWLP_USERDATA); + SWindowData_Win *window_data_win = 0x0; + if(window_data != 0x0) { + window_data_win = (SWindowData_Win *) window_data->specific; +diff --git a/tests/multiple_windows.c b/tests/multiple_windows.c +index 4b301c0..29276be 100644 +--- a/tests/multiple_windows.c ++++ b/tests/multiple_windows.c +@@ -1,6 +1,7 @@ + #include + #include + #include ++#define _USE_MATH_DEFINES + #include + + #define kUnused(var) (void) var; diff --git a/ports/minifb/fix-install-error.patch b/ports/minifb/fix-install-error.patch new file mode 100644 index 000000000..64f5af046 --- /dev/null +++ b/ports/minifb/fix-install-error.patch @@ -0,0 +1,54 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 06ba472..6dc7988 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -17,6 +17,12 @@ file(GLOB SrcMacOSX "src/macosx/*.c" + file(GLOB SrcWayland "src/wayland/*.c") + file(GLOB SrcX11 "src/x11/*.c") + ++file(GLOB HEADERS "include/*.h") ++file(GLOB HeaderWindows "src/windows/*.h") ++file(GLOB HeaderMacOSX "src/macosx/*.h") ++file(GLOB HeaderWayland "src/wayland/*.h") ++file(GLOB HeaderX11 "src/x11/*.h") ++ + if (NOT MSVC) + set (CMAKE_C_FLAGS "-g -Wall -Wextra -pedantic -Wno-switch -Wno-unused-function") + set (CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++11") +@@ -34,19 +40,24 @@ if (MSVC) + add_definitions(-D_CRT_SECURE_NO_WARNINGS) + add_definitions(-D_WIN32_WINNT=0x0600) + list (APPEND SrcLib ${SrcWindows}) ++ list (APPEND HEADERS ${HeaderWindows}) + elseif (MINGW) + add_definitions(-D_WIN32_WINNT=0x0600) + list(APPEND SrcLib ${SrcWindows}) ++ list (APPEND HEADERS ${HeaderWindows}) + elseif (APPLE) + if(USE_METAL_API) + add_definitions(-DUSE_METAL_API) + endif() + list(APPEND SrcLib ${SrcMacOSX}) ++ list (APPEND HEADERS ${HeaderMacOSX}) + elseif (UNIX) + if(USE_WAYLAND_API) + list(APPEND SrcLib ${SrcWayland}) ++ list (APPEND HEADERS ${HeaderWayland}) + else() + list(APPEND SrcLib ${SrcX11}) ++ list (APPEND HEADERS ${HeaderX11}) + endif() + endif() + +@@ -112,3 +123,11 @@ elseif (UNIX) + target_link_libraries(multiple_windows -lX11) + endif() + endif() ++ ++install(TARGETS minifb ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) ++ ++install(FILES ${HEADERS} DESTINATION include) diff --git a/ports/minifb/portfile.cmake b/ports/minifb/portfile.cmake new file mode 100644 index 000000000..d4ea8c676 --- /dev/null +++ b/ports/minifb/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} currently doesn't supports UWP.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO emoon/minifb + REF 25a440f8226f12b8014d24288ad0587724005afc + SHA512 e54d86e43193d22263003a9539b11cc61cfd4a1b7093c982165cdd6e6f150b431a44e7d4dc8512b62b9853a7605e29cee19f85b8d25a34b3b530f9aa41a2f4a9 + HEAD_REF master + PATCHES + fix-install-error.patch + fix-build-error.patch + fix-arm-build-error.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# 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) \ No newline at end of file diff --git a/ports/minimp3/CONTROL b/ports/minimp3/CONTROL new file mode 100644 index 000000000..dda4558e6 --- /dev/null +++ b/ports/minimp3/CONTROL @@ -0,0 +1,4 @@ +Source: minimp3 +Version: 2019-07-24-1 +Homepage: https://github.com/lieff/minimp3 +Description: Minimalistic, single-header library for decoding MP3. minimp3 is designed to be small, fast (with SSE and NEON support), and accurate (ISO conformant). \ No newline at end of file diff --git a/ports/minimp3/portfile.cmake b/ports/minimp3/portfile.cmake new file mode 100644 index 000000000..8bc4e7e37 --- /dev/null +++ b/ports/minimp3/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lieff/minimp3 + REF 977514a6dfc4960d819a103f43b358e58ac6c28f #committed on Jul 24 + SHA512 9120cbd84a737e93d0c8d6d53a1b9b7af1fb4387b7b0756abbf9e0f41164a26a731e1e75ff6d02052c785357cdf8465ee92f04b6e9704f830086c3cf6808d2b8 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/minimp3.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) +file(COPY ${SOURCE_PATH}/minimp3_ex.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) + +# 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/miniupnpc/CONTROL b/ports/miniupnpc/CONTROL index 8238e64f7..a639f1ab9 100644 --- a/ports/miniupnpc/CONTROL +++ b/ports/miniupnpc/CONTROL @@ -1,3 +1,3 @@ Source: miniupnpc -Version: 2.1 +Version: 2.1-1 Description: UPnP client library/tool to access Internet Gateway Devices diff --git a/ports/miniupnpc/portfile.cmake b/ports/miniupnpc/portfile.cmake index 2c9aa9ec6..1b886b957 100644 --- a/ports/miniupnpc/portfile.cmake +++ b/ports/miniupnpc/portfile.cmake @@ -6,11 +6,10 @@ vcpkg_from_github( REF miniupnpc_2_1 SHA512 f2ab5116c094982f7838ccab460d3db07a99de1094448277fc45841e0e64ea1b4216d75a7e5dd471c79ff9b0132b89e4d801c3ad1b60d55631c12c916df658f5 HEAD_REF master + PATCHES + cmakelists.diff ) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/cmakelists.diff) - string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" MINIUPNPC_BUILD_SHARED) string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" MINIUPNPC_BUILD_STATIC) @@ -28,4 +27,3 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/miniupnpc RENAME copyright) - diff --git a/ports/minizip/CMakeLists.txt b/ports/minizip/CMakeLists.txt index edb9b3c7b..b5c5d5dbc 100644 --- a/ports/minizip/CMakeLists.txt +++ b/ports/minizip/CMakeLists.txt @@ -6,12 +6,20 @@ if(MSVC) endif() find_package(ZLIB REQUIRED) - -find_package(BZip2 REQUIRED) - set(MIN_SRC contrib/minizip) -include_directories(${MIN_SRC} ${ZLIB_INCLUDE_DIRS} ${BZIP2_INCLUDE_DIR}) +include_directories(${MIN_SRC} ${ZLIB_INCLUDE_DIRS}) + +set(MINIZIP_LIBRARIES ZLIB::ZLIB) +if(ENABLE_BZIP2) + message(STATUS "Building with bzip2 support") + find_package(BZip2) + + include_directories(${BZIP2_INCLUDE_DIR}) + set(MINIZIP_LIBRARIES ${MINIZIP_LIBRARIES} ${BZIP2_LIBRARIES}) +else() + message(STATUS "Building without bzip2 support") +endif() set(SRC ${MIN_SRC}/ioapi.c @@ -41,14 +49,16 @@ add_library(minizip ${SRC}) target_link_libraries(minizip PRIVATE ZLIB::ZLIB) target_compile_definitions(minizip PRIVATE -D_ZLIB_H) -target_link_libraries(minizip PRIVATE ${BZIP2_LIBRARIES}) -target_compile_definitions(minizip PRIVATE -DHAVE_BZIP2=1) +if(ENABLE_BZIP2) + target_link_libraries(minizip PRIVATE ${BZIP2_LIBRARIES}) + target_compile_definitions(minizip PRIVATE -DHAVE_BZIP2=1) +endif() -add_executable(minizip_bin ${MIN_SRC}/minizip.c) -add_executable(miniunz_bin ${MIN_SRC}/miniunz.c) +add_executable(minizip_bin ${MIN_SRC}/minizip.c) +add_executable(miniunz_bin ${MIN_SRC}/miniunz.c) -target_link_libraries(minizip_bin minizip ${BZIP2_LIBRARIES} ZLIB::ZLIB) -target_link_libraries(miniunz_bin minizip ${BZIP2_LIBRARIES} ZLIB::ZLIB) +target_link_libraries(minizip_bin minizip ${MINIZIP_LIBRARIES}) +target_link_libraries(miniunz_bin minizip ${MINIZIP_LIBRARIES}) set_target_properties(minizip_bin PROPERTIES OUTPUT_NAME minizip) set_target_properties(miniunz_bin PROPERTIES OUTPUT_NAME miniunz) diff --git a/ports/minizip/CONTROL b/ports/minizip/CONTROL index 93d453ca2..9570e945e 100644 --- a/ports/minizip/CONTROL +++ b/ports/minizip/CONTROL @@ -1,5 +1,9 @@ Source: minizip -Version: 1.2.11-4 +Version: 1.2.11-5 +Build-Depends: zlib Homepage: https://github.com/madler/zlib Description: Zip compression library -Build-Depends: bzip2, zlib + +Feature: bzip2 +Build-Depends: bzip2 +Description: Support compression using bzip2 library diff --git a/ports/minizip/portfile.cmake b/ports/minizip/portfile.cmake index 15289b767..86cfe9b9d 100644 --- a/ports/minizip/portfile.cmake +++ b/ports/minizip/portfile.cmake @@ -1,37 +1,48 @@ include(vcpkg_common_functions) if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "WindowsStore not supported") + message(FATAL_ERROR "WindowsStore not supported") endif() 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() + file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DENABLE_BZIP2=${BUILD_minizip_bzip2} + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON -DDISABLE_INSTALL_TOOLS=ON ) vcpkg_install_cmake() vcpkg_copy_pdbs() vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/minizip) -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() + +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() +endif() file(INSTALL ${SOURCE_PATH}/contrib/minizip/MiniZip64_info.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/minizip RENAME copyright) diff --git a/ports/mlpack/CONTROL b/ports/mlpack/CONTROL index 0902ce894..e76327ca5 100644 --- a/ports/mlpack/CONTROL +++ b/ports/mlpack/CONTROL @@ -1,5 +1,5 @@ Source: mlpack -Version: 3.1.1 +Version: 3.1.1-1 Description: mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms. Build-Depends: openblas (!osx), clapack (!osx), boost, armadillo, ensmallen diff --git a/ports/mlpack/blas_lapack.patch b/ports/mlpack/blas_lapack.patch new file mode 100644 index 000000000..2b9e44597 --- /dev/null +++ b/ports/mlpack/blas_lapack.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b158498..50f1def 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -286,7 +286,7 @@ if (WIN32) + find_package(LAPACK) + find_package(BLAS) + set(ARMADILLO_LIBRARIES +- ${ARMADILLO_LIBRARIES} ${BLAS_LIBRARY} ${LAPACK_LIBRARY}) ++ ${ARMADILLO_LIBRARIES} ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) + endif () + + # Include directories for the previous dependencies. diff --git a/ports/mlpack/portfile.cmake b/ports/mlpack/portfile.cmake index 0a5bcb6d1..6bde064f4 100644 --- a/ports/mlpack/portfile.cmake +++ b/ports/mlpack/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( HEAD_REF master PATCHES cmakelists.patch + blas_lapack.patch ) file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindACML.cmake) diff --git a/ports/mman/CONTROL b/ports/mman/CONTROL index 6ef51acb9..75a043f79 100644 --- a/ports/mman/CONTROL +++ b/ports/mman/CONTROL @@ -1,4 +1,4 @@ Source: mman -Version: git-f5ff813-2 +Version: git-f5ff813-3 Homepage: https://github.com/witwall/mman-win32 Description: A light implementation of the mmap functions for MinGW. diff --git a/ports/mman/portfile.cmake b/ports/mman/portfile.cmake index f4eb270c8..5918d370a 100644 --- a/ports/mman/portfile.cmake +++ b/ports/mman/portfile.cmake @@ -6,12 +6,8 @@ vcpkg_from_github( REF f5ff813c53935c3078f48e1f03a6944c4e7b459c SHA512 49c9a63a0a3c6fa585a76e65425f6fb1fdaa23cc87e53d5afb7a1298bcd4956298c076ee78f24dd5df5f5a0c5f6244c6abb63b40818e4d2546185fa37a73bf0d HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/mman-static.patch + mman-static.patch ) vcpkg_configure_cmake( diff --git a/ports/mmx/CONTROL b/ports/mmx/CONTROL new file mode 100644 index 000000000..ee6403630 --- /dev/null +++ b/ports/mmx/CONTROL @@ -0,0 +1,4 @@ +Source: mmx +Version: 2019-09-29 +Homepage: https://github.com/vurtun/mmx +Description: Single header libraries for C/C++ \ No newline at end of file diff --git a/ports/mmx/copyright b/ports/mmx/copyright new file mode 100644 index 000000000..f02e1bae7 --- /dev/null +++ b/ports/mmx/copyright @@ -0,0 +1,52 @@ +Licenses are stated in each header file + +json.h - public domain - Micha Mettke + +lexer.h - zlib LICENSE +LICENSE: (zlib) +Copyright (c) 2016 Micha Mettke + +sched.h - zlib LICENSE +LICENSE: (zlib) +Copyright (c) 2016 Doug Binks + +vec.h - zlib LICENSE +LICENSE: (zlib) +Copyright (c) 2015 Micha Mettke + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + + +web.h - BSD LICENSE - Andreas Fredriksson +LICENSE: (BSD) +Copyright (c) 2016, Andreas Fredriksson, Micha Mettke +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +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 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/ports/mmx/portfile.cmake b/ports/mmx/portfile.cmake new file mode 100644 index 000000000..78f7d9efb --- /dev/null +++ b/ports/mmx/portfile.cmake @@ -0,0 +1,12 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vurtun/mmx + REF b99867658dadcaed2fbfb95ad0e0c461a7a80a0c + SHA512 3ad01562f439fac364c45d9e4091d136c7cec36adeab219773c2df0d32b09f4e258bdb11884cbeed7dc2835381d2b409c55fe80e0913e995e54a1b7ebbe0f2bc + HEAD_REF master +) + +file(GLOB_RECURSE MMX_HEADERS "${SOURCE_PATH}/*.h") +file(INSTALL ${MMX_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/modp-base64/CONTROL b/ports/modp-base64/CONTROL index 3f277871a..983cce9d5 100644 --- a/ports/modp-base64/CONTROL +++ b/ports/modp-base64/CONTROL @@ -1,3 +1,3 @@ Source: modp-base64 -Version: +Version: v2.0.0 Description: diff --git a/ports/modp-base64/portfile.cmake b/ports/modp-base64/portfile.cmake index 3ff058474..e2fdc248c 100644 --- a/ports/modp-base64/portfile.cmake +++ b/ports/modp-base64/portfile.cmake @@ -1,12 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/modp-base64-v2.0.0) vcpkg_download_distfile(ARCHIVE URLS "https://web.archive.org/web/20060620024518/http://modp.com:80/release/base64/modp-base64-v2.0.0.tar.bz2" FILENAME "modp-base64-v2.0.0.tar.bz2" SHA512 474e20cbbc47f31af5e981a6a9028fcec57e3ae9bb5ba979aa5c5c4cab6f301208fe6f441a0106df4c223d89fb6f18b19ab8812cf9f3c9900e54524e35b45720 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt @@ -19,8 +22,6 @@ file(COPY DESTINATION ${SOURCE_PATH}/src ) - - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL index 35f29143d..efc81c03a 100644 --- a/ports/mongo-c-driver/CONTROL +++ b/ports/mongo-c-driver/CONTROL @@ -1,5 +1,9 @@ Source: mongo-c-driver -Version: 1.14.0-1 +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 + +Feature: snappy +Description: Enables snappy compressor support +Build-Depends: snappy diff --git a/ports/mongo-c-driver/fix-uwp.patch b/ports/mongo-c-driver/fix-uwp.patch deleted file mode 100644 index 973c17b5c..000000000 --- a/ports/mongo-c-driver/fix-uwp.patch +++ /dev/null @@ -1,156 +0,0 @@ ---- a/src/libbson/CMakeLists.txt -+++ b/src/libbson/CMakeLists.txt -@@ -217,6 +217,9 @@ set (HEADERS_FORWARDING - ${PROJECT_SOURCE_DIR}/src/bson/forwarding/bson.h - ) - -+add_definitions(-D_CRT_SECURE_NO_WARNINGS) -+ -+if (NOT ENABLE_STATIC MATCHES "ON|AUTO") - add_library (bson_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - set (CMAKE_CXX_VISIBILITY_PRESET hidden) - set_target_properties (bson_shared PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;JSONSL_PARSE_NAN") -@@ -258,16 +261,21 @@ if (WIN32) - # must be handled specially since we can't resolve them - set (BSON_SYSTEM_LIBRARIES ${BSON_SYSTEM_LIBRARIES} ws2_32) - endif () -+endif () - - if (ENABLE_STATIC MATCHES "ON|AUTO") - add_library (bson_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -+ set(CMAKE_CXX_VISIBILITY_PRESET hidden) - set_target_properties (bson_static PROPERTIES COMPILE_DEFINITIONS "BSON_COMPILATION;BSON_STATIC;JSONSL_PARSE_NAN") - set_target_properties (bson_static PROPERTIES VERSION 0.0.0) - set_target_properties (bson_static PROPERTIES OUTPUT_NAME "bson-static-${BSON_API_VERSION}") -+ set(THREADS_PREFER_PTHREAD_FLAG 1) -+ find_package (Threads REQUIRED) - target_link_libraries (bson_static Threads::Threads) - if (RT_LIBRARY) - target_link_libraries (bson_static ${RT_LIBRARY}) - endif () -+ find_library(M_LIBRARY m) - if (M_LIBRARY) - target_link_libraries (bson_static ${M_LIBRARY}) - endif () -@@ -282,7 +290,7 @@ function (add_example bin src) - add_executable (${bin} ${BSON_EXAMPLE_SOURCES}) - - # Link against the shared lib like normal apps -- target_link_libraries (${bin} bson_shared) -+ target_link_libraries (${bin} bson_shared bson_static) - - set (EXAMPLES ${EXAMPLES} ${bin}) - endfunction () -@@ -304,6 +312,7 @@ set (BSON_HEADER_INSTALL_DIR - "${CMAKE_INSTALL_INCLUDEDIR}/libbson-${BSON_API_VERSION}" - ) - -+if (NOT ENABLE_STATIC MATCHES "ON|AUTO") - install ( - TARGETS bson_shared ${EXAMPLES} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -311,6 +320,7 @@ install ( - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR} - ) -+endif () - if (ENABLE_STATIC MATCHES "ON|AUTO") - install ( - TARGETS bson_static ${EXAMPLES} ---- a/src/libmongoc/CMakeLists.txt -+++ b/src/libmongoc/CMakeLists.txt -@@ -609,6 +609,7 @@ if (WIN32) - set (LIBRARIES ${LIBRARIES} ws2_32) - endif () - -+if (NOT MONGOC_ENABLE_STATIC) - add_library (mongoc_shared SHARED ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) - set_target_properties (mongoc_shared PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) - target_link_libraries (mongoc_shared ${LIBRARIES} ${BSON_LIBRARIES}) -@@ -617,6 +618,7 @@ target_compile_definitions (mongoc_shared PUBLIC MONGOC_COMPILATION ${BSON_DEFIN - - set_target_properties (mongoc_shared PROPERTIES VERSION 0.0.0 SOVERSION 0) - set_target_properties (mongoc_shared PROPERTIES OUTPUT_NAME "mongoc-${MONGOC_API_VERSION}" PREFIX "lib") -+endif () - - if (MONGOC_ENABLE_STATIC) - add_library (mongoc_static STATIC ${SOURCES} ${HEADERS} ${HEADERS_FORWARDING}) -@@ -639,7 +641,11 @@ if (ENABLE_APPLE_FRAMEWORK) - endif () - - add_executable (mongoc-stat ${PROJECT_SOURCE_DIR}/../../src/tools/mongoc-stat.c) -+if (MONGOC_ENABLE_STATIC) -+target_link_libraries (mongoc-stat mongoc_static) -+else () - target_link_libraries (mongoc-stat mongoc_shared) -+endif () - - # mongoc-stat works if shared memory performance counters are enabled. - if (ENABLE_SHM_COUNTERS STREQUAL "ON") -@@ -870,6 +876,7 @@ file (COPY ${PROJECT_SOURCE_DIR}/tests/json DESTINATION ${PROJECT_BINARY_DIR}/te - file (COPY ${PROJECT_SOURCE_DIR}/tests/x509gen DESTINATION ${PROJECT_BINARY_DIR}/tests) - file (COPY ${PROJECT_SOURCE_DIR}/tests/release_files DESTINATION ${PROJECT_BINARY_DIR}/tests) - -+if (NOT MONGOC_ENABLE_STATIC) - install ( - TARGETS mongoc_shared ${EXAMPLES} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -@@ -877,10 +884,11 @@ install ( - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - FRAMEWORK DESTINATION ${CMAKE_INSTALL_BINDIR} - ) -+endif () - - if (MONGOC_ENABLE_STATIC) - install ( -- TARGETS mongoc_shared mongoc_static ${EXAMPLES} -+ TARGETS mongoc_static ${EXAMPLES} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ---- a/src/libmongoc/src/mongoc/mongoc-gridfs-file.c -+++ b/src/libmongoc/src/mongoc/mongoc-gridfs-file.c -@@ -765,7 +765,7 @@ _mongoc_gridfs_file_refresh_page (mongoc_gridfs_file_t *file) - bson_t query; - bson_t child; - bson_t opts; -- const bson_t *chunk; -+ const bson_t *chunk = NULL; - const char *key; - bson_iter_t iter; - int64_t existing_chunks; ---- a/src/libmongoc/src/mongoc/mongoc-handshake.c -+++ b/src/libmongoc/src/mongoc/mongoc-handshake.c -@@ -286,7 +286,8 @@ _get_os_version (void) - char *ret = bson_malloc (HANDSHAKE_OS_VERSION_MAX); - bool found = false; - --#ifdef _WIN32 -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+#elif defined (_WIN32) - OSVERSIONINFO osvi; - ZeroMemory (&osvi, sizeof (OSVERSIONINFO)); - osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); ---- a/src/libmongoc/src/mongoc/mongoc-util.c -+++ b/src/libmongoc/src/mongoc/mongoc-util.c -@@ -84,7 +84,11 @@ _mongoc_hex_md5 (const char *input) - void - _mongoc_usleep (int64_t usec) - { - #ifdef _WIN32 -+#if defined (WINAPI_FAMILY_PARTITION) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM) -+ if (usec / 1000 > MAXDWORD || usec < 0) -+ __fastfail(-1); -+ Sleep((DWORD)(usec / 1000)); -+#else - LARGE_INTEGER ft; - HANDLE timer; - -@@ -80,6 +85,7 @@ _mongoc_usleep (int64_t usec) - SetWaitableTimer (timer, &ft, 0, NULL, NULL, 0); - WaitForSingleObject (timer, INFINITE); - CloseHandle (timer); -+#endif - #else - BSON_ASSERT (usec >= 0); - usleep ((useconds_t) usec); diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index 5a0c484c0..a138f7872 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -1,13 +1,13 @@ -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 +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + "snappy" ENABLE_SNAPPY ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -16,12 +16,16 @@ else() set(ENABLE_STATIC OFF) endif() -if(NOT VCPKG_CMAKE_SYSTEM_NAME) +if(VCPKG_TARGET_IS_WINDOWS) set(ENABLE_SSL "WINDOWS") 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 @@ -35,14 +39,15 @@ vcpkg_configure_cmake( -DENABLE_ZLIB=SYSTEM -DENABLE_STATIC=${ENABLE_STATIC} -DBUILD_VERSION=${BUILD_VERSION} + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libmongoc-static-1.0") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libmongoc-static-1.0) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libmongoc-1.0") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libmongoc-1.0) endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) @@ -57,8 +62,8 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/temp ${CURRENT_PACKAGES_DIR}/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(RENAME + if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_TARGET_IS_UWP) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/libmongoc-static-1.0.a ${CURRENT_PACKAGES_DIR}/lib/libmongoc-1.0.a) file(RENAME @@ -74,11 +79,9 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) endif() # drop the __declspec(dllimport) when building static - vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include - PATCHES - static.patch - ) + file(READ ${CURRENT_PACKAGES_DIR}/include/mongoc/mongoc-macros.h MONGOC_MACROS_H) + string(REPLACE "define MONGOC_API __declspec(dllimport)" "define MONGOC_API" MONGOC_MACROS_H "${MONGOC_MACROS_H}") + file(WRITE ${CURRENT_PACKAGES_DIR}/include/mongoc/mongoc-macros.h "${MONGOC_MACROS_H}") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) endif() @@ -96,7 +99,7 @@ endif() file(READ ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config.cmake LIBMONGOC_CONFIG_CMAKE) # Patch: Set _IMPORT_PREFIX and replace PACKAGE_PREFIX_DIR -string(REPLACE +string(REPLACE [[ get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../" ABSOLUTE) ]] @@ -114,6 +117,11 @@ string(REPLACE [[PACKAGE_PREFIX_DIR]] [[_IMPORT_PREFIX]] LIBMONGOC_CONFIG_CMAKE string(REPLACE "/include/libmongoc-1.0" "/include" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}") string(REPLACE "mongoc-static-1.0" "mongoc-1.0" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}") +#Something similar is probably required for windows too! +string(REPLACE "/lib/libssl.a" "\$<\$:/debug>/lib/libssl.a" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}") +string(REPLACE "/lib/libcrypto.a" "\$<\$:/debug>/lib/libcrypto.a" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}") +string(REPLACE "/lib/libz.a" "\$<\$:/debug>/lib/libz.a" LIBMONGOC_CONFIG_CMAKE "${LIBMONGOC_CONFIG_CMAKE}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config.cmake "${LIBMONGOC_CONFIG_CMAKE}") file(COPY ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX}) file(COPY ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config-version.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/libmongoc-${PORT_POSTFIX}) @@ -122,6 +130,8 @@ file(RENAME ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFI vcpkg_copy_pdbs() +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libbson-1.0.pc ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libbson-1.0.pc) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libbson-static-1.0.pc ${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libbson-static-1.0.pc) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/bson-1.0.lib ${CURRENT_PACKAGES_DIR}/lib/bson-1.0.lib) diff --git a/ports/mongo-c-driver/static.patch b/ports/mongo-c-driver/static.patch deleted file mode 100644 index 0f7fa98bb..000000000 --- a/ports/mongo-c-driver/static.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/mongoc/mongoc-macros.h -+++ b/mongoc/mongoc-macros.h -@@ -40,7 +40,7 @@ - #elif defined(MONGOC_COMPILATION) - #define MONGOC_API __declspec(dllexport) - #else --#define MONGOC_API __declspec(dllimport) -+#define MONGOC_API - #endif - #define MONGOC_CALL __cdecl - diff --git a/ports/mongo-c-driver/usage b/ports/mongo-c-driver/usage new file mode 100644 index 000000000..80595cd07 --- /dev/null +++ b/ports/mongo-c-driver/usage @@ -0,0 +1,9 @@ +The package mongo-c-driver is compatible with built-in CMake targets: + + find_package(mongo-c-driver CONFIG REQUIRED) + target_include_directories(${project} PRIVATE ${MONGOC_INCLUDE_DIRS}) + +For use dynamic library: + target_link_libraries(${project} PRIVATE ${MONGOC_LIBRARIES}) +For use static library: + target_link_libraries(${project} PRIVATE ${MONGOC_STATIC_LIBRARY}) diff --git a/ports/mongo-cxx-driver/CONTROL b/ports/mongo-cxx-driver/CONTROL index 50a2a6efd..b4424e25b 100644 --- a/ports/mongo-cxx-driver/CONTROL +++ b/ports/mongo-cxx-driver/CONTROL @@ -1,5 +1,5 @@ Source: mongo-cxx-driver -Version: 3.4.0-1 +Version: 3.4.0-3 Build-Depends: libbson, mongo-c-driver, boost-smart-ptr, boost-optional, boost-utility Homepage: https://github.com/mongodb/mongo-cxx-driver Description: MongoDB C++ Driver. diff --git a/ports/mongo-cxx-driver/portfile.cmake b/ports/mongo-cxx-driver/portfile.cmake index a5a1c6f39..9f05fedc8 100644 --- a/ports/mongo-cxx-driver/portfile.cmake +++ b/ports/mongo-cxx-driver/portfile.cmake @@ -26,7 +26,7 @@ elseif ("boost" IN_LIST FEATURES) elseif("std-experimental" IN_LIST FEATURES) set(BSONCXX_POLY STD_EXPERIMENTAL) else() - if (WIN32) + if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(BSONCXX_POLY BOOST) else() set(BSONCXX_POLY MNMLSTC) @@ -83,13 +83,16 @@ set(LIBMONGOCXX_LIBRARIES optimized \${LIBMONGOCXX_LIBRARY_PATH_RELEASE} debug \ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +if (NOT BSONCXX_POLY STREQUAL MNMLSTC) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bsoncxx/third_party) +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bsoncxx/cmake ${CURRENT_PACKAGES_DIR}/include/bsoncxx/config/private ${CURRENT_PACKAGES_DIR}/include/bsoncxx/private ${CURRENT_PACKAGES_DIR}/include/bsoncxx/test ${CURRENT_PACKAGES_DIR}/include/bsoncxx/test_util - ${CURRENT_PACKAGES_DIR}/include/bsoncxx/third_party ${CURRENT_PACKAGES_DIR}/include/mongocxx/cmake ${CURRENT_PACKAGES_DIR}/include/mongocxx/config/private diff --git a/ports/mongoose/CMakeLists.txt b/ports/mongoose/CMakeLists.txt new file mode 100644 index 000000000..77fe2f839 --- /dev/null +++ b/ports/mongoose/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.14) + +project(mongoose C) + +include(GNUInstallDirs) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +add_library(mongoose mongoose.c) +target_include_directories(mongoose PUBLIC $) +set_target_properties(mongoose PROPERTIES PUBLIC_HEADER mongoose.h) + +install(TARGETS mongoose EXPORT unofficial-mongoose-config) + +install( + EXPORT unofficial-mongoose-config + NAMESPACE unofficial::mongoose:: + DESTINATION share/unofficial-mongoose + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/mongoose/CONTROL b/ports/mongoose/CONTROL new file mode 100644 index 000000000..ae0bbc758 --- /dev/null +++ b/ports/mongoose/CONTROL @@ -0,0 +1,4 @@ +Source: mongoose +Version: 6.15-1 +Description: Embedded web server / embedded networking library +Homepage: https://cesanta.com/ diff --git a/ports/mongoose/portfile.cmake b/ports/mongoose/portfile.cmake new file mode 100644 index 000000000..81c8d50ee --- /dev/null +++ b/ports/mongoose/portfile.cmake @@ -0,0 +1,34 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} does not currently support UWP") +endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cesanta/mongoose + REF 6.15 + SHA512 d736aeb9ccb7a67fb8180ed324d3fa26e005bfc2ede1db00d73349976bfcfb45489ce3efb178817937fae3cd9f6a6e9c4b620af8517e3ace9c53b9541539bdde + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +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}) diff --git a/ports/monkeys-audio/CONTROL b/ports/monkeys-audio/CONTROL index 2b6447dbe..2062fe40a 100644 --- a/ports/monkeys-audio/CONTROL +++ b/ports/monkeys-audio/CONTROL @@ -1,5 +1,5 @@ Source: monkeys-audio -Version: 4.3.3-1 +Version: 4.8.3-1 Homepage: https://monkeysaudio.com Description: Monkey's Audio is an excellent audio compression tool which has multiple advantages over traditional methods. Audio files compressed with it ends with .ape extension. diff --git a/ports/monkeys-audio/portfile.cmake b/ports/monkeys-audio/portfile.cmake index fbde63a4a..a958f2a88 100644 --- a/ports/monkeys-audio/portfile.cmake +++ b/ports/monkeys-audio/portfile.cmake @@ -6,20 +6,19 @@ endif() vcpkg_check_linkage(ONLY_STATIC_LIBRARY ONLY_STATIC_CRT) -if(EXISTS ${CURRENT_BUILDTREES_DIR}/src/MAC_SDK_433.zip.extracted) - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src) -endif() - set(VERSION 4.7) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/433) vcpkg_download_distfile(ARCHIVE - URLS "http://monkeysaudio.com/files/MAC_SDK_433.zip" - FILENAME "MAC_SDK_433.zip" - SHA512 957ba262da29a8542ab82dc828328b19bf80ecf0d09165db935924b390cb6a3a2d9303a2e07b86b28ecf4210a66dd5c4be840205a9f09518189101033f1a13c8 + URLS "http://monkeysaudio.com/files/MAC_SDK_483.zip" + FILENAME "MAC_SDK_483.zip" + SHA512 c080aa87997def3b970050f6bd334b6908884cc521f192abc02d774a8b3067207781dcab30f052015d4ae891fc6390c6f0b33ed319d9d7fd0850dab6fcded8f0 ) -vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) file(REMOVE ${SOURCE_PATH}/Shared/MACDll.dll @@ -29,7 +28,7 @@ file(REMOVE vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH Source/Projects/VS2017/Console/Console.vcxproj + PROJECT_SUBPATH Source/Projects/VS2019/Console/Console.vcxproj ) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include) @@ -39,7 +38,6 @@ file(COPY ${SOURCE_PATH}/Shared/ file(REMOVE ${CURRENT_PACKAGES_DIR}/include/monkeys-audio/MACDll.h) file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/Console.lib ${CURRENT_PACKAGES_DIR}/debug/lib/Console.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/Console.exe ${CURRENT_PACKAGES_DIR}/tools/monkeys-audio/mac.exe) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) diff --git a/ports/moos-core/CONTROL b/ports/moos-core/CONTROL index 33e68c93f..15a5a5e1f 100644 --- a/ports/moos-core/CONTROL +++ b/ports/moos-core/CONTROL @@ -1,4 +1,4 @@ Source: moos-core -Version: 10.4.0-2 +Version: 10.4.0-4 Description: A very light weight, easy to use middleware. -Homepage: https://sites.google.com/site/moossoftware/ \ No newline at end of file +Homepage: https://sites.google.com/site/moossoftware/ diff --git a/ports/moos-core/portfile.cmake b/ports/moos-core/portfile.cmake index 646fde9e2..663ad6df2 100644 --- a/ports/moos-core/portfile.cmake +++ b/ports/moos-core/portfile.cmake @@ -12,25 +12,16 @@ vcpkg_from_github( cmake_fix.patch ) -message(STATUS "MOOS VCPKG SOURCE_PATH ${SOURCE_PATH}") -message(STATUS "MOOS INSTALL -DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}") - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_SHARED_LIBS=OFF -DCMAKE_ENABLE_EXPORT=OFF ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/MOOS") - -set(MOOS_EXEC_SUFFIX "") -if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(MOOS_EXEC_SUFFIX ".exe") -endif() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/MOOS) # Stage tools file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) diff --git a/ports/moos-essential/CONTROL b/ports/moos-essential/CONTROL index 06cc1c0f0..32fd954e3 100644 --- a/ports/moos-essential/CONTROL +++ b/ports/moos-essential/CONTROL @@ -1,5 +1,5 @@ Source: moos-essential -Version: 10.0.1-1 +Version: 10.0.1-2 Description: a set of useful applications that leverage the core-moos communications layer. Homepage: https://sites.google.com/site/moossoftware/ Build-Depends: moos-core diff --git a/ports/moos-essential/portfile.cmake b/ports/moos-essential/portfile.cmake index f0a55923e..634b1530e 100644 --- a/ports/moos-essential/portfile.cmake +++ b/ports/moos-essential/portfile.cmake @@ -6,14 +6,8 @@ vcpkg_from_github( REF b897ea86dba8b61412dc48ac0cfb5ff34cdaf5f6 SHA512 7284744d211dcdcb0cd321eec96f3632ccda690e8894261f4f09a06bc8faefb2de68f4f2f755f4eeef5bb586044e98ac65cdd18c15193a1a4632bd2f4208c52f HEAD_REF master -) - -message(STATUS "MOOS Essential Source Path: ${SOURCE_PATH}") -message(STATUS "MOOS Essential CMAKE_CURRENT_LIST_DIR: ${CMAKE_CURRENT_LIST_DIR}") - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix.patch + PATCHES + fix.patch ) vcpkg_configure_cmake( @@ -39,5 +33,3 @@ endif() file(WRITE ${CURRENT_PACKAGES_DIR}/include/fake_header.h "// fake header to pass vcpkg post install check \n") file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "see moos-core for copyright\n" ) -# -# diff --git a/ports/moos-ui/CONTROL b/ports/moos-ui/CONTROL index 08279ce15..8894e8b09 100644 --- a/ports/moos-ui/CONTROL +++ b/ports/moos-ui/CONTROL @@ -1,7 +1,5 @@ Source: moos-ui -Version: 10.0.1-1 +Version: 10.0.1-2 Description: set of user interface tools to use and leverage the MOOS project. Homepage: https://sites.google.com/site/moossoftware/ Build-Depends: moos-core - - diff --git a/ports/moos-ui/portfile.cmake b/ports/moos-ui/portfile.cmake index 3f4b880e2..55cbebb7f 100644 --- a/ports/moos-ui/portfile.cmake +++ b/ports/moos-ui/portfile.cmake @@ -19,19 +19,16 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/MOOS) -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/uPoke") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPoke ${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/iRemoteLite ${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite) +if (VCPKG_TARGET_IS_WINDOWS) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPoke.exe ${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke.exe) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/iRemoteLite.exe ${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite.exe) +else() + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPoke ${CURRENT_PACKAGES_DIR}/tools/MOOS/uPoke) + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/iRemoteLite ${CURRENT_PACKAGES_DIR}/tools/MOOS/iRemoteLite) endif() +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/MOOS) -# file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uMS ${CURRENT_PACKAGES_DIR}/tools/uMS) -# file(RENAME ${CURRENT_PACKAGES_DIR}/bin/uPlayback ${CURRENT_PACKAGES_DIR}/tools/uPlayback) -# file(RENAME ${CURRENT_PACKAGES_DIR}/bin/pShare ${CURRENT_PACKAGES_DIR}/tools/pShare) -#endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug) -endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug) file(WRITE ${CURRENT_PACKAGES_DIR}/include/fake_header_ui.h "// fake header to pass vcpkg post install check \n") file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "see moos-core for copyright\n" ) diff --git a/ports/mosquitto/CONTROL b/ports/mosquitto/CONTROL index 1a72c19fc..df10ce2d8 100644 --- a/ports/mosquitto/CONTROL +++ b/ports/mosquitto/CONTROL @@ -1,5 +1,5 @@ Source: mosquitto -Version: 1.6.2-2 +Version: 1.6.7 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/portfile.cmake b/ports/mosquitto/portfile.cmake index f3b2f9715..b2fe11da9 100644 --- a/ports/mosquitto/portfile.cmake +++ b/ports/mosquitto/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO eclipse/mosquitto - REF f825d4bb5e9f4fc5dc62ad09f895c87800d0f579 - SHA512 cd94236d5673f7e5a992d1e866afe2ccb496dfb7cc24e53808caed603bc8e899ca12857a16eac58ac7ab7235a849b6e2528c55e0debf651ef76dcebef75e7df9 + REF v1.6.7 + SHA512 bc10a70815a8962e0ead06c36b312ea84e43db4e7c05ad940db91cacea92387a3b4f59f7de1606c4df56cd8c829433957733aa4007111d62bc0134e9cbb9ff3f HEAD_REF master PATCHES archive-dest.patch @@ -30,17 +30,31 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_copy_pdbs() -# Remove debug/include file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*.exe) -file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) -file(REMOVE ${EXE}) -file(REMOVE ${DEBUG_EXE}) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mosquitto RENAME copyright) +if(CMAKE_HOST_WIN32) + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") +endif() -# Copy pdb -vcpkg_copy_pdbs() +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}) + +#if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + endif() +#endif() + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/mosquitto RENAME copyright) diff --git a/ports/mosquitto/win64-cmake.patch b/ports/mosquitto/win64-cmake.patch index 9105c403f..3fdb93700 100644 --- a/ports/mosquitto/win64-cmake.patch +++ b/ports/mosquitto/win64-cmake.patch @@ -29,17 +29,3 @@ index b7a7616..bceb92a 100644 # ifndef strcasecmp # define strcasecmp strcmpi # endif -diff --git a/lib/net_mosq.h b/lib/net_mosq.h -index b843ebe..8c077eb 100644 ---- a/lib/net_mosq.h -+++ b/lib/net_mosq.h -@@ -20,6 +20,9 @@ Contributors: - #include - #else - #include -+#if defined(_MSC_VER) && _MSC_VER > 1900 -+#undef ssize_t -+#endif - typedef SSIZE_T ssize_t; - #endif - diff --git a/ports/mozjpeg/CONTROL b/ports/mozjpeg/CONTROL index c5180d140..2f786a1c2 100644 --- a/ports/mozjpeg/CONTROL +++ b/ports/mozjpeg/CONTROL @@ -1,4 +1,4 @@ Source: mozjpeg -Version: 3.2-2 +Version: 3.2-3 Homepage: https://github.com/mozilla/mozjpeg Description: MozJPEG reduces file sizes of JPEG images while retaining quality and compatibility with the vast majority of the world's deployed decoders. It's compatible with libjpeg API and ABI, and can be used as a drop-in replacement for libjpeg. diff --git a/ports/mozjpeg/portfile.cmake b/ports/mozjpeg/portfile.cmake index 70fc58dc4..d771fd205 100644 --- a/ports/mozjpeg/portfile.cmake +++ b/ports/mozjpeg/portfile.cmake @@ -26,6 +26,7 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" WITH_CRT_DLL) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DDENABLE_SHARED=${ENABLE_SHARED_BUILD} -DENABLE_STATIC=${ENABLE_STATIC_BUILD} diff --git a/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch b/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch new file mode 100644 index 000000000..07778093b --- /dev/null +++ b/ports/mp3lame/00001-msvc-upgrade-solution-up-to-vc11.patch @@ -0,0 +1,1018 @@ +diff --git a/vc_solution/arch_nasm.props b/vc_solution/arch_nasm.props +new file mode 100644 +index 0000000..13174c9 +--- /dev/null ++++ b/vc_solution/arch_nasm.props +@@ -0,0 +1,15 @@ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.61030.0 ++ ++ ++ ++ TAKEHIRO_IEEE754_HACK;HAVE_NASM;MMX_choose_table;%(PreprocessorDefinitions) ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/arch_sse2.props b/vc_solution/arch_sse2.props +new file mode 100644 +index 0000000..1f97d57 +--- /dev/null ++++ b/vc_solution/arch_sse2.props +@@ -0,0 +1,17 @@ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.61030.0 ++ ++ ++ ++ HAVE_XMMINTRIN_H;MIN_ARCH_SSE;%(PreprocessorDefinitions) ++ StreamingSIMDExtensions2 ++ Fast ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/arch_x87.props b/vc_solution/arch_x87.props +new file mode 100644 +index 0000000..3268c6b +--- /dev/null ++++ b/vc_solution/arch_x87.props +@@ -0,0 +1,15 @@ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.61030.0 ++ ++ ++ ++ TAKEHIRO_IEEE754_HACK;%(PreprocessorDefinitions) ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/vc11_lame.sln b/vc_solution/vc11_lame.sln +new file mode 100644 +index 0000000..9453bb0 +--- /dev/null ++++ b/vc_solution/vc11_lame.sln +@@ -0,0 +1,41 @@ ++ ++Microsoft Visual Studio Solution File, Format Version 12.00 ++# Visual Studio 2012 ++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lame", "vc11_lame_lame.vcxproj", "{EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}" ++ ProjectSection(ProjectDependencies) = postProject ++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2} = {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2} ++ EndProjectSection ++EndProject ++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp3lame-static", "vc11_libmp3lame.vcxproj", "{20536101-3B0E-43EF-94F9-080D595DAC57}" ++EndProject ++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp3lame", "vc11_libmp3lame_dll.vcxproj", "{92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}" ++EndProject ++Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmpghip-static", "vc11_mpglib.vcxproj", "{E2DAB91A-8248-4625-8A85-2C2C2A390DD8}" ++EndProject ++Global ++ GlobalSection(SolutionConfigurationPlatforms) = preSolution ++ Debug|Win32 = Debug|Win32 ++ Release|Win32 = Release|Win32 ++ EndGlobalSection ++ GlobalSection(ProjectConfigurationPlatforms) = postSolution ++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Debug|Win32.ActiveCfg = Debug|Win32 ++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Debug|Win32.Build.0 = Debug|Win32 ++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Release|Win32.ActiveCfg = Release|Win32 ++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38}.Release|Win32.Build.0 = Release|Win32 ++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Debug|Win32.ActiveCfg = Debug|Win32 ++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Debug|Win32.Build.0 = Debug|Win32 ++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Release|Win32.ActiveCfg = Release|Win32 ++ {20536101-3B0E-43EF-94F9-080D595DAC57}.Release|Win32.Build.0 = Release|Win32 ++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Debug|Win32.ActiveCfg = Debug|Win32 ++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Debug|Win32.Build.0 = Debug|Win32 ++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Release|Win32.ActiveCfg = Release|Win32 ++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2}.Release|Win32.Build.0 = Release|Win32 ++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Debug|Win32.ActiveCfg = Debug|Win32 ++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Debug|Win32.Build.0 = Debug|Win32 ++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Release|Win32.ActiveCfg = Release|Win32 ++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8}.Release|Win32.Build.0 = Release|Win32 ++ EndGlobalSection ++ GlobalSection(SolutionProperties) = preSolution ++ HideSolutionNode = FALSE ++ EndGlobalSection ++EndGlobal +diff --git a/vc_solution/vc11_lame_config.props b/vc_solution/vc11_lame_config.props +new file mode 100644 +index 0000000..fd60017 +--- /dev/null ++++ b/vc_solution/vc11_lame_config.props +@@ -0,0 +1,32 @@ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.61030.0 ++ $(SolutionDir)..\output\$(Configuration)\ ++ $(SolutionDir)..\obj\$(Configuration)\$(ProjectName)\ ++ false ++ ++ ++ ++ $(IntDir)$(ProjectName).bsc ++ ++ ++ _CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATED;%(PreprocessorDefinitions) ++ true ++ true ++ $(IntDir) ++ true ++ Level4 ++ 4995;4996;%(DisableSpecificWarnings) ++ ++ ++ $(OutDir);%(AdditionalLibraryDirectories) ++ $(OutDir)$(TargetName).pdb ++ true ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/vc11_lame_lame.vcxproj b/vc_solution/vc11_lame_lame.vcxproj +new file mode 100644 +index 0000000..faf101a +--- /dev/null ++++ b/vc_solution/vc11_lame_lame.vcxproj +@@ -0,0 +1,128 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Release ++ Win32 ++ ++ ++ ++ lame ++ {EEF5B49E-DBD1-4E1B-8B86-C5D64FCBAD38} ++ lame ++ ++ ++ ++ Application ++ v110 ++ false ++ ++ ++ Application ++ v110 ++ false ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.61030.0 ++ ++ ++ ++ ..\output\Debug/lame.tlb ++ ++ ++ ++ Disabled ++ ../;../mpglib;../libmp3lame;../include;%(AdditionalIncludeDirectories) ++ _DEBUG;WIN32;_WIN32;_CONSOLE;_WINDOWS;HAVE_MPGLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions) ++ MultiThreadedDebugDLL ++ ProgramDatabase ++ ++ ++ _DEBUG;_APP=$(TargetFileName);%(PreprocessorDefinitions) ++ 0x0409 ++ ++ ++ $(OutDir)lame.exe ++ true ++ Console ++ false ++ /APPCONTAINER /machine:x86 %(AdditionalOptions) ++ NotSet ++ ++ ++ ++ ++ ..\output\Release/lame.tlb ++ ++ ++ ++ Full ++ AnySuitable ++ true ++ Speed ++ ..;../mpglib;../libmp3lame;../include;../;%(AdditionalIncludeDirectories) ++ NDEBUG;WIN32;_WIN32;_CONSOLE;_WINDOWS;HAVE_MPGLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ ++ NDEBUG;_APP=$(TargetFileName);%(PreprocessorDefinitions) ++ 0x0409 ++ ++ ++ $(OutDir)lame.exe ++ Console ++ false ++ /APPCONTAINER /machine:x86 %(AdditionalOptions) ++ NotSet ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ {20536101-3b0e-43ef-94f9-080d595dac57} ++ false ++ ++ ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/vc11_libmp3lame.vcxproj b/vc_solution/vc11_libmp3lame.vcxproj +new file mode 100644 +index 0000000..d4636b0 +--- /dev/null ++++ b/vc_solution/vc11_libmp3lame.vcxproj +@@ -0,0 +1,188 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Release ++ Win32 ++ ++ ++ ++ libmp3lame-static ++ {20536101-3B0E-43EF-94F9-080D595DAC57} ++ libmp3lame ++ ++ ++ ++ StaticLibrary ++ v110 ++ false ++ ++ ++ StaticLibrary ++ v110 ++ false ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.61030.0 ++ ++ ++ ++ Full ++ AnySuitable ++ true ++ Speed ++ ../mpglib;../include;..;%(AdditionalIncludeDirectories) ++ NDEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ ++ 0x0409 ++ ++ ++ $(OutDir)libmp3lame-static.lib ++ ++ ++ ++ ++ Disabled ++ ../mpglib;../include;..;%(AdditionalIncludeDirectories) ++ _DEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions) ++ MultiThreadedDebugDLL ++ $(OutDir)$(TargetName).pdb ++ OldStyle ++ ++ ++ 0x0409 ++ ++ ++ $(OutDir)libmp3lame-static.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Level1 ++ Level1 ++ ++ ++ ++ ++ ++ ++ ++ ../libmp3lame;%(AdditionalIncludeDirectories) ++ ../libmp3lame;%(AdditionalIncludeDirectories) ++ ++ ++ ++ ++ ++ Performing Custom Build Step on %(Filename) ++ copy ..\configMS.h ..\config.h ++ ++ ..\config.h;%(Outputs) ++ Performing Custom Build Step on %(Filename) ++ copy ..\configMS.h ..\config.h ++ ++ ..\config.h;%(Outputs) ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ true ++ true ++ ++ ++ true ++ true ++ ++ ++ true ++ true ++ ++ ++ true ++ true ++ ++ ++ true ++ true ++ ++ ++ true ++ true ++ ++ ++ true ++ true ++ ++ ++ true ++ true ++ ++ ++ ++ ++ {e2dab91a-8248-4625-8a85-2c2c2a390dd8} ++ false ++ ++ ++ ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/vc11_libmp3lame_dll.vcxproj b/vc_solution/vc11_libmp3lame_dll.vcxproj +new file mode 100644 +index 0000000..9dad9d5 +--- /dev/null ++++ b/vc_solution/vc11_libmp3lame_dll.vcxproj +@@ -0,0 +1,125 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Release ++ Win32 ++ ++ ++ ++ libmp3lame ++ {92BD50AA-04D6-4FBF-ACE1-468FAF6778F2} ++ libmp3lameDLL ++ ++ ++ ++ DynamicLibrary ++ v110 ++ false ++ ++ ++ DynamicLibrary ++ v110 ++ false ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.61030.0 ++ ++ ++ ++ ..\output\Release/libmp3lame_dll.tlb ++ ++ ++ ++ Full ++ AnySuitable ++ true ++ Speed ++ ../libmp3lame;../;../mpglib;../include;..;%(AdditionalIncludeDirectories) ++ NDEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ ++ _VC80_UPGRADE=0x0600;_DLL=$(TargetFileName);%(PreprocessorDefinitions) ++ 0x0409 ++ ++ ++ false ++ ++ ++ $(OutDir)libmp3lame.dll ++ ..\include\lame.def ++ $(OutDir)libmp3lame.lib ++ /APPCONTAINER /machine:x86 %(AdditionalOptions) ++ false ++ NotSet ++ ++ ++ ++ ++ ..\output\Debug/libmp3lame_dll.tlb ++ ++ ++ ++ Disabled ++ ../libmp3lame;../;../mpglib;../include;..;%(AdditionalIncludeDirectories) ++ _DEBUG;_WINDOWS;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions) ++ MultiThreadedDebugDLL ++ ProgramDatabase ++ ++ ++ _VC80_UPGRADE=0x0600;_DLL=$(TargetFileName);_DEBUG;%(PreprocessorDefinitions) ++ 0x0409 ++ ++ ++ false ++ ++ ++ $(OutDir)libmp3lame.dll ++ ..\include\lame.def ++ true ++ $(OutDir)libmp3lame.lib ++ /APPCONTAINER /machine:x86 %(AdditionalOptions) ++ false ++ NotSet ++ ++ ++ ++ ++ true ++ true ++ ++ ++ ++ ++ ++ ++ ++ {20536101-3b0e-43ef-94f9-080d595dac57} ++ false ++ ++ ++ ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/vc11_mpglib.vcxproj b/vc_solution/vc11_mpglib.vcxproj +new file mode 100644 +index 0000000..a455bca +--- /dev/null ++++ b/vc_solution/vc11_mpglib.vcxproj +@@ -0,0 +1,116 @@ ++ ++ ++ ++ ++ Debug ++ Win32 ++ ++ ++ Release ++ Win32 ++ ++ ++ ++ libmpghip-static ++ {E2DAB91A-8248-4625-8A85-2C2C2A390DD8} ++ libmpghip ++ ++ ++ ++ StaticLibrary ++ v110 ++ false ++ ++ ++ StaticLibrary ++ v110 ++ false ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ <_ProjectFileVersion>11.0.61030.0 ++ ++ ++ ++ Full ++ AnySuitable ++ true ++ Speed ++ ../libmp3lame;../include;..;%(AdditionalIncludeDirectories) ++ NDEBUG;HAVE_MPGLIB;_WINDOWS;USE_LAYER_2;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions) ++ MultiThreadedDLL ++ ++ ++ 0x0409 ++ ++ ++ $(OutDir)libmpghip-static.lib ++ ++ ++ ++ ++ Disabled ++ ../libmp3lame;../include;..;%(AdditionalIncludeDirectories) ++ _DEBUG;_WINDOWS;USE_LAYER_2;HAVE_MPGLIB;WIN32;HAVE_CONFIG_H;%(PreprocessorDefinitions) ++ MultiThreadedDebugDLL ++ $(OutDir)$(TargetName).pdb ++ OldStyle ++ ++ ++ 0x0409 ++ ++ ++ $(OutDir)libmpghip-static.lib ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Performing Custom Build Step on %(Filename) ++ copy ..\configMS.h ..\config.h ++ ++ ..\config.h;%(Outputs) ++ Performing Custom Build Step on %(Filename) ++ copy ..\configMS.h ..\config.h ++ ++ ..\config.h;%(Outputs) ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/vc11_nasm.props b/vc_solution/vc11_nasm.props +new file mode 100644 +index 0000000..0f8542f +--- /dev/null ++++ b/vc_solution/vc11_nasm.props +@@ -0,0 +1,24 @@ ++ ++ ++ ++ Midl ++ CustomBuild ++ ++ ++ _SelectedFiles;$(NASMDependsOn) ++ ++ ++ ++ $(IntDir)%(Filename).obj ++ win32 ++ %(RootDir)%(Directory) ++ WIN32 ++ nasmw [BinFormat] [IncludeDir] [Defines] -o [OutFile] %(FullPath) ++ [OutFile] ++ Assembling %(Filename)... ++ false ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/vc11_nasm.targets b/vc_solution/vc11_nasm.targets +new file mode 100644 +index 0000000..3158d8d +--- /dev/null ++++ b/vc_solution/vc11_nasm.targets +@@ -0,0 +1,85 @@ ++ ++ ++ ++ ++ ++ _NASM ++ ++ ++ ++ $(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml ++ ++ ++ ++ ++ ++ ++ ++ @(NASM, '|') ++ ++ ++ ++ ++ ++ ++ ++ ++ $(ComputeLinkInputsTargets); ++ ComputeNASMOutput; ++ ++ ++ $(ComputeLibInputsTargets); ++ ComputeNASMOutput; ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +\ No newline at end of file +diff --git a/vc_solution/vc11_nasm.xml b/vc_solution/vc11_nasm.xml +new file mode 100644 +index 0000000..390d570 +--- /dev/null ++++ b/vc_solution/vc11_nasm.xml +@@ -0,0 +1,149 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ General ++ ++ ++ ++ ++ Command Line ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Execute Before ++ ++ ++ Specifies the targets for the build customization to run before. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Execute After ++ ++ ++ Specifies the targets for the build customization to run after. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Additional Options ++ ++ ++ Additional Options ++ ++ ++ ++ ++ ++ ++ +\ No newline at end of file diff --git a/ports/mp3lame/CONTROL b/ports/mp3lame/CONTROL new file mode 100644 index 000000000..1702751d9 --- /dev/null +++ b/ports/mp3lame/CONTROL @@ -0,0 +1,4 @@ +Source: mp3lame +Version: 3.100 +Homepage: http://lame.sourceforge.net/ +Description: LAME is a high quality MPEG Audio Layer III (MP3) encoder licensed under the LGPL. diff --git a/ports/mp3lame/Config.cmake.in b/ports/mp3lame/Config.cmake.in new file mode 100644 index 000000000..9630b9ea1 --- /dev/null +++ b/ports/mp3lame/Config.cmake.in @@ -0,0 +1,60 @@ + +get_filename_component(_mp3lame_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH) +get_filename_component(_mp3lame_root "${_mp3lame_root}" PATH) + +set(_mp3lame_rel_lib "${_mp3lame_root}/lib/@MP3LAME_LIB@") +set(_mp3lame_dbg_lib "${_mp3lame_root}/debug/lib/@MP3LAME_LIB@") + +if (EXISTS "${_mp3lame_rel_lib}" OR EXISTS "${_mp3lame_dbg_lib}") + + add_library(mp3lame::mp3lame UNKNOWN IMPORTED) + set_target_properties(mp3lame::mp3lame + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_mp3lame_root}/include") + + if (EXISTS "${_mp3lame_rel_lib}") + set_target_properties(mp3lame::mp3lame + PROPERTIES IMPORTED_LOCATION_RELEASE "${_mp3lame_rel_lib}") + set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + endif() + if (EXISTS "${_mp3lame_dbg_lib}") + set_target_properties(mp3lame::mp3lame + PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_dbg_lib}") + set_property(TARGET mp3lame::mp3lame APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + endif() + + set(_mp3lame_mpghip_rel_lib "${_mp3lame_root}/lib/libmpghip-static.lib") + set(_mp3lame_mpghip_dbg_lib "${_mp3lame_root}/debug/lib/libmpghip-static.lib") + + if (EXISTS "${_mp3lame_mpghip_rel_lib}" OR EXISTS "${_mp3lame_mpghip_dbg_lib}") + + add_library(mp3lame::mpghip UNKNOWN IMPORTED) + + if (EXISTS "${_mp3lame_rel_lib}") + set_target_properties(mp3lame::mpghip + PROPERTIES IMPORTED_LOCATION_RELEASE "${_mp3lame_mpghip_rel_lib}") + set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) + endif() + if (EXISTS "${_mp3lame_dbg_lib}") + set_target_properties(mp3lame::mpghip + PROPERTIES IMPORTED_LOCATION_DEBUG "${_mp3lame_mpghip_dbg_lib}") + set_property(TARGET mp3lame::mpghip APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG) + endif() + + set_target_properties(mp3lame::mp3lame PROPERTIES INTERFACE_LINK_LIBRARIES mp3lame::mpghip) + + endif() + + unset(_mp3lame_mpghip_rel_lib) + unset(_mp3lame_mpghip_dbg_lib) + +else() + + set(mp3lame_FOUND FALSE) + +endif() + +unset(_mp3lame_rel_lib) +unset(_mp3lame_dbg_lib) + +unset(_mp3lame_root) diff --git a/ports/mp3lame/portfile.cmake b/ports/mp3lame/portfile.cmake new file mode 100644 index 000000000..a9b9e17e4 --- /dev/null +++ b/ports/mp3lame/portfile.cmake @@ -0,0 +1,152 @@ +include(vcpkg_common_functions) + +set(VERSION 3.100) + +vcpkg_download_distfile(ARCHIVE_FILE + URLS "https://downloads.sourceforge.net/project/lame/lame/${VERSION}/lame-${VERSION}.tar.gz" + FILENAME "lame-3.100.tar.gz" + SHA512 0844b9eadb4aacf8000444621451277de365041cc1d97b7f7a589da0b7a23899310afd4e4d81114b9912aa97832621d20588034715573d417b2923948c08634b +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE_FILE} + REF ${VERSION} + PATCHES 00001-msvc-upgrade-solution-up-to-vc11.patch +) + +if(VCPKG_TARGET_IS_WINDOWS) + + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(platform "ARM64") + set(machine "ARM64") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(platform "ARM") + set(machine "ARM") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(platform "x64") + set(machine "x64") + else() + set(platform "Win32") + set(machine "x86") + endif() + + file(READ "${SOURCE_PATH}/vc_solution/vc11_lame.sln" sln_con) + string(REPLACE "|Win32" "|${platform}" sln_con "${sln_con}") + string(REPLACE "\"vc11_" "\"${machine}_vc11_" sln_con "${sln_con}") + file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_vc11_lame.sln" "${sln_con}") + + + file(GLOB vcxprojs RELATIVE "${SOURCE_PATH}/vc_solution" "${SOURCE_PATH}/vc_solution/vc11_*.vcxproj") + foreach(vcxproj ${vcxprojs}) + file(READ "${SOURCE_PATH}/vc_solution/${vcxproj}" vcxproj_con) + + if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + string(REPLACE "DLL" "" vcxproj_con "${vcxproj_con}") + endif() + + string(REPLACE "/machine:x86" "/machine:${machine}" vcxproj_con "${vcxproj_con}") + string(REPLACE "Win32" "${platform}" vcxproj_con "${vcxproj_con}") + string(REPLACE "|Win32" "|${platform}" vcxproj_con "${vcxproj_con}") + string(REPLACE "Include=\"vc11_" "Include=\"${machine}_vc11_" vcxproj_con "${vcxproj_con}") + + if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + string(REPLACE "/APPCONTAINER" "" vcxproj_con "${vcxproj_con}") + endif() + + file(WRITE "${SOURCE_PATH}/vc_solution/${machine}_${vcxproj}" "${vcxproj_con}") + endforeach() + + vcpkg_install_msbuild( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH "vc_solution/${machine}_vc11_lame.sln" + TARGET "lame" + PLATFORM "${platform}" + ) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmp3lame.lib) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame.lib) + endif() + set(MP3LAME_LIB "libmp3lame-static.lib") + else() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmp3lame-static.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/libmpghip-static.lib) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmp3lame-static.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/libmpghip-static.lib) + endif() + set(MP3LAME_LIB "libmp3lame.lib") + endif() + +else() + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(OPTIONS --enable-static=yes --enable-shared=no) + set(MP3LAME_LIB "libmp3lame.a") + else() + set(OPTIONS --enable-shared=yes --enable-static=no) + set(MP3LAME_LIB "libmp3lame.so") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --with-pic=yes --prefix=${CURRENT_PACKAGES_DIR}/debug + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME configure-${TARGET_TRIPLET}-dbg + ) + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME install-${TARGET_TRIPLET}-dbg + ) + + file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/bin + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share + ) + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --with-pic=yes --prefix=${CURRENT_PACKAGES_DIR} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME configure-${TARGET_TRIPLET}-rel + ) + + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND make -j install "CFLAGS=${CFLAGS}" "LDFLAGS=${LDFLAGS}" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME install-${TARGET_TRIPLET}-rel + ) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + endif() + + endif() + +endif() + +file(COPY ${SOURCE_PATH}/include/lame.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/lame) +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/mp3lame/copyright COPYONLY) +configure_file(${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in ${CURRENT_PACKAGES_DIR}/share/mp3lame/mp3lame-config.cmake @ONLY) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/mp3lame) diff --git a/ports/mp3lame/usage b/ports/mp3lame/usage new file mode 100644 index 000000000..6efb86c53 --- /dev/null +++ b/ports/mp3lame/usage @@ -0,0 +1,4 @@ +The package mp3lame provides CMake targets: + + find_package(mp3lame CONFIG REQUIRED) + target_link_libraries(main PRIVATE mp3lame::mp3lame) diff --git a/ports/mpfr/CMakeLists.txt b/ports/mpfr/CMakeLists.txt index f0064666c..6664e991a 100644 --- a/ports/mpfr/CMakeLists.txt +++ b/ports/mpfr/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.3.0) -project(MPFR VERSION 3.1.5 LANGUAGES C) +project(MPFR VERSION 4.0.2 LANGUAGES C) # Find GMP (or MPIR) find_library(GMP_LIBRARY NAMES gmp mpir) @@ -254,15 +254,11 @@ add_library(mpfr ${SRCS}) # target_compile_definitions(mpfr PRIVATE HAVE_CONFIG_H) target_compile_definitions(mpfr PRIVATE __MPFR_WITHIN_MPFR) target_compile_definitions(mpfr PRIVATE HAVE_STDINT_H) +target_compile_definitions(mpfr PRIVATE HAVE_STDARG) if(BUILD_SHARED_LIBS) target_compile_definitions(mpfr PRIVATE __GMP_LIBGMP_DLL) endif() -try_compile(I_HAVE_STDARG ${CMAKE_BINARY_DIR} ${PROJECT_SOURCE_DIR}/test_stdarg.c) -if (I_HAVE_STDARG) - target_compile_definitions(mpfr PRIVATE HAVE_STDARG) -endif (I_HAVE_STDARG) - target_link_libraries(mpfr ${GMP_LIBRARIES}) target_include_directories(mpfr PUBLIC ${GMP_INCLUDE_DIRS}) diff --git a/ports/mpfr/CONTROL b/ports/mpfr/CONTROL index 6b64b7651..7d2ec7643 100644 --- a/ports/mpfr/CONTROL +++ b/ports/mpfr/CONTROL @@ -1,5 +1,5 @@ Source: mpfr -Version: 4.0.1 +Version: 4.0.2-1 Homepage: https://www.mpfr.org Description: The MPFR library is a C library for multiple-precision floating-point computations with correct rounding Build-Depends: mpir diff --git a/ports/mpfr/portfile.cmake b/ports/mpfr/portfile.cmake index 7e455041b..5837976dd 100644 --- a/ports/mpfr/portfile.cmake +++ b/ports/mpfr/portfile.cmake @@ -1,14 +1,17 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpfr-4.0.1) + vcpkg_download_distfile(ARCHIVE - URLS "http://www.mpfr.org/mpfr-4.0.1/mpfr-4.0.1.tar.xz" - FILENAME "mpfr-4.0.1.tar.xz" - SHA512 137ad68bc1e33a155edc1247fcdba27f999cf48ed526773136584090ddf2cfdfc9ea79fbf74ea1943b835b4b1ff29b05087114738c6ad3b485848540f30cac4f + URLS "http://www.mpfr.org/mpfr-4.0.2/mpfr-4.0.2.tar.xz" + FILENAME "mpfr-4.0.2.tar.xz" + SHA512 d583555d08863bf36c89b289ae26bae353d9a31f08ee3894520992d2c26e5683c4c9c193d7ad139632f71c0a476d85ea76182702a98bf08dde7b6f65a54f8b88 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} ) -vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/test_stdarg.c DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/mpfr/test_stdarg.c b/ports/mpfr/test_stdarg.c deleted file mode 100644 index dc1e2d7b4..000000000 --- a/ports/mpfr/test_stdarg.c +++ /dev/null @@ -1,6 +0,0 @@ -# include - -int main(int argc, char *argv) { - return 0; -} - diff --git a/ports/mpg123/0003-add-arm-configs.patch b/ports/mpg123/0003-add-arm-configs.patch new file mode 100644 index 000000000..d343c760c --- /dev/null +++ b/ports/mpg123/0003-add-arm-configs.patch @@ -0,0 +1,1149 @@ +diff --git a/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj b/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj +index 5849861..4c4e51e 100644 +--- a/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj ++++ b/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj +@@ -1,6 +1,14 @@ +  + + ++ ++ Debug_Generic_Dll ++ ARM ++ ++ ++ Debug_Generic_Dll ++ ARM64 ++ + + Debug_Generic_Dll + Win32 +@@ -9,6 +17,14 @@ + Debug_Generic_Dll + x64 + ++ ++ Debug_Generic ++ ARM ++ ++ ++ Debug_Generic ++ ARM64 ++ + + Debug_Generic + Win32 +@@ -17,6 +33,14 @@ + Debug_Generic + x64 + ++ ++ Debug_x86_Dll ++ ARM ++ ++ ++ Debug_x86_Dll ++ ARM64 ++ + + Debug_x86_Dll + Win32 +@@ -25,6 +49,14 @@ + Debug_x86_Dll + x64 + ++ ++ Debug_x86 ++ ARM ++ ++ ++ Debug_x86 ++ ARM64 ++ + + Debug_x86 + Win32 +@@ -33,6 +65,14 @@ + Debug_x86 + x64 + ++ ++ Release_Generic_Dll ++ ARM ++ ++ ++ Release_Generic_Dll ++ ARM64 ++ + + Release_Generic_Dll + Win32 +@@ -41,6 +81,14 @@ + Release_Generic_Dll + x64 + ++ ++ Release_Generic ++ ARM ++ ++ ++ Release_Generic ++ ARM64 ++ + + Release_Generic + Win32 +@@ -49,6 +97,14 @@ + Release_Generic + x64 + ++ ++ Release_x86_Dll ++ ARM ++ ++ ++ Release_x86_Dll ++ ARM64 ++ + + Release_x86_Dll + Win32 +@@ -57,6 +113,14 @@ + Release_x86_Dll + x64 + ++ ++ Release_x86 ++ ARM ++ ++ ++ Release_x86 ++ ARM64 ++ + + Release_x86 + Win32 +@@ -78,164 +142,311 @@ + true + v140 + ++ ++ DynamicLibrary ++ Unicode ++ true ++ v140 ++ + + DynamicLibrary + Unicode + true + v140 + ++ ++ DynamicLibrary ++ Unicode ++ true ++ v140 ++ + + DynamicLibrary + Unicode + v140 + ++ ++ DynamicLibrary ++ Unicode ++ v140 ++ + + DynamicLibrary + Unicode + v140 + ++ ++ DynamicLibrary ++ Unicode ++ v140 ++ + + StaticLibrary + Unicode + true + v140 + ++ ++ StaticLibrary ++ Unicode ++ true ++ v140 ++ + + StaticLibrary + Unicode + true + v140 + ++ ++ StaticLibrary ++ Unicode ++ true ++ v140 ++ + + StaticLibrary + Unicode + v140 + ++ ++ StaticLibrary ++ Unicode ++ v140 ++ + + StaticLibrary + Unicode + v140 + ++ ++ StaticLibrary ++ Unicode ++ v140 ++ + + DynamicLibrary + Unicode + true + v140 + ++ ++ DynamicLibrary ++ Unicode ++ true ++ v140 ++ + + DynamicLibrary + Unicode + true + v140 + ++ ++ DynamicLibrary ++ Unicode ++ true ++ v140 ++ + + DynamicLibrary + Unicode + v140 + ++ ++ DynamicLibrary ++ Unicode ++ v140 ++ + + DynamicLibrary + Unicode + v140 + ++ ++ DynamicLibrary ++ Unicode ++ v140 ++ + + StaticLibrary + Unicode + true + v140 + ++ ++ StaticLibrary ++ Unicode ++ true ++ v140 ++ + + StaticLibrary + Unicode + true + v140 + ++ ++ StaticLibrary ++ Unicode ++ true ++ v140 ++ + + StaticLibrary + Unicode + v140 + ++ ++ StaticLibrary ++ Unicode ++ v140 ++ + + StaticLibrary + Unicode + v140 + ++ ++ StaticLibrary ++ Unicode ++ v140 ++ + + + + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + ++ ++ ++ + + + <_ProjectFileVersion>10.0.21006.1 + $(SolutionDir)$(Platform)\Debug\ + $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\Release\ + $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\Debug\ + $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\Release\ + $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\Debug\ + $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\Release\ + $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\Debug\ + $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\Release\ + $(Platform)\$(Configuration)\ ++ $(Platform)\$(Configuration)\ + false ++ false + false ++ false + + + $(SolutionDir)$(Platform)\Release\ + ++ + + $(SolutionDir)$(Platform)\Release\ + +@@ -257,6 +468,30 @@ + + $(SolutionDir)$(Platform)\Debug\ + ++ ++ $(SolutionDir)$(Platform)\Release\ ++ ++ ++ $(SolutionDir)$(Platform)\Release\ ++ ++ ++ $(SolutionDir)$(Platform)\Debug\ ++ ++ ++ $(SolutionDir)$(Platform)\Debug\ ++ ++ ++ $(SolutionDir)$(Platform)\Debug\ ++ ++ ++ $(SolutionDir)$(Platform)\Debug\ ++ ++ ++ $(SolutionDir)$(Platform)\Release\ ++ ++ ++ $(SolutionDir)$(Platform)\Release\ ++ + + + Disabled +@@ -277,6 +512,26 @@ + Shlwapi.lib + + ++ ++ ++ Disabled ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;_DEBUG;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebug ++ false ++ Level3 ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ Shlwapi.lib ++ ++ + + + Disabled +@@ -301,6 +556,30 @@ + Shlwapi.lib;%(AdditionalDependencies) + + ++ ++ ++ Disabled ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;_DEBUG;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebug ++ false ++ Level3 ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;%(AdditionalDependencies) ++ ++ + + + MaxSpeed +@@ -325,6 +604,30 @@ + Shlwapi.lib + + ++ ++ ++ MaxSpeed ++ AnySuitable ++ true ++ Speed ++ true ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;%(PreprocessorDefinitions) ++ ++ ++ MultiThreaded ++ false ++ false ++ Level3 ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ Shlwapi.lib ++ ++ + + + MaxSpeed +@@ -353,6 +656,34 @@ + Shlwapi.lib;%(AdditionalDependencies) + + ++ ++ ++ MaxSpeed ++ AnySuitable ++ true ++ Speed ++ true ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;%(PreprocessorDefinitions) ++ ++ ++ MultiThreaded ++ false ++ false ++ Level3 ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;%(AdditionalDependencies) ++ ++ + + + Disabled +@@ -378,6 +709,32 @@ + Shlwapi.lib;%(AdditionalDependencies) + + ++ ++ ++ Disabled ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;_DEBUG;BUILD_MPG123_DLL;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ false ++ Level3 ++ false ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ DebugFastLink ++ true ++ ++ ++ true ++ false ++ Shlwapi.lib;%(AdditionalDependencies) ++ ++ + + + Disabled +@@ -403,12 +760,98 @@ + true + Shlwapi.lib;%(AdditionalDependencies) + +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ Disabled ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;_DEBUG;BUILD_MPG123_DLL;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ false ++ Level3 ++ false ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ $(IntDir);%(AdditionalLibraryDirectories) ++ DebugFastLink ++ true ++ ++ ++ true ++ false ++ Shlwapi.lib;%(AdditionalDependencies) ++ ++ ++ ++ ++ ++ ++ ++ ++ MaxSpeed ++ AnySuitable ++ true ++ Speed ++ true ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;BUILD_MPG123_DLL;%(PreprocessorDefinitions) ++ ++ ++ MultiThreadedDLL ++ false ++ false ++ Level3 ++ false ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ 0x63000000 ++ false ++ true ++ Shlwapi.lib;%(AdditionalDependencies) ++ ++ ++ ++ ++ MaxSpeed ++ AnySuitable ++ true ++ Speed ++ true ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_GENERIC;BUILD_MPG123_DLL;%(PreprocessorDefinitions) ++ ++ ++ MultiThreadedDLL ++ false ++ false ++ Level3 ++ false ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ true ++ false ++ Shlwapi.lib;%(AdditionalDependencies) ++ + +- ++ + + MaxSpeed + AnySuitable +@@ -434,8 +877,12 @@ + true + Shlwapi.lib;%(AdditionalDependencies) + ++ ++ ++ ++ + +- ++ + + MaxSpeed + AnySuitable +@@ -456,9 +903,10 @@ + 4996;%(DisableSpecificWarnings) + + +- 0x63000000 +- false +- true ++ ++ ++ true ++ false + Shlwapi.lib;%(AdditionalDependencies) + + +@@ -554,6 +1002,30 @@ yasm -a x86 -p gas -r raw -f win32 -g null -m x86 -o "$(IntDir)synth_stereo_sse_ + $(IntDir);%(AdditionalLibraryDirectories) + + ++ ++ ++ Disabled ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;OPT_MULTI;OPT_GENERIC;OPT_I386;OPT_I586;OPT_MMX;OPT_3DNOW;OPT_3DNOWEXT;OPT_SSE;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebug ++ false ++ Level3 ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;dct36_3dnow.o;dct36_3dnowext.o;dct36_sse.o;dct64_3dnow.o;dct64_3dnowext.o;dct64_mmx.o;dct64_sse.o;dct64_sse_float.o;equalizer_3dnow.o;getcpuflags.o;synth_3dnow.o;synth_3dnowext.o;synth_i586.o;synth_mmx.o;synth_sse.o;synth_sse_float.o;synth_stereo_sse_float.o;tabinit_mmx.o;synth_sse_accurate.o;synth_sse_s32.o;synth_stereo_sse_accurate.o;synth_stereo_sse_s32.o;%(AdditionalDependencies) ++ $(IntDir);%(AdditionalLibraryDirectories) ++ ++ + + + Disabled +@@ -612,6 +1084,30 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8 + $(IntDir);%(AdditionalLibraryDirectories) + + ++ ++ ++ Disabled ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;OPT_MULTI;OPT_GENERIC;OPT_X86_64;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebug ++ false ++ Level3 ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;getcpuflags_x86_64.o;dct36_x86_64.o;synth_x86_64_float.o;synth_x86_64_s32.o;synth_stereo_x86_64_float.o;synth_stereo_x86_64_s32.o;synth_x86_64.o;dct64_x86_64.o;dct64_x86_64_float.o;synth_stereo_x86_64.o;synth_x86_64_accurate.o;synth_stereo_x86_64_accurate.o;%(AdditionalDependencies) ++ $(IntDir);%(AdditionalLibraryDirectories) ++ ++ + + + MaxSpeed +@@ -705,6 +1201,35 @@ yasm -a x86 -p gas -r raw -f win32 -g null -m x86 -o "$(IntDir)synth_stereo_sse_ + true + + ++ ++ ++ MaxSpeed ++ AnySuitable ++ true ++ Speed ++ true ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_MULTI;OPT_GENERIC;OPT_I386;OPT_I586;OPT_MMX;OPT_3DNOW;OPT_3DNOWEXT;OPT_SSE;%(PreprocessorDefinitions) ++ ++ ++ MultiThreaded ++ false ++ false ++ Level3 ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;dct36_3dnow.o;dct36_3dnowext.o;dct36_sse.o;dct64_3dnow.o;dct64_3dnowext.o;dct64_mmx.o;dct64_sse.o;dct64_sse_float.o;equalizer_3dnow.o;getcpuflags.o;synth_3dnow.o;synth_3dnowext.o;synth_i586.o;synth_mmx.o;synth_sse.o;synth_sse_float.o;synth_stereo_sse_float.o;tabinit_mmx.o;synth_sse_accurate.o;synth_sse_s32.o;synth_stereo_sse_accurate.o;synth_stereo_sse_s32.o;%(AdditionalDependencies) ++ $(IntDir);%(AdditionalLibraryDirectories) ++ true ++ ++ + + + MaxSpeed +@@ -768,6 +1293,35 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8 + true + + ++ ++ ++ MaxSpeed ++ AnySuitable ++ true ++ Speed ++ true ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;OPT_MULTI;OPT_GENERIC;OPT_X86_64;%(PreprocessorDefinitions) ++ ++ ++ MultiThreaded ++ false ++ false ++ Level3 ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;getcpuflags_x86_64.o;dct36_x86_64.o;synth_x86_64_float.o;synth_x86_64_s32.o;synth_stereo_x86_64_float.o;synth_stereo_x86_64_s32.o;synth_x86_64.o;dct64_x86_64.o;dct64_x86_64_float.o;synth_stereo_x86_64.o;synth_x86_64_accurate.o;synth_stereo_x86_64_accurate.o;%(AdditionalDependencies) ++ $(IntDir);%(AdditionalLibraryDirectories) ++ true ++ ++ + + + Disabled +@@ -862,6 +1416,36 @@ yasm -a x86 -p gas -r raw -f win32 -g null -m x86 -o "$(IntDir)synth_stereo_sse_ + false + + ++ ++ ++ Disabled ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;BUILD_MPG123_DLL;OPT_MULTI;OPT_GENERIC;OPT_I386;OPT_I586;OPT_MMX;OPT_3DNOW;OPT_3DNOWEXT;OPT_SSE;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ false ++ Level3 ++ false ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;dct36_3dnow.o;dct36_3dnowext.o;dct36_sse.o;dct64_3dnow.o;dct64_3dnowext.o;dct64_mmx.o;dct64_sse.o;dct64_sse_float.o;equalizer_3dnow.o;getcpuflags.o;synth_3dnow.o;synth_3dnowext.o;synth_i586.o;synth_mmx.o;synth_sse.o;synth_sse_float.o;synth_stereo_sse_float.o;tabinit_mmx.o;synth_sse_accurate.o;synth_sse_s32.o;synth_stereo_sse_accurate.o;synth_stereo_sse_s32.o;%(AdditionalDependencies) ++ $(IntDir);%(AdditionalLibraryDirectories) ++ DebugFastLink ++ true ++ 0x63000000 ++ true ++ false ++ ++ + + + Disabled +@@ -926,6 +1510,36 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8 + false + + ++ ++ ++ Disabled ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;BUILD_MPG123_DLL;OPT_MULTI;OPT_GENERIC;OPT_X86_64;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ false ++ Level3 ++ false ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;getcpuflags_x86_64.o;dct36_x86_64.o;synth_x86_64_float.o;synth_x86_64_s32.o;synth_stereo_x86_64_float.o;synth_stereo_x86_64_s32.o;synth_x86_64.o;dct64_x86_64.o;dct64_x86_64_float.o;synth_stereo_x86_64.o;synth_x86_64_accurate.o;synth_stereo_x86_64_accurate.o;%(AdditionalDependencies) ++ $(IntDir);%(AdditionalLibraryDirectories) ++ DebugFastLink ++ true ++ 0x63000000 ++ true ++ false ++ ++ + + + +@@ -1030,6 +1644,46 @@ yasm -a x86 -p gas -r raw -f win32 -g null -m x86 -o "$(IntDir)synth_stereo_sse_ + + + ++ ++ ++ ++ ++ ++ ++ MaxSpeed ++ AnySuitable ++ true ++ Speed ++ true ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;BUILD_MPG123_DLL;OPT_MULTI;OPT_GENERIC;OPT_I386;OPT_I586;OPT_MMX;OPT_3DNOW;OPT_3DNOWEXT;OPT_SSE;%(PreprocessorDefinitions) ++ ++ ++ MultiThreadedDLL ++ false ++ false ++ Level3 ++ false ++ ProgramDatabase ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;dct36_3dnow.o;dct36_3dnowext.o;dct36_sse.o;dct64_3dnow.o;dct64_3dnowext.o;dct64_mmx.o;dct64_sse.o;dct64_sse_float.o;equalizer_3dnow.o;getcpuflags.o;synth_3dnow.o;synth_3dnowext.o;synth_i586.o;synth_mmx.o;synth_sse.o;synth_sse_float.o;synth_stereo_sse_float.o;tabinit_mmx.o;synth_sse_accurate.o;synth_sse_s32.o;synth_stereo_sse_accurate.o;synth_stereo_sse_s32.o;%(AdditionalDependencies) ++ $(IntDir);%(AdditionalLibraryDirectories) ++ 0x63000000 ++ false ++ true ++ ++ ++ ++ ++ ++ + + + +@@ -1102,37 +1756,99 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8 + + + ++ ++ ++ ++ ++ ++ ++ MaxSpeed ++ AnySuitable ++ true ++ Speed ++ true ++ $(ProjectDir)..\..\..;$(ProjectDir)..\..\..\..\..\src;$(ProjectDir)..\..\..\..\..\src\libmpg123;$(ProjectDir)..\..\..\..\..\src\compat;%(AdditionalIncludeDirectories) ++ WIN32;_CRT_SECURE_NO_WARNINGS;BUILD_MPG123_DLL;OPT_MULTI;OPT_GENERIC;OPT_X86_64;%(PreprocessorDefinitions) ++ ++ ++ MultiThreadedDLL ++ false ++ false ++ Level3 ++ CompileAsC ++ 4996;%(DisableSpecificWarnings) ++ ++ ++ ++ ++ ++ ++ Shlwapi.lib;getcpuflags_x86_64.o;dct36_x86_64.o;synth_x86_64_float.o;synth_x86_64_s32.o;synth_stereo_x86_64_float.o;synth_stereo_x86_64_s32.o;synth_x86_64.o;dct64_x86_64.o;dct64_x86_64_float.o;synth_stereo_x86_64.o;synth_x86_64_accurate.o;synth_stereo_x86_64_accurate.o;%(AdditionalDependencies) ++ $(IntDir);%(AdditionalLibraryDirectories) ++ 0x63000000 ++ false ++ true ++ ++ ++ ++ ++ ++ + + + + + + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + + + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + + + +@@ -1156,21 +1872,37 @@ yasm -a x86 -m amd64 -f win64 -p gas -r raw -g null -o "$(IntDir)synth_stereo_x8 + + + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + true ++ true + + + diff --git a/ports/mpg123/CONTROL b/ports/mpg123/CONTROL index ad360039c..47692364e 100644 --- a/ports/mpg123/CONTROL +++ b/ports/mpg123/CONTROL @@ -1,4 +1,4 @@ Source: mpg123 -Version: 1.25.8-5 +Version: 1.25.8-6 Homepage: https://sourceforge.net/projects/mpg123/ Description: mpg123 is a real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3 (MPEG 1.0 layer 3 also known as MP3). \ No newline at end of file diff --git a/ports/mpg123/portfile.cmake b/ports/mpg123/portfile.cmake index ff7645390..0d216b942 100644 --- a/ports/mpg123/portfile.cmake +++ b/ports/mpg123/portfile.cmake @@ -2,13 +2,20 @@ include(vcpkg_common_functions) set(MPG123_VERSION 1.25.8) set(MPG123_HASH f226317dddb07841a13753603fa13c0a867605a5a051626cb30d45cfba266d3d4296f5b8254f65b403bb5eef6addce1784ae8829b671a746854785cda1bad203) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpg123-${MPG123_VERSION}) #architecture detection if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(MPG123_ARCH Win32) + set(MPG123_CONFIGURATION _x86) elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") set(MPG123_ARCH x64) + set(MPG123_CONFIGURATION _x86) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(MPG123_ARCH ARM) + set(MPG123_CONFIGURATION _Generic) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(MPG123_ARCH ARM64) + set(MPG123_CONFIGURATION _Generic) else() message(FATAL_ERROR "unsupported architecture") endif() @@ -23,23 +30,25 @@ vcpkg_download_distfile(ARCHIVE FILENAME "mpg123-${MPG123_VERSION}.tar.bz2" SHA512 ${MPG123_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + PATCHES + 0001-fix-crt-linking.patch + 0002-fix-x86-build.patch + 0003-add-arm-configs.patch +) vcpkg_find_acquire_program(YASM) get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}") -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${CURRENT_PORT_DIR}/0001-fix-crt-linking.patch" - "${CURRENT_PORT_DIR}/0002-fix-x86-build.patch") - +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_build_msbuild( PROJECT_PATH ${SOURCE_PATH}/ports/MSVC++/2015/win32/libmpg123/libmpg123.vcxproj - RELEASE_CONFIGURATION Release_x86${MPG123_CONFIGURATION_SUFFIX} - DEBUG_CONFIGURATION Debug_x86${MPG123_CONFIGURATION_SUFFIX} + RELEASE_CONFIGURATION Release${MPG123_CONFIGURATION}${MPG123_CONFIGURATION_SUFFIX} + DEBUG_CONFIGURATION Debug${MPG123_CONFIGURATION}${MPG123_CONFIGURATION_SUFFIX} ) message(STATUS "Installing") diff --git a/ports/mpi/CONTROL b/ports/mpi/CONTROL new file mode 100644 index 000000000..b5db97f13 --- /dev/null +++ b/ports/mpi/CONTROL @@ -0,0 +1,4 @@ +Source: mpi +Version: 1 +Description: Message Passing Interface (MPI) is a standardized and portable message-passing standard designed by a group of researchers from academia and industry to function on a wide variety of parallel computing architectures. The standard defines the syntax and semantics of a core of library routines useful to a wide range of users writing portable message-passing programs in C, C++, and Fortran. There are several well-tested and efficient implementations of MPI, many of which are open-source or in the public domain. +Build-Depends: msmpi (windows), openmpi (!windows) diff --git a/ports/mpi/portfile.cmake b/ports/mpi/portfile.cmake new file mode 100644 index 000000000..e46edeb43 --- /dev/null +++ b/ports/mpi/portfile.cmake @@ -0,0 +1,3 @@ +include(vcpkg_common_functions) + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/mpmcqueue/CONTROL b/ports/mpmcqueue/CONTROL new file mode 100644 index 000000000..3da89f6a5 --- /dev/null +++ b/ports/mpmcqueue/CONTROL @@ -0,0 +1,4 @@ +Source: mpmcqueue +Version: 2019-07-26 +Description: A bounded multi-producer multi-consumer lock-free queue written in C++11 +Homepage: https://github.com/rigtorp/MPMCQueue diff --git a/ports/mpmcqueue/portfile.cmake b/ports/mpmcqueue/portfile.cmake new file mode 100644 index 000000000..be2f03064 --- /dev/null +++ b/ports/mpmcqueue/portfile.cmake @@ -0,0 +1,19 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rigtorp/MPMCQueue + REF 5883e32b07e8a60c22d532d9120ea5c11348aea9 + SHA512 4adbbe5e014e0ef5c7030aaa9faa4e07e2c65753cd89c770da250811c13776576c4f1caf4144542318c41ebc7433b106e802c482a5d44572963a5ab59047257e + HEAD_REF master +) + +file(COPY + ${SOURCE_PATH}/include/rigtorp/MPMCQueue.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include/rigtorp +) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/ms-angle/CONTROL b/ports/ms-angle/CONTROL index 6d68b4e56..4fadc5994 100644 --- a/ports/ms-angle/CONTROL +++ b/ports/ms-angle/CONTROL @@ -1,4 +1,4 @@ Source: ms-angle -Version: 2018-04-18-1 +Version: 2018-04-18-2 Description: The UWP version of a conformant OpenGL ES implementation for Windows, Mac and Linux. The goal of ANGLE is to allow users of multiple operating systems to seamlessly run WebGL and other OpenGL ES content by translating OpenGL ES API calls to one of the hardware-supported APIs available for that platform. ANGLE currently provides translation from OpenGL ES 2.0 and 3.0 to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. Support for translation from OpenGL ES to Vulkan is underway, and future plans include compute shader support (ES 3.1) and MacOS support. diff --git a/ports/ms-angle/portfile.cmake b/ports/ms-angle/portfile.cmake index 0a8dc8c9b..0e10fa1cc 100644 --- a/ports/ms-angle/portfile.cmake +++ b/ports/ms-angle/portfile.cmake @@ -25,9 +25,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/ms-angle) - +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ms-angle RENAME copyright) diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL index 75741b4d4..237bc6859 100644 --- a/ports/ms-gsl/CONTROL +++ b/ports/ms-gsl/CONTROL @@ -1,4 +1,4 @@ Source: ms-gsl -Version: 2019-04-19 +Version: 2019-07-11 Homepage: https://github.com/Microsoft/GSL Description: Microsoft implementation of the Guidelines Support Library \ No newline at end of file diff --git a/ports/ms-gsl/portfile.cmake b/ports/ms-gsl/portfile.cmake index 68303601f..bcd2a80db 100644 --- a/ports/ms-gsl/portfile.cmake +++ b/ports/ms-gsl/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/GSL - REF b74b286d5e333561b0f1ef1abd18de2606624455 - SHA512 5d2d9812fab638228eb8802df21d271bd94321f6174f1fa15a3d3a60dc742cdce1ee0701f2096625cca13df934b0d2511f9b4fcc0913780de234ac76403f2482 + REF 1212beae777dba02c230ece8c0c0ec12790047ea + SHA512 754d0adf32cea1da759be9adb8a64c301ae1cb8556853411bcea4c400079e8e310f1fb8d03f1f26f81553eab24b75fea24a67b9b51d8d92bb4f266e155938230 HEAD_REF master ) diff --git a/ports/msgpack/CONTROL b/ports/msgpack/CONTROL index 0b22d5c69..1715eb780 100644 --- a/ports/msgpack/CONTROL +++ b/ports/msgpack/CONTROL @@ -1,4 +1,4 @@ Source: msgpack -Version: 3.1.1 +Version: 3.2.0-1 Homepage: https://github.com/msgpack/msgpack-c Description: MessagePack is an efficient binary serialization format, which lets you exchange data among multiple languages like JSON, except that it's faster and smaller. diff --git a/ports/msgpack/add-static-lib-option.patch b/ports/msgpack/add-static-lib-option.patch deleted file mode 100644 index 349a413fb..000000000 --- a/ports/msgpack/add-static-lib-option.patch +++ /dev/null @@ -1,84 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f92363e..b0becbb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -196,27 +196,28 @@ IF (MSGPACK_ENABLE_SHARED) - ${CMAKE_CURRENT_SOURCE_DIR} - ) - ENDIF () -+IF (MSGPACK_ENABLE_STATIC) -+ ADD_LIBRARY (msgpackc-static STATIC -+ ${msgpackc_SOURCES} -+ ${msgpackc_HEADERS} -+ ) - --ADD_LIBRARY (msgpackc-static STATIC -- ${msgpackc_SOURCES} -- ${msgpackc_HEADERS} --) -- --TARGET_INCLUDE_DIRECTORIES (msgpackc-static -- PUBLIC -- $ -- $ -- $ -- PRIVATE -- ${CMAKE_CURRENT_SOURCE_DIR} --) -+ TARGET_INCLUDE_DIRECTORIES (msgpackc-static -+ PUBLIC -+ $ -+ $ -+ $ -+ PRIVATE -+ ${CMAKE_CURRENT_SOURCE_DIR} -+ ) -+ SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc" COMPILE_DEFINITIONS MSGPACK_DLLEXPORT=) -+ENDIF () - --IF (NOT MSGPACK_ENABLE_SHARED) -+IF (MSGPACK_ENABLE_STATIC AND NOT MSGPACK_ENABLE_SHARED) - # Add alias for subdirectories - ADD_LIBRARY (msgpackc ALIAS msgpackc-static) - ENDIF () - --SET_TARGET_PROPERTIES (msgpackc-static PROPERTIES OUTPUT_NAME "msgpackc") - IF (MSGPACK_ENABLE_SHARED) - IF (MSVC) - SET_TARGET_PROPERTIES (msgpackc PROPERTIES IMPORT_SUFFIX "_import.lib") -@@ -239,14 +240,18 @@ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" ST - IF (MSGPACK_ENABLE_SHARED) - SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3 -DPIC") - ENDIF () -- SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3" ) -+ IF (MSGPACK_ENABLE_STATIC) -+ SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS "-Wall -Wextra -Werror -g -O3" ) -+ ENDIF () - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - IF (MSGPACK_ENABLE_SHARED) - SET_PROPERTY (TARGET msgpackc APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") - ENDIF () -- SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") -+ IF (MSGPACK_ENABLE_STATIC) -+ SET_PROPERTY (TARGET msgpackc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-mismatched-tags") -+ ENDIF () - ENDIF () - - IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") -@@ -278,10 +283,12 @@ IF (MSGPACK_BUILD_EXAMPLES) - ADD_SUBDIRECTORY (example) - ENDIF () - --IF (MSGPACK_ENABLE_SHARED) -+IF (MSGPACK_ENABLE_SHARED AND MSGPACK_ENABLE_STATIC) - SET (MSGPACK_INSTALLTARGETS msgpackc msgpackc-static) --ELSE() -+ELSEIF (MSGPACK_ENABLE_STATIC) - SET (MSGPACK_INSTALLTARGETS msgpackc-static) -+ELSE () -+ SET (MSGPACK_INSTALLTARGETS msgpackc) - ENDIF () - - INSTALL (TARGETS ${MSGPACK_INSTALLTARGETS} EXPORT msgpack-targets diff --git a/ports/msgpack/portfile.cmake b/ports/msgpack/portfile.cmake index 33873e990..b0939176c 100644 --- a/ports/msgpack/portfile.cmake +++ b/ports/msgpack/portfile.cmake @@ -2,12 +2,10 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO msgpack/msgpack-c - REF cpp-3.1.1 - SHA512 2d1607f482160d8860b07d7597af760bfefcb3afa4e82602df43487d15950ab235e7efeabd7e08996807935de71d4dcdab424c91bff806279419db2ec9500227 - HEAD_REF master) - -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-static-lib-option.patch) + REF cpp-3.2.0 + SHA512 698fcdd5b427373997d0c89ff2cd09c44cf3b165defd381ff3cd9e14ecb83841064754a42aab99441a3b17aa26e3daec8f83e40d6d482c4b443b21b313278d14 + HEAD_REF master +) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(MSGPACK_ENABLE_SHARED OFF) diff --git a/ports/msix/CONTROL b/ports/msix/CONTROL index ae41a6ba1..848e95be3 100644 --- a/ports/msix/CONTROL +++ b/ports/msix/CONTROL @@ -1,5 +1,5 @@ Source: msix -Version: MsixCoreInstaller-preview +Version: MsixCoreInstaller-preview-1 Build-Depends: xerces-c, zlib, openssl (!uwp&!windows) 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/portfile.cmake b/ports/msix/portfile.cmake index 1445e5845..7d8924ee6 100644 --- a/ports/msix/portfile.cmake +++ b/ports/msix/portfile.cmake @@ -31,6 +31,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + NO_CHARSET_FLAG OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -DINSTALL_LIBMSIX=ON diff --git a/ports/msmpi/portfile.cmake b/ports/msmpi/portfile.cmake index c55a49412..10482cb0a 100644 --- a/ports/msmpi/portfile.cmake +++ b/ports/msmpi/portfile.cmake @@ -1,5 +1,9 @@ include(vcpkg_common_functions) +if(VCPKG_CMAKE_SYSTEM_NAME) + message(FATAL_ERROR "This port is only for building msmpi on Windows Desktop") +endif() + set(MSMPI_VERSION "10.0.12498") set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/msmpi-${MSMPI_VERSION}) diff --git a/ports/nameof/CONTROL b/ports/nameof/CONTROL new file mode 100644 index 000000000..b6eee1d64 --- /dev/null +++ b/ports/nameof/CONTROL @@ -0,0 +1,4 @@ +Source: nameof +Version: 0.9.2 +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 new file mode 100644 index 000000000..d2136d49a --- /dev/null +++ b/ports/nameof/portfile.cmake @@ -0,0 +1,31 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Neargye/nameof + REF v0.9.2 + SHA512 b83167daf13e1e4f174d723a8aaeb13cb386eb7bd5a74ebf4cdc34c78f5deb537c11d8b5204df26c827de11e10bd9006854c1f898e1fcf6526ad0e41aff6987b + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DNAMEOF_OPT_BUILD_EXAMPLES=OFF + -DNAMEOF_OPT_BUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/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) diff --git a/ports/nana/CONTROL b/ports/nana/CONTROL index 0e832f7e8..4038c6f9e 100644 --- a/ports/nana/CONTROL +++ b/ports/nana/CONTROL @@ -1,5 +1,5 @@ Source: nana -Version: 1.7.1 +Version: 1.7.1-1 Homepage: https://github.com/cnjinhao/nana Description: Cross-platform library for GUI programming in modern C++ style. Build-Depends: libpng, libjpeg-turbo, freetype (!uwp&&!windows), fontconfig (!uwp&&!windows) diff --git a/ports/nana/fix-build-error.patch b/ports/nana/fix-build-error.patch new file mode 100644 index 000000000..3894f9600 --- /dev/null +++ b/ports/nana/fix-build-error.patch @@ -0,0 +1,12 @@ +diff --git a/include/nana/filesystem/filesystem.hpp b/include/nana/filesystem/filesystem.hpp +index 86b907a..ea8db75 100644 +--- a/include/nana/filesystem/filesystem.hpp ++++ b/include/nana/filesystem/filesystem.hpp +@@ -30,6 +30,7 @@ + #ifndef NANA_FILESYSTEM_HPP + #define NANA_FILESYSTEM_HPP + #include ++#define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING + + //Filesystem Selection + #include diff --git a/ports/nana/portfile.cmake b/ports/nana/portfile.cmake index 981bc4244..fa0815813 100644 --- a/ports/nana/portfile.cmake +++ b/ports/nana/portfile.cmake @@ -12,6 +12,8 @@ vcpkg_from_github( REF v1.7.1 SHA512 43bd6f6321557184431935b4fdd636427458e79333879f6310685a70ee25f4344851910e67c52145382c38a3cea9d1761b40c8edbc072a7cc9c62406ed402549 HEAD_REF develop + PATCHES + fix-build-error.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/nano-signal-slot/CONTROL b/ports/nano-signal-slot/CONTROL index dbccb32b7..c0dd4db07 100644 --- a/ports/nano-signal-slot/CONTROL +++ b/ports/nano-signal-slot/CONTROL @@ -1,3 +1,3 @@ Source: nano-signal-slot -Version: commit-25aa2aa90d450d3c7550c535c7993a9e2ed0764a +Version: 2018-08-25-1 Description: Pure C++17 Signals and Slots diff --git a/ports/nano-signal-slot/portfile.cmake b/ports/nano-signal-slot/portfile.cmake index 55a879d1d..b920b8595 100644 --- a/ports/nano-signal-slot/portfile.cmake +++ b/ports/nano-signal-slot/portfile.cmake @@ -1,13 +1,5 @@ include(vcpkg_common_functions) -vcpkg_check_linkage( - ONLY_STATIC_LIBRARY -) - -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Error: UWP builds not supported yet.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO NoAvailableAlias/nano-signal-slot diff --git a/ports/nanodbc/CONTROL b/ports/nanodbc/CONTROL index bf1aaa69e..20c7c28b5 100644 --- a/ports/nanodbc/CONTROL +++ b/ports/nanodbc/CONTROL @@ -1,4 +1,4 @@ Source: nanodbc -Version: 2.12.4-3 +Version: 2.12.4-4 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 7014c7eac..0b31d6f6f 100644 --- a/ports/nanodbc/portfile.cmake +++ b/ports/nanodbc/portfile.cmake @@ -14,6 +14,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS # Legacy, remove at release of v2.13 -DNANODBC_EXAMPLES=OFF 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/nanogui/CONTROL b/ports/nanogui/CONTROL new file mode 100644 index 000000000..63b70db69 --- /dev/null +++ b/ports/nanogui/CONTROL @@ -0,0 +1,5 @@ +Source: nanogui +Version: 2019-09-23 +Homepage: https://github.com/wjakob/nanogui +Description: NanoGUI is a minimalistic cross-platform widget library for OpenGL 3.x or higher. +Build-Depends: glfw3, nanovg, eigen3 \ No newline at end of file diff --git a/ports/nanogui/fix-cmakelists.patch b/ports/nanogui/fix-cmakelists.patch new file mode 100644 index 000000000..cc4aa05af --- /dev/null +++ b/ports/nanogui/fix-cmakelists.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8c59277..3fe6f5d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,11 +11,7 @@ if (POLICY CMP0058) + cmake_policy(SET CMP0058 NEW) + endif() + +-if (NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/ext/glfw/src") +- message(FATAL_ERROR "The NanoGUI dependency repositories (GLFW, etc.) are missing! " +- "You probably did not clone the project with --recursive. It is possible to recover " +- "by calling \"git submodule update --init --recursive\"") +-endif() ++ + + if (WIN32) + set(NANOGUI_USE_GLAD_DEFAULT ON) +@@ -78,13 +74,11 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations") + endif() + +-add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/ext/glfw" "ext_build/glfw") + # Two targets have now been defined: `glfw_objects`, which will be merged into + # NanoGUI at the end, and `glfw`. The `glfw` target is the library itself + # (e.g., libglfw.so), but can be skipped as we do not need to link against it + # (because we merge `glfw_objects` into NanoGUI). Skipping is required for + # XCode, but preferable for all build systems (reduces build artifacts). +-set_target_properties(glfw PROPERTIES EXCLUDE_FROM_ALL 1 EXCLUDE_FROM_DEFAULT_BUILD 1) + + # Python support: add NANOGUI_PYTHON flag to all targets + if (NANOGUI_BUILD_PYTHON) +@@ -310,7 +304,6 @@ add_definitions(${NANOGUI_EXTRA_DEFS}) + # Compile main NanoGUI library + add_library(nanogui-obj OBJECT + # Merge NanoVG into the NanoGUI library +- ext/nanovg/src/nanovg.c + # Merge GLAD into the NanoGUI library (only if needed) + ${LIBNANOGUI_EXTRA_SOURCE} + # Fonts etc. +@@ -352,6 +345,11 @@ add_library(nanogui-obj OBJECT + src/serializer.cpp + ) + ++find_path(EIGEN_INCLUDE_DIR Eigen/Core) ++target_include_directories(nanogui-obj PRIVATE ${EIGEN_INCLUDE_DIR}) ++find_path(STB_INCLUDE_DIR stb_image.h) ++target_include_directories(nanogui-obj PRIVATE ${STB_INCLUDE_DIR}) ++ + # XCode has a serious bug where the XCode project produces an invalid target + # that will not get linked if it consists only of objects from object libraries, + # it will not generate any products (executables, libraries). The only work +@@ -363,15 +361,18 @@ if (CMAKE_GENERATOR STREQUAL Xcode) + add_library(nanogui ${NANOGUI_LIBRARY_TYPE} + ${XCODE_DUMMY} + $ +- $ + ) + else() + add_library(nanogui ${NANOGUI_LIBRARY_TYPE} + $ +- $ + ) + endif() + ++find_package(nanovg CONFIG REQUIRED) ++find_package(Eigen3 CONFIG REQUIRED) ++find_package(glfw3 CONFIG REQUIRED) ++target_link_libraries(nanogui glfw nanovg::nanovg Eigen3::Eigen) ++ + if (NANOGUI_BUILD_SHARED) + set_property(TARGET nanogui-obj PROPERTY POSITION_INDEPENDENT_CODE ON) + endif() diff --git a/ports/nanogui/portfile.cmake b/ports/nanogui/portfile.cmake new file mode 100644 index 000000000..bc868e549 --- /dev/null +++ b/ports/nanogui/portfile.cmake @@ -0,0 +1,26 @@ +include(vcpkg_common_functions) + +if(VCPKG_TARGET_IS_UWP) + message(FATAL_ERROR "nanogui doesn't support UWP.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wjakob/nanogui + REF e9ec8a1a9861cf578d9c6e85a6420080aa715c03 #Commits on Sep 23, 2019 + SHA512 36c93bf977862ced2df4030211e2b83625e60a11fc9fdb6c1f2996bb234758331d3f41a7fbafd25a5bca0239ed9bac9c93446a4a7fac4c5e6d7943af2be3e14a + HEAD_REF master + PATCHES + fix-cmakelists.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/nanomsg/CONTROL b/ports/nanomsg/CONTROL index c560edbd1..8693cfef3 100644 --- a/ports/nanomsg/CONTROL +++ b/ports/nanomsg/CONTROL @@ -1,5 +1,5 @@ Source: nanomsg -Version: 1.1.5 +Version: 1.1.5-1 Description: a simple high-performance implementation of several "scalability protocols". These scalability protocols are light-weight messaging protocols which can be used to solve a number of very common messaging patterns, such as request/reply, publish/subscribe, surveyor/respondent, and so forth. These protocols can run over a variety of transports such as TCP, UNIX sockets, and even WebSocket. diff --git a/ports/nanomsg/portfile.cmake b/ports/nanomsg/portfile.cmake index 71b26ea5e..d07685f60 100644 --- a/ports/nanomsg/portfile.cmake +++ b/ports/nanomsg/portfile.cmake @@ -32,7 +32,7 @@ vcpkg_install_cmake() file(STRINGS ${SOURCE_PATH}/.version NN_PACKAGE_VERSION) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/nanomsg-${NN_PACKAGE_VERSION}") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nanomsg-${NN_PACKAGE_VERSION}) vcpkg_replace_string( ${CURRENT_PACKAGES_DIR}/share/${PORT}/nanomsg-config.cmake @@ -64,7 +64,7 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin ) - + vcpkg_replace_string( ${CURRENT_PACKAGES_DIR}/include/nanomsg/nn.h "defined(NN_STATIC_LIB)" diff --git a/ports/nanort/CONTROL b/ports/nanort/CONTROL new file mode 100644 index 000000000..6b45af8d4 --- /dev/null +++ b/ports/nanort/CONTROL @@ -0,0 +1,4 @@ +Source: nanort +Version: 2019-08-20-1 +Description: Single header only modern ray tracing kernel +Homepage: https://github.com/lighttransport/nanort diff --git a/ports/nanort/portfile.cmake b/ports/nanort/portfile.cmake new file mode 100644 index 000000000..3c9ff0295 --- /dev/null +++ b/ports/nanort/portfile.cmake @@ -0,0 +1,13 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lighttransport/nanort + REF c85fe7a10be5baf8242c81288718c244f25d0183 + SHA512 0917ffdc51db9d5f936fc79d5b3d1886c5163470e650a2613200417a9e7a344b75c76c115f64160877d6a3480f7eda7884f3097927eb371267cc6d3c30afed37 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/nanort.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/nanovg/CMakeLists.txt b/ports/nanovg/CMakeLists.txt index 87a7d3339..16d7afa4b 100644 --- a/ports/nanovg/CMakeLists.txt +++ b/ports/nanovg/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.11) project(nanovg C) set(NANOVG_SOURCES src/nanovg.c) -set(NANOVG_HEADERS src/nanovg.h src/nanovg_gl.h src/nanovg_gl_utils.h) +set(NANOVG_HEADERS src/nanovg.h src/nanovg_gl.h src/nanovg_gl_utils.h src/stb_image.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) diff --git a/ports/nanovg/CONTROL b/ports/nanovg/CONTROL index c074c1824..5291576ac 100644 --- a/ports/nanovg/CONTROL +++ b/ports/nanovg/CONTROL @@ -1,3 +1,4 @@ Source: nanovg -Version: master +Version: 2019-8-30-1 +Homepage: https://github.com/memononen/nanovg Description: NanoVG is small antialiased vector graphics rendering library for OpenGL. diff --git a/ports/nanovg/portfile.cmake b/ports/nanovg/portfile.cmake index 39e36720e..9a2cbc7ac 100644 --- a/ports/nanovg/portfile.cmake +++ b/ports/nanovg/portfile.cmake @@ -1,28 +1,15 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO memononen/nanovg - REF f4069e6a1ad5da430fb0a9c57476d5ddc2ff89b2 - SHA512 5f2313be939478d40e52c74e3935cbae91277be5c0e466a6d303e8d80e7bf0781288cb319b2e8cec5c7d6fc991be16bec6e0f5228153895ff7fe3abdffe5320e + REF 1f9c8864fc556a1be4d4bf1d6bfe20cde25734b4 + SHA512 99a44f01114ee653a966d4695596886240752f5a06d540c408b5aeaebdcc5360fc2043276515695580d048649a20dc50409107f89c4ce506d2ccb83a0635d29f HEAD_REF master ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/nanovgConfig.cmake DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA # Disable this option if project cannot be built with Ninja @@ -37,5 +24,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -# Handle copyright - file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/nanovg RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nativefiledialog/CMakeLists.txt b/ports/nativefiledialog/CMakeLists.txt new file mode 100644 index 000000000..8f5b79dfb --- /dev/null +++ b/ports/nativefiledialog/CMakeLists.txt @@ -0,0 +1,70 @@ +cmake_minimum_required(VERSION 3.14) + +project(nfd LANGUAGES C) + +include(GNUInstallDirs) + +option(NFD_GTK_BACKEND "Using GTK backend" ON) + +file(GLOB nfd_sources + "${PROJECT_SOURCE_DIR}/src/*.h" + "${PROJECT_SOURCE_DIR}/src/include/*.h" + "${PROJECT_SOURCE_DIR}/src/nfd_common.c" +) + +if (WIN32) + enable_language(CXX) + list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_win.cpp") +elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + if (NFD_GTK_BACKEND) + find_package(GTK3 QUIET) + if (GTK3_FOUND) + list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_gtk.c") + else () + list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_zenity.c") + endif () + else () + list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_zenity.c") + endif () +elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + list(APPEND nfd_sources "${PROJECT_SOURCE_DIR}/src/nfd_cocoa.m") +endif () + +add_library(nfd ${nfd_sources}) + +set_target_properties( + nfd + PROPERTIES + DEBUG_POSTFIX "_d" + PUBLIC_HEADER ${CMAKE_CURRENT_LIST_DIR}/src/include/nfd.h +) + +target_compile_definitions( + nfd + PRIVATE + $<$:_CRT_SECURE_NO_WARNINGS> +) + +target_include_directories( + nfd + PUBLIC + $ + $ +) + +if (GTK3_FOUND) + target_include_directories(nfd PUBLIC ${GTK3_INCLUDE_DIRS}) + target_link_libraries(nfd PUBLIC ${GTK3_LIBRARIES}) +endif () + +install(TARGETS nfd EXPORT unofficial-nativefiledialog-config) + +install( + EXPORT unofficial-nativefiledialog-config + NAMESPACE unofficial::nativefiledialog:: + DESTINATION share/unofficial-nativefiledialog + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/nativefiledialog/CONTROL b/ports/nativefiledialog/CONTROL new file mode 100644 index 000000000..60aca3c45 --- /dev/null +++ b/ports/nativefiledialog/CONTROL @@ -0,0 +1,7 @@ +Source: nativefiledialog +Version: 2019-08-28 +Description: A tiny, neat C library that portably invokes native file open and save dialogs +Homepage: https://github.com/mlabbe/nativefiledialog + +Feature: zenity +Description: Using Zenity backend on Linux diff --git a/ports/nativefiledialog/portfile.cmake b/ports/nativefiledialog/portfile.cmake new file mode 100644 index 000000000..f8e0faae1 --- /dev/null +++ b/ports/nativefiledialog/portfile.cmake @@ -0,0 +1,41 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} does not currently support UWP") +endif() + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mlabbe/nativefiledialog + REF ceb75f7abf30736aa8ee4800cde0d444c798f8b9 + SHA512 dd2bff28bb08fb1f6b07ad28530da039f176fb641e300b816040a2b2b840611e418cad44fdaf395ec565c50149ce58c80f88f6a77b403b843f2b14f1f2c91d7d + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES "zenity" NFD_GTK_BACKEND +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +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}) diff --git a/ports/netcdf-c/CONTROL b/ports/netcdf-c/CONTROL index c82acf055..a918e9020 100644 --- a/ports/netcdf-c/CONTROL +++ b/ports/netcdf-c/CONTROL @@ -1,5 +1,5 @@ Source: netcdf-c -Version: 4.7.0-2 +Version: 4.7.0-5 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/hdf5_3.patch b/ports/netcdf-c/hdf5_3.patch new file mode 100644 index 000000000..502a8ea99 --- /dev/null +++ b/ports/netcdf-c/hdf5_3.patch @@ -0,0 +1,14 @@ +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 a2f81cdb0..f3a80ee48 100644 --- a/ports/netcdf-c/portfile.cmake +++ b/ports/netcdf-c/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( hdf5.patch hdf5_2.patch fix-build-error-on-linux.patch + hdf5_3.patch ) #Remove outdated find modules @@ -52,10 +53,5 @@ endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/netcdf-c) -file( - RENAME - ${CURRENT_PACKAGES_DIR}/share/netcdf-c/COPYRIGHT - ${CURRENT_PACKAGES_DIR}/share/netcdf-c/copyright -) +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/netcdf-c/usage b/ports/netcdf-c/usage new file mode 100644 index 000000000..98824b337 --- /dev/null +++ b/ports/netcdf-c/usage @@ -0,0 +1,4 @@ +The package netcdf-c provides CMake targets: + + find_package(netCDF CONFIG REQUIRED) + target_link_libraries(main PRIVATE netcdf) \ No newline at end of file diff --git a/ports/netcdf-cxx4/CONTROL b/ports/netcdf-cxx4/CONTROL index 8ef872966..baf0147c6 100644 --- a/ports/netcdf-cxx4/CONTROL +++ b/ports/netcdf-cxx4/CONTROL @@ -1,5 +1,5 @@ Source: netcdf-cxx4 -Version: 4.3.0-4 -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 961694965..d90ea7131 100644 --- a/ports/netcdf-cxx4/portfile.cmake +++ b/ports/netcdf-cxx4/portfile.cmake @@ -1,19 +1,14 @@ -include(vcpkg_common_functions) - vcpkg_check_linkage(ONLY_STATIC_LIBRARY) set(HDF5_USE_STATIC_LIBRARIES ON) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/netcdf-cxx4-4.3.0) - 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( @@ -28,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/nghttp2/CONTROL b/ports/nghttp2/CONTROL index 176a1c30a..0f0fa2475 100644 --- a/ports/nghttp2/CONTROL +++ b/ports/nghttp2/CONTROL @@ -1,4 +1,4 @@ Source: nghttp2 -Version: 1.35.0 +Version: 1.39.2-1 Homepage: https://github.com/nghttp2/nghttp2 Description: Implementation of the Hypertext Transfer Protocol version 2 in C diff --git a/ports/nghttp2/enable-static.patch b/ports/nghttp2/enable-static.patch deleted file mode 100644 index 18e58daeb..000000000 --- a/ports/nghttp2/enable-static.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt -index 17e422b..b2e7a6e 100644 ---- a/lib/CMakeLists.txt -+++ b/lib/CMakeLists.txt -@@ -37,8 +37,8 @@ if(WIN32) - set(NGHTTP2_RES ${CMAKE_CURRENT_BINARY_DIR}/version.rc) - endif() - --# Public shared library --add_library(nghttp2 SHARED ${NGHTTP2_SOURCES} ${NGHTTP2_RES}) -+# Public library -+add_library(nghttp2 ${NGHTTP2_SOURCES} ${NGHTTP2_RES}) - set_target_properties(nghttp2 PROPERTIES - COMPILE_FLAGS "${WARNCFLAGS}" - VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION} -@@ -49,6 +49,10 @@ target_include_directories(nghttp2 INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/includes" - ) - -+if(NOT BUILD_SHARED_LIBS) -+ target_compile_definitions(nghttp2 PUBLIC "-DNGHTTP2_STATICLIB") -+endif() -+ - if(HAVE_CUNIT OR ENABLE_STATIC_LIB) - # Static library (for unittests because of symbol visibility) - add_library(nghttp2_static STATIC ${NGHTTP2_SOURCES}) - diff --git a/ports/nghttp2/portfile.cmake b/ports/nghttp2/portfile.cmake index 52f754afb..e92925312 100644 --- a/ports/nghttp2/portfile.cmake +++ b/ports/nghttp2/portfile.cmake @@ -1,22 +1,16 @@ include(vcpkg_common_functions) set(LIB_NAME nghttp2) -set(LIB_VERSION 1.35.0) +set(LIB_VERSION 1.39.2) set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.gz) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIB_NAME}-${LIB_VERSION}) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/nghttp2/nghttp2/releases/download/v${LIB_VERSION}/${LIB_FILENAME}" - FILENAME "${LIB_FILENAME}" - SHA512 65889545684e2c8b4aeeb7084ca36e3f78927fa2b6d1df906af3970d8ce6c7c6093b56a5e0713f7bb54a98f06ad52d6e2b323e760297610702afe526b0fdd577 -) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/enable-static.patch" +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nghttp2/nghttp2 + REF v${LIB_VERSION} + SHA512 1ddfb8c6538e209e39199fb5e2f9c262d58d188f25c98cd03f9f733bb261055b7625f0f79863731b112e69bc40c9d6a7d10d4fe69f56c615127e03277ee3af1d + HEAD_REF master ) vcpkg_configure_cmake( @@ -29,22 +23,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Remove unwanted files file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/man) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) -# Move dll files from /lib to /bin where vcpkg expects them -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/${LIB_NAME}.dll ${CURRENT_PACKAGES_DIR}/bin/${LIB_NAME}.dll) - - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/${LIB_NAME}.dll ${CURRENT_PACKAGES_DIR}/debug/bin/${LIB_NAME}.dll) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -# License and man file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${LIB_NAME} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/nlohmann-fifo-map/CMakeLists.txt b/ports/nlohmann-fifo-map/CMakeLists.txt new file mode 100644 index 000000000..5ec3e9532 --- /dev/null +++ b/ports/nlohmann-fifo-map/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.1) +project(nlohmann_fifo_map LANGUAGES CXX) + +include(GNUInstallDirs) + +set(NLOHMANN_FIFO_MAP_TARGET_NAME ${PROJECT_NAME}) +set(NLOHMANN_FIFO_MAP_INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/nlohmann") +set(NLOHMANN_FIFO_MAP_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/nlohmann-fifo-map") +set(NLOHMANN_FIFO_MAP_CONFIG_EXPORT_NAME "${PROJECT_NAME}_config") +set(NLOHMANN_FIFO_MAP_INCLUDE_BUILD_DIR "${CMAKE_SOURCE_DIR}/src/") + +add_library(${NLOHMANN_FIFO_MAP_TARGET_NAME} INTERFACE) +add_library(${PROJECT_NAME}::${NLOHMANN_FIFO_MAP_TARGET_NAME} ALIAS ${NLOHMANN_FIFO_MAP_TARGET_NAME}) + +install( + DIRECTORY ${NLOHMANN_FIFO_MAP_INCLUDE_BUILD_DIR} + DESTINATION ${NLOHMANN_FIFO_MAP_INCLUDE_INSTALL_DIR} +) + +install( + TARGETS ${NLOHMANN_FIFO_MAP_TARGET_NAME} EXPORT ${NLOHMANN_FIFO_MAP_CONFIG_EXPORT_NAME} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) + +install( + EXPORT ${NLOHMANN_FIFO_MAP_CONFIG_EXPORT_NAME} + DESTINATION ${NLOHMANN_FIFO_MAP_CONFIG_INSTALL_DIR} + NAMESPACE ${PROJECT_NAME}:: +) + diff --git a/ports/nlohmann-fifo-map/CONTROL b/ports/nlohmann-fifo-map/CONTROL new file mode 100644 index 000000000..9a8ec6de2 --- /dev/null +++ b/ports/nlohmann-fifo-map/CONTROL @@ -0,0 +1,3 @@ +Source: nlohmann-fifo-map +Version: 2018.05.07 +Description: a FIFO-ordered associative container for C++ diff --git a/ports/nlohmann-fifo-map/portfile.cmake b/ports/nlohmann-fifo-map/portfile.cmake new file mode 100644 index 000000000..e2b12dc1d --- /dev/null +++ b/ports/nlohmann-fifo-map/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nlohmann/fifo_map + REF 0dfbf5dacbb15a32c43f912a7e66a54aae39d0f9 + SHA512 1e515d02ff49684dc8439ee1f3b9fbece3c727b6f669ee9a251eae8d8bf33eff0a36ab58829956a698cd9bfb757f9c6ade227d601197aa7b824c0584f48e181d + HEAD_REF master +) + +#make sure we don't use any integrated pre-built library nor any unnecessary CMake module +file(REMOVE_RECURSE ${SOURCE_PATH}/test) +file(REMOVE ${SOURCE_PATH}/CMakeLists.txt) + +file(COPY ${CURRENT_PORT_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE.MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL index 275914a94..5ad907cb6 100644 --- a/ports/nlohmann-json/CONTROL +++ b/ports/nlohmann-json/CONTROL @@ -1,4 +1,4 @@ Source: nlohmann-json -Version: 3.6.1 +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 fb492c08c..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.6.1) +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 ea5775c8eca3f387d152e6adadeb5e5454b7bce2bb45b305019248def2714b85b959196cb97f25b175ebebd044f179bcffa5ec62b0373bee3a8ca135f2988054) +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 17ad2911f054235002e273a34087f91122586de475792e9a41b8fa5cd0df3341867a976d702e2bb99459583d393afaabb481823700260bc19fb64eae544fc0bd) +download_src(single_include/nlohmann/json.hpp 4ecbbdd2c5e88c897096670cfdaa7ec00483ac9ed6e8ac33be23b05f4da70f213e10c4b381f5e8799619a24a58f417f04dd442d1d59a2e0bfca3385007e620d5) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/nlopt/portfile.cmake b/ports/nlopt/portfile.cmake index c5017f4f8..5fb068145 100644 --- a/ports/nlopt/portfile.cmake +++ b/ports/nlopt/portfile.cmake @@ -25,7 +25,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/nlopt") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nlopt) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/nmap/CONTROL b/ports/nmap/CONTROL index 8dcace63e..3ce86d4a9 100644 --- a/ports/nmap/CONTROL +++ b/ports/nmap/CONTROL @@ -1,4 +1,4 @@ Source: nmap -Version: 7.70 -Build-Depends: winpcap, lua, openssl, python2, libssh2 +Version: 7.70-1 +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/build.sh b/ports/nmap/build.sh deleted file mode 100644 index f4e5d4b29..000000000 --- a/ports/nmap/build.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/bash -set -e -export PATH=/usr/bin:$PATH -# Export HTTP(S)_PROXY as http(s)_proxy: -if [ "$HTTP_PROXY" ]; then - export http_proxy=$HTTP_PROXY -fi -if [ "$HTTPS_PROXY" ]; then - export https_proxy=$HTTPS_PROXY -fi - -PATH_TO_BUILD_DIR="`cygpath "$1"`" -PATH_TO_SRC_DIR="`cygpath "$2"`" -PATH_TO_PACKAGE_DIR="`cygpath "$3"`" -# Note: $4 is extra configure options - -cd "$PATH_TO_BUILD_DIR" -echo "=== CONFIGURING ===" -echo "building nmap package $PATH_TO_SRC_DIR" -"$PATH_TO_SRC_DIR/configure" CC=cl.exe LD=link.exe CXX=lc.exe "--prefix=$PATH_TO_PACKAGE_DIR" $4 -echo "=== BUILDING ===" -make -j6 -echo "=== INSTALLING ===" -make install diff --git a/ports/nmap/detect-crypto-library.patch b/ports/nmap/detect-crypto-library.patch deleted file mode 100644 index 243735b9e..000000000 --- a/ports/nmap/detect-crypto-library.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- a/configure 2017-11-01 23:55:49.000000000 +0100 -+++ b/configure 2019-03-05 03:35:21.753268300 +0100 -@@ -5989,13 +5989,13 @@ - - # use_openssl="yes" given explicitly in next 2 rules to avoid adding lib to $LIBS - if test "$use_openssl" = "yes"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_int_ctrl in -lcrypto" >&5 --$as_echo_n "checking for BIO_int_ctrl in -lcrypto... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BIO_int_ctrl in -llibeay32" >&5 -+$as_echo_n "checking for BIO_int_ctrl in -llibeay32... " >&6; } - if ${ac_cv_lib_crypto_BIO_int_ctrl+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lcrypto $LIBS" -+LIBS="-llibeay32 $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -6030,23 +6030,23 @@ - else - use_openssl="no" - if test "$with_openssl" = "yes"; then -- as_fn_error $? "OpenSSL was explicitly requested but libcrypto was not found. Try the --with-openssl=DIR argument to give the location of OpenSSL or run configure with --without-openssl." "$LINENO" 5 -+ as_fn_error $? "OpenSSL was explicitly requested but libeay32 was not found. Try the --with-openssl=DIR argument to give the location of OpenSSL or run configure with --without-openssl." "$LINENO" 5 - fi -- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to find libcrypto so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument" >&5 --$as_echo "$as_me: WARNING: Failed to find libcrypto so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to find libeay32 so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument" >&5 -+$as_echo "$as_me: WARNING: Failed to find libeay32 so OpenSSL will not be used. If it is installed you can try the --with-openssl=DIR argument" >&2;} - - fi - - fi - - if test "$use_openssl" = "yes"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_new in -lssl" >&5 --$as_echo_n "checking for SSL_new in -lssl... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_new in -lssleay32" >&5 -+$as_echo_n "checking for SSL_new in -lssleay32... " >&6; } - if ${ac_cv_lib_ssl_SSL_new+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lssl -lcrypto $LIBS" -+LIBS="-lssleay32 -llibeay32 $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -6090,13 +6090,13 @@ - fi - - if test "$use_openssl" = "yes"; then -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_PKEY_get1_EC_KEY in -lcrypto" >&5 --$as_echo_n "checking for EVP_PKEY_get1_EC_KEY in -lcrypto... " >&6; } -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVP_PKEY_get1_EC_KEY in -llibeay32" >&5 -+$as_echo_n "checking for EVP_PKEY_get1_EC_KEY in -llibeay32... " >&6; } - if ${ac_cv_lib_crypto_EVP_PKEY_get1_EC_KEY+:} false; then : - $as_echo_n "(cached) " >&6 - else - ac_check_lib_save_LIBS=$LIBS --LIBS="-lcrypto $LIBS" -+LIBS="-llibeay32 $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -6144,7 +6144,7 @@ - - $as_echo "#define HAVE_OPENSSL 1" >>confdefs.h - -- OPENSSL_LIBS="-lssl -lcrypto" -+ OPENSSL_LIBS="-lssleay32 -llibeay32" - else - trace_no_use="$trace_no_use openssl" - fi diff --git a/ports/nmap/fix-msvc-prj.patch b/ports/nmap/fix-msvc-prj.patch new file mode 100644 index 000000000..cfb9d52ff --- /dev/null +++ b/ports/nmap/fix-msvc-prj.patch @@ -0,0 +1,1986 @@ +diff --git a/libdnet-stripped/libdnet-stripped.vcxproj b/libdnet-stripped/libdnet-stripped.vcxproj +index 1f2b760..1756c5c 100644 +--- a/libdnet-stripped/libdnet-stripped.vcxproj ++++ b/libdnet-stripped/libdnet-stripped.vcxproj +@@ -5,10 +5,18 @@ + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + + libdnet-stripped +@@ -22,11 +30,21 @@ + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + StaticLibrary + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + + +@@ -34,10 +52,18 @@ + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + <_ProjectFileVersion>10.0.30319.1 +@@ -64,6 +90,23 @@ + $(OutDir)libdnet-stripped.lib + + ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) ++ Disabled ++ include;..\mswin32\pcap-include;%(AdditionalIncludeDirectories) ++ WIN32;_LIB;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ ++ Level3 ++ ProgramDatabase ++ ++ ++ $(OutDir)libdnet-stripped.lib ++ ++ + + + /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) +@@ -78,6 +121,20 @@ + $(OutDir)libdnet-stripped.lib + + ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) ++ include;..\mswin32\pcap-include;%(AdditionalIncludeDirectories) ++ WIN32;_LIB;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) ++ ++ ++ Level3 ++ ProgramDatabase ++ ++ ++ $(OutDir)libdnet-stripped.lib ++ ++ + + + +diff --git a/liblinear/liblinear.vcxproj b/liblinear/liblinear.vcxproj +index cf99e3d..ac5ff7c 100644 +--- a/liblinear/liblinear.vcxproj ++++ b/liblinear/liblinear.vcxproj +@@ -5,10 +5,18 @@ + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + + +@@ -36,6 +44,12 @@ + Unicode + v120 + ++ ++ StaticLibrary ++ true ++ Unicode ++ v120 ++ + + StaticLibrary + false +@@ -43,19 +57,33 @@ + Unicode + v120 + ++ ++ StaticLibrary ++ false ++ true ++ Unicode ++ v120 ++ + + + + + + ++ ++ ++ + + + ++ ++ ++ + + + .\ + ++ + + .\ + +@@ -75,6 +103,21 @@ + true + + ++ ++ ++ ++ ++ Level3 ++ Disabled ++ WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) ++ MultiThreadedDebugDLL ++ /D_CRT_SECURE_NO_WARNINGS=1 %(AdditionalOptions) ++ ++ ++ Windows ++ true ++ ++ + + + Level3 +@@ -93,6 +136,24 @@ + true + + ++ ++ ++ Level3 ++ ++ ++ MaxSpeed ++ true ++ true ++ WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) ++ /D_CRT_SECURE_NO_WARNINGS=1 %(AdditionalOptions) ++ ++ ++ Windows ++ true ++ true ++ true ++ ++ + + + +diff --git a/liblua/liblua.vcxproj b/liblua/liblua.vcxproj +index 8e80221..db6b1ea 100644 +--- a/liblua/liblua.vcxproj ++++ b/liblua/liblua.vcxproj +@@ -5,10 +5,18 @@ + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + + {31FB0767-A71F-4575-8379-002D72B8AF86} +@@ -22,20 +30,37 @@ + true + v120 + ++ ++ StaticLibrary ++ NotSet ++ true ++ v120 ++ + + StaticLibrary + NotSet + v120 + ++ ++ StaticLibrary ++ NotSet ++ v120 ++ + + + + + + ++ ++ ++ + + + ++ ++ ++ + + + <_ProjectFileVersion>10.0.30319.1 +@@ -68,6 +93,29 @@ + $(OutDir)liblua.lib + + ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) ++ Disabled ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ ++ ++ Default ++ MultiThreadedDebugDLL ++ false ++ false ++ false ++ ++ ++ Level3 ++ ProgramDatabase ++ Cdecl ++ CompileAsC ++ ++ ++ $(OutDir)liblua.lib ++ ++ + + + /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) +@@ -91,6 +139,29 @@ + $(OutDir)liblua.lib + + ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) ++ false ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ false ++ ++ ++ Default ++ false ++ false ++ false ++ ++ ++ Level3 ++ ++ ++ CompileAsC ++ ++ ++ $(OutDir)liblua.lib ++ ++ + + + +diff --git a/libnetutil/libnetutil.vcxproj b/libnetutil/libnetutil.vcxproj +index 8f4fbb5..00cc7c2 100644 +--- a/libnetutil/libnetutil.vcxproj ++++ b/libnetutil/libnetutil.vcxproj +@@ -5,10 +5,18 @@ + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + + {99157C3F-39F6-4663-99D7-1D9C1484494E} +@@ -22,20 +30,37 @@ + true + v120 + ++ ++ StaticLibrary ++ Unicode ++ true ++ v120 ++ + + StaticLibrary + Unicode + v120 + ++ ++ StaticLibrary ++ Unicode ++ v120 ++ + + + + + + ++ ++ ++ + + + ++ ++ ++ + + + <_ProjectFileVersion>10.0.30319.1 +@@ -61,6 +86,22 @@ + $(OutDir)libnetutil.lib + + ++ ++ ++ Disabled ++ ..;../mswin32;../nbase;../mswin32/pcap-include;../libdnet-stripped/include;%(AdditionalIncludeDirectories) ++ WIN32;BPF_MAJOR_VERSION;_DEBUG;_LIB;%(PreprocessorDefinitions) ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ ++ Level3 ++ ProgramDatabase ++ ++ ++ $(OutDir)libnetutil.lib ++ ++ + + + MaxSpeed +@@ -74,6 +115,19 @@ + ProgramDatabase + + ++ ++ ++ MaxSpeed ++ true ++ ..;../mswin32;../nbase;../mswin32/pcap-include;../libdnet-stripped/include;%(AdditionalIncludeDirectories) ++ WIN32;BPF_MAJOR_VERSION;NDEBUG;_LIB;%(PreprocessorDefinitions) ++ true ++ ++ ++ Level3 ++ ProgramDatabase ++ ++ + + + +diff --git a/mswin32/nmap.sln b/mswin32/nmap.sln +index 3f9fa22..4484bbd 100644 +--- a/mswin32/nmap.sln ++++ b/mswin32/nmap.sln +@@ -5,14 +5,11 @@ MinimumVisualStudioVersion = 10.0.40219.1 + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmap", "nmap.vcxproj", "{361719F0-AB42-4C93-9DE8-7D2144B96625}" + ProjectSection(ProjectDependencies) = postProject + {99157C3F-39F6-4663-99D7-1D9C1484494E} = {99157C3F-39F6-4663-99D7-1D9C1484494E} +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} = {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D} = {A7BE3D76-F20C-40C5-8986-DE4028B3B57D} + EndProjectSection + EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nsock", "..\nsock\nsock.vcxproj", "{F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}" + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpcre", "..\libpcre\libpcre.vcxproj", "{5DE86C7A-DE72-4265-8807-4CA38F94F22A}" +-EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nbase", "..\nbase\nbase.vcxproj", "{B630C8F7-3138-43E8-89ED-78742FA2AC5F}" + EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdnet-stripped", "..\libdnet-stripped\libdnet-stripped.vcxproj", "{5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}" +@@ -27,14 +24,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libnetutil", "..\libnetutil + EndProject + Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblinear", "..\liblinear\liblinear.vcxproj", "{A7BE3D76-F20C-40C5-8986-DE4028B3B57D}" + EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nmap-update", "..\nmap-update\nmap-update.vcxproj", "{BBF27339-C7B6-4F52-B742-897796C1F13B}" +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libz", "..\libz\contrib\vstudio\vc11\zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libssh2", "..\libssh2\win32\libssh2.vcxproj", "{ED957342-E43B-496E-92D9-4C76B525BDF5}" +-EndProject +-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "..\libz\contrib\vstudio\vc11\zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" +-EndProject + Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 +@@ -49,176 +38,148 @@ Global + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|Win32.ActiveCfg = Debug|Win32 + {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|Win32.Build.0 = Debug|Win32 +- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.ActiveCfg = Debug|Win32 ++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.ActiveCfg = Debug|x64 ++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Debug|x64.Build.0 = Debug|x64 + {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.ActiveCfg = Release|Win32 ++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.ActiveCfg = Release|x64 ++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Ncat Static|x64.Build.0 = Release|x64 + {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|Win32.ActiveCfg = Release|Win32 + {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|Win32.Build.0 = Release|Win32 +- {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.ActiveCfg = Release|Win32 ++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.ActiveCfg = Release|x64 ++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.Release|x64.Build.0 = Release|x64 + {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 ++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 ++ {361719F0-AB42-4C93-9DE8-7D2144B96625}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|Win32.ActiveCfg = Debug|Win32 + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|Win32.Build.0 = Debug|Win32 +- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.ActiveCfg = Debug|Win32 ++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.ActiveCfg = Debug|x64 ++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Debug|x64.Build.0 = Debug|x64 + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|Win32.ActiveCfg = Static|Win32 + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|Win32.Build.0 = Static|Win32 +- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.ActiveCfg = Static|Win32 ++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.ActiveCfg = Static|x64 ++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Ncat Static|x64.Build.0 = Static|x64 + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|Win32.ActiveCfg = Release|Win32 + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|Win32.Build.0 = Release|Win32 +- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.ActiveCfg = Release|Win32 ++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.ActiveCfg = Release|x64 ++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.Release|x64.Build.0 = Release|x64 + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseNoPcap|Win32 + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseNoPcap|Win32 +- {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseNoPcap|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|Win32.ActiveCfg = Debug|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|Win32.Build.0 = Debug|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Debug|x64.ActiveCfg = Debug|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Ncat Static|x64.ActiveCfg = Release|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|Win32.ActiveCfg = Release|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|Win32.Build.0 = Release|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.Release|x64.ActiveCfg = Release|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {5DE86C7A-DE72-4265-8807-4CA38F94F22A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 ++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseNoPcap|x64 ++ {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4}.ReleaseWithoutAsm|x64.Build.0 = ReleaseNoPcap|x64 + {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|Win32.ActiveCfg = Debug|Win32 + {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|Win32.Build.0 = Debug|Win32 +- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.ActiveCfg = Debug|Win32 ++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.ActiveCfg = Debug|x64 ++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Debug|x64.Build.0 = Debug|x64 + {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|Win32.ActiveCfg = Static|Win32 + {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|Win32.Build.0 = Static|Win32 +- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.ActiveCfg = Static|Win32 ++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.ActiveCfg = Static|x64 ++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Ncat Static|x64.Build.0 = Static|x64 + {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|Win32.ActiveCfg = Release|Win32 + {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|Win32.Build.0 = Release|Win32 +- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.ActiveCfg = Release|Win32 ++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.ActiveCfg = Release|x64 ++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.Release|x64.Build.0 = Release|x64 + {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 ++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 ++ {B630C8F7-3138-43E8-89ED-78742FA2AC5F}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 + {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|Win32.ActiveCfg = Debug|Win32 + {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|Win32.Build.0 = Debug|Win32 +- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.ActiveCfg = Debug|Win32 ++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.ActiveCfg = Debug|x64 ++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Debug|x64.Build.0 = Debug|x64 + {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.ActiveCfg = Release|Win32 ++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.ActiveCfg = Release|x64 ++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Ncat Static|x64.Build.0 = Release|x64 + {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|Win32.ActiveCfg = Release|Win32 + {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|Win32.Build.0 = Release|Win32 +- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.ActiveCfg = Release|Win32 ++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.ActiveCfg = Release|x64 ++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.Release|x64.Build.0 = Release|x64 + {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 ++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 ++ {5328E0BE-BC0A-4C2A-8CB9-CE00B61B9C4C}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 + {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|Win32.ActiveCfg = Debug|Win32 + {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|Win32.Build.0 = Debug|Win32 +- {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.ActiveCfg = Debug|Win32 ++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.ActiveCfg = Debug|x64 ++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Debug|x64.Build.0 = Debug|x64 + {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.ActiveCfg = Release|Win32 ++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.ActiveCfg = Release|x64 ++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Ncat Static|x64.Build.0 = Release|x64 + {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|Win32.ActiveCfg = Release|Win32 + {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|Win32.Build.0 = Release|Win32 +- {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.ActiveCfg = Release|Win32 ++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.ActiveCfg = Release|x64 ++ {31FB0767-A71F-4575-8379-002D72B8AF86}.Release|x64.Build.0 = Release|x64 + {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 ++ {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 ++ {31FB0767-A71F-4575-8379-002D72B8AF86}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 + {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|Win32.ActiveCfg = Debug|Win32 + {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|Win32.Build.0 = Debug|Win32 +- {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.ActiveCfg = Debug|Win32 ++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.ActiveCfg = Debug|x64 ++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Debug|x64.Build.0 = Debug|x64 + {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|Win32.ActiveCfg = Static|Win32 + {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|Win32.Build.0 = Static|Win32 +- {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.ActiveCfg = Static|Win32 ++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.ActiveCfg = Static|x64 ++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Ncat Static|x64.Build.0 = Static|x64 + {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|Win32.ActiveCfg = Release|Win32 + {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|Win32.Build.0 = Release|Win32 +- {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.ActiveCfg = Release|Win32 ++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.ActiveCfg = Release|x64 ++ {C1E04411-E021-468B-83F1-CB624BBA7589}.Release|x64.Build.0 = Release|x64 + {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 ++ {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 ++ {C1E04411-E021-468B-83F1-CB624BBA7589}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 + {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|Win32.ActiveCfg = Debug|Win32 + {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|Win32.Build.0 = Debug|Win32 +- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.ActiveCfg = Debug|Win32 ++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.ActiveCfg = Debug|x64 ++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Debug|x64.Build.0 = Debug|x64 + {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.ActiveCfg = Release|Win32 ++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.ActiveCfg = Release|x64 ++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Ncat Static|x64.Build.0 = Release|x64 + {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|Win32.ActiveCfg = Release|Win32 + {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|Win32.Build.0 = Release|Win32 +- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.ActiveCfg = Release|Win32 ++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.ActiveCfg = Release|x64 ++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.Release|x64.Build.0 = Release|x64 + {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 ++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 ++ {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 + {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|Win32.ActiveCfg = Debug|Win32 + {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|Win32.Build.0 = Debug|Win32 +- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.ActiveCfg = Debug|Win32 ++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.ActiveCfg = Debug|x64 ++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Debug|x64.Build.0 = Debug|x64 + {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.ActiveCfg = Release|Win32 ++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.ActiveCfg = Release|x64 ++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Ncat Static|x64.Build.0 = Release|x64 + {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|Win32.ActiveCfg = Release|Win32 + {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|Win32.Build.0 = Release|Win32 +- {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.ActiveCfg = Release|Win32 ++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.ActiveCfg = Release|x64 ++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.Release|x64.Build.0 = Release|x64 + {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 ++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 ++ {99157C3F-39F6-4663-99D7-1D9C1484494E}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|Win32.ActiveCfg = Debug|Win32 + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|Win32.Build.0 = Debug|Win32 +- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.ActiveCfg = Debug|Win32 ++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.ActiveCfg = Debug|x64 ++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Debug|x64.Build.0 = Debug|x64 + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|Win32.ActiveCfg = Release|Win32 + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|Win32.Build.0 = Release|Win32 +- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.ActiveCfg = Release|Win32 ++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.ActiveCfg = Release|x64 ++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Ncat Static|x64.Build.0 = Release|x64 + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|Win32.ActiveCfg = Release|Win32 + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|Win32.Build.0 = Release|Win32 +- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.ActiveCfg = Release|Win32 ++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.ActiveCfg = Release|x64 ++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.Release|x64.Build.0 = Release|x64 + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|Win32.ActiveCfg = Debug|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|Win32.Build.0 = Debug|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Debug|x64.ActiveCfg = Debug|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|Win32.Build.0 = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Ncat Static|x64.ActiveCfg = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|Win32.ActiveCfg = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|Win32.Build.0 = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.Release|x64.ActiveCfg = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {BBF27339-C7B6-4F52-B742-897796C1F13B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|Win32.Build.0 = Release|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|x64.ActiveCfg = Release|x64 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Ncat Static|x64.Build.0 = Release|x64 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 +- {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|Win32.ActiveCfg = Debug|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|Win32.Build.0 = Debug|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Debug|x64.ActiveCfg = Debug|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|Win32.ActiveCfg = Debug|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|Win32.Build.0 = Debug|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Ncat Static|x64.ActiveCfg = Release|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|Win32.ActiveCfg = Release|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|Win32.Build.0 = Release|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.Release|x64.ActiveCfg = Release|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|Win32.Build.0 = Release|Win32 +- {ED957342-E43B-496E-92D9-4C76B525BDF5}.ReleaseWithoutAsm|x64.ActiveCfg = Release|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|Win32.ActiveCfg = Release|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|Win32.Build.0 = Release|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|x64.ActiveCfg = Release|x64 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Ncat Static|x64.Build.0 = Release|x64 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 +- {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 ++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 ++ {A7BE3D76-F20C-40C5-8986-DE4028B3B57D}.ReleaseWithoutAsm|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection ++ GlobalSection(ExtensibilityGlobals) = postSolution ++ SolutionGuid = {DAA6BF7B-6F78-4BE7-A3FC-3B1BD73676C3} ++ EndGlobalSection + EndGlobal +diff --git a/mswin32/nmap.vcxproj b/mswin32/nmap.vcxproj +index a3abbc6..d5e1977 100644 +--- a/mswin32/nmap.vcxproj ++++ b/mswin32/nmap.vcxproj +@@ -5,10 +5,18 @@ + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + + {361719F0-AB42-4C93-9DE8-7D2144B96625} +@@ -21,12 +29,24 @@ + MultiByte + v120 + ++ ++ Application ++ false ++ MultiByte ++ v120 ++ + + Application + false + MultiByte + v120 + ++ ++ Application ++ false ++ MultiByte ++ v120 ++ + + + +@@ -34,10 +54,18 @@ + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + <_ProjectFileVersion>10.0.30319.1 +@@ -76,7 +104,7 @@ + false + + +- 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 ++ 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 + .\Debug\nmap.exe + true + ..\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) +@@ -91,8 +119,57 @@ + MachineX86 + + +- xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)\..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y +-xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(ProjectDir)$(OutDir)" ++ xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y ++ ++ ++ $(IntDir)%(Filename).res ++ ++ ++ ++ ++ .\Debug/nmap.tlb ++ ++ ++ ++ ++ Disabled ++ .;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;..\libssh2\include;..\libz;%(AdditionalIncludeDirectories) ++ WIN32;_CONSOLE;%(PreprocessorDefinitions) ++ ..\libssh2\include;.;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;%(AdditionalIncludeDirectories) ++ WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) ++ false ++ false ++ false ++ EnableFastChecks ++ ++ ++ .\Debug/nmap.pch ++ .\Debug/ ++ .\Debug/ ++ .\Debug/ ++ Level2 ++ true ++ ProgramDatabase ++ CompileAsCpp ++ MultiThreadedDebugDLL ++ false ++ ++ ++ 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 ++ .\Debug\nmap.exe ++ true ++ ..\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) ++ %(IgnoreSpecificDefaultLibraries) ++ packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs) ++ true ++ .\Debug/nmap.pdb ++ Console ++ false ++ ++ ++ ++ ++ xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y + + + $(IntDir)%(Filename).res +@@ -121,7 +198,7 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje + CompileAsCpp + + +- 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 ++ 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 + .\Release/nmap.exe + true + ..\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) +@@ -135,8 +212,46 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje + /LTCG %(AdditionalOptions) + + +- xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)\..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y +-xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(ProjectDir)$(OutDir)" ++ xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y ++ ++ ++ ++ ++ .\Release/nmap.tlb ++ ++ ++ ++ ++ MaxSpeed ++ OnlyExplicitInline ++ .;..;..\liblua;..\nbase;..\libpcre;..\nsock\include;pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblinear;..\libssh2\include;..\libz;%(AdditionalIncludeDirectories) ++ WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) ++ true ++ true ++ ++ ++ .\Release/nmap.pch ++ .\Release/ ++ .\Release/ ++ .\Release/ ++ true ++ CompileAsCpp ++ ++ ++ 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 ++ .\Release/nmap.exe ++ true ++ ..\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) ++ %(IgnoreSpecificDefaultLibraries) ++ packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs) ++ .\Release/nmap.pdb ++ Console ++ true ++ true ++ /LTCG %(AdditionalOptions) ++ ++ ++ xcopy "$(SolutionDir)..\scripts" ".\$(Configuration)\scripts\" /e /y && xcopy "$(SolutionDir)..\nselib\*.lua" "$(SolutionDir)\$(Configuration)\nselib\" /y && xcopy /s /e "$(SolutionDir)..\nselib\data\*.*" "$(SolutionDir)\$(Configuration)\nselib\data\" /y && xcopy "$(SolutionDir)..\nse_main.lua" "$(SolutionDir)\$(Configuration)\" /y + + + +@@ -191,7 +306,9 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje + + + Sync ++ Sync + Sync ++ Sync + + + +@@ -251,83 +368,147 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje + + + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + + + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + + + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + + + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + + + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + + + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + + + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + Copying %(Filename) to output directory... ++ Copying %(Filename) to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename)" > nul + + $(TargetDir)%(Filename);%(Outputs) ++ $(TargetDir)%(Filename);%(Outputs) + + + Copying %(Filename).xsl to output directory... ++ Copying %(Filename).xsl to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" > nul + + $(TargetDir)%(Filename).xsl;%(Outputs) ++ $(TargetDir)%(Filename).xsl;%(Outputs) + Copying %(Filename).xsl to output directory... ++ Copying %(Filename).xsl to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename).xsl" > nul + + $(TargetDir)%(Filename).xsl;%(Outputs) ++ $(TargetDir)%(Filename).xsl;%(Outputs) + + + +@@ -339,18 +520,6 @@ xcopy /y /d "$(ProjectDir)..\libssh2\win32\$(Configuration)_dll\*.dll" "$(Proje + {31fb0767-a71f-4575-8379-002d72b8af86} + false + +- +- {5de86c7a-de72-4265-8807-4ca38f94f22a} +- false +- +- +- {ed957342-e43b-496e-92d9-4c76b525bdf5} +- false +- false +- false +- true +- false +- + + {b630c8f7-3138-43e8-89ed-78742fa2ac5f} + false +diff --git a/nbase/nbase.vcxproj b/nbase/nbase.vcxproj +index 948d7c8..b600c7b 100644 +--- a/nbase/nbase.vcxproj ++++ b/nbase/nbase.vcxproj +@@ -5,14 +5,26 @@ + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + Static + Win32 + ++ ++ Static ++ x64 ++ + + + {B630C8F7-3138-43E8-89ED-78742FA2AC5F} +@@ -25,16 +37,31 @@ + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + StaticLibrary + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + StaticLibrary + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + + +@@ -42,14 +69,26 @@ + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + <_ProjectFileVersion>10.0.30319.1 +@@ -76,6 +115,21 @@ + $(OutDir)nbase.lib + + ++ ++ ++ Disabled ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ ++ Level3 ++ ProgramDatabase ++ ++ ++ $(OutDir)nbase.lib ++ ++ + + + /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) +@@ -89,6 +143,19 @@ + $(OutDir)nbase.lib + + ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ ++ ++ Level3 ++ ProgramDatabase ++ ++ ++ $(OutDir)nbase.lib ++ ++ + + + /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) +@@ -103,6 +170,20 @@ + $(OutDir)nbase.lib + + ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ MultiThreaded ++ ++ ++ Level3 ++ ProgramDatabase ++ ++ ++ $(OutDir)nbase.lib ++ ++ + + + +diff --git a/ncat/ncat.vcxproj b/ncat/ncat.vcxproj +index fc44dfa..e066b29 100644 +--- a/ncat/ncat.vcxproj ++++ b/ncat/ncat.vcxproj +@@ -5,14 +5,26 @@ + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + Static + Win32 + ++ ++ Static ++ x64 ++ + + + {C1E04411-E021-468B-83F1-CB624BBA7589} +@@ -25,18 +37,36 @@ + MultiByte + v120 + ++ ++ Application ++ false ++ MultiByte ++ v120 ++ + + Application + false + MultiByte + v120 + ++ ++ Application ++ false ++ MultiByte ++ v120 ++ + + Application + false + MultiByte + v120 + ++ ++ Application ++ false ++ MultiByte ++ v120 ++ + + + +@@ -44,26 +74,41 @@ + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + <_ProjectFileVersion>10.0.30319.1 + .\$(Configuration)\ + .\$(Configuration)\ + true ++ true + .\Release\ + .\Release\ + .\Release\ + .\Release\ + true ++ true + true ++ true + + + +@@ -111,6 +156,51 @@ + xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y + + ++ ++ ++ .\Debug/ncat.tlb ++ ++ ++ ++ ++ Disabled ++ .;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblua;%(AdditionalIncludeDirectories) ++ WIN32;_CONSOLE;%(PreprocessorDefinitions) ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ ++ .\Debug/ncat.pch ++ .\Debug/ ++ .\Debug/ ++ .\Debug/ ++ Level2 ++ true ++ ProgramDatabase ++ CompileAsCpp ++ ++ ++ ++ ++ ++ ++ nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;nsock.lib;advapi32.lib;libeay32.lib;ssleay32.lib;liblua.lib ++ .\Debug\ncat.exe ++ true ++ ..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;..\liblua;%(AdditionalLibraryDirectories) ++ %(IgnoreSpecificDefaultLibraries) ++ wpcap.dll;%(DelayLoadDLLs) ++ true ++ .\Debug/ncat.pdb ++ Console ++ false ++ ++ ++ ++ ++ xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y ++ ++ + + + .\Release/ncat.tlb +@@ -151,6 +241,45 @@ + xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y + + ++ ++ ++ .\Release/ncat.tlb ++ ++ ++ ++ ++ MaxSpeed ++ OnlyExplicitInline ++ .;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;..\liblua;%(AdditionalIncludeDirectories) ++ WIN32;_CONSOLE;%(PreprocessorDefinitions) ++ true ++ true ++ ++ ++ .\Release/ncat.pch ++ .\Release/ ++ .\Release/ ++ .\Release/ ++ Level2 ++ true ++ CompileAsCpp ++ ++ ++ nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;wpcap.lib;advapi32.lib;libeay32.lib;ssleay32.lib ++ .\Release/ncat.exe ++ true ++ ..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories) ++ %(IgnoreSpecificDefaultLibraries) ++ wpcap.dll;%(DelayLoadDLLs) ++ .\Release/ncat.pdb ++ Console ++ true ++ true ++ ++ ++ xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(Configuration)\" /y ++ ++ + + + .\Release/ncat.tlb +@@ -193,6 +322,47 @@ + + + ++ ++ ++ .\Release/ncat.tlb ++ ++ ++ ++ ++ MaxSpeed ++ OnlyExplicitInline ++ .;..;../nbase;..\nsock\include;..\mswin32\pcap-include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) ++ WIN32;_CONSOLE;%(PreprocessorDefinitions) ++ true ++ MultiThreaded ++ true ++ ++ ++ .\Release/ncat.pch ++ .\Release/ ++ .\Release/ ++ .\Release/ ++ Level2 ++ true ++ CompileAsCpp ++ ++ ++ nsock.lib;nbase.lib;ws2_32.lib;IPHlpAPI.Lib;advapi32.lib;libeay32.lib;ssleay32.lib;user32.lib;gdi32.lib ++ .\Release/ncat.exe ++ true ++ ..\mswin32\lib;..\nsock;..\nbase;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories) ++ %(IgnoreSpecificDefaultLibraries) ++ %(DelayLoadDLLs) ++ .\Release/ncat.pdb ++ Console ++ true ++ true ++ ++ ++ ++ ++ ++ + + + +@@ -230,17 +400,29 @@ + + + Copying %(Filename).crt to output directory... ++ Copying %(Filename).crt to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul + + $(TargetDir)%(Filename).crt;%(Outputs) ++ $(TargetDir)%(Filename).crt;%(Outputs) + Copying %(Filename).crt to output directory... ++ Copying %(Filename).crt to output directory... + Copying %(Filename).crt to output directory... ++ Copying %(Filename).crt to output directory... + copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul + + copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul ++ ++ copy /y "%(FullPath)" "$(TargetDir)%(Filename).crt" > nul + + $(TargetDir)%(Filename).crt;%(Outputs) ++ $(TargetDir)%(Filename).crt;%(Outputs) + $(TargetDir)%(Filename).crt;%(Outputs) ++ $(TargetDir)%(Filename).crt;%(Outputs) + + + +diff --git a/nping/nping.vcxproj b/nping/nping.vcxproj +index 57bd4ed..fa7a604 100644 +--- a/nping/nping.vcxproj ++++ b/nping/nping.vcxproj +@@ -5,10 +5,18 @@ + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + + {CDB10BBA-9085-4B9B-AC8F-BA31D3906B36} +@@ -21,12 +29,24 @@ + MultiByte + v120 + ++ ++ Application ++ false ++ MultiByte ++ v120 ++ + + Application + false + MultiByte + v120 + ++ ++ Application ++ false ++ MultiByte ++ v120 ++ + + + +@@ -34,19 +54,29 @@ + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + <_ProjectFileVersion>10.0.30319.1 + .\$(Configuration)\ + .\$(Configuration)\ + true ++ true + .\Release\ + .\Release\ + true ++ true + + + +@@ -93,6 +123,50 @@ + xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y + + ++ ++ ++ .\Debug/nmap.tlb ++ ++ ++ ++ ++ Disabled ++ .;..;..\mswin32;../nbase;..\nsock\include;..\mswin32\pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) ++ WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) ++ false ++ false ++ false ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ ++ .\Debug/nmap.pch ++ .\Debug/ ++ .\Debug/ ++ .\Debug/ ++ Level2 ++ true ++ ProgramDatabase ++ CompileAsCpp ++ ++ ++ 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 ++ .\Debug\nping.exe ++ true ++ ..\mswin32\lib;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories) ++ %(IgnoreSpecificDefaultLibraries) ++ packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs) ++ true ++ .\Debug/nmap.pdb ++ Console ++ false ++ ++ ++ ++ ++ xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y ++ ++ + + + .\Release/nmap.tlb +@@ -132,6 +206,44 @@ + xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y + + ++ ++ ++ .\Release/nmap.tlb ++ ++ ++ ++ ++ MaxSpeed ++ OnlyExplicitInline ++ .;..;..\mswin32;../nbase;..\nsock\include;..\mswin32\pcap-include;..\libdnet-stripped\include;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) ++ WIN32;_CONSOLE;BPF_MAJOR_VERSION;%(PreprocessorDefinitions) ++ true ++ true ++ ++ ++ .\Release/nping.pch ++ .\Release/ ++ .\Release/ ++ .\Release/ ++ true ++ CompileAsCpp ++ ++ ++ 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 ++ .\Release/nping.exe ++ true ++ ..\mswin32\lib;..\nsock;..\nbase;..\libdnet-stripped;../libnetutil;..\..\nmap-mswin32-aux\OpenSSL\lib;%(AdditionalLibraryDirectories) ++ %(IgnoreSpecificDefaultLibraries) ++ packet.dll;wpcap.dll;iphlpapi.dll;%(DelayLoadDLLs) ++ .\Release/nping.pdb ++ Console ++ true ++ true ++ ++ ++ xcopy "..\..\nmap-mswin32-aux\OpenSSL\bin\*.dll" "$(SolutionDir)\$(Configuration)\" /y ++ ++ + + + +diff --git a/nsock/nsock.vcxproj b/nsock/nsock.vcxproj +index 36feb48..f720258 100644 +--- a/nsock/nsock.vcxproj ++++ b/nsock/nsock.vcxproj +@@ -5,22 +5,42 @@ + DebugNoPcap + Win32 + ++ ++ DebugNoPcap ++ x64 ++ + + Debug + Win32 + ++ ++ Debug ++ x64 ++ + + ReleaseNoPcap + Win32 + ++ ++ ReleaseNoPcap ++ x64 ++ + + Release + Win32 + ++ ++ Release ++ x64 ++ + + Static + Win32 + ++ ++ Static ++ x64 ++ + + + {F8D6D1E3-D4EA-402C-98AA-168E5309BAF4} +@@ -33,26 +53,51 @@ + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + StaticLibrary + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + StaticLibrary + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + StaticLibrary + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + StaticLibrary + MultiByte + v120 + ++ ++ StaticLibrary ++ MultiByte ++ v120 ++ + + + +@@ -60,22 +105,42 @@ + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + + ++ ++ ++ ++ + + + <_ProjectFileVersion>10.0.30319.1 +@@ -110,6 +175,25 @@ + $(OutDir)nsock.lib + + ++ ++ ++ Disabled ++ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ ++ Level3 ++ ProgramDatabase ++ CompileAsCpp ++ ++ ++ $(OutDir)nsock.lib ++ ++ + + + /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) +@@ -127,6 +211,23 @@ + $(OutDir)nsock.lib + + ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) ++ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ ++ ++ ++ ++ Level3 ++ ProgramDatabase ++ CompileAsCpp ++ ++ ++ $(OutDir)nsock.lib ++ ++ + + + /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) +@@ -145,6 +246,24 @@ + $(OutDir)nsock.lib + + ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" %(AdditionalOptions) ++ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) ++ WIN32;_LIB;%(PreprocessorDefinitions);DISABLE_NSOCK_PCAP ++ ++ ++ MultiThreaded ++ ++ ++ Level3 ++ ProgramDatabase ++ CompileAsCpp ++ ++ ++ $(OutDir)nsock.lib ++ ++ + + + /D "DISABLE_NSOCK_PCAP" %(AdditionalOptions) +@@ -166,9 +285,47 @@ + $(OutDir)nsock.lib + + ++ ++ ++ /D "DISABLE_NSOCK_PCAP" %(AdditionalOptions) ++ Disabled ++ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ ++ ++ EnableFastChecks ++ MultiThreadedDebugDLL ++ ++ ++ Level3 ++ ProgramDatabase ++ CompileAsCpp ++ ++ ++ $(OutDir)nsock.lib ++ ++ + + + /D "_CRT_SECURE_NO_DEPRECATE" ++/D "DISABLE_NSOCK_PCAP" %(AdditionalOptions) ++ ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) ++ WIN32;_LIB;%(PreprocessorDefinitions) ++ ++ ++ ++ ++ Level3 ++ ProgramDatabase ++ CompileAsCpp ++ ++ ++ $(OutDir)nsock.lib ++ ++ ++ ++ ++ /D "_CRT_SECURE_NO_DEPRECATE" + /D "DISABLE_NSOCK_PCAP" %(AdditionalOptions) + ..\nbase\;include;..\mswin32\pcap-include;..\mswin32;..\;..\..\nmap-mswin32-aux\OpenSSL\include;%(AdditionalIncludeDirectories) + WIN32;_LIB;%(PreprocessorDefinitions) diff --git a/ports/nmap/fix-snprintf.patch b/ports/nmap/fix-snprintf.patch new file mode 100644 index 000000000..aafd1cfe9 --- /dev/null +++ b/ports/nmap/fix-snprintf.patch @@ -0,0 +1,39 @@ +diff --git a/libdnet-stripped/include/dnet_winconfig.h b/libdnet-stripped/include/dnet_winconfig.h +index e41907c..82bc595 100644 +--- a/libdnet-stripped/include/dnet_winconfig.h ++++ b/libdnet-stripped/include/dnet_winconfig.h +@@ -277,7 +277,7 @@ int strlcpy(char *, const char *, int); + char *strsep(char **, const char *); + #endif + +-#define snprintf _snprintf ++//#define snprintf _snprintf + + /* Without this, Windows will give us all sorts of crap about using functions + like strcpy() even if they are done safely */ +diff --git a/nbase/nbase.h b/nbase/nbase.h +index 0ecd9bc..c0eb395 100644 +--- a/nbase/nbase.h ++++ b/nbase/nbase.h +@@ -359,7 +359,7 @@ extern "C" int vsnprintf (char *, size_t, const char *, va_list); + #define putenv _putenv + + #if !defined(__GNUC__) +-#define snprintf _snprintf ++//#define snprintf _snprintf + #endif + + #define strcasecmp _stricmp +diff --git a/nse_libssh2.cc b/nse_libssh2.cc +index bf721b6..1fafe7f 100644 +--- a/nse_libssh2.cc ++++ b/nse_libssh2.cc +@@ -58,7 +58,7 @@ struct ssh_userdata { + + + #if defined(_MSC_VER) && _MSC_VER < 1900 +-#define snprintf c99_snprintf ++//#define snprintf c99_snprintf + #define vsnprintf c99_vsnprintf + + __inline int c99_vsnprintf(char *outBuf, size_t size, const char *format, va_list ap) { diff --git a/ports/nmap/fix-ssize_t.patch b/ports/nmap/fix-ssize_t.patch new file mode 100644 index 000000000..36103a8c2 --- /dev/null +++ b/ports/nmap/fix-ssize_t.patch @@ -0,0 +1,16 @@ +diff --git a/libdnet-stripped/include/dnet/os.h b/libdnet-stripped/include/dnet/os.h +index 55a21b9..544ebd8 100644 +--- a/libdnet-stripped/include/dnet/os.h ++++ b/libdnet-stripped/include/dnet/os.h +@@ -23,7 +23,11 @@ + typedef u_short uint16_t; + typedef u_int uint32_t; + # ifndef __CYGWIN__ ++#ifdef _WIN64 ++ typedef __int64 ssize_t; ++#else + typedef long ssize_t; ++#endif + # endif + #else + # include diff --git a/ports/nmap/portfile.cmake b/ports/nmap/portfile.cmake index 5e2e05787..3554fb9ad 100644 --- a/ports/nmap/portfile.cmake +++ b/ports/nmap/portfile.cmake @@ -1,134 +1,117 @@ include(vcpkg_common_functions) +# nmap is a tools, so ignor POST_CHECK +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + vcpkg_download_distfile(ARCHIVE URLS "https://nmap.org/dist/nmap-7.70.tar.bz2" FILENAME "nmap-7.70.tar.bz2" SHA512 084c148b022ff6550e269d976d0077f7932a10e2ef218236fe13aa3a70b4eb6506df03329868fc68cb3ce78e4360b200f5a7a491d3145028fed679ef1c9ecae5 ) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${SQLITE_VERSION} -) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/detect-crypto-library.patch -) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - vcpkg_acquire_msys(MSYS_ROOT PACKAGES perl gcc diffutils make) -else() - vcpkg_acquire_msys(MSYS_ROOT PACKAGES diffutils make) -endif() -set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) -set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}") -set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib;$ENV{LIB}") - -set(_csc_PROJECT_PATH nmap) - -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\") - set(OPTIONS "${OPTIONS} --disable-programs --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}") - set(OPTIONS "${OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00") - - if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - vcpkg_find_acquire_program(GASPREPROCESSOR) - foreach(GAS_PATH ${GASPREPROCESSOR}) - get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY) - set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}") - endforeach(GAS_PATH) - elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - else() - message(FATAL_ERROR "Unsupported architecture") - endif() -endif() - - -set(OPTIONS "--with-openssl=${VCPKG_ROOT_DIR}/installed/x64-windows/bin/ --with-libssh2=${VCPKG_ROOT_DIR}/installed/x64-windows/bin/") - -message(STATUS "Building Options: ${OPTIONS}") - -set(OPTIONS_DEBUG "") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html -set(OPTIONS_RELEASE "") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(OPTIONS "${OPTIONS} --disable-static --enable-shared") - if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(OPTIONS "${OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib") - endif() -endif() - -message(STATUS "Building Options: ${OPTIONS}") - -message(STATUS "Building ${_csc_PROJECT_PATH} for Release") -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" # BUILD DIR - "${SOURCE_PATH}" # SOURCE DIR - "${CURRENT_PACKAGES_DIR}" # PACKAGE DIR - "${OPTIONS} ${OPTIONS_RELEASE}" - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME build-${TARGET_TRIPLET}-rel -) - -message(STATUS "Building ${_csc_PROJECT_PATH} for Debug") -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh" - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" # BUILD DIR - "${SOURCE_PATH}" # SOURCE DIR - "${CURRENT_PACKAGES_DIR}/debug" # PACKAGE DIR - "${OPTIONS} ${OPTIONS_DEBUG}" - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME build-${TARGET_TRIPLET}-dbg -) - -file(GLOB DEF_FILES ${CURRENT_PACKAGES_DIR}/lib/*.def ${CURRENT_PACKAGES_DIR}/debug/lib/*.def) - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(LIB_MACHINE_ARG /machine:ARM) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(LIB_MACHINE_ARG /machine:x86) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(LIB_MACHINE_ARG /machine:x64) -else() - message(FATAL_ERROR "Unsupported target architecture") -endif() - -foreach(DEF_FILE ${DEF_FILES}) - get_filename_component(DEF_FILE_DIR "${DEF_FILE}" DIRECTORY) - get_filename_component(DEF_FILE_NAME "${DEF_FILE}" NAME) - string(REGEX REPLACE "-[0-9]*\\.def" ".lib" OUT_FILE_NAME "${DEF_FILE_NAME}") - file(TO_NATIVE_PATH "${DEF_FILE}" DEF_FILE_NATIVE) - file(TO_NATIVE_PATH "${DEF_FILE_DIR}/${OUT_FILE_NAME}" OUT_FILE_NATIVE) - message(STATUS "Generating ${OUT_FILE_NATIVE}") - vcpkg_execute_required_process( - COMMAND lib.exe /def:${DEF_FILE_NATIVE} /out:${OUT_FILE_NATIVE} ${LIB_MACHINE_ARG} - WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR} - LOGNAME libconvert-${TARGET_TRIPLET} +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix-snprintf.patch + fix-ssize_t.patch + fix-msvc-prj.patch ) -endforeach() - -file(GLOB EXP_FILES ${CURRENT_PACKAGES_DIR}/lib/*.exp ${CURRENT_PACKAGES_DIR}/debug/lib/*.exp) -file(GLOB LIB_FILES ${CURRENT_PACKAGES_DIR}/bin/*.lib ${CURRENT_PACKAGES_DIR}/debug/bin/*.lib) -file(GLOB EXE_FILES ${CURRENT_PACKAGES_DIR}/bin/*.exe ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) -set(FILES_TO_REMOVE ${EXP_FILES} ${LIB_FILES} ${DEF_FILES} ${EXE_FILES}) -list(LENGTH FILES_TO_REMOVE FILES_TO_REMOVE_LEN) -if(FILES_TO_REMOVE_LEN GREATER 0) - file(REMOVE ${FILES_TO_REMOVE}) + list(APPEND DEL_PROJS "libpcap" "libpcre" "libssh2" "libz") + foreach (DEL_PROJ ${DEL_PROJS}) + file(REMOVE_RECURSE ${SOURCE_PATH}/${DEL_PROJ}) + endforeach() + + # Clear + vcpkg_execute_required_process( + COMMAND "devenv.exe" + "nmap.sln" + /Clean + WORKING_DIRECTORY ${SOURCE_PATH}/mswin32 + ) + + # Uprade + message(STATUS "Upgrade solution...") + vcpkg_execute_required_process( + COMMAND "devenv.exe" + "nmap.sln" + /Upgrade + WORKING_DIRECTORY ${SOURCE_PATH}/mswin32 + LOGNAME upgrade-Packet-${TARGET_TRIPLET} + ) + # Build + vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/mswin32/nmap.vcxproj + PLATFORM ${MSBUILD_PLATFORM} + USE_VCPKG_INTEGRATION + ) + + # Install + if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Release) + file(INSTALL ${SOURCE_PATH}/mswin32/Release/nmap.exe + ${SOURCE_PATH}/mswin32/Release/nmap.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + endif() + if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL Debug) + file(INSTALL ${SOURCE_PATH}/mswin32/Debug/nmap.exe + ${SOURCE_PATH}/mswin32/Debug/nmap.pdb + DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + endif() +else() + 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}") + + 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} + LOGNAME config-${TARGET_TRIPLET}-rel + ) + + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME build-${TARGET_TRIPLET}-rel + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-rel") + file(INSTALL ${SOURCE_PATH_RELEASE}/nmap DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + endif() + + 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} + LOGNAME config-${TARGET_TRIPLET}-dbg + ) + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME build-${TARGET_TRIPLET}-dbg + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-dbg") + file(INSTALL ${SOURCE_PATH_RELEASE}/nmap DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools) + endif() + + set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/nmap-7.70) endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) vcpkg_copy_pdbs() # Handle copyright -# TODO: Examine build log and confirm that this license matches the build output -file(RENAME ${CURRENT_PACKAGES_DIR}/COPYING ${CURRENT_PACKAGES_DIR}/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/nmslib/CONTROL b/ports/nmslib/CONTROL index 262c40682..288fc7377 100644 --- a/ports/nmslib/CONTROL +++ b/ports/nmslib/CONTROL @@ -1,5 +1,5 @@ Source: nmslib -Version: 1.7.3.6 +Version: 1.8.2 Homepage: https://github.com/searchivarius/nmslib Description: Non-Metric Space Library (NMSLIB) is an efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces. # diff --git a/ports/nmslib/portfile.cmake b/ports/nmslib/portfile.cmake index ffea74d75..d250c0977 100644 --- a/ports/nmslib/portfile.cmake +++ b/ports/nmslib/portfile.cmake @@ -5,16 +5,12 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nmslib/nmslib - REF 1eda05dccd5ed34df50a243dfc64c5e9187388f8 - SHA512 e4518c8dd84867bd0ac5dbc5d3b57d8053d1f73588fc0cf1d7c91cc4819f22dc7888d6be587691ebc1fd12b67de16de63b5e0a24847b6f7b49b57d1e6b457ebd + REF c9fc0b862f09260b558cf81e94e0d58aca15d9e9 + SHA512 ac9c79e3ac991dd58f239f7e0b2bd6c3185907aa283bc42098aadddac87b361867f002664cc14853822f92a491d95269578bea01aa00477e39a40424320000a1 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-headers.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-cmake-order.patch + fix-headers.patch + fix-cmake-order.patch ) set(WITH_EXTRAS OFF) @@ -25,6 +21,7 @@ endif() # TODO: check SSE and AVX avability and set corresponding tags vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/similarity_search + PREFER_NINJA OPTIONS -DWITH_EXTRAS=${WITH_EXTRAS} ) diff --git a/ports/nngpp/CONTROL b/ports/nngpp/CONTROL new file mode 100644 index 000000000..7cc9d7afe --- /dev/null +++ b/ports/nngpp/CONTROL @@ -0,0 +1,6 @@ +Source: nngpp +Version: 2019-07-25 +Homepage:https://github.com/cwzx/nngpp +Description: C++ wrapper around the nanomsg NNG API. +Build-Depends: nng + diff --git a/ports/nngpp/portfile.cmake b/ports/nngpp/portfile.cmake new file mode 100644 index 000000000..18646951c --- /dev/null +++ b/ports/nngpp/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cwzx/nngpp + REF 3351f54e6e774505d8d8b88064d04eb98e0b1cda + SHA512 6f72d1085b58ee7a8941294e7479661d8fc2c22cc8af2cee9c2cef11d508032a860c0061851bda07cf995ec8f57e5a25e241a15114a91c487d8aad6def2d4ce5 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DNNGPP_BUILD_DEMOS=OFF + -DNNGPP_BUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +# Move CMake config files to the right place +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +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) + diff --git a/ports/nonius/CMakeLists.txt b/ports/nonius/CMakeLists.txt new file mode 100644 index 000000000..38f213d16 --- /dev/null +++ b/ports/nonius/CMakeLists.txt @@ -0,0 +1,30 @@ +cmake_minimum_required(VERSION 3.9) +cmake_policy(VERSION ${CMAKE_VERSION}) # use default policies of current cmake version + +project(nonius) + +add_library(nonius INTERFACE) +target_include_directories(nonius INTERFACE + $ + $ +) + +if(NOT DISABLE_INSTALL_HEADERS) + install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ + DESTINATION include + ) +endif() + +install(TARGETS nonius + EXPORT noniusExport + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +install( + EXPORT noniusExport + FILE noniusConfig.cmake + NAMESPACE Nonius:: + DESTINATION share/nonius +) diff --git a/ports/nonius/CONTROL b/ports/nonius/CONTROL index 3c321bf4e..46c984038 100644 --- a/ports/nonius/CONTROL +++ b/ports/nonius/CONTROL @@ -1,4 +1,4 @@ Source: nonius -Version: 2019-04-20 +Version: 2019-04-20-1 Description: A C++ micro-benchmarking framework Build-Depends: boost-algorithm, boost-lexical-cast, boost-math diff --git a/ports/nonius/portfile.cmake b/ports/nonius/portfile.cmake index 5762797cd..ca7f7b5ae 100644 --- a/ports/nonius/portfile.cmake +++ b/ports/nonius/portfile.cmake @@ -10,7 +10,19 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${SOURCE_PATH}/include/${PORT} DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright configure_file(${SOURCE_PATH}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/nrf-ble-driver/001-arm64-support.patch b/ports/nrf-ble-driver/001-arm64-support.patch index 03cec37b6..2c9705399 100644 --- a/ports/nrf-ble-driver/001-arm64-support.patch +++ b/ports/nrf-ble-driver/001-arm64-support.patch @@ -1,14 +1,14 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 99daa24..9a18ee5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -259,6 +259,9 @@ endforeach(SD_API_VER) - # Additional special linkage libraries - foreach(SD_API_VER ${SD_API_VERS}) - if(WIN32) -+ # arm64-windows support -+ target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE "advapi32") -+ target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE "advapi32") - elseif(APPLE) - target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE "-framework CoreFoundation" "-framework IOKit") - target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE "-framework CoreFoundation" "-framework IOKit") +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 99daa24..9a18ee5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -259,6 +259,9 @@ endforeach(SD_API_VER) + # Additional special linkage libraries + foreach(SD_API_VER ${SD_API_VERS}) + if(WIN32) ++ # arm64-windows support ++ target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE "advapi32") ++ target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE "advapi32") + elseif(APPLE) + target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_STATIC_LIB} PRIVATE "-framework CoreFoundation" "-framework IOKit") + target_link_libraries(${NRF_BLE_DRIVER_${SD_API_VER}_SHARED_LIB} PRIVATE "-framework CoreFoundation" "-framework IOKit") diff --git a/ports/nrf-ble-driver/CONTROL b/ports/nrf-ble-driver/CONTROL index 333907e8b..b148716a9 100644 --- a/ports/nrf-ble-driver/CONTROL +++ b/ports/nrf-ble-driver/CONTROL @@ -1,4 +1,4 @@ -Source: nrf-ble-driver -Version: 4.1.1 -Description: BLE driver is a library for Bluetooth Low Energy communication using Nordic Semiconductor development kits. -Build-Depends: asio, catch2 \ No newline at end of file +Source: nrf-ble-driver +Version: 4.1.1-2 +Description: BLE driver is a library for Bluetooth Low Energy communication using Nordic Semiconductor development kits. +Build-Depends: asio, catch2 diff --git a/ports/nrf-ble-driver/portfile.cmake b/ports/nrf-ble-driver/portfile.cmake index c451ba4d1..3594b7c3a 100644 --- a/ports/nrf-ble-driver/portfile.cmake +++ b/ports/nrf-ble-driver/portfile.cmake @@ -28,7 +28,7 @@ set(ENV{PATH} "$ENV{PATH};${GIT_EXE_DIRPATH}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS -DDISABLE_EXAMPLES= -DDISABLE_TESTS= -DNRF_BLE_DRIVER_VERSION=4.1.0 -DCONNECTIVITY_VERSION=4.1.0 + OPTIONS -DDISABLE_EXAMPLES= -DDISABLE_TESTS= -DNRF_BLE_DRIVER_VERSION=4.1.1 -DCONNECTIVITY_VERSION=4.1.1 ) vcpkg_install_cmake() diff --git a/ports/nt-wrapper/CONTROL b/ports/nt-wrapper/CONTROL new file mode 100644 index 000000000..cd16e9541 --- /dev/null +++ b/ports/nt-wrapper/CONTROL @@ -0,0 +1,4 @@ +Source: nt-wrapper +Version: 2019-08-10 +Description: A header only wrapper library around native windows system APIs +Homepage: https://github.com/JustasMasiulis/nt_wrapper diff --git a/ports/nt-wrapper/portfile.cmake b/ports/nt-wrapper/portfile.cmake new file mode 100644 index 000000000..7ed8146ff --- /dev/null +++ b/ports/nt-wrapper/portfile.cmake @@ -0,0 +1,25 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JustasMasiulis/nt_wrapper + REF 6a150292a43f6aea35918a5c5e93a66c334ea301 + SHA512 fb8a1c4c934d3cb48a76a935ba69fd51ec2e6b66f5c265a8da9456691f933c6080057fec9a714f252c39d02525603b993cecd905452598058254ac9318655c4f + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/nuklear/CONTROL b/ports/nuklear/CONTROL index 1a923c857..e3de49f20 100644 --- a/ports/nuklear/CONTROL +++ b/ports/nuklear/CONTROL @@ -1,4 +1,4 @@ Source: nuklear -Version: 2019-03-29 +Version: 2019-07-11 Homepage: https://github.com/vurtun/nuklear Description: This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain diff --git a/ports/nuklear/portfile.cmake b/ports/nuklear/portfile.cmake index a6ef9e34f..7da7c77ca 100644 --- a/ports/nuklear/portfile.cmake +++ b/ports/nuklear/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vurtun/nuklear - REF 509c75b086351e82865f26a507235b60a63e1538 - SHA512 d86fe93a8da8db955ccd28b353c19ea92aeb54efcf7a47ca160a576f4d52dbedc3abf7d547387a066851928c4f43c961b1daff097b3677a118c89f247042336a + REF 5fa99df235e50aef82e7757002099ead7a1395fe + SHA512 d0be03e891e4efbc54ef97e2fd8721071227b8aed17d4a57cc4aab4023975f7bf33710a864041a60d2375e3eb8f65cb2ea6255d83db874dcd21e0450ff2f5e5c HEAD_REF master ) file(INSTALL ${SOURCE_PATH}/nuklear.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/octomap/CONTROL b/ports/octomap/CONTROL index 3669f3850..afac685c6 100644 --- a/ports/octomap/CONTROL +++ b/ports/octomap/CONTROL @@ -1,3 +1,3 @@ Source: octomap -Version: cefed0c1d79afafa5aeb05273cf1246b093b771c-6 +Version: 2017-03-11-7 Description: An Efficient Probabilistic 3D Mapping Framework Based on Octrees diff --git a/ports/octomap/portfile.cmake b/ports/octomap/portfile.cmake index d260d4409..203adce4d 100644 --- a/ports/octomap/portfile.cmake +++ b/ports/octomap/portfile.cmake @@ -49,8 +49,7 @@ else() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/octomap) - +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/ode/0001-add-static-runtime-option.patch b/ports/ode/0001-add-static-runtime-option.patch deleted file mode 100644 index 1f0d15b56..000000000 --- a/ports/ode/0001-add-static-runtime-option.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/build/premake4.lua b/build/premake4.lua -index c39b9b7..d1559f7 100644 ---- a/build/premake4.lua -+++ b/build/premake4.lua -@@ -150,7 +150,12 @@ - trigger = "only-double", - description = "Only use double-precision math" - } -- -+ -+ newoption { -+ trigger = "static-runtime", -+ description = "Perform a static link against the standard runtime libraries" -+ } -+ - -- always clean all of the optional components and toolsets - if _ACTION == "clean" then - _OPTIONS["with-demos"] = "" -@@ -253,7 +258,11 @@ - configuration { "vs2002 or vs2003", "*Lib" } - flags { "StaticRuntime" } - -- -+ -- optionally enable StaticRuntime -+ if _OPTIONS["static-runtime"] then -+ configuration { "*" } -+ flags { "StaticRuntime" } -+ end - - ---------------------------------------------------------------------- - -- The demo projects, automated from list above. These go first so diff --git a/ports/ode/CONTROL b/ports/ode/CONTROL index 605db9d18..5658a5a7a 100644 --- a/ports/ode/CONTROL +++ b/ports/ode/CONTROL @@ -1,4 +1,4 @@ Source: ode -Version: 0.15.1-1 +Version: 0.16 Homepage: https://bitbucket.org/odedevs/ode/src/default/ Description: Open Dynamics Engine diff --git a/ports/ode/portfile.cmake b/ports/ode/portfile.cmake index a1f617fe3..a45777fb6 100644 --- a/ports/ode/portfile.cmake +++ b/ports/ode/portfile.cmake @@ -1,107 +1,27 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(SOURCE_VERSION 0.15.1) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ode-${SOURCE_VERSION}) -vcpkg_download_distfile(ARCHIVE - URLS "https://bitbucket.org/odedevs/ode/downloads/ode-${SOURCE_VERSION}.tar.gz" - FILENAME "ode-${SOURCE_VERSION}.tar.gz" - SHA512 e30623374c8f7c45359d6d837313698ca28da7b5a2d26c7171da16ccd6f95c4a49aad731c432db6ca2911886948a2e7ea93a96ade5a1639b945a825d8ac87249 -) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( +vcpkg_from_bitbucket( + OUT_SOURCE_PATH SOURCE_PATH + REPO odedevs/ode + REF 0.16 + SHA512 6a98882aa3e6267423f745ec48f2472d330f94fa395c459e116174093ef1d479368efc0514ef04eff4e62eb7c3520a7a544fc3ed66ff2f1bd06bc13df4110581 + HEAD_REF master +) + +vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-add-static-runtime-option.patch" + PREFER_NINJA + OPTIONS -DODE_WITH_DEMOS=0 -DODE_WITH_TESTS=0 ) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/ode-0.16.0) -if (TRIPLET_SYSTEM_ARCH MATCHES "arm") - message(FATAL_ERROR "ARM is currently not supported.") -elseif (TRIPLET_SYSTEM_ARCH MATCHES "x86") - set(premake_PLATFORM "x32") - set(MSBUILD_PLATFORM "Win32") -else () - set(premake_PLATFORM ${TRIPLET_SYSTEM_ARCH}) - set(MSBUILD_PLATFORM ${TRIPLET_SYSTEM_ARCH}) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() - -# The build system of ode outputs its artifacts in this subdirectory -# of the source directory -set(DEBUG_ARTIFACTS_PATH ${SOURCE_PATH}/lib/Debug) -set(RELEASE_ARTIFACTS_PATH ${SOURCE_PATH}/lib/Release) - -# To avoid contamination from previous build, we clean the directory -file(REMOVE_RECURSE ${DEBUG_ARTIFACTS_PATH} ${RELEASE_ARTIFACTS_PATH}) - -# Configure the project using the embedded premake4 -message(STATUS "Configuring ${TARGET_TRIPLET}") -# Consistently with the debian package we only ship ODE built with double precision -set(premake_OPTIONS "--only-double") -# TODO: use vcpkg's libccd -list(APPEND premake_OPTIONS --with-libccd) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - list(APPEND premake_OPTIONS --only-shared) -elseif(VCPKG_LIBRARY_LINKAGE STREQUAL static) - list(APPEND premake_OPTIONS --only-static) -endif() -if(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static) - list(APPEND premake_OPTIONS --static-runtime) -endif() -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) -vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/build/premake4.exe - --to=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET} - --platform=${premake_PLATFORM} - ${premake_OPTIONS} - vs2010 - WORKING_DIRECTORY ${SOURCE_PATH}/build/ - LOGNAME config-${TARGET_TRIPLET} -) -message(STATUS "Configuring ${TARGET_TRIPLET} done") - -# Build the project using the generated msbuild solutions -vcpkg_build_msbuild(PROJECT_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/ode.sln - PLATFORM ${MSBUILD_PLATFORM} - WORKING_DIRECTORY ${SOURCE_PATH}/build) - -# Install headers -file(GLOB HEADER_FILES ${SOURCE_PATH}/include/ode/*.h) -file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ode) - -# Install libraries -file(GLOB LIB_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/*.lib ${DEBUG_ARTIFACTS_PATH}/*.exp) -file(INSTALL ${LIB_DEBUG_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - -if (DEFINED VCPKG_LIBRARY_LINKAGE AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(GLOB BIN_DEBUG_FILES ${DEBUG_ARTIFACTS_PATH}/*.dll ${DEBUG_ARTIFACTS_PATH}/*.pdb) - file(INSTALL ${BIN_DEBUG_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) -endif () - -file(GLOB LIB_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/*.lib ${RELEASE_ARTIFACTS_PATH}/*.exp) -file(INSTALL ${LIB_RELEASE_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - -if (DEFINED VCPKG_LIBRARY_LINKAGE AND VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(GLOB BIN_RELEASE_FILES ${RELEASE_ARTIFACTS_PATH}/*.dll ${RELEASE_ARTIFACTS_PATH}/*.pdb) - file(INSTALL ${BIN_RELEASE_FILES} - DESTINATION ${CURRENT_PACKAGES_DIR}/bin) -endif () - - - -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE-BSD.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/ode) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/ode/LICENSE-BSD.TXT ${CURRENT_PACKAGES_DIR}/share/ode/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +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) diff --git a/ports/offscale-libetcd-cpp/CONTROL b/ports/offscale-libetcd-cpp/CONTROL new file mode 100644 index 000000000..ec080142c --- /dev/null +++ b/ports/offscale-libetcd-cpp/CONTROL @@ -0,0 +1,5 @@ +Source: offscale-libetcd-cpp +Version: 2019-07-10 +Homepage: https://github.com/offscale/libetcd-cpp +Description: A C++ client library for etcd. etcd is a distributed, reliable key-value store. +Build-Depends: grpc, protobuf diff --git a/ports/offscale-libetcd-cpp/portfile.cmake b/ports/offscale-libetcd-cpp/portfile.cmake new file mode 100644 index 000000000..ffe4519f8 --- /dev/null +++ b/ports/offscale-libetcd-cpp/portfile.cmake @@ -0,0 +1,19 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO offscale/libetcd-cpp + REF 8607d8d7080c6eb447bc41b799a24bfdb87cf638 + SHA512 9bf4bf14fd52f4f6bbf8cf68de61e6a19eeffbdc501f05c8f614b5f13f206410884afd7fe226a077448e58e02990c65a6b27ee895ed34ba5ee701abe0500b875 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/LICENSE-MIT DESTINATION ${CURRENT_PACKAGES_DIR}/share/offscale-libetcd-cpp RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/ogdf/CONTROL b/ports/ogdf/CONTROL index fe2cf909c..f13c58507 100644 --- a/ports/ogdf/CONTROL +++ b/ports/ogdf/CONTROL @@ -1,3 +1,4 @@ Source: ogdf -Version: 2018-03-28-2 +Version: 2019-08-23 +Homepage: https://github.com/ogdf/ogdf Description: Open Graph Drawing Framework diff --git a/ports/ogdf/portfile.cmake b/ports/ogdf/portfile.cmake index 5ad5e72ca..b74295b35 100644 --- a/ports/ogdf/portfile.cmake +++ b/ports/ogdf/portfile.cmake @@ -1,11 +1,12 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/2018-03-28/OGDF-snapshot) -vcpkg_download_distfile(ARCHIVE - URLS "http://www.ogdf.net/lib/exe/fetch.php/tech%3aogdf-snapshot-2018-03-28.zip" - FILENAME "ogdf-2018-03-28.zip" - SHA512 a6ddb33bc51dca4d59fcac65ff66459043b11ce5303e9d40e4fc1756adf84a0af7d0ac7debab670111e7a145dcdd9373c0e350d5b7e831b169811f246b6e19b6 + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ogdf/ogdf + REF 8a103cf3a7dfff87fe8b7534575604bc53c0870c + SHA512 264e8586be7a18640f253eb7b289dd99f1f2fc42c4d2304ab12f7c6aa9c5754b710642e7296038aea0cd9368d732d0106501fefed800743b403adafff7e3f0b2 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src/2018-03-28) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} 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 + "$" + $ +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 + "$" + $) +-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/ogre/001-cmake-install-dir.patch b/ports/ogre/001-cmake-install-dir.patch deleted file mode 100644 index d0df419eb..000000000 --- a/ports/ogre/001-cmake-install-dir.patch +++ /dev/null @@ -1,42 +0,0 @@ -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/ports/ogre/002-link-optimized-lib-workaround.patch b/ports/ogre/002-link-optimized-lib-workaround.patch deleted file mode 100644 index b2678f488..000000000 --- a/ports/ogre/002-link-optimized-lib-workaround.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/CMake/Dependencies.cmake -+++ b/CMake/Dependencies.cmake -@@ -199,6 +199,11 @@ - # Find zlib - find_package(ZLIB) - macro_log_feature(ZLIB_FOUND "zlib" "Simple data compression library" "http://www.zlib.net" FALSE "" "") -+# replace optimized/debug keyword with generator expression -+unset(ZLIB_LIBRARY) -+set(ZLIB_LIBRARY $<$:${ZLIB_LIBRARY_RELEASE}> $<$:${ZLIB_LIBRARY_DEBUG}>) -+unset(ZLIB_LIBRARIES) -+set(ZLIB_LIBRARIES ${ZLIB_LIBRARY}) - - if (ZLIB_FOUND) - # Find zziplib -@@ -213,6 +218,11 @@ - # Find FreeType - find_package(Freetype) - macro_log_feature(FREETYPE_FOUND "freetype" "Portable font engine" "http://www.freetype.org" FALSE "" "") -+# replace optimized/debug keyword with generator expression -+unset(FREETYPE_LIBRARY) -+set(FREETYPE_LIBRARY $<$:${FREETYPE_LIBRARY_RELEASE}> $<$:${FREETYPE_LIBRARY_DEBUG}>) -+unset(FREETYPE_LIBRARIES) -+set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY}) - - # Find X11 - if (UNIX AND NOT APPLE AND NOT ANDROID AND NOT EMSCRIPTEN) ---- src.orig/CMake/Utils/FindPkgMacros.cmake -+++ src.new/CMake/Utils/FindPkgMacros.cmake -@@ -82,7 +82,7 @@ - if (${PREFIX}_FWK) - set(${PREFIX} ${${PREFIX}_FWK}) - elseif (${PREFIX}_REL AND ${PREFIX}_DBG) -- set(${PREFIX} optimized ${${PREFIX}_REL} debug ${${PREFIX}_DBG}) -+ set(${PREFIX} $<$:${${PREFIX}_REL}> $<$:${${PREFIX}_DBG}>) - elseif (${PREFIX}_REL) - set(${PREFIX} ${${PREFIX}_REL}) - elseif (${PREFIX}_DBG) diff --git a/ports/ogre/CONTROL b/ports/ogre/CONTROL index a454a69f1..3522ff8c5 100644 --- a/ports/ogre/CONTROL +++ b/ports/ogre/CONTROL @@ -1,5 +1,5 @@ Source: ogre -Version: 1.12.0 +Version: 1.12.1 Build-Depends: freeimage, freetype, zlib, zziplib Homepage: https://github.com/OGRECave/ogre Description: 3D Object-Oriented Graphics Rendering Engine @@ -7,6 +7,9 @@ Description: 3D Object-Oriented Graphics Rendering Engine Feature: d3d9 Description: Build Direct3D9 RenderSystem +Feature: csharp +Description: Build csharp bindings + Feature: java Description: Build Java (JNI) bindings diff --git a/ports/ogre/portfile.cmake b/ports/ogre/portfile.cmake index 1b9087aca..898077c1e 100644 --- a/ports/ogre/portfile.cmake +++ b/ports/ogre/portfile.cmake @@ -1,16 +1,21 @@ include(vcpkg_common_functions) +if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + 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 - REF c14f8847f743f4dc1b3abc947b1725c87d8b10ce - SHA512 a2fd7ffd653c1578bc860b58cf4c899f27cc967f75e2254dc3e372044f118d5951e42b35bfc711aa8996e1885f372d3cfa5a768b8674e0b3d844811990eb87fc + REF 8083067c1835147de5d82015347d95c710e36bc0 + SHA512 0690aaff0bea74c38598894939396cab8077b84bda166deb4790fba87566114bc5267660e8efc4de9babeb1b8bddf73530e1a1dbbc63c7e24b14bc012b033bc8 HEAD_REF master PATCHES - 001-cmake-install-dir.patch - 002-link-optimized-lib-workaround.patch + toolchain_fixes.patch ) +file(REMOVE "${SOURCE_PATH}/CMake/Packages/FindOpenEXR.cmake") + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) set(OGRE_STATIC ON) else() @@ -37,6 +42,12 @@ else() set(WITH_PYTHON OFF) endif() +if("csharp" IN_LIST FEATURES) + set(WITH_CSHARP ON) +else() + set(WITH_CSHARP OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -64,33 +75,38 @@ vcpkg_configure_cmake( # Optional stuff -DOGRE_BUILD_COMPONENT_JAVA=${WITH_JAVA} -DOGRE_BUILD_COMPONENT_PYTHON=${WITH_PYTHON} + -DOGRE_BUILD_COMPONENT_CSHARP=${WITH_CSHARP} -DOGRE_BUILD_RENDERSYSTEM_D3D9=${WITH_D3D9} # vcpkg specific stuff -DOGRE_CMAKE_DIR=share/ogre ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() -# Remove unwanted files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/ogre) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - file(GLOB REL_CFGS ${CURRENT_PACKAGES_DIR}/bin/*.cfg) -file(COPY ${REL_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) +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) -file(COPY ${DBG_CFGS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - -file(REMOVE ${REL_CFGS} ${DBG_CFGS}) +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() -if(NOT VCPKG_CMAKE_SYSTEM_NAME) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") +#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) @@ -98,7 +114,7 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME) 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") + 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) diff --git a/ports/ogre/toolchain_fixes.patch b/ports/ogre/toolchain_fixes.patch new file mode 100644 index 000000000..9ff2d87df --- /dev/null +++ b/ports/ogre/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 + "$" + $ +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 + "$" + $) +-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/ois/CONTROL b/ports/ois/CONTROL new file mode 100644 index 000000000..2759167a7 --- /dev/null +++ b/ports/ois/CONTROL @@ -0,0 +1,4 @@ +Source: ois +Version: 1.5 +Description: Cross Platform Object Oriented Input Lib System. Meant to be very robust and compatiable with many systems and operating systems. +Homepage: https://wgois.github.io/OIS/ \ No newline at end of file diff --git a/ports/ois/portfile.cmake b/ports/ois/portfile.cmake new file mode 100644 index 000000000..526cdb6b8 --- /dev/null +++ b/ports/ois/portfile.cmake @@ -0,0 +1,31 @@ +# Automatically fail port install for UWP and ARM. Unsure if it is +# supported by library. See here: https://github.com/wgois/OIS/issues/57 +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wgois/OIS + REF v1.5 + SHA512 5ab1dda7c25c1959ccbbb758ea3fda36bd62ad65f46e2c6b418317a5eb39e0bace52a44ae079dfb69fc58c90df54f8e50d589daae1100ec615325363c9d77513 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +# 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.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +# CMake integration test +# vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/ompl/CONTROL b/ports/ompl/CONTROL index bf9ad3a1f..221507c05 100644 --- a/ports/ompl/CONTROL +++ b/ports/ompl/CONTROL @@ -1,5 +1,5 @@ Source: ompl -Version: 1.4.2-1 +Version: 1.4.2-2 Description: The Open Motion Planning Library, consists of many state-of-the-art sampling-based motion planning algorithms Build-Depends: boost-disjoint-sets, boost-dynamic-bitset, boost-filesystem, boost-graph, boost-odeint, boost-program-options, boost-serialization, boost-system, boost-test, boost-ublas, boost-timer, eigen3 diff --git a/ports/ompl/portfile.cmake b/ports/ompl/portfile.cmake index c8fdc9927..f6eaab808 100644 --- a/ports/ompl/portfile.cmake +++ b/ports/ompl/portfile.cmake @@ -1,12 +1,6 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "OMPL's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() - +vcpkg_buildpath_length_warning(37) set(OMPL_VERSION 1.4.2) set(OMPL_DISTNAME "ompl") @@ -31,7 +25,7 @@ vcpkg_extract_source_archive_ex( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS -DOMPL_VERSIONED_INSTALL=OFF -DOMPL_REGISTRATION=OFF -DOMPL_BUILD_DEMOS=OFF diff --git a/ports/oniguruma/CONTROL b/ports/oniguruma/CONTROL index 1780b4505..087fb428b 100644 --- a/ports/oniguruma/CONTROL +++ b/ports/oniguruma/CONTROL @@ -1,6 +1,7 @@ Source: oniguruma -Version: 6.9.2 +Version: 6.9.3 Description: Modern and flexible regular expressions library +Homepage: https://github.com/kkos/oniguruma Feature: non-posix Description: Disable POSIX API diff --git a/ports/oniguruma/portfile.cmake b/ports/oniguruma/portfile.cmake index 586bfbe07..7a4451f14 100644 --- a/ports/oniguruma/portfile.cmake +++ b/ports/oniguruma/portfile.cmake @@ -3,22 +3,21 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kkos/oniguruma - REF v6.9.2 - SHA512 b5578560f469c2e123280159a23a0e59045bf2452fd3efe09393c5e99ecc6323f965d2189a4e7e6e3a108c1d02b9b041f3fe991cd8ab64f7289003a5a07b4434 + REF v6.9.3 + SHA512 a0f4da26ba08de516c05b5e4b803a9cf8013489c3743ecf27fbc3f66f835eef8fca81b9ed2bd68729a470fe897994046843a4fd31d44a9584ff8dabd1748df21 HEAD_REF master ) -if("non-posix" IN_LIST FEATURES) - set(ENABLE_POSIX_API OFF) -else() - set(ENABLE_POSIX_API ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + "non-posix" ENABLE_POSIX_API +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DENABLE_POSIX_API=${ENABLE_POSIX_API} + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/open62541/CONTROL b/ports/open62541/CONTROL index ed2224f0f..7a3306df9 100644 --- a/ports/open62541/CONTROL +++ b/ports/open62541/CONTROL @@ -1,3 +1,3 @@ Source: open62541 -Version: 0.3.0-1 +Version: 0.3.0-4 Description: open62541 is an open source C (C99) implementation of OPC UA licensed under the Mozilla Public License v2.0. diff --git a/ports/open62541/portfile.cmake b/ports/open62541/portfile.cmake index a8c345eb8..3f7469d17 100644 --- a/ports/open62541/portfile.cmake +++ b/ports/open62541/portfile.cmake @@ -1,6 +1,6 @@ include(vcpkg_common_functions) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +if(NOT CMAKE_HOST_WIN32) message("${PORT} currently requires the following tools from the system package manager:\n python-six\n\nThis can be installed on Ubuntu systems via apt-get install python-six python3-six (depending on your current python default interpreter)") endif() @@ -32,23 +32,30 @@ endif() vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path("${PYTHON3_DIR}") -if(NOT EXISTS ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX}) - if(NOT EXISTS ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) - vcpkg_download_distfile(GET_PIP - URLS "https://bootstrap.pypa.io/get-pip.py" - FILENAME "tools/python/python3/get-pip.py" - SHA512 99520d223819708b8f6e4b839d1fa215e4e8adc7fcd0db6c25a0399cf2fa10034b35673cf450609303646d12497f301ef53b7e7cc65c78e7bce4af0c673555ad - ) - execute_process(COMMAND ${PYTHON3_DIR}/python${EXECUTABLE_SUFFIX} ${PYTHON3_DIR}/get-pip.py) + +if(CMAKE_HOST_WIN32) + # Must not modify system copy of python3 -- on CMAKE_HOST_WIN32, we have our own private copy + if(NOT EXISTS ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX}) + if(NOT EXISTS ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX}) + get_filename_component(PYTHON3_DIR_NAME "${PYTHON3_DIR}" NAME) + vcpkg_download_distfile(GET_PIP + URLS "https://bootstrap.pypa.io/3.3/get-pip.py" + FILENAME "tools/python/${PYTHON3_DIR_NAME}/get-pip.py" + SHA512 92e68525830bb23955a31cb19ebc3021ef16b6337eab83d5db2961b791283d2867207545faf83635f6027f2f7b7f8fee2c85f2cfd8e8267df25406474571c741 + ) + execute_process(COMMAND ${PYTHON3_DIR}/python${EXECUTABLE_SUFFIX} ${GET_PIP}) + endif() + execute_process(COMMAND ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install six) + else() + execute_process(COMMAND ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX} six) endif() - execute_process(COMMAND ${PYTHON3_DIR}/Scripts/pip${EXECUTABLE_SUFFIX} install six) -else() - execute_process(COMMAND ${PYTHON3_DIR}/easy_install${EXECUTABLE_SUFFIX} six) endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DBIN_INSTALL_DIR:STRING=bin OPTIONS_DEBUG -DCMAKE_DEBUG_POSTFIX=d ) @@ -65,5 +72,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/open62541/tools) -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/open62541) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/open62541/LICENSE ${CURRENT_PACKAGES_DIR}/share/open62541/copyright) +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/openal-soft/cmake-3-11.patch b/ports/openal-soft/cmake-3-11.patch deleted file mode 100644 index 07f7e6936..000000000 --- a/ports/openal-soft/cmake-3-11.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a871f4c..f9f6b34 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -965,7 +965,8 @@ OPTION(ALSOFT_REQUIRE_DSOUND "Require DirectSound backend" OFF) - OPTION(ALSOFT_REQUIRE_MMDEVAPI "Require MMDevApi backend" OFF) - IF(HAVE_WINDOWS_H) - # Check MMSystem backend -- CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H -D_WIN32_WINNT=0x0502) -+ set(CMAKE_REQUIRED_DEFINITIONS -D_WIN32_WINNT=0x0502) -+ CHECK_INCLUDE_FILES("windows.h;mmsystem.h" HAVE_MMSYSTEM_H) - IF(HAVE_MMSYSTEM_H) - CHECK_SHARED_FUNCTION_EXISTS(waveOutOpen "windows.h;mmsystem.h" winmm "" HAVE_LIBWINMM) - IF(HAVE_LIBWINMM) diff --git a/ports/openal-soft/portfile.cmake b/ports/openal-soft/portfile.cmake index a753030c8..2de4f646f 100644 --- a/ports/openal-soft/portfile.cmake +++ b/ports/openal-soft/portfile.cmake @@ -11,7 +11,6 @@ vcpkg_from_github( HEAD_REF master PATCHES dont-export-symbols-in-static-build.patch - cmake-3-11.patch fix-arm-builds.patch ) diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL index dd4e01732..14efa12f9 100644 --- a/ports/openblas/CONTROL +++ b/ports/openblas/CONTROL @@ -1,4 +1,5 @@ Source: openblas -Version: 0.3.6-2 +Version: 0.3.6-6 Homepage: https://github.com/xianyi/OpenBLAS +Build-Depends: pthread (linux) Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. diff --git a/ports/openblas/FindBLAS.cmake b/ports/openblas/FindBLAS.cmake new file mode 100644 index 000000000..164e79f3b --- /dev/null +++ b/ports/openblas/FindBLAS.cmake @@ -0,0 +1,816 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +#[=======================================================================[.rst: +FindBLAS +-------- + +Find Basic Linear Algebra Subprograms (BLAS) library + +This module finds an installed Fortran library that implements the +BLAS linear-algebra interface (see http://www.netlib.org/blas/). The +list of libraries searched for is taken from the ``autoconf`` macro file, +``acx_blas.m4`` (distributed at +http://ac-archive.sourceforge.net/ac-archive/acx_blas.html). + +Input Variables +^^^^^^^^^^^^^^^ + +The following variables may be set to influence this module's behavior: + +``BLA_STATIC`` + if ``ON`` use static linkage + +``BLA_VENDOR`` + If set, checks only the specified vendor, if not set checks all the + possibilities. List of vendors valid in this module: + + * Goto + * OpenBLAS + * FLAME + * ATLAS PhiPACK + * CXML + * DXML + * SunPerf + * SCSL + * SGIMATH + * IBMESSL + * Intel10_32 (intel mkl v10 32 bit) + * Intel10_64lp (intel mkl v10+ 64 bit, threaded code, lp64 model) + * Intel10_64lp_seq (intel mkl v10+ 64 bit, sequential code, lp64 model) + * Intel10_64ilp (intel mkl v10+ 64 bit, threaded code, ilp64 model) + * Intel10_64ilp_seq (intel mkl v10+ 64 bit, sequential code, ilp64 model) + * Intel (obsolete versions of mkl 32 and 64 bit) + * ACML + * ACML_MP + * ACML_GPU + * Apple + * NAS + * Generic + +``BLA_F95`` + if ``ON`` tries to find the BLAS95 interfaces + +``BLA_PREFER_PKGCONFIG`` + if set ``pkg-config`` will be used to search for a BLAS library first + and if one is found that is preferred + +Result Variables +^^^^^^^^^^^^^^^^ + +This module defines the following variables: + +``BLAS_FOUND`` + library implementing the BLAS interface is found +``BLAS_LINKER_FLAGS`` + uncached list of required linker flags (excluding ``-l`` and ``-L``). +``BLAS_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use BLAS (may be empty if compiler implicitly links BLAS) +``BLAS95_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use BLAS95 interface +``BLAS95_FOUND`` + library implementing the BLAS95 interface is found + +.. note:: + + C or CXX must be enabled to use Intel Math Kernel Library (MKL) + + For example, to use Intel MKL libraries and/or Intel compiler: + + .. code-block:: cmake + + set(BLA_VENDOR Intel10_64lp) + find_package(BLAS) + +Hints +^^^^^ + +Set ``MKLROOT`` environment variable to a directory that contains an MKL +installation. + +#]=======================================================================] + +include(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) +include(${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake) +include(${CMAKE_ROOT}/Modules/CMakePushCheckState.cmake) +include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +cmake_push_check_state() +set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY}) + +set(_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + +# Check the language being used +if( NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED) ) + if(BLAS_FIND_REQUIRED) + message(FATAL_ERROR "FindBLAS requires Fortran, C, or C++ to be enabled.") + else() + message(STATUS "Looking for BLAS... - NOT found (Unsupported languages)") + return() + endif() +endif() + +if(BLA_PREFER_PKGCONFIG) + find_package(PkgConfig) + pkg_check_modules(PKGC_BLAS blas) + if(PKGC_BLAS_FOUND) + set(BLAS_FOUND ${PKGC_BLAS_FOUND}) + set(BLAS_LIBRARIES "${PKGC_BLAS_LINK_LIBRARIES}") + return() + endif() +endif() + +macro(Check_Fortran_Libraries LIBRARIES _prefix _name _flags _list _thread) + # This macro checks for the existence of the combination of fortran libraries + # given by _list. If the combination is found, this macro checks (using the + # Check_Fortran_Function_Exists macro) whether can link against that library + # combination using the name of a routine given by _name using the linker + # flags given by _flags. If the combination of libraries is found and passes + # the link test, LIBRARIES is set to the list of complete library paths that + # have been found. Otherwise, LIBRARIES is set to FALSE. + + # N.B. _prefix is the prefix applied to the names of all cached variables that + # are generated internally and marked advanced by this macro. + + set(_libdir ${ARGN}) + + set(_libraries_work TRUE) + set(${LIBRARIES}) + set(_combined_name) + if (NOT _libdir) + if (WIN32) + set(_libdir ENV LIB) + elseif (APPLE) + set(_libdir ENV DYLD_LIBRARY_PATH) + else () + set(_libdir ENV LD_LIBRARY_PATH) + endif () + endif () + + list(APPEND _libdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}") + + foreach(_library ${_list}) + set(_combined_name ${_combined_name}_${_library}) + if(NOT "${_thread}" STREQUAL "") + set(_combined_name ${_combined_name}_thread) + endif() + if(_libraries_work) + if (BLA_STATIC) + if (WIN32) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif () + if (APPLE) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + else () + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif () + else () + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + # for ubuntu's libblas3gf and liblapack3gf packages + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf) + endif () + endif () + find_library(${_prefix}_${_library}_LIBRARY + NAMES ${_library} + PATHS ${_libdir} + ) + mark_as_advanced(${_prefix}_${_library}_LIBRARY) + set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY}) + set(_libraries_work ${${_prefix}_${_library}_LIBRARY}) + endif() + endforeach() + if(_libraries_work) + # Test this combination of libraries. + set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_thread}) + # message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") + if (CMAKE_Fortran_COMPILER_LOADED) + check_fortran_function_exists("${_name}" ${_prefix}${_combined_name}_WORKS) + else() + check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) + endif() + set(CMAKE_REQUIRED_LIBRARIES) + set(_libraries_work ${${_prefix}${_combined_name}_WORKS}) + endif() + if(_libraries_work) + if("${_list}" STREQUAL "") + set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES") + else() + set(${LIBRARIES} ${${LIBRARIES}} ${_thread}) # for static link + endif() + else() + set(${LIBRARIES} FALSE) + endif() + #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}") +endmacro() + +set(BLAS_LINKER_FLAGS) +set(BLAS_LIBRARIES) +set(BLAS95_LIBRARIES) +if (NOT $ENV{BLA_VENDOR} STREQUAL "") + set(BLA_VENDOR $ENV{BLA_VENDOR}) +else () + if(NOT BLA_VENDOR) + set(BLA_VENDOR "All") + endif() +endif () + +if (BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # Implicitly linked BLAS libraries + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "" + "" + ) + endif() +endif () + +#BLAS in intel mkl 10+ library? (em64t 64bit) +if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") + if (NOT BLAS_LIBRARIES) + + # System-specific settings + if (WIN32) + if (BLA_STATIC) + set(BLAS_mkl_DLL_SUFFIX "") + else() + set(BLAS_mkl_DLL_SUFFIX "_dll") + endif() + else() + # Switch to GNU Fortran support layer if needed (but not on Apple, where MKL does not provide it) + if(CMAKE_Fortran_COMPILER_LOADED AND CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT APPLE) + set(BLAS_mkl_INTFACE "gf") + set(BLAS_mkl_THREADING "gnu") + set(BLAS_mkl_OMP "gomp") + else() + set(BLAS_mkl_INTFACE "intel") + set(BLAS_mkl_THREADING "intel") + set(BLAS_mkl_OMP "iomp5") + endif() + set(BLAS_mkl_LM "-lm") + set(BLAS_mkl_LDL "-ldl") + endif() + + if (BLA_VENDOR MATCHES "_64ilp") + set(BLAS_mkl_ILP_MODE "ilp64") + else () + set(BLAS_mkl_ILP_MODE "lp64") + endif () + + if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) + if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED) + find_package(Threads) + else() + find_package(Threads REQUIRED) + endif() + + set(BLAS_SEARCH_LIBS "") + + if(BLA_F95) + set(BLAS_mkl_SEARCH_SYMBOL sgemm_f95) + set(_LIBRARIES BLAS95_LIBRARIES) + if (WIN32) + # Find the main file (32-bit or 64-bit) + set(BLAS_SEARCH_LIBS_WIN_MAIN "") + if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN + "mkl_blas95${BLAS_mkl_DLL_SUFFIX} mkl_intel_c${BLAS_mkl_DLL_SUFFIX}") + endif() + if (BLA_VENDOR MATCHES "^Intel10_64i?lp" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN + "mkl_blas95_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX} mkl_intel_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX}") + endif () + + # Add threading/sequential libs + set(BLAS_SEARCH_LIBS_WIN_THREAD "") + if (BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "mkl_sequential${BLAS_mkl_DLL_SUFFIX}") + endif() + if (NOT BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "libguide40 mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}") + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "libiomp5md mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}") + endif() + + # Cartesian product of the above + foreach (MAIN ${BLAS_SEARCH_LIBS_WIN_MAIN}) + foreach (THREAD ${BLAS_SEARCH_LIBS_WIN_THREAD}) + list(APPEND BLAS_SEARCH_LIBS + "${MAIN} ${THREAD} mkl_core${BLAS_mkl_DLL_SUFFIX}") + endforeach() + endforeach() + else () + if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide") + + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}") + endif () + if (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95 mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide") + + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}") + endif () + if (BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_sequential mkl_core") + endif () + endif () + else () + set(BLAS_mkl_SEARCH_SYMBOL sgemm) + set(_LIBRARIES BLAS_LIBRARIES) + if (WIN32) + # Find the main file (32-bit or 64-bit) + set(BLAS_SEARCH_LIBS_WIN_MAIN "") + if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN + "mkl_intel_c${BLAS_mkl_DLL_SUFFIX}") + endif() + if (BLA_VENDOR MATCHES "^Intel10_64i?lp" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN + "mkl_intel_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX}") + endif () + + # Add threading/sequential libs + set(BLAS_SEARCH_LIBS_WIN_THREAD "") + if (NOT BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "libguide40 mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}") + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "libiomp5md mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}") + endif() + if (BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "mkl_sequential${BLAS_mkl_DLL_SUFFIX}") + endif() + + # Cartesian product of the above + foreach (MAIN ${BLAS_SEARCH_LIBS_WIN_MAIN}) + foreach (THREAD ${BLAS_SEARCH_LIBS_WIN_THREAD}) + list(APPEND BLAS_SEARCH_LIBS + "${MAIN} ${THREAD} mkl_core${BLAS_mkl_DLL_SUFFIX}") + endforeach() + endforeach() + else () + if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide") + + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}") + endif () + if (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide") + + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}") + endif () + if (BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_sequential mkl_core") + endif () + + #older vesions of intel mkl libs + if (BLA_VENDOR STREQUAL "Intel" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS + "mkl") + list(APPEND BLAS_SEARCH_LIBS + "mkl_ia32") + list(APPEND BLAS_SEARCH_LIBS + "mkl_em64t") + endif () + endif () + endif () + + if (DEFINED ENV{MKLROOT}) + if (BLA_VENDOR STREQUAL "Intel10_32") + set(_BLAS_MKLROOT_LIB_DIR "$ENV{MKLROOT}/lib/ia32") + elseif (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$") + set(_BLAS_MKLROOT_LIB_DIR "$ENV{MKLROOT}/lib/intel64") + endif () + endif () + if (_BLAS_MKLROOT_LIB_DIR) + if (WIN32) + string(APPEND _BLAS_MKLROOT_LIB_DIR "_win") + elseif (APPLE) + string(APPEND _BLAS_MKLROOT_LIB_DIR "_mac") + else () + string(APPEND _BLAS_MKLROOT_LIB_DIR "_lin") + endif () + endif () + + foreach (IT ${BLAS_SEARCH_LIBS}) + string(REPLACE " " ";" SEARCH_LIBS ${IT}) + if (NOT ${_LIBRARIES}) + check_fortran_libraries( + ${_LIBRARIES} + BLAS + ${BLAS_mkl_SEARCH_SYMBOL} + "" + "${SEARCH_LIBS}" + "${CMAKE_THREAD_LIBS_INIT};${BLAS_mkl_LM};${BLAS_mkl_LDL}" + "${_BLAS_MKLROOT_LIB_DIR}" + ) + endif () + endforeach () + + endif () + unset(BLAS_mkl_ILP_MODE) + unset(BLAS_mkl_INTFACE) + unset(BLAS_mkl_THREADING) + unset(BLAS_mkl_OMP) + unset(BLAS_mkl_DLL_SUFFIX) + unset(BLAS_mkl_LM) + unset(BLAS_mkl_LDL) + endif () +endif () + +if(BLA_F95) + find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS95_LIBRARIES) + set(BLAS95_FOUND ${BLAS_FOUND}) + if(BLAS_FOUND) + set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}") + endif() +endif() + +if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # gotoblas (http://www.tacc.utexas.edu/tacc-projects/gotoblas2) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "goto2" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # OpenBLAS (http://www.openblas.net) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "openblas" + "" + ) + endif() + if(NOT BLAS_LIBRARIES) + find_package(Threads) + # OpenBLAS (http://www.openblas.net) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "openblas" + "${CMAKE_THREAD_LIBS_INIT}" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # FLAME's blis library (https://github.com/flame/blis) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "blis" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + dgemm + "" + "f77blas;atlas" + "" + ) + endif() +endif () + +# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) +if (BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "sgemm;dgemm;blas" + "" + ) + endif() +endif () + +# BLAS in Alpha CXML library? +if (BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "cxml" + "" + ) + endif() +endif () + +# BLAS in Alpha DXML library? (now called CXML, see above) +if (BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "dxml" + "" + ) + endif() +endif () + +# BLAS in Sun Performance library? +if (BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "-xlic_lib=sunperf" + "sunperf;sunmath" + "" + ) + if(BLAS_LIBRARIES) + set(BLAS_LINKER_FLAGS "-xlic_lib=sunperf") + endif() + endif() +endif () + +# BLAS in SCSL library? (SGI/Cray Scientific Library) +if (BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "scsl" + "" + ) + endif() +endif () + +# BLAS in SGIMATH library? +if (BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "complib.sgimath" + "" + ) + endif() +endif () + +# BLAS in IBM ESSL library? (requires generic BLAS lib, too) +if (BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "essl;blas" + "" + ) + endif() +endif () + +#BLAS in acml library? +if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") + if( ((BLA_VENDOR STREQUAL "ACML") AND (NOT BLAS_ACML_LIB_DIRS)) OR + ((BLA_VENDOR STREQUAL "ACML_MP") AND (NOT BLAS_ACML_MP_LIB_DIRS)) OR + ((BLA_VENDOR STREQUAL "ACML_GPU") AND (NOT BLAS_ACML_GPU_LIB_DIRS)) + ) + # try to find acml in "standard" paths + if( WIN32 ) + file( GLOB _ACML_ROOT "C:/AMD/acml*/ACML-EULA.txt" ) + else() + file( GLOB _ACML_ROOT "/opt/acml*/ACML-EULA.txt" ) + endif() + if( WIN32 ) + file( GLOB _ACML_GPU_ROOT "C:/AMD/acml*/GPGPUexamples" ) + else() + file( GLOB _ACML_GPU_ROOT "/opt/acml*/GPGPUexamples" ) + endif() + list(GET _ACML_ROOT 0 _ACML_ROOT) + list(GET _ACML_GPU_ROOT 0 _ACML_GPU_ROOT) + if( _ACML_ROOT ) + get_filename_component( _ACML_ROOT ${_ACML_ROOT} PATH ) + if( SIZEOF_INTEGER EQUAL 8 ) + set( _ACML_PATH_SUFFIX "_int64" ) + else() + set( _ACML_PATH_SUFFIX "" ) + endif() + if( CMAKE_Fortran_COMPILER_ID STREQUAL "Intel" ) + set( _ACML_COMPILER32 "ifort32" ) + set( _ACML_COMPILER64 "ifort64" ) + elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "SunPro" ) + set( _ACML_COMPILER32 "sun32" ) + set( _ACML_COMPILER64 "sun64" ) + elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "PGI" ) + set( _ACML_COMPILER32 "pgi32" ) + if( WIN32 ) + set( _ACML_COMPILER64 "win64" ) + else() + set( _ACML_COMPILER64 "pgi64" ) + endif() + elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "Open64" ) + # 32 bit builds not supported on Open64 but for code simplicity + # We'll just use the same directory twice + set( _ACML_COMPILER32 "open64_64" ) + set( _ACML_COMPILER64 "open64_64" ) + elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" ) + set( _ACML_COMPILER32 "nag32" ) + set( _ACML_COMPILER64 "nag64" ) + else() + set( _ACML_COMPILER32 "gfortran32" ) + set( _ACML_COMPILER64 "gfortran64" ) + endif() + + if( BLA_VENDOR STREQUAL "ACML_MP" ) + set(_ACML_MP_LIB_DIRS + "${_ACML_ROOT}/${_ACML_COMPILER32}_mp${_ACML_PATH_SUFFIX}/lib" + "${_ACML_ROOT}/${_ACML_COMPILER64}_mp${_ACML_PATH_SUFFIX}/lib" ) + else() + set(_ACML_LIB_DIRS + "${_ACML_ROOT}/${_ACML_COMPILER32}${_ACML_PATH_SUFFIX}/lib" + "${_ACML_ROOT}/${_ACML_COMPILER64}${_ACML_PATH_SUFFIX}/lib" ) + endif() + endif() +elseif(BLAS_${BLA_VENDOR}_LIB_DIRS) + set(_${BLA_VENDOR}_LIB_DIRS ${BLAS_${BLA_VENDOR}_LIB_DIRS}) +endif() + +if( BLA_VENDOR STREQUAL "ACML_MP" ) + foreach( BLAS_ACML_MP_LIB_DIRS ${_ACML_MP_LIB_DIRS}) + check_fortran_libraries ( + BLAS_LIBRARIES + BLAS + sgemm + "" "acml_mp;acml_mv" "" ${BLAS_ACML_MP_LIB_DIRS} + ) + if( BLAS_LIBRARIES ) + break() + endif() + endforeach() +elseif( BLA_VENDOR STREQUAL "ACML_GPU" ) + foreach( BLAS_ACML_GPU_LIB_DIRS ${_ACML_GPU_LIB_DIRS}) + check_fortran_libraries ( + BLAS_LIBRARIES + BLAS + sgemm + "" "acml;acml_mv;CALBLAS" "" ${BLAS_ACML_GPU_LIB_DIRS} + ) + if( BLAS_LIBRARIES ) + break() + endif() + endforeach() +else() + foreach( BLAS_ACML_LIB_DIRS ${_ACML_LIB_DIRS} ) + check_fortran_libraries ( + BLAS_LIBRARIES + BLAS + sgemm + "" "acml;acml_mv" "" ${BLAS_ACML_LIB_DIRS} + ) + if( BLAS_LIBRARIES ) + break() + endif() + endforeach() +endif() + +# Either acml or acml_mp should be in LD_LIBRARY_PATH but not both +if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "acml;acml_mv" + "" + ) +endif() +if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "acml_mp;acml_mv" + "" + ) +endif() +if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "acml;acml_mv;CALBLAS" + "" + ) +endif() +endif () # ACML + +# Apple BLAS library? +if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + dgemm + "" + "Accelerate" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All") + if ( NOT BLAS_LIBRARIES ) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + dgemm + "" + "vecLib" + "" + ) + endif () +endif () + +# Generic BLAS library? +if (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "blas" + "" + ) + endif() +endif () + +if(NOT BLA_F95) + find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS_LIBRARIES) +endif() + +# On compilers that implicitly link BLAS (such as ftn, cc, and CC on Cray HPC machines) +# we used a placeholder for empty BLAS_LIBRARIES to get through our logic above. +if (BLAS_LIBRARIES STREQUAL "BLAS_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES") + set(BLAS_LIBRARIES "") +endif() + +cmake_pop_check_state() +set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/ports/openblas/fix-redefinition-function.patch b/ports/openblas/fix-redefinition-function.patch new file mode 100644 index 000000000..176a29ff3 --- /dev/null +++ b/ports/openblas/fix-redefinition-function.patch @@ -0,0 +1,28 @@ +diff --git a/openblas_config_template.h b/openblas_config_template.h +index 52dd49d..239219d 100644 +--- a/openblas_config_template.h ++++ b/openblas_config_template.h +@@ -64,6 +64,7 @@ typedef int blasint; + #ifndef __cplusplus + #include + #endif ++ #ifndef OPENBLAS_COMPLEX_STRUCT + typedef float _Complex openblas_complex_float; + typedef double _Complex openblas_complex_double; + typedef xdouble _Complex openblas_complex_xdouble; +@@ -76,7 +77,9 @@ typedef int blasint; + #define openblas_complex_double_imag(z) (cimag(z)) + #define openblas_complex_xdouble_real(z) (creal(z)) + #define openblas_complex_xdouble_imag(z) (cimag(z)) ++ #endif + #else ++ #ifndef OPENBLAS_COMPLEX_STRUCT + #define OPENBLAS_COMPLEX_STRUCT + typedef struct { float real, imag; } openblas_complex_float; + typedef struct { double real, imag; } openblas_complex_double; +@@ -90,4 +93,5 @@ typedef int blasint; + #define openblas_complex_double_imag(z) ((z).imag) + #define openblas_complex_xdouble_real(z) ((z).real) + #define openblas_complex_xdouble_imag(z) ((z).imag) ++ #endif + #endif diff --git a/ports/openblas/openblas_common.h b/ports/openblas/openblas_common.h index 10b25d4c7..6652a17e9 100644 --- a/ports/openblas/openblas_common.h +++ b/ports/openblas/openblas_common.h @@ -1,5 +1,5 @@ #pragma once -#include "openblas_config.h" +#include "openblas/openblas_config.h" #if defined(OPENBLAS_OS_WINNT) || defined(OPENBLAS_OS_CYGWIN_NT) || defined(OPENBLAS_OS_INTERIX) #define OPENBLAS_WINDOWS_ABI @@ -57,6 +57,7 @@ typedef int blasint; predefined macros with some compilers (e.g. GCC 4.7 on Linux). This occurs as a side effect of including either or . */ #include +#ifndef OPENBLAS_COMPLEX_STRUCT #define OPENBLAS_COMPLEX_STRUCT typedef struct { float real, imag; } openblas_complex_float; typedef struct { double real, imag; } openblas_complex_double; @@ -70,3 +71,4 @@ typedef struct { xdouble real, imag; } openblas_complex_xdouble; #define openblas_complex_double_imag(z) ((z).imag) #define openblas_complex_xdouble_real(z) ((z).real) #define openblas_complex_xdouble_imag(z) ((z).imag) +#endif \ No newline at end of file diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index 1bd7b6157..907ec751a 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -1,9 +1,5 @@ include(vcpkg_common_functions) -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - message(FATAL_ERROR "openblas can only be built for x64 currently") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xianyi/OpenBLAS @@ -13,6 +9,7 @@ vcpkg_from_github( PATCHES uwp.patch fix-space-path.patch + fix-redefinition-function.patch ) find_program(GIT NAMES git git.cmd) @@ -26,8 +23,7 @@ vcpkg_find_acquire_program(PERL) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH};${SED_EXE_PATH}") -set(COMMON_OPTIONS - -DBUILD_WITHOUT_LAPACK=ON) +set(COMMON_OPTIONS -DBUILD_WITHOUT_LAPACK=ON) # for UWP version, must build non uwp first for helper # binaries. @@ -68,16 +64,21 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") elseif(NOT VCPKG_CMAKE_SYSTEM_NAME) vcpkg_configure_cmake( + PREFER_NINJA SOURCE_PATH ${SOURCE_PATH} OPTIONS ${COMMON_OPTIONS}) else() + list(APPEND VCPKG_C_FLAGS "-DNEEDBUNDERSCORE") # Required to get common BLASFUNC to append extra _ + list(APPEND VCPKG_CXX_FLAGS "-DNEEDBUNDERSCORE") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${COMMON_OPTIONS} -DCMAKE_SYSTEM_PROCESSOR=AMD64 - -DNOFORTRAN=ON) + -DNOFORTRAN=ON + -DBU=_ #required for all blas functions to append extra _ using NAME + ) endif() @@ -98,6 +99,9 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/include/cblas.h "${CBLAS_H}") file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openblas) file(RENAME ${CURRENT_PACKAGES_DIR}/share/openblas/LICENSE ${CURRENT_PACKAGES_DIR}/share/openblas/copyright) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/blas) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindBLAS.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/blas) + vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/openblas/vcpkg-cmake-wrapper.cmake b/ports/openblas/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..fc074f33c --- /dev/null +++ b/ports/openblas/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,2 @@ +message(STATUS "Using VCPKG FindBLAS. Remove if CMake has been updated to account for Threads in OpenBLAS!") +include(${CMAKE_CURRENT_LIST_DIR}/FindBLAS.cmake) diff --git a/ports/opencensus-cpp/CONTROL b/ports/opencensus-cpp/CONTROL new file mode 100644 index 000000000..1a95985ad --- /dev/null +++ b/ports/opencensus-cpp/CONTROL @@ -0,0 +1,8 @@ +Source: opencensus-cpp +Version: 0.4.0 +Homepage: https://github.com/census-instrumentation/opencensus-cpp +Description: OpenCensus is a toolkit for collecting application performance and behavior data. It currently includes an API for tracing and stats. +Build-Depends: abseil + +Feature: test +Description: Build test \ No newline at end of file diff --git a/ports/opencensus-cpp/fix-install.patch b/ports/opencensus-cpp/fix-install.patch new file mode 100644 index 000000000..ac8781da3 --- /dev/null +++ b/ports/opencensus-cpp/fix-install.patch @@ -0,0 +1,154 @@ +diff --git a/cmake/OpenCensusHelpers.cmake b/cmake/OpenCensusHelpers.cmake +index c8d35e6..a15231a 100644 +--- a/cmake/OpenCensusHelpers.cmake ++++ b/cmake/OpenCensusHelpers.cmake +@@ -38,6 +38,13 @@ function(opencensus_test NAME SRC) + gmock + gtest_main) + add_test(NAME ${_NAME} COMMAND ${_NAME}) ++ ++ install( ++ TARGETS ${_NAME} ++ RUNTIME DESTINATION tools ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + endif() + endfunction() + +@@ -51,6 +58,13 @@ function(opencensus_benchmark NAME SRC) + add_executable(${_NAME} ${SRC}) + prepend_opencensus(DEPS "${ARGN}") + target_link_libraries(${_NAME} "${DEPS}" benchmark) ++ ++ install( ++ TARGETS ${_NAME} ++ RUNTIME DESTINATION tools ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + endif() + endfunction() + +@@ -76,6 +90,13 @@ function(opencensus_lib NAME) + if(ARG_PUBLIC) + add_library(${PROJECT_NAME}::${NAME} ALIAS ${_NAME}) + endif() ++ ++ install( ++ TARGETS ${_NAME} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + endfunction() + + # Helper function for fuzzing. Usage: +@@ -88,5 +109,12 @@ function(opencensus_fuzzer NAME SRC) + prepend_opencensus(DEPS "${ARGN}") + target_link_libraries(${_NAME} "${DEPS}" ${FUZZER}) + target_compile_options(${_NAME} PRIVATE ${FUZZER}) ++ ++ install( ++ TARGETS ${_NAME} ++ RUNTIME DESTINATION tools ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + endif() + endfunction() +diff --git a/examples/helloworld/CMakeLists.txt b/examples/helloworld/CMakeLists.txt +index 456169f..71e43d1 100644 +--- a/examples/helloworld/CMakeLists.txt ++++ b/examples/helloworld/CMakeLists.txt +@@ -22,3 +22,10 @@ target_link_libraries(opencensus_examples_helloworld + opencensus-cpp::stats + opencensus-cpp::trace + Threads::Threads) ++ ++install( ++ TARGETS opencensus_examples_helloworld ++ RUNTIME DESTINATION tools ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) +\ No newline at end of file +diff --git a/opencensus/common/internal/CMakeLists.txt b/opencensus/common/internal/CMakeLists.txt +index c18859d..55a1121 100644 +--- a/opencensus/common/internal/CMakeLists.txt ++++ b/opencensus/common/internal/CMakeLists.txt +@@ -21,6 +21,8 @@ opencensus_lib(common_random + absl::base + absl::synchronization + absl::time) ++ ++install(FILES ${CMAKE_CURRENT_LIST_DIR}/../version.h DESTINATION include/opencensus-cpp/common/internal) + + opencensus_lib(common_stats_object DEPS absl::time) + +diff --git a/opencensus/context/CMakeLists.txt b/opencensus/context/CMakeLists.txt +index 525885b..537de02 100644 +--- a/opencensus/context/CMakeLists.txt ++++ b/opencensus/context/CMakeLists.txt +@@ -21,6 +21,10 @@ opencensus_lib(context + tags + trace) + ++install(FILES ${CMAKE_CURRENT_LIST_DIR}/context.h ++ ${CMAKE_CURRENT_LIST_DIR}/with_context.h ++ DESTINATION include/opencensus-cpp/context) ++ + opencensus_test(context_context_test + internal/context_test.cc + context +diff --git a/opencensus/exporters/stats/prometheus/CMakeLists.txt b/opencensus/exporters/stats/prometheus/CMakeLists.txt +index 4da7de7..39121f5 100644 +--- a/opencensus/exporters/stats/prometheus/CMakeLists.txt ++++ b/opencensus/exporters/stats/prometheus/CMakeLists.txt +@@ -28,6 +28,8 @@ opencensus_lib(exporters_stats_prometheus_utils + absl::strings + absl::time + prometheus-cpp::core) ++ ++install(FILES ${CMAKE_CURRENT_LIST_DIR}/prometheus_exporter.h DESTINATION include/opencensus-cpp/exporters/stats/prometheus) + + opencensus_test(exporters_stats_prometheus_utils_test + internal/prometheus_utils_test.cc +diff --git a/opencensus/exporters/stats/stdout/CMakeLists.txt b/opencensus/exporters/stats/stdout/CMakeLists.txt +index b4f3110..31bc991 100644 +--- a/opencensus/exporters/stats/stdout/CMakeLists.txt ++++ b/opencensus/exporters/stats/stdout/CMakeLists.txt +@@ -21,6 +21,8 @@ opencensus_lib(exporters_stats_stdout + absl::memory + absl::strings + absl::time) ++ ++install(FILES ${CMAKE_CURRENT_LIST_DIR}/stdout_exporter.h DESTINATION include/opencensus-cpp/exporters/stats/stdout) + + opencensus_test(exporters_stats_stdout_test + internal/stdout_exporter_test.cc +diff --git a/opencensus/exporters/trace/stdout/CMakeLists.txt b/opencensus/exporters/trace/stdout/CMakeLists.txt +index 2b8bc78..fce50e7 100644 +--- a/opencensus/exporters/trace/stdout/CMakeLists.txt ++++ b/opencensus/exporters/trace/stdout/CMakeLists.txt +@@ -21,6 +21,7 @@ opencensus_lib(exporters_trace_stdout + absl::base + absl::memory) + ++install(FILES ${CMAKE_CURRENT_LIST_DIR}/stdout_exporter.h DESTINATION include/opencensus-cpp/exporters/trace/stdout) + opencensus_test(exporters_trace_stdout_test + internal/stdout_exporter_test.cc + exporters_trace_stdout +diff --git a/opencensus/tags/CMakeLists.txt b/opencensus/tags/CMakeLists.txt +index dbc4c9b..1b304ce 100644 +--- a/opencensus/tags/CMakeLists.txt ++++ b/opencensus/tags/CMakeLists.txt +@@ -40,6 +40,8 @@ opencensus_lib(tags_with_tag_map + context + absl::strings) + ++file(GLOB TAGS_HDRS ${CMAKE_CURRENT_LIST_DIR}/*.h) ++install(FILES ${TAGS_HDRS} DESTINATION include/opencensus-cpp/tags) + opencensus_test(tags_context_util_test + internal/context_util_test.cc + tags diff --git a/ports/opencensus-cpp/portfile.cmake b/ports/opencensus-cpp/portfile.cmake new file mode 100644 index 000000000..be9283a5e --- /dev/null +++ b/ports/opencensus-cpp/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_fail_port_install(ON_TARGET "Windows") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO census-instrumentation/opencensus-cpp + REF 2b0725c2d0f809351300c634c54e70e0a8c3f4ed #v0.4.0 + SHA512 16f3975ed0580aec83e0dd98f15a04d614cf45bfa7e07b0b94e881afc12e8e4bac3c0efde1f8e7da9f5dc66365415ae1e3ab10dfcbd9e078879246db6e81cd56 + HEAD_REF master + PATCHES fix-install.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test BUILD_TESTING +) + +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) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/opencl/CONTROL b/ports/opencl/CONTROL index 32308ad5d..9ddd88dd4 100644 --- a/ports/opencl/CONTROL +++ b/ports/opencl/CONTROL @@ -1,4 +1,7 @@ -Source: opencl -Version: 2.2 (2017.07.18)-1 -Homepage: https://github.com/KhronosGroup/OpenCL-Headers -Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL +Source: opencl +Version: 2.2-2 +Homepage: https://github.com/KhronosGroup/OpenCL-Headers +Description: C/C++ headers and ICD loader (Installable Client Driver) for OpenCL + +Feature: wdk +Description: Windows Driver Kit support diff --git a/ports/opencl/portfile.cmake b/ports/opencl/portfile.cmake index 54096512f..00683d1a7 100644 --- a/ports/opencl/portfile.cmake +++ b/ports/opencl/portfile.cmake @@ -1,18 +1,24 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +if("wdk" IN_LIST FEATURES) + if(NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "Windows Driver Kit support is only available builds targeting Windows") + endif() + set(WITH_WDK ON) +else() + set(WITH_WDK OFF) +endif() -# OpenCL C headers vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/OpenCL-Headers - REF f039db6764d52388658ef15c30b2237bbda49803 - SHA512 5909a85f96477d731059528303435f06255e98ed8df9d4cd2b62c744b5fe41408c69c0d4068421a2813eb9ad9d70d7f1bace9ebf0db19cc09e71bb8066127c5f + REF 0d5f18c6e7196863bc1557a693f1509adfcee056 + SHA512 7e8fa6c8e73c660d8e9e31ddea3bfef887ed827fc21a1da559bde9dd4af6c52a91f609401bb718528b5c96d21e4c01aee7b8027bdf3dec4b0aa326270788a4b0 HEAD_REF master ) file(INSTALL - "${SOURCE_PATH}/opencl22/CL" + "${SOURCE_PATH}/CL" DESTINATION ${CURRENT_PACKAGES_DIR}/include ) @@ -21,8 +27,8 @@ file(INSTALL vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/OpenCL-CLHPP - REF 5dd8bb9e32a8e2f72621566b296ac8143a554270 - SHA512 2909fe2b979b52724ef8d285180d8bfd30bdd56cb79da4effc9e03b576ec7edb5497c99a9fa30541fe63037c84ddef21d4a73e7927f3813baab2a2afeecd55ab + REF d62a02090625655e5b2d791d6a58618b043c989c + SHA512 837bbe914931d2f18a468f21634dbd4d088eda0a2f22eea23304c0323b9ee064c3ee76db7ebf28ba67fbe07c44129241f8dca62512d89bc7a6b35c2b4b316ed7 HEAD_REF master ) @@ -49,8 +55,8 @@ message(STATUS "Generating OpenCL C++ headers done") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/OpenCL-ICD-Loader - REF 26a38983cbe5824fd5be03eab8d037758fc44360 - SHA512 3029f758ff0c39b57aa10d881af68e73532fd179c54063ed1d4529b7d6e27a5219e3c24b7fb5598d790ebcdc2441e00001a963671dc90fef2fc377c76d724f54 + REF e6e30ab9c7a61c171cf68d2e7f5c0ce28e2a4eae + SHA512 f3563c0a4c094d3795d8386ec0db41189d350ab8136d80ae5de611ee3db87fbb0ab851bad2b33e111eddf135add5dbfef77d96979473ca5a23c036608d443378 HEAD_REF master ) @@ -58,30 +64,36 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DOPENCL_INCLUDE_DIRS=${CURRENT_PACKAGES_DIR}/include + -DOPENCL_ICD_LOADER_HEADERS_DIR=${CURRENT_PACKAGES_DIR}/include + -DOPENCL_ICD_LOADER_REQUIRE_WDK=${WITH_WDK} ) vcpkg_build_cmake(TARGET OpenCL) -file(INSTALL - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/OpenCL.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/lib -) +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +else() + if(VCPKG_TARGET_IS_WINDOWS) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + elseif(VCPKG_TARGET_IS_LINUX) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1.2" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}.1.2" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + elseif(VCPKG_TARGET_IS_OSX) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}OpenCL${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}" DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + endif() +endif() -file(INSTALL - "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/OpenCL.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/lib -) +vcpkg_copy_pdbs() -file(INSTALL - "${SOURCE_PATH}/LICENSE.txt" - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright -) -file(COPY - ${CMAKE_CURRENT_LIST_DIR}/usage - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/${PORT} -) +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) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/opencl/usage b/ports/opencl/usage index 699ff0170..adcd2232f 100644 --- a/ports/opencl/usage +++ b/ports/opencl/usage @@ -1,7 +1,16 @@ -The package opencl is compatible with built-in CMake targets: +The package opencl is compatible with built-in CMake targets via CMake v3.6 and prior syntax find_package(OpenCL REQUIRED) target_link_libraries(main PRIVATE ${OpenCL_LIBRARIES}) target_include_directories(main PRIVATE ${OpenCL_INCLUDE_DIRS}) -You will also need to install an appropriate driver package from your CPU/GPU manufacturer. +and the CMake v3.7 and beyond imported target syntax + + find_package(OpenCL REQUIRED) + target_link_libraries(main PRIVATE OpenCL::OpenCL) + +This package is only an OpenCL SDK. To actually run OpenCL code you also need to install an implementation. + + WINDOWS: implementations typically ship with the drivers of you CPU/GPU vendors. + LINUX: implementations may be installed from your distro's repo or manually. There are too many to count. + APPLE: consult your distribution vendor on the state of OpenCL support: https://support.apple.com/en-us/HT202823 diff --git a/ports/opencl/vcpkg-cmake-wrapper.cmake b/ports/opencl/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..73c9da576 --- /dev/null +++ b/ports/opencl/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,15 @@ +_find_package(${ARGS}) +if(NOT BUILD_SHARED_LIBS AND (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")) + find_package(Threads REQUIRED) + set(OpenCL_Extra_Libs ${CMAKE_DL_LIBS} ${CMAKE_THREAD_LIBS_INIT}) + if(CMAKE_SYSTEM_NAME MATCHES "Windows") + list(APPEND OpenCL_Extra_Libs cfgmgr32) + endif(CMAKE_SYSTEM_NAME MATCHES "Windows") + + if(TARGET OpenCL::OpenCL) + set_property(TARGET OpenCL::OpenCL APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${OpenCL_Extra_Libs}) + endif() + if(OpenCL_LIBRARIES) + list(APPEND OpenCL_LIBRARIES ${OpenCL_Extra_Libs}) + endif() +endif() \ No newline at end of file diff --git a/ports/opencolorio/0001-lcms-dependency-search.patch b/ports/opencolorio/0001-lcms-dependency-search.patch new file mode 100644 index 000000000..27edc73f1 --- /dev/null +++ b/ports/opencolorio/0001-lcms-dependency-search.patch @@ -0,0 +1,39 @@ +diff --git a/src/apps/ociobakelut/CMakeLists.txt b/src/apps/ociobakelut/CMakeLists.txt +index d31b4e3..778b631 100644 +--- a/src/apps/ociobakelut/CMakeLists.txt ++++ b/src/apps/ociobakelut/CMakeLists.txt +@@ -5,6 +5,34 @@ if(LCMS_FOUND AND (LCMS_VERSION VERSION_EQUAL 2.1 OR LCMS_VERSION VERSION_GREATE + FIND_PACKAGE_MESSAGE(LCMS "Found lcms: ${LCMS_LIBRARIES}" + "${LCMS_INCLUDE_DIR}") + else() ++ find_path(LCMS_INCLUDE_DIRS ++ NAMES ++ lcms2.h ++ lcms2_plugin.h ++ HINTS ++ ${LCMS_INCLUDEDIR} ++ ${LCMS_INCLUDE_DIRS} ++ ) ++ ++ find_library(LCMS_LIBRARIES ++ LIBRARY_NAMES ++ lcms2 ++ HINTS ++ ${LCMS_LIBRARY_DIRS} ++ ) ++ ++ get_filename_component(LCMS_LIBRARY_DIRS ${LCMS_LIBRARIES} DIRECTORY) ++ ++ find_package_handle_standard_args(LCMS ++ REQUIRED_VARS ++ LCMS_LIBRARIES ++ LCMS_LIBRARY_DIRS ++ LCMS_INCLUDE_DIRS ++ ) ++ mark_as_advanced(LCMS_LIBRARIES LCMS_INCLUDE_DIRS LCMS_LIBRARY_DIRS LCMS_FOUND) ++endif() ++ ++if(NOT LCMS_FOUND) + find_package(Git) + if(NOT GIT_EXECUTABLE) + message("Git not found, could not build external LCMS as we cannot apply patch") diff --git a/ports/opencolorio/0002-msvc-cpluscplus.patch b/ports/opencolorio/0002-msvc-cpluscplus.patch new file mode 100644 index 000000000..c4349ea12 --- /dev/null +++ b/ports/opencolorio/0002-msvc-cpluscplus.patch @@ -0,0 +1,84 @@ +diff --git a/src/apps/ocioconvert/CMakeLists.txt b/src/apps/ocioconvert/CMakeLists.txt +index 82b0792..7d16bdf 100644 +--- a/src/apps/ocioconvert/CMakeLists.txt ++++ b/src/apps/ocioconvert/CMakeLists.txt +@@ -6,16 +6,23 @@ if (OIIO_FOUND) + ${OIIO_INCLUDES} + ${ILMBASE_INCLUDES} + ) +- ++ + file(GLOB_RECURSE share_src_files "${CMAKE_SOURCE_DIR}/src/apps/share/*.cpp") +- ++ + add_executable(ocioconvert ${share_src_files} main.cpp) +- ++ ++ target_compile_options(ocioconvert ++ PRIVATE ++ $<$: ++ /Zc:__cplusplus # Enable updated __cplusplus macro ++ > ++ ) ++ + set_target_properties(ocioconvert PROPERTIES COMPILE_FLAGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) + + target_link_libraries(ocioconvert ${OIIO_LIBRARIES} ${CMAKE_DL_LIBS}) +- ++ + target_link_OCIO(ocioconvert) +- ++ + install(TARGETS ocioconvert EXPORT OpenColorIO DESTINATION ${CMAKE_INSTALL_EXEC_PREFIX}/bin) + endif() +diff --git a/src/apps/ociodisplay/CMakeLists.txt b/src/apps/ociodisplay/CMakeLists.txt +index d11b9e1..0f27d86 100644 +--- a/src/apps/ociodisplay/CMakeLists.txt ++++ b/src/apps/ociodisplay/CMakeLists.txt +@@ -11,6 +11,13 @@ if (OIIO_FOUND) + + add_executable(ociodisplay main.cpp) + ++ target_compile_options(ociodisplay ++ PRIVATE ++ $<$: ++ /Zc:__cplusplus # Enable updated __cplusplus macro ++ > ++ ) ++ + # set_target_properties(ociodisplay PROPERTIES INSTALL_RPATH ${OIIO_LIBRARIES} ) + set_target_properties(ociodisplay PROPERTIES COMPILE_FLAGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) + target_link_libraries(ociodisplay ${GLEW_LIBRARIES} ${GLUT_LIBRARY} ${OPENGL_LIBRARY} ${OIIO_LIBRARIES}) +diff --git a/src/apps/ociolutimage/CMakeLists.txt b/src/apps/ociolutimage/CMakeLists.txt +index 528333f..821155d 100644 +--- a/src/apps/ociolutimage/CMakeLists.txt ++++ b/src/apps/ociolutimage/CMakeLists.txt +@@ -6,16 +6,23 @@ if (OIIO_FOUND) + ${OIIO_INCLUDES} + ${ILMBASE_INCLUDES} + ) +- ++ + file(GLOB_RECURSE share_src_files "${CMAKE_SOURCE_DIR}/src/apps/share/*.cpp") +- ++ + add_executable(ociolutimage ${share_src_files} main.cpp) +- ++ ++ target_compile_options(ociolutimage ++ PRIVATE ++ $<$: ++ /Zc:__cplusplus # Enable updated __cplusplus macro ++ > ++ ) ++ + set_target_properties(ociolutimage PROPERTIES COMPILE_FLAGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) + + target_link_libraries(ociolutimage ${OIIO_LIBRARIES} ${CMAKE_DL_LIBS}) +- ++ + target_link_OCIO(ociolutimage) +- ++ + install(TARGETS ociolutimage EXPORT OpenColorIO DESTINATION ${CMAKE_INSTALL_EXEC_PREFIX}/bin) + endif() diff --git a/ports/opencolorio/0003-osx-self-assign-field.patch b/ports/opencolorio/0003-osx-self-assign-field.patch new file mode 100644 index 000000000..18947bbbd --- /dev/null +++ b/ports/opencolorio/0003-osx-self-assign-field.patch @@ -0,0 +1,13 @@ +diff --git a/src/core/Config.cpp b/src/core/Config.cpp +index f5cb379..5ea178e 100644 +--- a/src/core/Config.cpp ++++ b/src/core/Config.cpp +@@ -330,7 +330,7 @@ OCIO_NAMESPACE_ENTER + sanitytext_ = rhs.sanitytext_; + + cacheids_ = rhs.cacheids_; +- cacheidnocontext_ = cacheidnocontext_; ++ cacheidnocontext_ = rhs.cacheidnocontext_; + } + return *this; + } diff --git a/ports/opencolorio/0004-yaml-dependency-search.patch b/ports/opencolorio/0004-yaml-dependency-search.patch new file mode 100644 index 000000000..30c01d41a --- /dev/null +++ b/ports/opencolorio/0004-yaml-dependency-search.patch @@ -0,0 +1,108 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e4f3119..5cfa601 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -244,34 +244,49 @@ else(USE_EXTERNAL_TINYXML) + endif() + set_target_properties(TINYXML_LIB PROPERTIES FOLDER External) + endif(USE_EXTERNAL_TINYXML) +- ++ + ############################################################################### + ### YAML ### + + if(USE_EXTERNAL_YAML) +- # Set minimum yaml version for non-patched sources. +- set(YAML_VERSION_MIN "0.3.0") +- include(FindPkgConfig) +- pkg_check_modules(PC_YAML_CPP REQUIRED QUIET yaml-cpp) +- find_path(YAML_CPP_INCLUDE_DIR yaml-cpp/yaml.h +- HINTS ${PC_YAML_CPP_INCLUDEDIR} ${PC_YAML_CPP_INCLUDE_DIRS} ) +- find_library(YAML_CPP_LIBRARY LIBRARY_NAMES yaml-cpp libyaml-cpp +- HINTS ${PC_YAML_CPP_LIBRARY_DIRS} ) +- set(YAML_CPP_LIBRARIES ${YAML_CPP_LIBRARY}) +- set(YAML_CPP_INCLUDE_DIRS ${YAML_CPP_INCLUDE_DIR}) +- set(YAML_CPP_VERSION ${PC_YAML_CPP_VERSION}) +- +- if(YAML_CPP_VERSION VERSION_LESS ${YAML_VERSION_MIN}) +- message(FATAL_ERROR "ERROR: yaml-cpp ${YAML_VERSION_MIN} or greater is required.") +- endif() ++ find_package(yaml-cpp 0.3.0) ++ if(yaml-cpp_FOUND) ++ include(FindPackageMessage) ++ ++ set(YAML_CPP_FOUND ${yaml-cpp_FOUND}) ++ set(YAML_CPP_INCLUDE_DIRS ${YAML_CPP_INCLUDE_DIR}) ++ set(YAML_CPP_VERSION ${yaml-cpp_VERSION}) ++ set(YAML_CPP_LIBRARIES yaml-cpp) ++ ++ find_package_message(yaml-cpp ++ "Found yaml ${YAML_CPP_VERSION}: ${YAML_CPP_INCLUDE_DIRS}" ++ "${YAML_CPP_INCLUDE_DIRS}:${YAML_CPP_LIBRARIES}" ++ ) ++ else() ++ # Set minimum yaml version for non-patched sources. ++ set(YAML_VERSION_MIN "0.3.0") ++ include(FindPkgConfig) ++ pkg_check_modules(PC_YAML_CPP REQUIRED QUIET yaml-cpp) ++ find_path(YAML_CPP_INCLUDE_DIR yaml-cpp/yaml.h ++ HINTS ${PC_YAML_CPP_INCLUDEDIR} ${PC_YAML_CPP_INCLUDE_DIRS} ) ++ find_library(YAML_CPP_LIBRARY LIBRARY_NAMES yaml-cpp libyaml-cpp ++ HINTS ${PC_YAML_CPP_LIBRARY_DIRS} ) ++ set(YAML_CPP_LIBRARIES ${YAML_CPP_LIBRARY}) ++ set(YAML_CPP_INCLUDE_DIRS ${YAML_CPP_INCLUDE_DIR}) ++ set(YAML_CPP_VERSION ${PC_YAML_CPP_VERSION}) ++ ++ if(YAML_CPP_VERSION VERSION_LESS ${YAML_VERSION_MIN}) ++ message(FATAL_ERROR "ERROR: yaml-cpp ${YAML_VERSION_MIN} or greater is required.") ++ endif() + +- find_package_handle_standard_args(yaml-cpp +- REQUIRED_VARS YAML_CPP_LIBRARIES YAML_CPP_INCLUDE_DIRS ) +- set(YAML_CPP_FOUND ${YAML-CPP_FOUND}) +- mark_as_advanced(YAML_CPP_INCLUDE_DIR YAML_CPP_LIBRARY YAML-CPP_FOUND) ++ find_package_handle_standard_args(yaml-cpp ++ REQUIRED_VARS YAML_CPP_LIBRARIES YAML_CPP_INCLUDE_DIRS ) ++ set(YAML_CPP_FOUND ${YAML-CPP_FOUND}) ++ mark_as_advanced(YAML_CPP_INCLUDE_DIR YAML_CPP_LIBRARY YAML-CPP_FOUND) ++ endif() + + if(YAML_CPP_FOUND) +- if(YAML_CPP_VERSION VERSION_GREATER "0.5.0") ++ if(YAML_CPP_VERSION VERSION_GREATER "0.5.0" AND YAML_CPP_VERSION VERSION_LESS "0.6.0") + # Need to also get the boost headers here, as yaml-cpp 0.5.0+ requires them. + # Don't bother doing this step if we are already including the boost headers for shared_ptr + if(NOT OCIO_USE_BOOST_PTR) +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index 4b931ef..12a1dbf 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -77,7 +77,14 @@ endif() + if(OCIO_BUILD_STATIC) + list(REMOVE_ITEM core_src_files ${CMAKE_SOURCE_DIR}/src/core/UnitTest.cpp) + add_library(OpenColorIO_STATIC STATIC ${EXTERNAL_OBJECTS} ${core_src_files}) +- add_dependencies(OpenColorIO_STATIC TINYXML_LIB YAML_CPP_LIB) ++ add_dependencies(OpenColorIO_STATIC TINYXML_LIB) ++ ++ if(USE_EXTERNAL_YAML) ++ target_link_libraries(OpenColorIO_STATIC ${YAML_CPP_LIBRARIES}) ++ else(USE_EXTERNAL_YAML) ++ add_dependencies(OpenColorIO_STATIC YAML_CPP_LIB) ++ endif() ++ + if(EXTERNAL_LIBRARIES) + target_link_libraries(OpenColorIO_STATIC ${EXTERNAL_LIBRARIES}) + endif() +diff --git a/src/core/OCIOYaml.cpp b/src/core/OCIOYaml.cpp +index aeee4d1..f1c662d 100644 +--- a/src/core/OCIOYaml.cpp ++++ b/src/core/OCIOYaml.cpp +@@ -69,7 +69,7 @@ namespace YAML { + + #ifdef WIN32 + #pragma warning( push ) +-#pragma warning( disable: 4146 ) ++#pragma warning( disable: 4146 4251 ) + #endif + + #include diff --git a/ports/opencolorio/0005-tinyxml-dependency-search.patch b/ports/opencolorio/0005-tinyxml-dependency-search.patch new file mode 100644 index 000000000..319f88b73 --- /dev/null +++ b/ports/opencolorio/0005-tinyxml-dependency-search.patch @@ -0,0 +1,18 @@ +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index 45e55f9..f4b687d 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -77,7 +77,12 @@ endif() + if(OCIO_BUILD_STATIC) + list(REMOVE_ITEM core_src_files ${CMAKE_SOURCE_DIR}/src/core/UnitTest.cpp) + add_library(OpenColorIO_STATIC STATIC ${EXTERNAL_OBJECTS} ${core_src_files}) +- add_dependencies(OpenColorIO_STATIC TINYXML_LIB) ++ ++ if(USE_EXTERNAL_TINYXML) ++ target_link_libraries(OpenColorIO_STATIC ${TINYXML_LIBRARIES}) ++ else(USE_EXTERNAL_TINYXML) ++ add_dependencies(OpenColorIO_STATIC TINYXML_LIB) ++ endif(USE_EXTERNAL_TINYXML) + + if(USE_EXTERNAL_YAML) + target_link_libraries(OpenColorIO_STATIC ${YAML_CPP_LIBRARIES}) diff --git a/ports/opencolorio/CONTROL b/ports/opencolorio/CONTROL new file mode 100644 index 000000000..0d53dd6c6 --- /dev/null +++ b/ports/opencolorio/CONTROL @@ -0,0 +1,9 @@ +Source: opencolorio +Version: 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] + +Feature: applications +Description: Enable OpenColorIO tools +Build-Depends: openimageio[core], openexr[core] diff --git a/ports/opencolorio/portfile.cmake b/ports/opencolorio/portfile.cmake new file mode 100644 index 000000000..8246926eb --- /dev/null +++ b/ports/opencolorio/portfile.cmake @@ -0,0 +1,101 @@ +include(vcpkg_common_definitions) +include(vcpkg_common_functions) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(_BUILD_SHARED OFF) + set(_BUILD_STATIC ON) +else() + set(_BUILD_SHARED ON) + set(_BUILD_STATIC OFF) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO imageworks/OpenColorIO + REF v1.1.1 + SHA512 bed722f9ddce1887d28aacef2882debccd7c3f3c0c708d2723fea58a097de9f02721af9e85453e089ffda5406aef593ab6536c6886307823c132aa787e492e33 + HEAD_REF master + PATCHES + 0001-lcms-dependency-search.patch + 0002-msvc-cpluscplus.patch + 0003-osx-self-assign-field.patch + 0004-yaml-dependency-search.patch + 0005-tinyxml-dependency-search.patch +) + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + applications OCIO_BUILD_APPS +) + +vcpkg_find_acquire_program(PYTHON2) +get_filename_component(PYTHON2_PATH ${PYTHON2} DIRECTORY) +vcpkg_add_to_path(PREPEND ${PYTHON2_PATH}) + +# TODO(theblackunknown) build additional targets based on feature + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + ${FEATURE_OPTIONS} + -DOCIO_BUILD_SHARED:BOOL=${_BUILD_SHARED} + -DOCIO_BUILD_STATIC:BOOL=${_BUILD_STATIC} + -DOCIO_BUILD_TRUELIGHT:BOOL=OFF + -DOCIO_BUILD_NUKE:BOOL=OFF + -DOCIO_BUILD_DOCS:BOOL=OFF + -DOCIO_BUILD_TESTS:BOOL=OFF + -DOCIO_BUILD_PYGLUE:BOOL=OFF + -DOCIO_BUILD_JNIGLUE:BOOL=OFF + -DOCIO_STATIC_JNIGLUE:BOOL=OFF + -DUSE_EXTERNAL_TINYXML:BOOL=ON + -DUSE_EXTERNAL_YAML:BOOL=ON +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + +vcpkg_copy_pdbs() + +if("applications" IN_LIST FEATURES) + # port applications to tools + file(MAKE_DIRECTORY + "${CURRENT_PACKAGES_DIR}/tools/${PORT}" + "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}" + ) + + file(GLOB_RECURSE _TOOLS + "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + ) + foreach(_TOOL IN LISTS _TOOLS) + get_filename_component(_NAME ${_TOOL} NAME) + file(RENAME "${_TOOL}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${_NAME}") + endforeach() + + file(GLOB_RECURSE _TOOLS + "${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}" + ) + foreach(_TOOL IN LISTS _TOOLS) + get_filename_component(_NAME ${_TOOL} NAME) + file(RENAME "${_TOOL}" "${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/${_NAME}") + endforeach() + + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}") + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}") +endif() + +# Clean redundant files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +# CMake Configs leftovers +file(REMOVE + ${CURRENT_PACKAGES_DIR}/OpenColorIOConfig.cmake + ${CURRENT_PACKAGES_DIR}/debug/OpenColorIOConfig.cmake +) + +# 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) diff --git a/ports/opencsg/CONTROL b/ports/opencsg/CONTROL index a2b5b0d7f..f48cff6d3 100644 --- a/ports/opencsg/CONTROL +++ b/ports/opencsg/CONTROL @@ -1,4 +1,4 @@ Source: opencsg -Version: 1.4.2 +Version: 1.4.2-1 Build-Depends: glew Description: OpenCSG is a library that does image-based CSG rendering using OpenGL. OpenCSG is written in C++ and supports most modern graphics hardware using Microsoft Windows or the Linux operating system. diff --git a/ports/opencsg/portfile.cmake b/ports/opencsg/portfile.cmake index e43a89ec5..f47996af5 100644 --- a/ports/opencsg/portfile.cmake +++ b/ports/opencsg/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -35,5 +23,4 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencsg RENAME copyright) +file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/opencv/0001-winrt-fixes.patch b/ports/opencv/0001-winrt-fixes.patch deleted file mode 100644 index b2fe1a021..000000000 --- a/ports/opencv/0001-winrt-fixes.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/cmake/OpenCVModule.cmake -+++ b/cmake/OpenCVModule.cmake -@@ -848,7 +848,7 @@ macro(ocv_create_module) - set(the_module_target ${the_module}) - endif() - -- if(WINRT) -+ if(WINRT AND BUILD_TESTS) - # removing APPCONTAINER from modules to run from console - # in case of usual starting of WinRT test apps output is missing - # so starting of console version w/o APPCONTAINER is required to get test results ---- a/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp -+++ b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp -@@ -24,6 +24,7 @@ - // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - // POSSIBILITY OF SUCH DAMAGE. - -+#include "opencv2/core/cvdef.h" - using namespace Windows::UI::Xaml::Controls; - - namespace cv ---- a/modules/highgui/src/window_winrt_bridge.hpp -+++ b/modules/highgui/src/window_winrt_bridge.hpp -@@ -28,6 +28,7 @@ - - #include - #include -+#include "opencv2/highgui/highgui_c.h" - - using namespace Windows::UI::Xaml::Controls; - ---- a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp -+++ b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp -@@ -94,10 +94,10 @@ Media::CaptureFrameGrabber::~CaptureFrameGrabber() - - void Media::CaptureFrameGrabber::ShowCameraSettings() - { --#if WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP -+#if (WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP) && (WINAPI_FAMILY!=WINAPI_FAMILY_APP) - if (_state == State::Started) - { -- CameraOptionsUI::Show(_capture.Get()); -+ CameraOptionsUI::Show(_capture.Get()); // TODO: Turn it on again in UWP mode by adding reference to UWP Desktop Extensions - } - #endif - } diff --git a/ports/opencv/0002-install-options.patch b/ports/opencv/0002-install-options.patch deleted file mode 100644 index 0719a7cb9..000000000 --- a/ports/opencv/0002-install-options.patch +++ /dev/null @@ -1,137 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -312,6 +312,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF ) - OCV_OPTION(INSTALL_ANDROID_EXAMPLES "Install Android examples" OFF IF ANDROID ) - OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help with side by side installs." OFF IF (UNIX AND NOT ANDROID AND NOT APPLE_FRAMEWORK AND BUILD_SHARED_LIBS) ) - OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binaries and test data" OFF) -+OCV_OPTION(INSTALL_HEADERS "Install header files" ON) -+OCV_OPTION(INSTALL_LICENSE "Install license file" ON) -+OCV_OPTION(INSTALL_OTHER "Install other files" ON) -+OCV_OPTION(INSTALL_FORCE_UNIX_PATHS "Force unix-style installation" OFF) - - # OpenCV build options - # =================================================== -@@ -378,7 +382,9 @@ else() - endif() - - if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows) -- if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH) -+ if(DEFINED OpenCV_DISABLE_ARCH_PATH) -+ ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "") -+ elseif(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH) - ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/") - else() - message(STATUS "Can't detect runtime and/or arch") -@@ -433,12 +439,8 @@ else() - ocv_update(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}") - - if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows) -- if(OpenCV_STATIC) -- ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}") -- else() -- ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}") -- endif() -- ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}") -+ ocv_update(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}") -+ ocv_update(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}lib${LIB_SUFFIX}") - ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH samples) - ocv_update(OPENCV_JAR_INSTALL_PATH java) - ocv_update(OPENCV_OTHER_INSTALL_PATH etc) -@@ -901,7 +903,7 @@ if(NOT OPENCV_LICENSE_FILE) - endif() - - # for UNIX it does not make sense as LICENSE and readme will be part of the package automatically --if(ANDROID OR NOT UNIX) -+if(ANDROID OR NOT UNIX AND INSTALL_LICENSE) - install(FILES ${OPENCV_LICENSE_FILE} - PERMISSIONS OWNER_READ GROUP_READ WORLD_READ - DESTINATION ./ COMPONENT libs) ---- a/cmake/OpenCVGenConfig.cmake -+++ b/cmake/OpenCVGenConfig.cmake -@@ -105,7 +105,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) - endif() - endfunction() - --if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) -+if(((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) OR INSTALL_FORCE_UNIX_PATHS) - ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "") - endif() - -@@ -117,7 +117,7 @@ endif() - # -------------------------------------------------------------------------------------------- - # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages - # -------------------------------------------------------------------------------------------- --if(WIN32) -+if(WIN32 AND NOT INSTALL_FORCE_UNIX_PATHS) - if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows) - if(BUILD_SHARED_LIBS) - set(_lib_suffix "lib") ---- a/cmake/OpenCVGenHeaders.cmake -+++ b/cmake/OpenCVGenHeaders.cmake -@@ -1,7 +1,9 @@ - # platform-specific config file - configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h") - configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/cvconfig.h") --install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev) -+if(INSTALL_HEADERS) -+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev) -+endif() - - # platform-specific config file - ocv_compiler_optimization_fill_cpu_config() -@@ -29,4 +31,6 @@ set(OPENCV_MODULE_DEFINITIONS_CONFIGMAKE "${OPENCV_MODULE_DEFINITIONS_CONFIGMAKE - #endforeach() - - configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/opencv_modules.hpp.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp") --install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev) -+if(INSTALL_HEADERS) -+ install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev) -+endif() -\ No newline at end of file ---- a/cmake/OpenCVModule.cmake -+++ b/cmake/OpenCVModule.cmake -@@ -1000,7 +1000,9 @@ macro(_ocv_create_module) - foreach(hdr ${OPENCV_MODULE_${the_module}_HEADERS}) - string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}") - if(NOT hdr2 MATCHES "private" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" ) -- install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev) -+ if(INSTALL_HEADERS) -+ install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev) -+ endif() - endif() - endforeach() - endif() ---- a/data/CMakeLists.txt -+++ b/data/CMakeLists.txt -@@ -1,8 +1,10 @@ - file(GLOB HAAR_CASCADES haarcascades/*.xml) - file(GLOB LBP_CASCADES lbpcascades/*.xml) - --install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs) --install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs) -+if(INSTALL_OTHER) -+ install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs) -+ install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs) -+endif() - - if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) - install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests") ---- a/include/CMakeLists.txt -+++ b/include/CMakeLists.txt -@@ -1,7 +1,9 @@ --file(GLOB old_hdrs "opencv/*.h*") --install(FILES ${old_hdrs} -- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv -- COMPONENT dev) --install(FILES "opencv2/opencv.hpp" -- DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 -- COMPONENT dev) -+if(INSTALL_HEADERS) -+ file(GLOB old_hdrs "opencv/*.h*") -+ install(FILES ${old_hdrs} -+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv -+ COMPONENT dev) -+ install(FILES "opencv2/opencv.hpp" -+ DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 -+ COMPONENT dev) -+endif() diff --git a/ports/opencv/0004-use-find-package-required.patch b/ports/opencv/0004-use-find-package-required.patch deleted file mode 100644 index 4e1daf659..000000000 --- a/ports/opencv/0004-use-find-package-required.patch +++ /dev/null @@ -1,83 +0,0 @@ ---- a/cmake/OpenCVFindLibsGrfmt.cmake -+++ b/cmake/OpenCVFindLibsGrfmt.cmake -@@ -6,7 +6,7 @@ - if(BUILD_ZLIB) - ocv_clear_vars(ZLIB_FOUND) - else() -- find_package(ZLIB "${MIN_VER_ZLIB}") -+ find_package(ZLIB "${MIN_VER_ZLIB}" REQUIRED) - if(ZLIB_FOUND AND ANDROID) - if(ZLIB_LIBRARIES MATCHES "/usr/(lib|lib32|lib64)/libz.so$") - set(ZLIB_LIBRARIES z) -@@ -30,7 +30,7 @@ if(WITH_JPEG) - if(BUILD_JPEG) - ocv_clear_vars(JPEG_FOUND) - else() -- include(FindJPEG) -+ find_package(JPEG REQUIRED) - endif() - - if(NOT JPEG_FOUND) -@@ -51,7 +51,7 @@ if(WITH_TIFF) - if(BUILD_TIFF) - ocv_clear_vars(TIFF_FOUND) - else() -- include(FindTIFF) -+ find_package(TIFF REQUIRED) - if(TIFF_FOUND) - ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION) - endif() -@@ -94,7 +94,7 @@ if(WITH_WEBP) - if(BUILD_WEBP) - ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR) - else() -- include(cmake/OpenCVFindWebP.cmake) -+ find_package(WebP REQUIRED) - if(WEBP_FOUND) - set(HAVE_WEBP 1) - endif() -@@ -135,7 +135,7 @@ if(WITH_JASPER) - if(BUILD_JASPER) - ocv_clear_vars(JASPER_FOUND) - else() -- include(FindJasper) -+ find_package(Jasper REQUIRED) - endif() - - if(NOT JASPER_FOUND) -@@ -159,7 +159,7 @@ if(WITH_PNG) - if(BUILD_PNG) - ocv_clear_vars(PNG_FOUND) - else() -- include(FindPNG) -+ find_package(PNG REQUIRED) - if(PNG_FOUND) - include(CheckIncludeFile) - check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) -@@ -191,7 +191,7 @@ if(WITH_OPENEXR) - if(BUILD_OPENEXR) - ocv_clear_vars(OPENEXR_FOUND) - else() -- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake") -+ find_package(OpenEXR REQUIRED) - endif() - - if(NOT OPENEXR_FOUND) -@@ -207,7 +207,7 @@ endif() - - # --- GDAL (optional) --- - if(WITH_GDAL) -- find_package(GDAL QUIET) -+ find_package(GDAL REQUIRED) - - if(NOT GDAL_FOUND) - set(HAVE_GDAL NO) -@@ -219,7 +219,7 @@ if(WITH_GDAL) - endif() - - if (WITH_GDCM) -- find_package(GDCM QUIET) -+ find_package(GDCM REQUIRED) - if(NOT GDCM_FOUND) - set(HAVE_GDCM NO) - ocv_clear_vars(GDCM_VERSION GDCM_LIBRARIES) diff --git a/ports/opencv/0005-remove-custom-protobuf-find-package.patch b/ports/opencv/0005-remove-custom-protobuf-find-package.patch deleted file mode 100644 index 91ac137f9..000000000 --- a/ports/opencv/0005-remove-custom-protobuf-find-package.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -633,7 +633,10 @@ include(cmake/OpenCVFindLibsGUI.cmake) - include(cmake/OpenCVFindLibsVideo.cmake) - include(cmake/OpenCVFindLibsPerf.cmake) - include(cmake/OpenCVFindLAPACK.cmake) --include(cmake/OpenCVFindProtobuf.cmake) -+find_package(protobuf) -+if(Protobuf_LIBRARIES) -+ set(HAVE_PROTOBUF TRUE) -+endif() - - # ---------------------------------------------------------------------------- - # Detect other 3rd-party libraries/tools ---- a/modules/dnn/CMakeLists.txt -+++ b/modules/dnn/CMakeLists.txt -@@ -78,7 +78,7 @@ endif() - - set(include_dirs ${fw_inc}) - set(sources_options "") --set(libs libprotobuf ${LAPACK_LIBRARIES}) -+set(libs protobuf::libprotobuf ${LAPACK_LIBRARIES}) - if(OPENCV_DNN_OPENCL AND HAVE_OPENCL) - list(APPEND include_dirs ${OPENCL_INCLUDE_DIRS}) - else() diff --git a/ports/opencv/0006-fix-missing-openjp2.patch b/ports/opencv/0006-fix-missing-openjp2.patch deleted file mode 100644 index c0afb9952..000000000 --- a/ports/opencv/0006-fix-missing-openjp2.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/modules/imgcodecs/CMakeLists.txt b/modules/imgcodecs/CMakeLists.txt -index 434278c..0d8f4d8 100644 ---- a/modules/imgcodecs/CMakeLists.txt -+++ b/modules/imgcodecs/CMakeLists.txt -@@ -36,6 +36,11 @@ if(HAVE_PNG) - endif() - - if(HAVE_GDCM) -+ if (CMAKE_BUILD_TYPE STREQUAL "Release") -+ link_directories("${CURRENT_INSTALLED_DIR}/lib") -+ else() -+ link_directories("${CURRENT_INSTALLED_DIR}/debug/lib") -+ endif() - ocv_include_directories(${GDCM_INCLUDE_DIRS}) - list(APPEND GRFMT_LIBS ${GDCM_LIBRARIES}) - endif() diff --git a/ports/opencv/CONTROL b/ports/opencv/CONTROL index 42f5c1c47..7b5ba5af9 100644 --- a/ports/opencv/CONTROL +++ b/ports/opencv/CONTROL @@ -1,89 +1,102 @@ -Source: opencv -Version: 3.4.3-9 -Build-Depends: zlib -Homepage: https://github.com/opencv/opencv -Description: computer vision library -Default-Features: opengl, jpeg, png, tiff, eigen, flann - -Feature: opengl -Build-Depends: opengl -Description: opengl support for opencv - -Feature: dnn -Build-Depends: protobuf -Description: opencv_dnn module - -Feature: ovis -Build-Depends: ogre -Description: opencv_ovis module - -Feature: flann -Description: opencv_flann module - -Feature: sfm -Build-Depends: eigen3, glog, gflags, ceres -Description: opencv_sfm module - -Feature: contrib -Build-Depends: opencv[flann] -Description: opencv_contrib module - -Feature: cuda -Build-Depends: cuda -Description: CUDA support for opencv - -Feature: ffmpeg -Description: prebuilt ffmpeg support for opencv - -Feature: ipp -Description: Enable Intel Integrated Performance Primitives - -Feature: tbb -Build-Depends: tbb -Description: Enable Intel Threading Building Blocks - -Feature: qt -Build-Depends: qt5 -Description: Qt GUI support for opencv - -Feature: vtk -Build-Depends: vtk -Description: vtk support for opencv - -Feature: gdcm -Build-Depends: gdcm -Description: GDCM support for opencv - -Feature: webp -Build-Depends: libwebp -Description: WebP support for opencv - -Feature: openexr -Build-Depends: openexr -Description: OpenEXR support for opencv - -Feature: tiff -Build-Depends: tiff -Description: TIFF support for opencv - -Feature: png -Build-Depends: libpng -Description: PNG support for opencv - -Feature: jpeg -Build-Depends: libjpeg-turbo -Description: JPEG support for opencv - -Feature: jasper -Build-Depends: jasper -Description: JPEG 2000 support for opencv - -Feature: eigen -Build-Depends: eigen3 -Description: Eigen support for opencv - -Feature: world -Description: Compile to a single package support for opencv - -Feature: nonfree -Description: allow nonfree and unredistributable libraries +Source: opencv +Version: 4.1.1-1 +Homepage: https://github.com/opencv/opencv +Description: Computer vision library +Build-Depends: opencv4[core] +Default-Features: dnn, jpeg, opengl, png, tiff, webp + +Feature: nonfree +Build-Depends: opencv4[nonfree] +Description: opencv nonfree module + +Feature: ade +Build-Depends: opencv4[ade] +Description: graph api + +Feature: contrib +Build-Depends: opencv4[contrib] +Description: opencv_contrib module + +Feature: cuda +Build-Depends: opencv4[cuda] +Description: CUDA support for opencv + +Feature: dnn +Build-Depends: opencv4[dnn] +Description: Enable dnn module + +Feature: eigen +Build-Depends: opencv4[eigen] +Description: Eigen support for opencv + +Feature: ffmpeg +Build-Depends: opencv4[ffmpeg] +Description: ffmpeg support for opencv + +Feature: gdcm +Build-Depends: opencv4[gdcm] +Description: GDCM support for opencv + +Feature: ipp +Build-Depends: opencv4[ipp] +Description: Enable Intel Integrated Performance Primitives + +Feature: jasper +Build-Depends: opencv4[jasper] +Description: JPEG 2000 support for opencv + +Feature: jpeg +Build-Depends: opencv4[jpeg] +Description: JPEG support for opencv + +Feature: openexr +Build-Depends: opencv4[openexr] +Description: OpenEXR support for opencv + +Feature: opengl +Build-Depends: opencv4[opengl] +Description: opengl support for opencv + +Feature: openmp +Build-Depends: opencv4[openmp] +Description: Enable openmp support for opencv + +Feature: ovis +Build-Depends: opencv4[ovis] +Description: opencv_ovis module + +Feature: png +Build-Depends: opencv4[png] +Description: PNG support for opencv + +Feature: qt +Build-Depends: opencv4[qt] +Description: Qt GUI support for opencv + +Feature: sfm +Build-Depends: opencv4[sfm] +Description: opencv_sfm module + +Feature: tbb +Build-Depends: opencv4[tbb] +Description: Enable Intel Threading Building Blocks + +Feature: tiff +Build-Depends: opencv4[tiff] +Description: TIFF support for opencv + +Feature: vtk +Build-Depends: opencv4[vtk] +Description: vtk support for opencv + +Feature: webp +Build-Depends: opencv4[webp] +Description: WebP support for opencv + +Feature: halide +Build-Depends: opencv4[halide] +Description: Halide support for opencv + +Feature: world +Build-Depends: opencv4[world] +Description: Compile to a single package support for opencv diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake index 55fd6a680..cc6e26fcb 100644 --- a/ports/opencv/portfile.cmake +++ b/ports/opencv/portfile.cmake @@ -1,417 +1 @@ -include(vcpkg_common_functions) - -set(OPENCV_PORT_VERSION "3.4.3") - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO opencv/opencv - REF ${OPENCV_PORT_VERSION} - SHA512 d653a58eb5e3939b9fdb7438ac35f77cf4385cf72d5d22bfd21722a109e1b3283dbb9407985061b7548114f0d05c9395aac9bb62b4d2bc1f68da770a49987fef - HEAD_REF master - PATCHES - 0001-winrt-fixes.patch - 0002-install-options.patch - 0003-disable-downloading.patch - 0004-use-find-package-required.patch - 0005-remove-custom-protobuf-find-package.patch - 0006-fix-missing-openjp2.patch -) - -string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) - -set(CMAKE_MODULE_PATH) - -set(BUILD_opencv_world OFF) -if("world" IN_LIST FEATURES) - set(BUILD_opencv_world ON) -endif() - -set(BUILD_opencv_dnn OFF) -set(WITH_PROTOBUF OFF) -if("dnn" IN_LIST FEATURES) - set(BUILD_opencv_dnn ON) - set(WITH_PROTOBUF ON) - set(PROTOBUF_UPDATE_FILES ON) - set(UPDATE_PROTO_FILES ON) - vcpkg_download_distfile(TINYDNN_ARCHIVE - URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz" - FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz" - SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b - ) -endif() - -set(BUILD_opencv_flann OFF) -if("flann" IN_LIST FEATURES) - set(BUILD_opencv_flann ON) -endif() - -set(BUILD_opencv_ovis OFF) -if("ovis" IN_LIST FEATURES) - set(BUILD_opencv_ovis ON) -endif() - -set(BUILD_opencv_sfm OFF) -if("sfm" IN_LIST FEATURES) - set(BUILD_opencv_sfm ON) -endif() - -set(BUILD_opencv_contrib OFF) -if("contrib" IN_LIST FEATURES) - set(BUILD_opencv_contrib ON) - - # Used for opencv's face module - vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat" - FILENAME "opencv-cache/data/7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat" - SHA512 c16e60a6c4bb4de3ab39b876ae3c3f320ea56f69c93e9303bd2dff8760841dcd71be4161fff8bc71e8fe4fe8747fa8465d49d6bd8f5ebcdaea161f4bc2da7c93 - ) - - vcpkg_download_distfile(TINYDNN_ARCHIVE - URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz" - FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz" - SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b - ) - - function(download_opencv_3rdparty ID COMMIT HASH) - if(NOT EXISTS "${DOWNLOADS}/opencv-cache/${ID}/${COMMIT}.stamp") - vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://github.com/opencv/opencv_3rdparty/archive/${COMMIT}.zip" - FILENAME "opencv_3rdparty-${COMMIT}.zip" - SHA512 ${HASH} - ) - vcpkg_extract_source_archive(${OCV_DOWNLOAD}) - file(MAKE_DIRECTORY "${DOWNLOADS}/opencv-cache/${ID}") - file(GLOB XFEATURES2D_I ${CURRENT_BUILDTREES_DIR}/src/opencv_3rdparty-${COMMIT}/*) - foreach(FILE ${XFEATURES2D_I}) - file(COPY ${FILE} DESTINATION "${DOWNLOADS}/opencv-cache/${ID}") - get_filename_component(XFEATURES2D_I_NAME "${FILE}" NAME) - file(MD5 "${FILE}" FILE_HASH) - file(RENAME "${DOWNLOADS}/opencv-cache/${ID}/${XFEATURES2D_I_NAME}" "${DOWNLOADS}/opencv-cache/${ID}/${FILE_HASH}-${XFEATURES2D_I_NAME}") - endforeach() - file(WRITE "${DOWNLOADS}/opencv-cache/${ID}/${COMMIT}.stamp") - endif() - endfunction() - - # Used for opencv's xfeature2d module - download_opencv_3rdparty( - xfeatures2d/boostdesc - 34e4206aef44d50e6bbcd0ab06354b52e7466d26 - 2ccdc8fb59da55eabc73309a80a4d3b1e73e2341027cdcdd2d714e0f519e60f243f38f79b13ed3de32f595aa23e4f86418eed42e741f32a81b1e6e0879190601 - ) - - # Used for opencv's xfeature2d module - download_opencv_3rdparty( - xfeatures2d/vgg - fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d - 7051f5d6ccb938d296b919dd6d5dcddc5afb527aed456639c9984276a8f64565c084d96a72499a7756f127f8d2b1ce9ab70e4cbb3f89c4e16f82296c2a15daed - ) -endif() - -set(WITH_CUDA OFF) -if("cuda" IN_LIST FEATURES) - set(WITH_CUDA ON) -endif() - -set(WITH_FFMPEG OFF) -if("ffmpeg" IN_LIST FEATURES) - set(WITH_FFMPEG ON) - vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/opencv_ffmpeg.dll" - FILENAME "opencv-cache/ffmpeg/fa5a2a4e2f37defcb95bde8ed145c2b3-opencv_ffmpeg.dll" - SHA512 875f922e1d9fc2fe7c8e879ede35b1001b6ad8b3c4d71feb3823421ce861f580df3418c791315b23870fcb0378d297b01e0761d3f65277ff11ec2fef8c0b08b7 - ) - vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/opencv_ffmpeg_64.dll" - FILENAME "opencv-cache/ffmpeg/2cc08fc4fef8199fe80e0f126684834f-opencv_ffmpeg_64.dll" - SHA512 4e74aa4cb115f103b929f93bbc8dcf675de7d0c7916f8f0a80ac46761134b088634be95f959ce5827753ae9ecb2365ca40440dfbb9a9bf89f22ee11b6c8342b3 - ) - vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/ffmpeg_version.cmake" - FILENAME "opencv-cache/ffmpeg/3b90f67f4b429e77d3da36698cef700c-ffmpeg_version.cmake" - SHA512 7d0142c30ac6f6260c1bcabc22753030fd25a708477fa28053e8df847c366967d3b93a8ac14af19a2b7b73d9f8241749a431458faf21a0c8efc7d6d99eecfdcf - ) -endif() - -set(WITH_IPP OFF) -if("ipp" IN_LIST FEATURES) - set(WITH_IPP ON) - - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/bdb7bb85f34a8cb0d35e40a81f58da431aa1557a/ippicv/ippicv_2017u3_win_intel64_general_20180518.zip" - FILENAME "opencv-cache/ippicv/915ff92958089ede8ea532d3c4fe7187-ippicv_2017u3_win_intel64_general_20180518.zip" - SHA512 8aa08292d542d521c042864446e47a7a6bdbf3896d86fc7b43255459c24a2e9f34a4e9b177023d178fed7a2e82a9db410f89d81375a542d049785d263f46c64d - ) - else() - vcpkg_download_distfile(OCV_DOWNLOAD - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/bdb7bb85f34a8cb0d35e40a81f58da431aa1557a/ippicv/ippicv_2017u3_win_ia32_general_20180518.zip" - FILENAME "opencv-cache/ippicv/928168c2d99ab284047dfcfb7a821d91-ippicv_2017u3_win_ia32_general_20180518.zip" - SHA512 b89b0fb739152303cafc9fb064fa8b24fd94850697137ccbb5c1e344e0f5094115603a5e3be3a25f85d0faefc5c53429a7d65da0142d012ada41e8db2bcdd6b7 - ) - endif() -endif() - -set(WITH_TBB OFF) -if("tbb" IN_LIST FEATURES) - set(WITH_TBB ON) -endif() - -set(WITH_QT OFF) -if("qt" IN_LIST FEATURES) - set(WITH_QT ON) -endif() - -set(WITH_VTK OFF) -if("vtk" IN_LIST FEATURES) - set(WITH_VTK ON) -endif() - -set(WITH_WEBP OFF) -if("webp" IN_LIST FEATURES) - set(WITH_WEBP ON) - list(APPEND CMAKE_MODULE_PATH ${CURRENT_INSTALLED_DIR}/share/libwebp) -endif() - -set(WITH_GDCM OFF) -if("gdcm" IN_LIST FEATURES) - set(WITH_GDCM ON) -endif() - -set(WITH_OPENGL OFF) -if("opengl" IN_LIST FEATURES) - set(WITH_OPENGL ON) -endif() - -set(WITH_OPENEXR OFF) -if("openexr" IN_LIST FEATURES) - set(WITH_OPENEXR ON) - list(APPEND CMAKE_MODULE_PATH ${CURRENT_INSTALLED_DIR}/share/openexr) -endif() - -set(WITH_MSMF ON) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(WITH_MSMF OFF) -endif() - -set(WITH_TIFF OFF) -if("tiff" IN_LIST FEATURES) - set(WITH_TIFF ON) -endif() - -set(WITH_JPEG OFF) -if("jpeg" IN_LIST FEATURES) - set(WITH_JPEG ON) -endif() - -set(WITH_JASPER OFF) -if("jasper" IN_LIST FEATURES) - set(WITH_JASPER ON) -endif() - -set(WITH_PNG OFF) -if("png" IN_LIST FEATURES) - set(WITH_PNG ON) -endif() - -set(WITH_EIGEN OFF) -if("eigen" IN_LIST FEATURES) - set(WITH_EIGEN ON) -endif() - -set(OPENCV_ENABLE_NONFREE OFF) -if("nonfree" IN_LIST FEATURES) - set(OPENCV_ENABLE_NONFREE ON) -endif() - -if(BUILD_opencv_contrib) - vcpkg_from_github( - OUT_SOURCE_PATH CONTRIB_SOURCE_PATH - REPO opencv/opencv_contrib - REF ${OPENCV_PORT_VERSION} - SHA512 456c6f878fb3bd5459f6430405cf05c609431f8d7db743aa699fc75c305d019682ee3a804bf0cf5107597dd1dbbb69b08be3535a0e6c717e4773ed7c05d08e59 - HEAD_REF master - ) - set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") -endif() - -set(WITH_ZLIB ON) -set(BUILD_opencv_line_descriptor ON) -set(BUILD_opencv_saliency ON) -set(BUILD_opencv_bgsegm ON) -if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") - set(BUILD_opencv_line_descriptor OFF) - set(BUILD_opencv_saliency OFF) - set(BUILD_opencv_bgsegm OFF) -endif() - -string(REPLACE ";" "\\\\\;" CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}") - -vcpkg_configure_cmake( - PREFER_NINJA - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - # Ungrouped Entries - -DOpenCV_DISABLE_ARCH_PATH=ON - # Do not build docs/examples - -DBUILD_DOCS=OFF - -DBUILD_EXAMPLES=OFF - # Do not build integrated libraries, use external ones whenever possible - -DBUILD_JASPER=OFF - -DBUILD_JPEG=OFF - -DBUILD_OPENEXR=OFF - -DBUILD_PACKAGE=OFF - -DBUILD_PERF_TESTS=OFF - -DBUILD_PNG=OFF - -DBUILD_PROTOBUF=OFF - -DBUILD_TESTS=OFF - -DBUILD_TIFF=OFF - -DBUILD_WEBP=OFF - -DBUILD_WITH_DEBUG_INFO=ON - -DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT} - -DBUILD_ZLIB=OFF - # Select which OpenCV modules should be built - -DBUILD_opencv_apps=OFF - -DBUILD_opencv_bgsegm=${BUILD_opencv_bgsegm} - -DBUILD_opencv_dnn=${BUILD_opencv_dnn} - -DBUILD_opencv_flann=${BUILD_opencv_flann} - -DBUILD_opencv_line_descriptor=${BUILD_opencv_line_descriptor} - -DBUILD_opencv_ovis=${BUILD_opencv_ovis} - -DBUILD_opencv_python2=OFF - -DBUILD_opencv_python3=OFF - -DBUILD_opencv_saliency=${BUILD_opencv_saliency} - -DBUILD_opencv_sfm=${BUILD_opencv_sfm} - -DBUILD_opencv_world=${BUILD_opencv_world} - # PROTOBUF - -DPROTOBUF_UPDATE_FILES=${PROTOBUF_UPDATE_FILES} - -DUPDATE_PROTO_FILES=${UPDATE_PROTO_FILES} - # CMAKE - -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON - -DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON - "-DCMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}" - # ENABLE - -DENABLE_CXX11=ON - -DENABLE_PYLINT=OFF - -DOPENCV_ENABLE_NONFREE=${OPENCV_ENABLE_NONFREE} - # INSTALL - -DINSTALL_FORCE_UNIX_PATHS=ON - -DINSTALL_LICENSE=OFF - # OPENCV - -DOPENCV_CONFIG_INSTALL_PATH=share/opencv - "-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache" - ${BUILD_WITH_CONTRIB_FLAG} - -DOPENCV_OTHER_INSTALL_PATH=share/opencv - # WITH - -DWITH_CUBLAS=${WITH_CUDA} - -DWITH_CUDA=${WITH_CUDA} - -DWITH_EIGEN=${WITH_EIGEN} - -DWITH_FFMPEG=${WITH_FFMPEG} - -DWITH_GDCM=${WITH_GDCM} - -DWITH_IPP=${WITH_IPP} - -DWITH_JASPER=${WITH_JASPER} - -DWITH_JPEG=${WITH_JPEG} - -DWITH_LAPACK=OFF - -DWITH_MATLAB=OFF - -DWITH_MSMF=${WITH_MSMF} - -DWITH_OPENCLAMDBLAS=OFF - -DWITH_OPENEXR=${WITH_OPENEXR} - -DWITH_OPENGL=${WITH_OPENGL} - -DWITH_PNG=${WITH_PNG} - -DWITH_PROTOBUF=${WITH_PROTOBUF} - -DWITH_QT=${WITH_QT} - -DWITH_TBB=${WITH_TBB} - -DWITH_TIFF=${WITH_TIFF} - -DWITH_VTK=${WITH_VTK} - -DWITH_WEBP=${WITH_WEBP} - -DWITH_ZLIB=${WITH_ZLIB} - -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR} - OPTIONS_DEBUG - -DINSTALL_HEADERS=OFF - -DINSTALL_OTHER=OFF -) - -vcpkg_install_cmake() - -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/opencv/LICENSE ${CURRENT_PACKAGES_DIR}/share/opencv/copyright) -file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE) - -if(VCPKG_PLATFORM_TOOLSET STREQUAL "v141") - set(OpenCV_RUNTIME vc15) -else() - set(OpenCV_RUNTIME vc14) -endif() -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(OpenCV_ARCH x64) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(OpenCV_ARCH ARM) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(OpenCV_ARCH ARM64) -else() - set(OpenCV_ARCH x86) -endif() - -file(GLOB BIN_AND_LIB ${CURRENT_PACKAGES_DIR}/${OpenCV_ARCH}/${OpenCV_RUNTIME}/*) -file(COPY ${BIN_AND_LIB} DESTINATION ${CURRENT_PACKAGES_DIR}) -file(GLOB DEBUG_BIN_AND_LIB ${CURRENT_PACKAGES_DIR}/debug/${OpenCV_ARCH}/${OpenCV_RUNTIME}/*) -file(COPY ${DEBUG_BIN_AND_LIB} DESTINATION ${CURRENT_PACKAGES_DIR}/debug) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/${OpenCV_ARCH}) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/${OpenCV_ARCH}) - -file(GLOB STATICLIB ${CURRENT_PACKAGES_DIR}/staticlib/*) -if(STATICLIB) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib) - file(COPY ${STATICLIB} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/staticlib) -endif() -file(GLOB STATICLIB ${CURRENT_PACKAGES_DIR}/debug/staticlib/*) -if(STATICLIB) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib) - file(COPY ${STATICLIB} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/staticlib) -endif() - -file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig.cmake OPENCV_CONFIG) -string(REPLACE "/staticlib/" - "/lib/" OPENCV_CONFIG "${OPENCV_CONFIG}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVConfig.cmake "${OPENCV_CONFIG}") - -file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-release.cmake OPENCV_CONFIG_LIB) -string(REPLACE "/staticlib/" - "/lib/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-release.cmake "${OPENCV_CONFIG_LIB}") - -file(READ ${CURRENT_PACKAGES_DIR}/debug/share/opencv/OpenCVModules-debug.cmake OPENCV_CONFIG_LIB) -string(REPLACE "/staticlib/" - "/lib/" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}") -string(REPLACE "PREFIX}/lib" - "PREFIX}/debug/lib" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}") -string(REPLACE "PREFIX}/bin" - "PREFIX}/debug/bin" OPENCV_CONFIG_LIB "${OPENCV_CONFIG_LIB}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules-debug.cmake "${OPENCV_CONFIG_LIB}") - -file(RENAME ${CURRENT_PACKAGES_DIR}/debug/share/opencv/OpenCVModules.cmake ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake) - -file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES) -string(REPLACE "${CURRENT_INSTALLED_DIR}" - "\${_VCPKG_INSTALLED_DIR}/\${VCPKG_TARGET_TRIPLET}" OPENCV_MODULES "${OPENCV_MODULES}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES) - string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" - "set(CMAKE_IMPORT_FILE_VERSION 1) - find_package(TIFF REQUIRED)" OPENCV_MODULES "${OPENCV_MODULES}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}") -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/opencv) - -vcpkg_copy_pdbs() - -set(VCPKG_LIBRARY_LINKAGE "dynamic") - -set(VCPKG_POLICY_ALLOW_OBSOLETE_MSVCRT enabled) +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/opencv/usage b/ports/opencv/usage deleted file mode 100644 index 1c30e5fea..000000000 --- a/ports/opencv/usage +++ /dev/null @@ -1,5 +0,0 @@ -The package opencv provides CMake integration: - - find_package(OpenCV REQUIRED) - target_include_directories(main PRIVATE ${OpenCV_INCLUDE_DIRS}) - target_link_libraries(main PRIVATE ${OpenCV_LIBS}) diff --git a/ports/opencv3/0001-disable-downloading.patch b/ports/opencv3/0001-disable-downloading.patch new file mode 100644 index 000000000..7e49fae2a --- /dev/null +++ b/ports/opencv3/0001-disable-downloading.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/OpenCVDownload.cmake b/cmake/OpenCVDownload.cmake +index cdc47ad..175aaf3 100644 +--- a/cmake/OpenCVDownload.cmake ++++ b/cmake/OpenCVDownload.cmake +@@ -154,6 +154,8 @@ function(ocv_download) + # Download + if(NOT EXISTS "${CACHE_CANDIDATE}") + ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"") ++ string(REPLACE "${OPENCV_DOWNLOAD_PATH}/" "opencv-cache/" CACHE_SUBPATH "${CACHE_CANDIDATE}") ++ message(FATAL_ERROR " Downloads are not permitted during configure. Please pre-download the file \"${CACHE_CANDIDATE}\":\n \n vcpkg_download_distfile(OCV_DOWNLOAD\n URLS \"${DL_URL}\"\n FILENAME \"${CACHE_SUBPATH}\"\n SHA512 0\n )") + file(DOWNLOAD "${DL_URL}" "${CACHE_CANDIDATE}" + INACTIVITY_TIMEOUT 60 + TIMEOUT 600 diff --git a/ports/opencv3/0002-install-options.patch b/ports/opencv3/0002-install-options.patch new file mode 100644 index 000000000..3d334a0a1 --- /dev/null +++ b/ports/opencv3/0002-install-options.patch @@ -0,0 +1,69 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6ce583b..e9ea757 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -665,7 +665,7 @@ endif() + + if(WIN32) + # Postfix of DLLs: +- set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}") ++ set(OPENCV_DLLVERSION "") + set(OPENCV_DEBUG_POSTFIX d) + else() + # Postfix of so's: +@@ -716,7 +716,7 @@ endif() + ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS) + + # --- Python Support --- +-if(NOT IOS) ++if(0) + include(cmake/OpenCVDetectPython.cmake) + endif() + +diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake +index 0b9d669..142b21b 100644 +--- a/cmake/OpenCVCompilerOptions.cmake ++++ b/cmake/OpenCVCompilerOptions.cmake +@@ -254,7 +254,6 @@ if(MSVC) + #endif() + + if(BUILD_WITH_DEBUG_INFO) +- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi") + set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug") + set(OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE} /debug") + endif() +diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake +index 2c7c42b..e7bc157 100644 +--- a/cmake/OpenCVGenConfig.cmake ++++ b/cmake/OpenCVGenConfig.cmake +@@ -109,7 +109,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) + endif() + endfunction() + +-if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) ++if(NOT ANDROID) + ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "") + endif() + +@@ -121,7 +121,7 @@ endif() + # -------------------------------------------------------------------------------------------- + # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages + # -------------------------------------------------------------------------------------------- +-if(WIN32) ++if(0) + if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows) + if(BUILD_SHARED_LIBS) + set(_lib_suffix "lib") +diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt +index 1f0d720..0bb1ff7 100644 +--- a/data/CMakeLists.txt ++++ b/data/CMakeLists.txt +@@ -1,8 +1,6 @@ + file(GLOB HAAR_CASCADES haarcascades/*.xml) + file(GLOB LBP_CASCADES lbpcascades/*.xml) + +-install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs) +-install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs) + + if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) + install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests") diff --git a/ports/opencv3/0003-force-package-requirements.patch b/ports/opencv3/0003-force-package-requirements.patch new file mode 100644 index 000000000..d43ccf4f6 --- /dev/null +++ b/ports/opencv3/0003-force-package-requirements.patch @@ -0,0 +1,85 @@ +diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake +index fcf716b..bda80e9 100644 +--- a/cmake/OpenCVFindLibsGrfmt.cmake ++++ b/cmake/OpenCVFindLibsGrfmt.cmake +@@ -6,7 +6,7 @@ + if(BUILD_ZLIB) + ocv_clear_vars(ZLIB_FOUND) + else() +- find_package(ZLIB "${MIN_VER_ZLIB}") ++ find_package(ZLIB "${MIN_VER_ZLIB}" REQUIRED) + if(ZLIB_FOUND AND ANDROID) + if(ZLIB_LIBRARIES MATCHES "/usr/(lib|lib32|lib64)/libz.so$") + set(ZLIB_LIBRARIES z) +@@ -30,7 +30,7 @@ if(WITH_JPEG) + if(BUILD_JPEG) + ocv_clear_vars(JPEG_FOUND) + else() +- include(FindJPEG) ++ find_package(JPEG REQUIRED) + endif() + + if(NOT JPEG_FOUND) +@@ -74,7 +74,7 @@ if(WITH_TIFF) + if(BUILD_TIFF) + ocv_clear_vars(TIFF_FOUND) + else() +- include(FindTIFF) ++ find_package(TIFF REQUIRED) + if(TIFF_FOUND) + ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION) + endif() +@@ -117,7 +117,7 @@ if(WITH_WEBP) + if(BUILD_WEBP) + ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR) + else() +- include(cmake/OpenCVFindWebP.cmake) ++ find_package(WebP REQUIRED) + if(WEBP_FOUND) + set(HAVE_WEBP 1) + endif() +@@ -158,7 +158,7 @@ if(WITH_JASPER) + if(BUILD_JASPER) + ocv_clear_vars(JASPER_FOUND) + else() +- include(FindJasper) ++ find_package(Jasper REQUIRED) + endif() + + if(NOT JASPER_FOUND) +@@ -182,7 +182,7 @@ if(WITH_PNG) + if(BUILD_PNG) + ocv_clear_vars(PNG_FOUND) + else() +- include(FindPNG) ++ find_package(PNG REQUIRED) + if(PNG_FOUND) + include(CheckIncludeFile) + check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) +@@ -213,7 +213,7 @@ endif() + if(WITH_OPENEXR) + ocv_clear_vars(HAVE_OPENEXR) + if(NOT BUILD_OPENEXR) +- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake") ++ find_package(OpenEXR REQUIRED) + endif() + + if(OPENEXR_FOUND) +@@ -231,7 +231,7 @@ endif() + + # --- GDAL (optional) --- + if(WITH_GDAL) +- find_package(GDAL QUIET) ++ find_package(GDAL REQUIRED) + + if(NOT GDAL_FOUND) + set(HAVE_GDAL NO) +@@ -243,7 +243,7 @@ if(WITH_GDAL) + endif() + + if (WITH_GDCM) +- find_package(GDCM QUIET) ++ find_package(GDCM REQUIRED) + if(NOT GDCM_FOUND) + set(HAVE_GDCM NO) + ocv_clear_vars(GDCM_VERSION GDCM_LIBRARIES) diff --git a/ports/opencv3/0009-fix-uwp.patch b/ports/opencv3/0009-fix-uwp.patch new file mode 100644 index 000000000..cba3963dc --- /dev/null +++ b/ports/opencv3/0009-fix-uwp.patch @@ -0,0 +1,67 @@ +diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake +index c2fda8f..3f7dfdc 100644 +--- a/cmake/OpenCVModule.cmake ++++ b/cmake/OpenCVModule.cmake +@@ -850,7 +850,7 @@ macro(ocv_create_module) + set(the_module_target ${the_module}) + endif() + +- if(WINRT) ++ if(WINRT AND BUILD_TESTS) + # removing APPCONTAINER from modules to run from console + # in case of usual starting of WinRT test apps output is missing + # so starting of console version w/o APPCONTAINER is required to get test results +diff --git a/modules/core/src/utils/datafile.cpp b/modules/core/src/utils/datafile.cpp +index f1107b0..c613ca2 100644 +--- a/modules/core/src/utils/datafile.cpp ++++ b/modules/core/src/utils/datafile.cpp +@@ -108,7 +108,7 @@ static cv::String getModuleLocation(const void* addr) + CV_UNUSED(addr); + #ifdef _WIN32 + HMODULE m = 0; +-#if _WIN32_WINNT >= 0x0501 ++#if (_WIN32_WINNT >= 0x0501) && (!WINRT_STORE) + ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, + reinterpret_cast(addr), + &m); +diff --git a/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp +index f4147f3..b92efdd 100644 +--- a/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp ++++ b/modules/highgui/include/opencv2/highgui/highgui_winrt.hpp +@@ -24,6 +24,7 @@ + // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + // POSSIBILITY OF SUCH DAMAGE. + ++#include "opencv2/core/cvdef.h" + using namespace Windows::UI::Xaml::Controls; + + namespace cv +diff --git a/modules/highgui/src/window_winrt_bridge.hpp b/modules/highgui/src/window_winrt_bridge.hpp +index 25f4aef..5429f0b 100644 +--- a/modules/highgui/src/window_winrt_bridge.hpp ++++ b/modules/highgui/src/window_winrt_bridge.hpp +@@ -28,6 +28,7 @@ + + #include + #include ++#include "opencv2/highgui/highgui_c.h" + + using namespace Windows::UI::Xaml::Controls; + +diff --git a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp +index 236e227..e2417dc 100644 +--- a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp ++++ b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp +@@ -94,10 +94,10 @@ Media::CaptureFrameGrabber::~CaptureFrameGrabber() + + void Media::CaptureFrameGrabber::ShowCameraSettings() + { +-#if WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP ++#if (WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP) && (WINAPI_FAMILY!=WINAPI_FAMILY_APP) + if (_state == State::Started) + { +- CameraOptionsUI::Show(_capture.Get()); ++ CameraOptionsUI::Show(_capture.Get()); // TODO: Turn it on again in UWP mode by adding reference to UWP Desktop Extensions + } + #endif + } diff --git a/ports/opencv3/CONTROL b/ports/opencv3/CONTROL new file mode 100644 index 000000000..a59ea896b --- /dev/null +++ b/ports/opencv3/CONTROL @@ -0,0 +1,94 @@ +Source: opencv3 +Version: 3.4.7-2 +Build-Depends: protobuf, zlib +Homepage: https://github.com/opencv/opencv +Description: computer vision library +Default-Features: dnn, jpeg, opengl, png, tiff, webp + +Feature: nonfree +Description: allow nonfree and unredistributable libraries + +Feature: flann +Description: opencv_flann module + +Feature: contrib +Build-Depends: opencv3[dnn], hdf5 (!uwp) +Description: opencv_contrib module + +Feature: cuda +Build-Depends: opencv3[contrib], cuda +Description: CUDA support for opencv + +Feature: dnn +Build-Depends: opencv3[flann] +Description: Enable dnn module + +Feature: eigen +Build-Depends: eigen3 +Description: Eigen support for opencv + +Feature: ffmpeg +Build-Depends: ffmpeg +Description: ffmpeg support for opencv + +Feature: gdcm +Build-Depends: gdcm +Description: GDCM support for opencv + +Feature: ipp +Description: Enable Intel Integrated Performance Primitives + +Feature: jasper +Build-Depends: jasper +Description: JPEG 2000 support for opencv + +Feature: jpeg +Build-Depends: libjpeg-turbo +Description: JPEG support for opencv + +Feature: openexr +Build-Depends: openexr +Description: OpenEXR support for opencv + +Feature: opengl +Build-Depends: opengl +Description: opengl support for opencv + +Feature: ovis +Build-Depends: opencv3[contrib], ogre +Description: opencv_ovis module + +Feature: png +Build-Depends: libpng +Description: PNG support for opencv + +Feature: qt +Build-Depends: qt5 +Description: Qt GUI support for opencv + +Feature: sfm +Build-Depends: opencv3[contrib], eigen3, glog, gflags, ceres +Description: opencv_sfm module + +Feature: tbb +Build-Depends: tbb +Description: Enable Intel Threading Building Blocks + +Feature: tiff +Build-Depends: tiff +Description: TIFF support for opencv + +Feature: vtk +Build-Depends: vtk +Description: vtk support for opencv + +Feature: webp +Build-Depends: libwebp +Description: WebP support for opencv + +Feature: halide +Build-Depends: halide, opencv3[core], opencv3[dnn] +Description: Halide support for opencv + +Feature: world +Description: Compile to a single package support for opencv diff --git a/ports/opencv3/portfile.cmake b/ports/opencv3/portfile.cmake new file mode 100644 index 000000000..8f2f633d3 --- /dev/null +++ b/ports/opencv3/portfile.cmake @@ -0,0 +1,348 @@ +if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv4") + message(FATAL_ERROR "OpenCV 4 is installed, please uninstall and try again:\n vcpkg remove opencv4") +endif() + +include(vcpkg_common_functions) + +set(OPENCV_VERSION "3.4.7") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO opencv/opencv + REF ${OPENCV_VERSION} + SHA512 ba1336ad4e5208748aa09c99770392cc71ef72688560d0b03287ddafd36093ef30cbdf6422f87f8f878663ab8085cc0ff8a8c65fd1ff0ec6800855ea01309beb + HEAD_REF master + PATCHES + 0001-disable-downloading.patch + 0002-install-options.patch + 0003-force-package-requirements.patch + 0009-fix-uwp.patch +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + "contrib" WITH_CONTRIB + "cuda" WITH_CUDA + "cuda" WITH_CUBLAS + "dnn" BUILD_opencv_dnn + "eigen" WITH_EIGEN + "ffmpeg" WITH_FFMPEG + "flann" BUILD_opencv_flann + "gdcm" WITH_GDCM + "halide" WITH_HALIDE + "jasper" WITH_JASPER + "jpeg" WITH_JPEG + "nonfree" OPENCV_ENABLE_NONFREE + "openexr" WITH_OPENEXR + "opengl" WITH_OPENGL + "png" WITH_PNG + "qt" WITH_QT + "sfm" BUILD_opencv_sfm + "tiff" WITH_TIFF + "webp" WITH_WEBP + "world" BUILD_opencv_world +) + +# Cannot use vcpkg_check_features() for "ipp", "ovis", "tbb", and "vtk". +# As the respective value of their variables can be unset conditionally. +set(WITH_IPP OFF) +if("ipp" IN_LIST FEATURES) + set(WITH_IPP ON) +endif() + +set(BUILD_opencv_ovis OFF) +if("ovis" IN_LIST FEATURES) + set(BUILD_opencv_ovis ON) +endif() + +set(WITH_TBB OFF) +if("tbb" IN_LIST FEATURES) + set(WITH_TBB ON) +endif() + +set(WITH_VTK OFF) +if("vtk" IN_LIST FEATURES) + set(WITH_VTK ON) +endif() + +if("dnn" IN_LIST FEATURES) + vcpkg_download_distfile(TINYDNN_ARCHIVE + URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz" + FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz" + SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b + ) +endif() + +# Build image quality module when building with 'contrib' feature and not UWP. +set(BUILD_opencv_quality OFF) +if("contrib" IN_LIST FEATURES) + if (VCPKG_TARGET_IS_UWP) + set(BUILD_opencv_quality OFF) + message(WARNING "The image quality module (quality) does not build for UWP, the module has been disabled.") + # The hdf module is silently disabled by OpenCVs buildsystem if HDF5 is not detected. + message(WARNING "The hierarchical data format module (hdf) depends on HDF5 which doesn't support UWP, the module has been disabled.") + else() + set(BUILD_opencv_quality CMAKE_DEPENDS_IN_PROJECT_ONLY) + endif() + + vcpkg_from_github( + OUT_SOURCE_PATH CONTRIB_SOURCE_PATH + REPO opencv/opencv_contrib + REF ${OPENCV_VERSION} + SHA512 922620f3e8754fc15dedf8993bdc1f00c06b623cbeeb72afb984ddaad6e0e04f46561a0ee4d20f5e260616c1f32c6dc0dd7248355d417873ae72bd03cb5d57fd + HEAD_REF master + ) + set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") + # Used for opencv's face module + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat" + FILENAME "opencv-cache/data/7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat" + SHA512 c16e60a6c4bb4de3ab39b876ae3c3f320ea56f69c93e9303bd2dff8760841dcd71be4161fff8bc71e8fe4fe8747fa8465d49d6bd8f5ebcdaea161f4bc2da7c93 + ) + + function(download_opencv_3rdparty ID COMMIT HASH) + if(NOT EXISTS "${DOWNLOADS}/opencv-cache/${ID}/${COMMIT}.stamp") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://github.com/opencv/opencv_3rdparty/archive/${COMMIT}.zip" + FILENAME "opencv_3rdparty-${COMMIT}.zip" + SHA512 ${HASH} + ) + vcpkg_extract_source_archive(${OCV_DOWNLOAD}) + file(MAKE_DIRECTORY "${DOWNLOADS}/opencv-cache/${ID}") + file(GLOB XFEATURES2D_I ${CURRENT_BUILDTREES_DIR}/src/opencv_3rdparty-${COMMIT}/*) + foreach(FILE ${XFEATURES2D_I}) + file(COPY ${FILE} DESTINATION "${DOWNLOADS}/opencv-cache/${ID}") + get_filename_component(XFEATURES2D_I_NAME "${FILE}" NAME) + file(MD5 "${FILE}" FILE_HASH) + file(RENAME "${DOWNLOADS}/opencv-cache/${ID}/${XFEATURES2D_I_NAME}" "${DOWNLOADS}/opencv-cache/${ID}/${FILE_HASH}-${XFEATURES2D_I_NAME}") + endforeach() + file(WRITE "${DOWNLOADS}/opencv-cache/${ID}/${COMMIT}.stamp") + endif() + endfunction() + + # Used for opencv's xfeature2d module + download_opencv_3rdparty( + xfeatures2d/boostdesc + 34e4206aef44d50e6bbcd0ab06354b52e7466d26 + 2ccdc8fb59da55eabc73309a80a4d3b1e73e2341027cdcdd2d714e0f519e60f243f38f79b13ed3de32f595aa23e4f86418eed42e741f32a81b1e6e0879190601 + ) + + # Used for opencv's xfeature2d module + download_opencv_3rdparty( + xfeatures2d/vgg + fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d + 7051f5d6ccb938d296b919dd6d5dcddc5afb527aed456639c9984276a8f64565c084d96a72499a7756f127f8d2b1ce9ab70e4cbb3f89c4e16f82296c2a15daed + ) +endif() + +if(WITH_IPP) + if(VCPKG_TARGET_IS_OSX) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_mac_intel64_general_20180723.tgz" + FILENAME "opencv-cache/ippicv/fe6b2bb75ae0e3f19ad3ae1a31dfa4a2-ippicv_2019_mac_intel64_general_20180723.tgz" + SHA512 266fe3fecf8e95e1f51c09b65330a577743ef72b423b935d4d1fe8d87f1b4f258c282fe6a18fc805d489592f137ebed37c9f1d1b34026590d9f1ba107015132e + ) + else() + message(WARNING "This target architecture is not supported IPPICV") + set(WITH_IPP OFF) + endif() + elseif(VCPKG_TARGET_IS_LINUX) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_intel64_general_20180723.tgz" + FILENAME "opencv-cache/ippicv/c0bd78adb4156bbf552c1dfe90599607-ippicv_2019_lnx_intel64_general_20180723.tgz" + SHA512 e4ec6b3b9fc03d7b3ae777c2a26f57913e83329fd2f7be26c259b07477ca2a641050b86979e0c96e25aa4c1f9f251b28727690358a77418e76dd910d0f4845c9 + ) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_ia32_general_20180723.tgz" + FILENAME "opencv-cache/ippicv/4f38432c30bfd6423164b7a24bbc98a0-ippicv_2019_lnx_ia32_general_20180723.tgz" + SHA512 d96d3989928ff11a18e631bf5ecfdedf88fd350162a23fa2c8f7dbc3bf878bf442aff7fb2a07dc56671d7268cc20682055891be75b9834e9694d20173e92b6a3 + ) + else() + message(WARNING "This target architecture is not supported IPPICV") + set(WITH_IPP OFF) + endif() + elseif(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_intel64_20180723_general.zip" + FILENAME "opencv-cache/ippicv/1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip" + SHA512 b6c4f2696e2004b8f5471efd9bdc6c684b77830e0533d8880310c0b665b450d6f78e10744c937f5592ab900e187c475e46cb49e98701bb4bcbbc7da77723011d + ) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_ia32_20180723_general.zip" + FILENAME "opencv-cache/ippicv/0157251a2eb9cd63a3ebc7eed0f3e59e-ippicv_2019_win_ia32_20180723_general.zip" + SHA512 c33fd4019c71b064b153e1b25e0307f9c7ada693af8ec910410edeab471c6f14df9b11bf9f5302ceb0fcd4282f5c0b6c92fb5df0e83eb50ed630c45820d1e184 + ) + else() + message(WARNING "This target architecture is not supported IPPICV") + set(WITH_IPP OFF) + endif() + else() + message(WARNING "This target architecture is not supported IPPICV") + set(WITH_IPP OFF) + endif() +endif() + +set(WITH_MSMF ON) +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) + set(WITH_MSMF OFF) +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + if (WITH_TBB) + message(WARNING "TBB is currently unsupported in this build configuration, turning it off") + set(WITH_TBB OFF) + endif() + + if (WITH_VTK) + message(WARNING "VTK is currently unsupported in this build configuration, turning it off") + set(WITH_VTK OFF) + endif() + + if (VCPKG_TARGET_IS_WINDOWS AND BUILD_opencv_ovis) + message(WARNING "OVIS is currently unsupported in this build configuration, turning it off") + set(BUILD_opencv_ovis OFF) + endif() +endif() + +if("ffmpeg" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_UWP) + set(VCPKG_C_FLAGS "/sdl- ${VCPKG_C_FLAGS}") + set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}") + endif() +endif() + +if("qt" IN_LIST FEATURES) + list(APPEND ADDITIONAL_BUILD_FLAGS "-DCMAKE_AUTOMOC=ON") +endif() + +set(BUILD_opencv_line_descriptor ON) +set(BUILD_opencv_saliency ON) +set(BUILD_opencv_bgsegm ON) +if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm") + set(BUILD_opencv_line_descriptor OFF) + set(BUILD_opencv_saliency OFF) + set(BUILD_opencv_bgsegm OFF) +endif() + +vcpkg_configure_cmake( + PREFER_NINJA + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ###### ocv_options + -DOpenCV_INSTALL_BINARIES_PREFIX= + -DOPENCV_LIB_INSTALL_PATH=lib + -DOPENCV_3P_LIB_INSTALL_PATH=lib + -DOPENCV_CONFIG_INSTALL_PATH=share/opencv + -DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG + -DCMAKE_DEBUG_POSTFIX=d + -DOpenCV_DISABLE_ARCH_PATH=ON + # Do not build docs/examples + -DBUILD_DOCS=OFF + -DBUILD_EXAMPLES=OFF + ###### Disable build 3rd party libs + -DBUILD_JASPER=OFF + -DBUILD_JPEG=OFF + -DBUILD_OPENEXR=OFF + -DBUILD_PNG=OFF + -DBUILD_TIFF=OFF + -DBUILD_WEBP=OFF + -DBUILD_ZLIB=OFF + ###### Disable build 3rd party components + -DBUILD_PROTOBUF=OFF + ###### OpenCV Build components + -DBUILD_opencv_apps=OFF + -DBUILD_opencv_bgsegm=${BUILD_opencv_bgsegm} + -DBUILD_opencv_line_descriptor=${BUILD_opencv_line_descriptor} + -DBUILD_opencv_saliency=${BUILD_opencv_saliency} + -DBUILD_PACKAGE=OFF + -DBUILD_PERF_TESTS=OFF + -DBUILD_TESTS=OFF + -DBUILD_WITH_DEBUG_INFO=ON + -DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT} + ###### PROTOBUF + -DPROTOBUF_UPDATE_FILES=ON + -DUPDATE_PROTO_FILES=ON + # CMAKE + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON + # ENABLE + -DENABLE_CXX11=ON + ###### OPENCV vars + "-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache" + ${BUILD_WITH_CONTRIB_FLAG} + -DOPENCV_OTHER_INSTALL_PATH=share/opencv + ###### customized properties + ## Options from vcpkg_check_features() + ${FEATURE_OPTIONS} + -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR} + -DWITH_IPP=${WITH_IPP} + -DWITH_MATLAB=OFF + -DWITH_MSMF=${WITH_MSMF} + -DWITH_PROTOBUF=ON + -DWITH_OPENCLAMDBLAS=OFF + -DWITH_TBB=${WITH_TBB} + -DWITH_VTK=${WITH_VTK} + ###### WITH PROPERTIES explicitly disabled, they have problems with libraries if already installed by user and that are "involuntarily" found during install + -DWITH_LAPACK=OFF + ###### BUILD_options (mainly modules which require additional libraries) + -DBUILD_opencv_ovis=${BUILD_opencv_ovis} + ###### The following modules are disabled for UWP + -DBUILD_opencv_quality=${BUILD_opencv_quality} + ###### Additional build flags + ${ADDITIONAL_BUILD_FLAGS} +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/opencv" TARGET_PATH "share/opencv") +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES) + string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" + "set(CMAKE_IMPORT_FILE_VERSION 1) +find_package(Protobuf REQUIRED) +if(Protobuf_FOUND) + if(TARGET protobuf::libprotobuf) + add_library(libprotobuf INTERFACE IMPORTED) + set_target_properties(libprotobuf PROPERTIES + INTERFACE_LINK_LIBRARIES protobuf::libprotobuf + ) + else() + add_library(libprotobuf UNKNOWN IMPORTED) + set_target_properties(libprotobuf PROPERTIES + IMPORTED_LOCATION \"${Protobuf_LIBRARY}\" + INTERFACE_INCLUDE_DIRECTORIES \"${Protobuf_INCLUDE_DIR}\" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES \"${Protobuf_INCLUDE_DIR}\" + ) + endif() +endif() +find_package(TIFF QUIET) +find_package(HDF5 QUIET) +find_package(Freetype QUIET) +find_package(Ogre QUIET) +find_package(gflags QUIET) +find_package(Ceres QUIET) +find_package(ade QUIET) +find_package(VTK QUIET) +find_package(OpenMP QUIET) +find_package(Tesseract QUIET) +find_package(GDCM QUIET)" OPENCV_MODULES "${OPENCV_MODULES}") + + file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}") + + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE ${CURRENT_PACKAGES_DIR}/setup_vars_opencv3.cmd) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/setup_vars_opencv3.cmd) +file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/opencv/0003-disable-downloading.patch b/ports/opencv4/0001-disable-downloading.patch similarity index 100% rename from ports/opencv/0003-disable-downloading.patch rename to ports/opencv4/0001-disable-downloading.patch diff --git a/ports/opencv4/0002-install-options.patch b/ports/opencv4/0002-install-options.patch new file mode 100644 index 000000000..10aa08c24 --- /dev/null +++ b/ports/opencv4/0002-install-options.patch @@ -0,0 +1,69 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8631bbc..e801558 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -647,7 +647,7 @@ endif() + + if(WIN32) + # Postfix of DLLs: +- set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}") ++ set(OPENCV_DLLVERSION "") + set(OPENCV_DEBUG_POSTFIX d) + else() + # Postfix of so's: +@@ -698,7 +698,7 @@ endif() + ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS) + + # --- Python Support --- +-if(NOT IOS) ++if(0) + include(cmake/OpenCVDetectPython.cmake) + endif() + +diff --git a/cmake/OpenCVCompilerOptions.cmake b/cmake/OpenCVCompilerOptions.cmake +index e3ae62f..d866162 100644 +--- a/cmake/OpenCVCompilerOptions.cmake ++++ b/cmake/OpenCVCompilerOptions.cmake +@@ -256,7 +256,6 @@ if(MSVC) + #endif() + + if(BUILD_WITH_DEBUG_INFO) +- set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi") + set(OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_EXE_LINKER_FLAGS_RELEASE} /debug") + set(OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE "${OPENCV_EXTRA_SHARED_LINKER_FLAGS_RELEASE} /debug") + endif() +diff --git a/cmake/OpenCVGenConfig.cmake b/cmake/OpenCVGenConfig.cmake +index cef9d0b..b6ddb81 100644 +--- a/cmake/OpenCVGenConfig.cmake ++++ b/cmake/OpenCVGenConfig.cmake +@@ -109,7 +109,7 @@ function(ocv_gen_config TMP_DIR NESTED_PATH ROOT_NAME) + endif() + endfunction() + +-if((CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" OR UNIX) AND NOT ANDROID) ++if(NOT ANDROID) + ocv_gen_config("${CMAKE_BINARY_DIR}/unix-install" "" "") + endif() + +@@ -121,7 +121,7 @@ endif() + # -------------------------------------------------------------------------------------------- + # Part 3/3: ${BIN_DIR}/win-install/OpenCVConfig.cmake -> For use within binary installers/packages + # -------------------------------------------------------------------------------------------- +-if(WIN32) ++if(0) + if(CMAKE_HOST_SYSTEM_NAME MATCHES Windows) + if(BUILD_SHARED_LIBS) + set(_lib_suffix "lib") +diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt +index 1f0d720..0bb1ff7 100644 +--- a/data/CMakeLists.txt ++++ b/data/CMakeLists.txt +@@ -1,8 +1,6 @@ + file(GLOB HAAR_CASCADES haarcascades/*.xml) + file(GLOB LBP_CASCADES lbpcascades/*.xml) + +-install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs) +-install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs) + + if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH) + install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests") diff --git a/ports/opencv4/0003-force-package-requirements.patch b/ports/opencv4/0003-force-package-requirements.patch new file mode 100644 index 000000000..b6051f849 --- /dev/null +++ b/ports/opencv4/0003-force-package-requirements.patch @@ -0,0 +1,128 @@ +diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake +index 227cfb2..7a97a19 100644 +--- a/cmake/OpenCVFindLibsGrfmt.cmake ++++ b/cmake/OpenCVFindLibsGrfmt.cmake +@@ -6,7 +6,7 @@ + if(BUILD_ZLIB) + ocv_clear_vars(ZLIB_FOUND) + else() +- find_package(ZLIB "${MIN_VER_ZLIB}") ++ find_package(ZLIB "${MIN_VER_ZLIB}" REQUIRED) + if(ZLIB_FOUND AND ANDROID) + if(ZLIB_LIBRARIES MATCHES "/usr/(lib|lib32|lib64)/libz.so$") + set(ZLIB_LIBRARIES z) +@@ -30,7 +30,7 @@ if(WITH_JPEG) + if(BUILD_JPEG) + ocv_clear_vars(JPEG_FOUND) + else() +- include(FindJPEG) ++ find_package(JPEG REQUIRED) + endif() + + if(NOT JPEG_FOUND) +@@ -74,7 +74,7 @@ if(WITH_TIFF) + if(BUILD_TIFF) + ocv_clear_vars(TIFF_FOUND) + else() +- include(FindTIFF) ++ find_package(TIFF REQUIRED) + if(TIFF_FOUND) + ocv_parse_header("${TIFF_INCLUDE_DIR}/tiff.h" TIFF_VERSION_LINES TIFF_VERSION_CLASSIC TIFF_VERSION_BIG TIFF_VERSION TIFF_BIGTIFF_VERSION) + endif() +@@ -117,7 +117,7 @@ if(WITH_WEBP) + if(BUILD_WEBP) + ocv_clear_vars(WEBP_FOUND WEBP_LIBRARY WEBP_LIBRARIES WEBP_INCLUDE_DIR) + else() +- include(cmake/OpenCVFindWebP.cmake) ++ find_package(WebP REQUIRED) + if(WEBP_FOUND) + set(HAVE_WEBP 1) + endif() +@@ -158,7 +158,7 @@ if(WITH_JASPER) + if(BUILD_JASPER) + ocv_clear_vars(JASPER_FOUND) + else() +- include(FindJasper) ++ find_package(Jasper REQUIRED) + endif() + + if(NOT JASPER_FOUND) +@@ -182,7 +182,7 @@ if(WITH_PNG) + if(BUILD_PNG) + ocv_clear_vars(PNG_FOUND) + else() +- include(FindPNG) ++ find_package(PNG REQUIRED) + if(PNG_FOUND) + include(CheckIncludeFile) + check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H) +@@ -213,7 +213,7 @@ endif() + if(WITH_OPENEXR) + ocv_clear_vars(HAVE_OPENEXR) + if(NOT BUILD_OPENEXR) +- include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake") ++ find_package(OpenEXR REQUIRED) + endif() + + if(OPENEXR_FOUND) +@@ -231,7 +231,7 @@ endif() + + # --- GDAL (optional) --- + if(WITH_GDAL) +- find_package(GDAL QUIET) ++ find_package(GDAL REQUIRED) + + if(NOT GDAL_FOUND) + set(HAVE_GDAL NO) +@@ -243,7 +243,7 @@ if(WITH_GDAL) + endif() + + if (WITH_GDCM) +- find_package(GDCM QUIET) ++ find_package(GDCM REQUIRED) + if(NOT GDCM_FOUND) + set(HAVE_GDCM NO) + ocv_clear_vars(GDCM_VERSION GDCM_LIBRARIES) +@@ -273,4 +273,4 @@ if(WITH_IMGCODEC_PFM) + set(HAVE_IMGCODEC_PFM ON) + elseif(DEFINED WITH_IMGCODEC_PFM) + set(HAVE_IMGCODEC_PFM OFF) +-endif() +\ No newline at end of file ++endif() +diff --git a/cmake/OpenCVFindLibsPerf.cmake b/cmake/OpenCVFindLibsPerf.cmake +index a658bf6..5c9411a 100644 +--- a/cmake/OpenCVFindLibsPerf.cmake ++++ b/cmake/OpenCVFindLibsPerf.cmake +@@ -41,14 +41,9 @@ endif(WITH_CUDA) + + # --- Eigen --- + if(WITH_EIGEN AND NOT HAVE_EIGEN) +- find_package(Eigen3 QUIET) ++ find_package(Eigen3 REQUIRED) + + if(Eigen3_FOUND) +- if(TARGET Eigen3::Eigen) +- # Use Eigen3 imported target if possible +- list(APPEND OPENCV_LINKER_LIBS Eigen3::Eigen) +- set(HAVE_EIGEN 1) +- else() + if(DEFINED EIGEN3_INCLUDE_DIRS) + set(EIGEN_INCLUDE_PATH ${EIGEN3_INCLUDE_DIRS}) + set(HAVE_EIGEN 1) +@@ -56,7 +51,6 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) + set(EIGEN_INCLUDE_PATH ${EIGEN3_INCLUDE_DIR}) + set(HAVE_EIGEN 1) + endif() +- endif() + if(HAVE_EIGEN) + if(DEFINED EIGEN3_WORLD_VERSION) # CMake module + set(EIGEN_WORLD_VERSION ${EIGEN3_WORLD_VERSION}) +@@ -67,6 +61,7 @@ if(WITH_EIGEN AND NOT HAVE_EIGEN) + set(EIGEN_MAJOR_VERSION ${EIGEN3_VERSION_MINOR}) + set(EIGEN_MINOR_VERSION ${EIGEN3_VERSION_PATCH}) + endif() ++ ocv_include_directories(${EIGEN_INCLUDE_PATH}) + endif() + endif() + diff --git a/ports/opencv4/0004-fix-policy-CMP0057.patch b/ports/opencv4/0004-fix-policy-CMP0057.patch new file mode 100644 index 000000000..ed25d501d --- /dev/null +++ b/ports/opencv4/0004-fix-policy-CMP0057.patch @@ -0,0 +1,9 @@ +diff --git a/modules/videoio/CMakeLists.txt b/modules/videoio/CMakeLists.txt +index 1608655..a394f04 100644 +--- a/modules/videoio/CMakeLists.txt ++++ b/modules/videoio/CMakeLists.txt +@@ -1,3 +1,4 @@ ++cmake_minimum_required(VERSION 3.3) + set(VIDEOIO_PLUGIN_LIST "" CACHE STRING "List of videoio backends to be compiled as plugins (ffmpeg, gstreamer)") + set(VIDEOIO_ENABLE_PLUGINS "ON" CACHE BOOL "Allow building videoio plugin support") + set(VIDEOIO_ENABLE_STRICT_PLUGIN_CHECK "ON" CACHE BOOL "Make sure OpenCV version is the same in plugin and host code") diff --git a/ports/opencv4/0009-fix-uwp.patch b/ports/opencv4/0009-fix-uwp.patch new file mode 100644 index 000000000..5c54256a5 --- /dev/null +++ b/ports/opencv4/0009-fix-uwp.patch @@ -0,0 +1,57 @@ +diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake +index 799592b..3f44173 100644 +--- a/cmake/OpenCVModule.cmake ++++ b/cmake/OpenCVModule.cmake +@@ -852,7 +852,7 @@ macro(ocv_create_module) + set(the_module_target ${the_module}) + endif() + +- if(WINRT) ++ if(WINRT AND BUILD_TESTS) + # removing APPCONTAINER from modules to run from console + # in case of usual starting of WinRT test apps output is missing + # so starting of console version w/o APPCONTAINER is required to get test results +@@ -1175,7 +1175,7 @@ function(ocv_add_perf_tests) + set_target_properties(${the_target} PROPERTIES FOLDER "tests performance") + endif() + +- if(WINRT) ++ if(WINRT AND BUILD_TESTS) + # removing APPCONTAINER from tests to run from console + # look for detailed description inside of ocv_create_module macro above + add_custom_command(TARGET "opencv_perf_${name}" +diff --git a/modules/core/src/utils/datafile.cpp b/modules/core/src/utils/datafile.cpp +index aafbfdf..10543ae 100644 +--- a/modules/core/src/utils/datafile.cpp ++++ b/modules/core/src/utils/datafile.cpp +@@ -108,7 +108,7 @@ static cv::String getModuleLocation(const void* addr) + CV_UNUSED(addr); + #ifdef _WIN32 + HMODULE m = 0; +-#if _WIN32_WINNT >= 0x0501 ++#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) + ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, + reinterpret_cast(addr), + &m); +@@ -155,7 +155,7 @@ bool getBinLocation(std::wstring& dst) + { + void* addr = (void*)getModuleLocation; // using code address, doesn't work with static linkage! + HMODULE m = 0; +-#if _WIN32_WINNT >= 0x0501 ++#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) + ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, + reinterpret_cast(addr), + &m); +diff --git a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp +index 236e227..eccf97e 100644 +--- a/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp ++++ b/modules/videoio/src/cap_winrt/CaptureFrameGrabber.cpp +@@ -94,7 +94,7 @@ Media::CaptureFrameGrabber::~CaptureFrameGrabber() + + void Media::CaptureFrameGrabber::ShowCameraSettings() + { +-#if WINAPI_FAMILY!=WINAPI_FAMILY_PHONE_APP ++#if (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) && (WINAPI_FAMILY != WINAPI_FAMILY_PC_APP) + if (_state == State::Started) + { + CameraOptionsUI::Show(_capture.Get()); diff --git a/ports/opencv4/CONTROL b/ports/opencv4/CONTROL new file mode 100644 index 000000000..fc09aaecc --- /dev/null +++ b/ports/opencv4/CONTROL @@ -0,0 +1,97 @@ +Source: opencv4 +Version: 4.1.1-3 +Build-Depends: protobuf, zlib +Homepage: https://github.com/opencv/opencv +Description: computer vision library +Default-Features: dnn, jpeg, opengl, png, tiff, webp + +Feature: nonfree +Description: allow nonfree and unredistributable libraries + +Feature: ade +Build-Depends: ade +Description: graph api + +Feature: contrib +Build-Depends: hdf5 (!uwp) +Description: opencv_contrib module + +Feature: cuda +Build-Depends: opencv4[contrib], cuda +Description: CUDA support for opencv + +Feature: dnn +Description: Enable dnn module + +Feature: eigen +Build-Depends: eigen3 +Description: Eigen support for opencv + +Feature: ffmpeg +Build-Depends: ffmpeg +Description: ffmpeg support for opencv + +Feature: gdcm +Build-Depends: gdcm +Description: GDCM support for opencv + +Feature: ipp +Description: Enable Intel Integrated Performance Primitives + +Feature: jasper +Build-Depends: jasper +Description: JPEG 2000 support for opencv + +Feature: jpeg +Build-Depends: libjpeg-turbo +Description: JPEG support for opencv + +Feature: openexr +Build-Depends: openexr +Description: OpenEXR support for opencv + +Feature: opengl +Build-Depends: opengl +Description: opengl support for opencv + +Feature: openmp +Description: Enable openmp support for opencv + +Feature: ovis +Build-Depends: opencv4[contrib], ogre +Description: opencv_ovis module + +Feature: png +Build-Depends: libpng +Description: PNG support for opencv + +Feature: qt +Build-Depends: qt5 +Description: Qt GUI support for opencv + +Feature: sfm +Build-Depends: opencv4[contrib], eigen3, glog, gflags, ceres +Description: opencv_sfm module + +Feature: tbb +Build-Depends: tbb +Description: Enable Intel Threading Building Blocks + +Feature: tiff +Build-Depends: tiff +Description: TIFF support for opencv + +Feature: vtk +Build-Depends: vtk +Description: vtk support for opencv + +Feature: webp +Build-Depends: libwebp +Description: WebP support for opencv + +Feature: halide +Build-Depends: halide, opencv4[core], opencv4[dnn] +Description: Halide support for opencv + +Feature: world +Description: Compile to a single package support for opencv diff --git a/ports/opencv4/portfile.cmake b/ports/opencv4/portfile.cmake new file mode 100644 index 000000000..fdd75dcf1 --- /dev/null +++ b/ports/opencv4/portfile.cmake @@ -0,0 +1,387 @@ +if (EXISTS "${CURRENT_INSTALLED_DIR}/share/opencv3") + message(FATAL_ERROR "OpenCV 3 is installed, please uninstall and try again:\n vcpkg remove opencv3") +endif() + +include(vcpkg_common_functions) + +set(OPENCV_VERSION "4.1.1") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO opencv/opencv + REF ${OPENCV_VERSION} + SHA512 80fa48d992ca06a2a4ab6740df6d8c21f4926165486b393969da2c5bbe2f3a0b799fb76dee5e3654e90c743e49bbd2b5b02ad59a4766896bbf4cd5b4e3251e0f + HEAD_REF master + PATCHES + 0001-disable-downloading.patch + 0002-install-options.patch + 0003-force-package-requirements.patch + 0004-fix-policy-CMP0057.patch + 0009-fix-uwp.patch +) + +string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) + +set(ADE_DIR ${CURRENT_INSTALLED_DIR}/share/ade CACHE PATH "Path to existing ADE CMake Config file") + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + "ade" WITH_ADE + "contrib" WITH_CONTRIB + "cuda" WITH_CUDA + "cuda" WITH_CUBLAS + "dnn" BUILD_opencv_dnn + "eigen" WITH_EIGEN + "ffmpeg" WITH_FFMPEG + "gdcm" WITH_GDCM + "halide" WITH_HALIDE + "jasper" WITH_JASPER + "jpeg" WITH_JPEG + "nonfree" OPENCV_ENABLE_NONFREE + "openexr" WITH_OPENEXR + "opengl" WITH_OPENGL + "openmp" WITH_OPENMP + "png" WITH_PNG + "qt" WITH_QT + "sfm" BUILD_opencv_sfm + "tiff" WITH_TIFF + "webp" WITH_WEBP + "world" BUILD_opencv_world +) + +# Cannot use vcpkg_check_features() for "ipp", "ovis", "tbb", and "vtk". +# As the respective value of their variables can be unset conditionally. +set(WITH_IPP OFF) +if("ipp" IN_LIST FEATURES) + set(WITH_IPP ON) +endif() + +set(BUILD_opencv_ovis OFF) +if("ovis" IN_LIST FEATURES) + set(BUILD_opencv_ovis ON) +endif() + +set(WITH_TBB OFF) +if("tbb" IN_LIST FEATURES) + set(WITH_TBB ON) +endif() + +set(WITH_VTK OFF) +if("vtk" IN_LIST FEATURES) + set(WITH_VTK ON) +endif() + +if("dnn" IN_LIST FEATURES) + vcpkg_download_distfile(TINYDNN_ARCHIVE + URLS "https://github.com/tiny-dnn/tiny-dnn/archive/v1.0.0a3.tar.gz" + FILENAME "opencv-cache/tiny_dnn/adb1c512e09ca2c7a6faef36f9c53e59-v1.0.0a3.tar.gz" + SHA512 5f2c1a161771efa67e85b1fea395953b7744e29f61187ac5a6c54c912fb195b3aef9a5827135c3668bd0eeea5ae04a33cc433e1f6683e2b7955010a2632d168b + ) +endif() + +if("cuda" IN_LIST FEATURES) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://github.com/NVIDIA/NVIDIAOpticalFlowSDK/archive/79c6cee80a2df9a196f20afd6b598a9810964c32.zip" + FILENAME "opencv-cache/nvidia_optical_flow/ca5acedee6cb45d0ec610a6732de5c15-79c6cee80a2df9a196f20afd6b598a9810964c32.zip" + SHA512 d80cdedec588dafaad4ebb8615349f842ecdc64d3ca9480fee7086d606e6f2362606a9a2ce273c5cf507be2840ec24bbcbe32c2962672c3bcfb72d31428ef73d + ) +endif() + +# Build image quality module when building with 'contrib' feature and not UWP. +set(BUILD_opencv_quality OFF) +if("contrib" IN_LIST FEATURES) + if (VCPKG_TARGET_IS_UWP) + set(BUILD_opencv_quality OFF) + message(WARNING "The image quality module (quality) does not build for UWP, the module has been disabled.") + # The hdf module is silently disabled by OpenCVs buildsystem if HDF5 is not detected. + message(WARNING "The hierarchical data format module (hdf) depends on HDF5 which doesn't support UWP, the module has been disabled.") + else() + set(BUILD_opencv_quality CMAKE_DEPENDS_IN_PROJECT_ONLY) + endif() + + vcpkg_from_github( + OUT_SOURCE_PATH CONTRIB_SOURCE_PATH + REPO opencv/opencv_contrib + REF ${OPENCV_VERSION} + SHA512 8af13f0a5f350360316662c1ce5e58c21d906a58591acfbd575a8dacde19b6f3bbd694c3c199feb35c33549cf8c37e3fb4c494b586a00ad29fe3b4aeeb2d22ab + HEAD_REF master + ) + set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") + + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i" + FILENAME "opencv-cache/xfeatures2d/boostdesc/0ea90e7a8f3f7876d450e4149c97c74f-boostdesc_bgm.i" + SHA512 5c8702a60314fac4ebb6dafb62a603948ec034058d1a582fcb89a063b51511802c02e192eadfc0b233b1f711f4c74cabab6d9ebe8a50c3554ea0ccdbef87dc5c + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_bi.i" + FILENAME "opencv-cache/xfeatures2d/boostdesc/232c966b13651bd0e46a1497b0852191-boostdesc_bgm_bi.i" + SHA512 b28ba2b615e0755ff0f6733b567682800fb9e7d522250aa498075cc1b8927f4177cacdcb0cfdf712539a29c4773232dc714931b6d292292b091b5cf170b203a6 + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_hd.i" + FILENAME "opencv-cache/xfeatures2d/boostdesc/324426a24fa56ad9c5b8e3e0b3e5303e-boostdesc_bgm_hd.i" + SHA512 c214045c3730a1d9dfc594f70895edf82d2fd3058a3928908627014371e02460d052cbaedf41bb96cf76460c0a8b4b01b7b0ac7d269ec5d3f17f2a46c9f0091b + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_064.i" + FILENAME "opencv-cache/xfeatures2d/boostdesc/202e1b3e9fec871b04da31f7f016679f-boostdesc_binboost_064.i" + SHA512 f32240a7b975233d2bbad02fdb74c6e29ed71ed6f0c08172ca33eb1e69a7a7f6d6964adf41422213a0452121a9c4bb2effe3d7b9d6743c9bf58d4bc8c9b1db36 + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_128.i" + FILENAME "opencv-cache/xfeatures2d/boostdesc/98ea99d399965c03d555cef3ea502a0b-boostdesc_binboost_128.i" + SHA512 f58e2bebfaa690d324691a6c2067d9a1e5267037ea0f2b397966289253b9efd27d8238aff6206e95262086e1fcddf01ae1a1c49f066a8bbac3aa7908214b9a8f + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_256.i" + FILENAME "opencv-cache/xfeatures2d/boostdesc/e6dcfa9f647779eb1ce446a8d759b6ea-boostdesc_binboost_256.i" + SHA512 351ee07b9714a379c311f293d96e99f001c894393c911a421b4c536345d43c02ba2d867e9f657eac104841563045ab8c8edab878e5ffeb1e1a7494375ef58987 + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_lbgm.i" + FILENAME "opencv-cache/xfeatures2d/boostdesc/0ae0675534aa318d9668f2a179c2a052-boostdesc_lbgm.i" + SHA512 7fa12e2207ff154acf2433bbb4f3f47aa71d1fa8789493b688d635d20586b7ead30ee8dcd3b3753992ebbe98062cbde44d02683db1c563d52e35aefd7912a4f2 + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_48.i" + FILENAME "opencv-cache/xfeatures2d/vgg/e8d0dcd54d1bcfdc29203d011a797179-vgg_generated_48.i" + SHA512 2403e9119738261a05a3116ca7e5c9e11da452c422f8670cd96ad2cb5bf970f76172e23b9913a3172adf06f2b31bee956f605b66dbccf3d706c4334aff713774 + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_64.i" + FILENAME "opencv-cache/xfeatures2d/vgg/7126a5d9a8884ebca5aea5d63d677225-vgg_generated_64.i" + SHA512 2c954223677905f489b01988389ac80a8caa33bdb57adb3cb9409075012b5e2f472f14966d8be75d75c90c9330f66d59c69539dc6b5a5e265a4d98ff5041f0ea + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_80.i" + FILENAME "opencv-cache/xfeatures2d/vgg/7cd47228edec52b6d82f46511af325c5-vgg_generated_80.i" + SHA512 9931ad1d1bd6d11951ca5357ab0a524f6ff9b33f936ceeafebc0dafb379ec7e2105e467443e9f424f60a0f2f445bdff821ed9e42330abed883227183ebad4a9e + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_120.i" + FILENAME "opencv-cache/xfeatures2d/vgg/151805e03568c9f490a5e3a872777b75-vgg_generated_120.i" + SHA512 ad7c1d2b159ab5790c898815663bb90549f1cf7ade3c82d939d381608b26d26c5b2af01eb1ba21f4d114ced74586ab3fc83f14e2d8cfe4e6faac538aa0e7e255 + ) + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat" + FILENAME "opencv-cache/data/7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat" + SHA512 c16e60a6c4bb4de3ab39b876ae3c3f320ea56f69c93e9303bd2dff8760841dcd71be4161fff8bc71e8fe4fe8747fa8465d49d6bd8f5ebcdaea161f4bc2da7c93 + ) +endif() + +if(WITH_IPP) + if(VCPKG_TARGET_IS_OSX) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_mac_intel64_general_20180723.tgz" + FILENAME "opencv-cache/ippicv/fe6b2bb75ae0e3f19ad3ae1a31dfa4a2-ippicv_2019_mac_intel64_general_20180723.tgz" + SHA512 266fe3fecf8e95e1f51c09b65330a577743ef72b423b935d4d1fe8d87f1b4f258c282fe6a18fc805d489592f137ebed37c9f1d1b34026590d9f1ba107015132e + ) + else() + message(WARNING "This target architecture is not supported IPPICV") + set(WITH_IPP OFF) + endif() + elseif(VCPKG_TARGET_IS_LINUX) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_intel64_general_20180723.tgz" + FILENAME "opencv-cache/ippicv/c0bd78adb4156bbf552c1dfe90599607-ippicv_2019_lnx_intel64_general_20180723.tgz" + SHA512 e4ec6b3b9fc03d7b3ae777c2a26f57913e83329fd2f7be26c259b07477ca2a641050b86979e0c96e25aa4c1f9f251b28727690358a77418e76dd910d0f4845c9 + ) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_ia32_general_20180723.tgz" + FILENAME "opencv-cache/ippicv/4f38432c30bfd6423164b7a24bbc98a0-ippicv_2019_lnx_ia32_general_20180723.tgz" + SHA512 d96d3989928ff11a18e631bf5ecfdedf88fd350162a23fa2c8f7dbc3bf878bf442aff7fb2a07dc56671d7268cc20682055891be75b9834e9694d20173e92b6a3 + ) + else() + message(WARNING "This target architecture is not supported IPPICV") + set(WITH_IPP OFF) + endif() + elseif(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_intel64_20180723_general.zip" + FILENAME "opencv-cache/ippicv/1d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip" + SHA512 b6c4f2696e2004b8f5471efd9bdc6c684b77830e0533d8880310c0b665b450d6f78e10744c937f5592ab900e187c475e46cb49e98701bb4bcbbc7da77723011d + ) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + vcpkg_download_distfile(OCV_DOWNLOAD + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_win_ia32_20180723_general.zip" + FILENAME "opencv-cache/ippicv/0157251a2eb9cd63a3ebc7eed0f3e59e-ippicv_2019_win_ia32_20180723_general.zip" + SHA512 c33fd4019c71b064b153e1b25e0307f9c7ada693af8ec910410edeab471c6f14df9b11bf9f5302ceb0fcd4282f5c0b6c92fb5df0e83eb50ed630c45820d1e184 + ) + else() + message(WARNING "This target architecture is not supported IPPICV") + set(WITH_IPP OFF) + endif() + else() + message(WARNING "This target architecture is not supported IPPICV") + set(WITH_IPP OFF) + endif() +endif() + +set(WITH_MSMF ON) +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) + set(WITH_MSMF OFF) +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + if (WITH_TBB) + message(WARNING "TBB is currently unsupported in this build configuration, turning it off") + set(WITH_TBB OFF) + endif() + + if (WITH_VTK) + message(WARNING "VTK is currently unsupported in this build configuration, turning it off") + set(WITH_VTK OFF) + endif() + + if (VCPKG_TARGET_IS_WINDOWS AND BUILD_opencv_ovis) + message(WARNING "OVIS is currently unsupported in this build configuration, turning it off") + set(BUILD_opencv_ovis OFF) + endif() +endif() + +if("ffmpeg" IN_LIST FEATURES) + if(VCPKG_TARGET_IS_UWP) + set(VCPKG_C_FLAGS "/sdl- ${VCPKG_C_FLAGS}") + set(VCPKG_CXX_FLAGS "/sdl- ${VCPKG_CXX_FLAGS}") + endif() +endif() + +if("qt" IN_LIST FEATURES) + list(APPEND ADDITIONAL_BUILD_FLAGS "-DCMAKE_AUTOMOC=ON") +endif() + +vcpkg_configure_cmake( + PREFER_NINJA + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ###### ocv_options + -DOpenCV_INSTALL_BINARIES_PREFIX= + -DOPENCV_LIB_INSTALL_PATH=lib + -DOPENCV_3P_LIB_INSTALL_PATH=lib + -DOPENCV_CONFIG_INSTALL_PATH=share/opencv + -DOPENCV_FFMPEG_USE_FIND_PACKAGE=FFMPEG + -DCMAKE_DEBUG_POSTFIX=d + # Do not build docs/examples + -DBUILD_DOCS=OFF + -DBUILD_EXAMPLES=OFF + -Dade_DIR=${ADE_DIR} + ###### Disable build 3rd party libs + -DBUILD_JASPER=OFF + -DBUILD_JPEG=OFF + -DBUILD_OPENEXR=OFF + -DBUILD_PNG=OFF + -DBUILD_TIFF=OFF + -DBUILD_WEBP=OFF + -DBUILD_ZLIB=OFF + -DBUILD_TBB=OFF + -DBUILD_IPP_IW=OFF + -DBUILD_ITT=OFF + ###### Disable build 3rd party components + -DBUILD_PROTOBUF=OFF + ###### OpenCV Build components + -DBUILD_opencv_apps=OFF + -DBUILD_opencv_java=OFF + -DBUILD_opencv_js=OFF + -DBUILD_ANDROID_PROJECT=OFF + -DBUILD_ANDROID_EXAMPLES=OFF + -DBUILD_PACKAGE=OFF + -DBUILD_PERF_TESTS=OFF + -DBUILD_TESTS=OFF + -DBUILD_WITH_DEBUG_INFO=ON + -DBUILD_WITH_STATIC_CRT=${BUILD_WITH_STATIC_CRT} + -DBUILD_JAVA=OFF + -DCURRENT_INSTALLED_DIR=${CURRENT_INSTALLED_DIR} + ###### PROTOBUF + -DPROTOBUF_UPDATE_FILES=ON + -DUPDATE_PROTO_FILES=ON + ###### PYLINT/FLAKE8 + -DENABLE_PYLINT=OFF + -DENABLE_FLAKE8=OFF + # CMAKE + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON + -DCMAKE_DISABLE_FIND_PACKAGE_JNI=ON + # ENABLE + -DENABLE_CXX11=ON + ###### OPENCV vars + "-DOPENCV_DOWNLOAD_PATH=${DOWNLOADS}/opencv-cache" + ${BUILD_WITH_CONTRIB_FLAG} + -DOPENCV_OTHER_INSTALL_PATH=share/opencv + ###### customized properties + ## Options from vcpkg_check_features() + ${FEATURE_OPTIONS} + -DHALIDE_ROOT_DIR=${CURRENT_INSTALLED_DIR} + -DWITH_IPP=${WITH_IPP} + -DWITH_MSMF=${WITH_MSMF} + -DWITH_PROTOBUF=ON + -DWITH_TBB=${WITH_TBB} + -DWITH_VTK=${WITH_VTK} + ###### WITH PROPERTIES explicitly disabled, they have problems with libraries if already installed by user and that are "involuntarily" found during install + -DWITH_LAPACK=OFF + ###### BUILD_options (mainly modules which require additional libraries) + -DBUILD_opencv_ovis=${BUILD_opencv_ovis} + ###### The following modules are disabled for UWP + -DBUILD_opencv_quality=${BUILD_opencv_quality} + ###### Additional build flags + ${ADDITIONAL_BUILD_FLAGS} +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH "share/opencv" TARGET_PATH "share/opencv") +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(READ ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake OPENCV_MODULES) + string(REPLACE "set(CMAKE_IMPORT_FILE_VERSION 1)" + "set(CMAKE_IMPORT_FILE_VERSION 1) +find_package(Protobuf REQUIRED) +if(Protobuf_FOUND) + if(TARGET protobuf::libprotobuf) + add_library(libprotobuf INTERFACE IMPORTED) + set_target_properties(libprotobuf PROPERTIES + INTERFACE_LINK_LIBRARIES protobuf::libprotobuf + ) + else() + add_library(libprotobuf UNKNOWN IMPORTED) + set_target_properties(libprotobuf PROPERTIES + IMPORTED_LOCATION \"${Protobuf_LIBRARY}\" + INTERFACE_INCLUDE_DIRECTORIES \"${Protobuf_INCLUDE_DIR}\" + INTERFACE_SYSTEM_INCLUDE_DIRECTORIES \"${Protobuf_INCLUDE_DIR}\" + ) + endif() +endif() +find_package(TIFF QUIET) +find_package(HDF5 QUIET) +find_package(Freetype QUIET) +find_package(Ogre QUIET) +find_package(gflags QUIET) +find_package(Ceres QUIET) +find_package(ade QUIET) +find_package(VTK QUIET) +find_package(OpenMP QUIET) +find_package(Tesseract QUIET) +find_package(GDCM QUIET)" OPENCV_MODULES "${OPENCV_MODULES}") + + if("openmp" IN_LIST FEATURES) + string(REPLACE "set_target_properties(opencv_core PROPERTIES + INTERFACE_LINK_LIBRARIES \"" + "set_target_properties(opencv_core PROPERTIES + INTERFACE_LINK_LIBRARIES \"\$;" OPENCV_MODULES "${OPENCV_MODULES}") + endif() + + file(WRITE ${CURRENT_PACKAGES_DIR}/share/opencv/OpenCVModules.cmake "${OPENCV_MODULES}") + + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE ${CURRENT_PACKAGES_DIR}/setup_vars_opencv4.cmd) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/setup_vars_opencv4.cmd) +file(REMOVE ${CURRENT_PACKAGES_DIR}/LICENSE) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/LICENSE) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL index 8795b9dce..5fc8b52d6 100644 --- a/ports/openexr/CONTROL +++ b/ports/openexr/CONTROL @@ -1,5 +1,5 @@ Source: openexr -Version: 2.3.0-3 +Version: 2.3.0-4 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 a381c6db9..4b5b280a0 100644 --- a/ports/openexr/FindOpenEXR.cmake +++ b/ports/openexr/FindOpenEXR.cmake @@ -54,9 +54,12 @@ if(NOT OpenEXR_IEXMATH_LIBRARY) endif() set(OPENEXR_HALF_LIBRARY "${OpenEXR_HALF_LIBRARY}") +set(OPENEXR_Half_LIBRARY "${OpenEXR_HALF_LIBRARY}") set(OPENEXR_IEX_LIBRARY "${OpenEXR_IEX_LIBRARY}") +set(OPENEXR_Iex_LIBRARY "${OpenEXR_IEX_LIBRARY}") set(OPENEXR_IMATH_LIBRARY "${OpenEXR_MATH_LIBRARY}") set(OPENEXR_ILMIMF_LIBRARY "${OpenEXR_BASE_LIBRARY}") +set(OPENEXR_IlmImf_LIBRARY "${OpenEXR_BASE_LIBRARY}") set(OPENEXR_ILMIMFUTIL_LIBRARY "${OpenEXR_UTIL_LIBRARY}") set(OPENEXR_ILMTHREAD_LIBRARY "${OpenEXR_THREAD_LIBRARY}") @@ -80,6 +83,10 @@ set(OPENEXR_LIBRARIES ${OPENEXR_ILMTHREAD_LIBRARY} ) +set(OpenEXR_INCLUDE_DIR ${OpenEXR_INCLUDE_DIRS}) +set(OPENEXR_INCLUDE_DIRS ${OpenEXR_INCLUDE_DIRS}) +set(OPENEXR_INCLUDE_DIR ${OPENEXR_INCLUDE_PATHS}) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR REQUIRED_VARS OpenEXR_LIBRARIES OpenEXR_INCLUDE_DIRS) if(OpenEXR_FOUND) diff --git a/ports/openexr/fix_linux_static_library_names.patch b/ports/openexr/fix_linux_static_library_names.patch new file mode 100644 index 000000000..e7a41daa7 --- /dev/null +++ b/ports/openexr/fix_linux_static_library_names.patch @@ -0,0 +1,109 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b06d97e..ad360f8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,10 +53,13 @@ endif() + if (WIN32 AND OPENEXR_BUILD_ILMBASE AND OPENEXR_BUILD_OPENEXR AND OPENEXR_BUILD_SHARED) + # necessary for building dwa lookup tables, and b44log tables on windows + set(BUILD_ILMBASE_STATIC ON) ++ set(OPENEXR_STATIC_SUFFIX "_s") + elseif (OPENEXR_BUILD_ILMBASE AND OPENEXR_BUILD_STATIC) + set(BUILD_ILMBASE_STATIC ON) ++ set(OPENEXR_STATIC_SUFFIX "") + else() + set(BUILD_ILMBASE_STATIC OFF) ++ set(OPENEXR_STATIC_SUFFIX "") + endif() + + if (NOT OPENEXR_BUILD_SHARED) +diff --git a/IlmBase/Half/CMakeLists.txt b/IlmBase/Half/CMakeLists.txt +index 3d24cd7..d92aa67 100644 +--- a/IlmBase/Half/CMakeLists.txt ++++ b/IlmBase/Half/CMakeLists.txt +@@ -60,7 +60,7 @@ IF (BUILD_ILMBASE_STATIC) + SET_TARGET_PROPERTIES ( Half_static + PROPERTIES + VERSION ${ILMBASE_VERSION_MAJOR}.${ILMBASE_VERSION_MINOR}.${ILMBASE_VERSION_PATCH} +- OUTPUT_NAME "Half${ILMBASE_LIBSUFFIX}_s" ++ OUTPUT_NAME "Half${ILMBASE_LIBSUFFIX}${OPENEXR_STATIC_SUFFIX}" + ) + + ADD_DEPENDENCIES ( Half_static toFloat eLut ) +diff --git a/IlmBase/Iex/CMakeLists.txt b/IlmBase/Iex/CMakeLists.txt +index 847518c..9425430 100644 +--- a/IlmBase/Iex/CMakeLists.txt ++++ b/IlmBase/Iex/CMakeLists.txt +@@ -34,7 +34,7 @@ IF (BUILD_ILMBASE_STATIC) + SET_TARGET_PROPERTIES ( Iex_static + PROPERTIES + VERSION ${ILMBASE_VERSION_MAJOR}.${ILMBASE_VERSION_MINOR}.${ILMBASE_VERSION_PATCH} +- OUTPUT_NAME "Iex${ILMBASE_LIBSUFFIX}_s" ++ OUTPUT_NAME "Iex${ILMBASE_LIBSUFFIX}${OPENEXR_STATIC_SUFFIX}" + ) + ENDIF() + +diff --git a/IlmBase/IexMath/CMakeLists.txt b/IlmBase/IexMath/CMakeLists.txt +index 472fd33..1427fa8 100644 +--- a/IlmBase/IexMath/CMakeLists.txt ++++ b/IlmBase/IexMath/CMakeLists.txt +@@ -36,7 +36,7 @@ IF (BUILD_ILMBASE_STATIC) + SET_TARGET_PROPERTIES ( IexMath_static + PROPERTIES + VERSION ${ILMBASE_VERSION_MAJOR}.${ILMBASE_VERSION_MINOR}.${ILMBASE_VERSION_PATCH} +- OUTPUT_NAME "IexMath${ILMBASE_LIBSUFFIX}_s" ++ OUTPUT_NAME "IexMath${ILMBASE_LIBSUFFIX}${OPENEXR_STATIC_SUFFIX}" + ) + ENDIF( ) + +diff --git a/IlmBase/IlmThread/CMakeLists.txt b/IlmBase/IlmThread/CMakeLists.txt +index 3a24823..b281916 100644 +--- a/IlmBase/IlmThread/CMakeLists.txt ++++ b/IlmBase/IlmThread/CMakeLists.txt +@@ -49,7 +49,7 @@ IF (BUILD_ILMBASE_STATIC) + SET_TARGET_PROPERTIES ( IlmThread_static + PROPERTIES + VERSION ${ILMBASE_VERSION_MAJOR}.${ILMBASE_VERSION_MINOR}.${ILMBASE_VERSION_PATCH} +- OUTPUT_NAME "IlmThread${ILMBASE_LIBSUFFIX}_s" ++ OUTPUT_NAME "IlmThread${ILMBASE_LIBSUFFIX}${OPENEXR_STATIC_SUFFIX}" + ) + ENDIF () + +diff --git a/IlmBase/Imath/CMakeLists.txt b/IlmBase/Imath/CMakeLists.txt +index 8faa97a..bf29000 100644 +--- a/IlmBase/Imath/CMakeLists.txt ++++ b/IlmBase/Imath/CMakeLists.txt +@@ -37,7 +37,7 @@ IF (BUILD_ILMBASE_STATIC) + SET_TARGET_PROPERTIES ( Imath_static + PROPERTIES + VERSION ${ILMBASE_VERSION_MAJOR}.${ILMBASE_VERSION_MINOR}.${ILMBASE_VERSION_PATCH} +- OUTPUT_NAME "Imath${ILMBASE_LIBSUFFIX}_s" ++ OUTPUT_NAME "Imath${ILMBASE_LIBSUFFIX}${OPENEXR_STATIC_SUFFIX}" + ) + ENDIF () + +diff --git a/OpenEXR/IlmImf/CMakeLists.txt b/OpenEXR/IlmImf/CMakeLists.txt +index d31cf68..52c2b6e 100644 +--- a/OpenEXR/IlmImf/CMakeLists.txt ++++ b/OpenEXR/IlmImf/CMakeLists.txt +@@ -226,7 +226,7 @@ IF (OPENEXR_BUILD_STATIC) + SET_TARGET_PROPERTIES ( IlmImf_static + PROPERTIES + VERSION ${OPENEXR_VERSION_MAJOR}.${OPENEXR_VERSION_MINOR}.${OPENEXR_VERSION_PATCH} +- OUTPUT_NAME "IlmImf${OPENEXR_LIBSUFFIX}_s" ++ OUTPUT_NAME "IlmImf${OPENEXR_LIBSUFFIX}${OPENEXR_STATIC_SUFFIX}" + ) + SET_ILMBASE_INCLUDE_DIRS(IlmImf_static) + +diff --git a/OpenEXR/IlmImfUtil/CMakeLists.txt b/OpenEXR/IlmImfUtil/CMakeLists.txt +index 4cc53de..26df90e 100644 +--- a/OpenEXR/IlmImfUtil/CMakeLists.txt ++++ b/OpenEXR/IlmImfUtil/CMakeLists.txt +@@ -60,7 +60,7 @@ IF ( OPENEXR_BUILD_STATIC ) + PROPERTIES + VERSION ${OPENEXR_VERSION_MAJOR}.${OPENEXR_VERSION_MINOR}.${OPENEXR_VERSION_PATCH} + SOVERSION ${OPENEXR_SOVERSION} +- OUTPUT_NAME "IlmImfUtil${OPENEXR_LIBSUFFIX}_s" ++ OUTPUT_NAME "IlmImfUtil${OPENEXR_LIBSUFFIX}${OPENEXR_STATIC_SUFFIX}" + ) + ENDIF() + diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake index e3bfc9592..31b0582ed 100644 --- a/ports/openexr/portfile.cmake +++ b/ports/openexr/portfile.cmake @@ -16,12 +16,18 @@ vcpkg_from_github( PATCHES fix_clang_not_setting_modern_cplusplus.patch fix_install_ilmimf.patch + fix_linux_static_library_names.patch ) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" OPENEXR_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" OPENEXR_BUILD_SHARED) + vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DOPENEXR_BUILD_PYTHON_LIBS:BOOL=FALSE + -DOPENEXR_BUILD_STATIC=${OPENEXR_BUILD_STATIC} + -DOPENEXR_BUILD_SHARED=${OPENEXR_BUILD_SHARED} OPTIONS_DEBUG -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}/debug OPTIONS_RELEASE @@ -58,13 +64,10 @@ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/openexr) vcpkg_copy_pdbs() -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) +if (VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -set(OPENEXR_PORT_DIR "openexr") - -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}/copyright) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/openexr/vcpkg-cmake-wrapper.cmake b/ports/openexr/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..a977a420e --- /dev/null +++ b/ports/openexr/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(OPENEXR_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT OpenEXR_LIBRARIES OR OPENEXR_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${OPENEXR_PREV_MODULE_PATH}) diff --git a/ports/opengl-registry/CONTROL b/ports/opengl-registry/CONTROL index 1a3635c35..3ff6c6e69 100644 --- a/ports/opengl-registry/CONTROL +++ b/ports/opengl-registry/CONTROL @@ -1,4 +1,4 @@ Source: opengl-registry -Version: 2018-06-30-1 +Version: 2019-08-22 Build-Depends: egl-registry Description: the API and Extension registries for the OpenGL family APIs diff --git a/ports/opengl-registry/portfile.cmake b/ports/opengl-registry/portfile.cmake index 7b38b2c07..406ca1c3f 100644 --- a/ports/opengl-registry/portfile.cmake +++ b/ports/opengl-registry/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/OpenGL-Registry - REF e18e52a14e902a9ee29c5bf87478ac2ca21bb06b - SHA512 3b883115e138178984a751ee314b0589a7a20db3bc7cff96fa0b886be1779c24031ce65847386aa2d4f42823b1597edccc5a9afc0aef42fea8611a44d2ca5df6 + REF 3c9ab309994c2baeb5572aa0befd5f405166a275 + SHA512 f53018fe6dfb926dd6c1ce64ffde19b650a9071a1f6fa0c7a1596237e4ff84c3ff0092fb80811c4fea9b533c4b8607ed51f328d683d8f4aac18f0616f58b56a4 HEAD_REF master ) diff --git a/ports/opengl/usage b/ports/opengl/usage new file mode 100644 index 000000000..33e33f6c7 --- /dev/null +++ b/ports/opengl/usage @@ -0,0 +1,24 @@ +The package opengl is compatible with built-in CMake targets via CMake v3.7 and prior syntax + + find_package(OpenGL REQUIRED) + target_link_libraries(main PRIVATE ${OPENGL_LIBRARIES}) + target_include_directories(main PRIVATE ${OPENGL_INCLUDE_DIR}) + +and the CMake v3.8 and beyond imported target syntax + + find_package(OpenGL REQUIRED) + target_link_libraries(main PRIVATE OpenGL::GL) + +introduction of various components + + find_package(OpenGL REQUIRED COMPONENTS GL # v3.8 + GLU # v3.8 + GLX # v3.10 + EGL # v3.10 + OpenGL) # v3.10 + +The OpenGL SDK is highly platform dependent and is usually an OS component. It's not realistic to build from source for every platform. + + WINDOWS: is part of the Windows SDK which this package installs. + LINUX: the SDK may be installed from your distro's repo or from 3rd parties manually. There are too many to count. + APPLE: consult your distribution vendor on the state of OpenGL support: https://support.apple.com/en-us/HT202823 diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL index be2dab3c9..70b2e528f 100644 --- a/ports/openimageio/CONTROL +++ b/ports/openimageio/CONTROL @@ -1,9 +1,13 @@ Source: openimageio -Version: 1.8.16 +Version: 2019-08-08-4 Homepage: https://github.com/OpenImageIO/oiio Description: A library for reading and writing images, and a bunch of related classes, utilities, and application -Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random, robin-map +Build-Depends: libjpeg-turbo, tiff, libpng, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random, robin-map, boost-stacktrace Feature: libraw Build-Depends: libraw Description: Enable RAW image files support + +Feature: opencolorio +Build-Depends: opencolorio +Description: Enable opencolorio support for openimageio \ No newline at end of file diff --git a/ports/openimageio/fix_libraw.patch b/ports/openimageio/fix_libraw.patch index 0870a567f..707530247 100644 --- a/ports/openimageio/fix_libraw.patch +++ b/ports/openimageio/fix_libraw.patch @@ -1,8 +1,8 @@ diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 5eeb7d3..3e8bfcb 100644 +index 2692bb0..f2709d0 100644 --- a/src/cmake/externalpackages.cmake +++ b/src/cmake/externalpackages.cmake -@@ -336,7 +336,7 @@ if (USE_LIBRAW) +@@ -380,7 +380,7 @@ if (USE_LIBRAW) message (STATUS "Looking for LibRaw with ${LIBRAW_PATH}") endif () find_package (LibRaw) @@ -11,7 +11,7 @@ index 5eeb7d3..3e8bfcb 100644 set (LIBRAW_FOUND TRUE) include_directories (${LibRaw_INCLUDE_DIR}) if (NOT LibRaw_FIND_QUIETLY) -@@ -350,7 +350,7 @@ if (USE_LIBRAW) +@@ -394,7 +394,7 @@ if (USE_LIBRAW) if (LINKSTATIC) find_package (Jasper) find_library (LCMS2_LIBRARIES NAMES lcms2) @@ -20,11 +20,6 @@ index 5eeb7d3..3e8bfcb 100644 endif () else () message (STATUS "Not using LibRaw") -@@ -494,4 +494,3 @@ if (USE_DICOM) - endif() - # end DCMTK setup - ########################################################################### -- diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt index e3608a2..f503035 100644 --- a/src/raw.imageio/CMakeLists.txt diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake index 790273975..aeccf0bc0 100644 --- a/ports/openimageio/portfile.cmake +++ b/ports/openimageio/portfile.cmake @@ -3,16 +3,21 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenImageIO/oiio - REF Release-1.8.16 - SHA512 a919341df7d9625a869cad266d8434881b63a47f3da8daccf4bbab6675d45bd121ff780dd911a7447450fee44cd7bdd42d73aec59a99b667d6d98e79682db2c7 + REF ad1ab61a56c63d770e4beb335efe8b1f1a9e36cd + SHA512 48ee7862583e7adb86b56b20634c34aebf83ef0a3a14ad96182494ce6a84cb027334840a6c4c335e9342110c3a36532e3eeae22a3ed7363cd91b27cb7ca58154 HEAD_REF master PATCHES fix_libraw.patch use-webp.patch remove_wrong_dependency.patch + use-vcpkg-find-openexr.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/ext") + +file(REMOVE "${SOURCE_PATH}/src/cmake/modules/FindLibRaw.cmake") +file(REMOVE "${SOURCE_PATH}/src/cmake/modules/FindOpenEXR.cmake") + file(MAKE_DIRECTORY "${SOURCE_PATH}/ext/robin-map/tsl") if(VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -23,16 +28,15 @@ else() set(LINKSTATIC OFF) endif() -# Features -set(USE_LIBRAW OFF) -if("libraw" IN_LIST FEATURES) - set(USE_LIBRAW ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + libraw USE_LIBRAW + opencolorio USE_OCIO +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS ${FEATURE_OPTIONS} -DOIIO_BUILD_TOOLS=OFF -DOIIO_BUILD_TESTS=OFF -DHIDE_SYMBOLS=ON @@ -41,9 +45,7 @@ vcpkg_configure_cmake( -DUSE_FIELD3D=OFF -DUSE_FREETYPE=OFF -DUSE_GIF=OFF - -DUSE_LIBRAW=${USE_LIBRAW} -DUSE_NUKE=OFF - -DUSE_OCIO=OFF -DUSE_OPENCV=OFF -DUSE_OPENJPEG=OFF -DUSE_OPENSSL=OFF @@ -71,6 +73,9 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/doc) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +file(COPY ${SOURCE_PATH}/src/cmake/modules/FindOpenImageIO.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) + # Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openimageio) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/openimageio/LICENSE ${CURRENT_PACKAGES_DIR}/share/openimageio/copyright) +file(COPY ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/openimageio) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/openimageio/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/openimageio/copyright) diff --git a/ports/openimageio/remove_wrong_dependency.patch b/ports/openimageio/remove_wrong_dependency.patch index dabf47b1e..5338c6563 100644 --- a/ports/openimageio/remove_wrong_dependency.patch +++ b/ports/openimageio/remove_wrong_dependency.patch @@ -1,23 +1,15 @@ -diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt -index c528adc..bc133b6 100644 ---- a/src/libOpenImageIO/CMakeLists.txt -+++ b/src/libOpenImageIO/CMakeLists.txt -@@ -162,9 +162,6 @@ if (WIN32) - target_link_libraries (OpenImageIO psapi.lib) - endif () - --if (VISIBILITY_MAP_FILE) -- add_dependencies (OpenImageIO "${VISIBILITY_MAP_FILE}") --endif () - - if (USE_EXTERNAL_PUGIXML) - target_link_libraries (OpenImageIO ${PUGIXML_LIBRARIES}) -@@ -230,7 +227,7 @@ if (OIIO_BUILD_TESTS) - set_target_properties (imagespec_test PROPERTIES FOLDER "Unit Tests") - target_link_libraries (imagespec_test OpenImageIO ${Boost_LIBRARIES}) - add_test (unit_imagespec imagespec_test) -- -+ - add_executable (imagespeed_test imagespeed_test.cpp) - set_target_properties (imagespeed_test PROPERTIES FOLDER "Unit Tests") - target_link_libraries (imagespeed_test OpenImageIO ${Boost_LIBRARIES}) +diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt +index 5449675..cdd5235 100644 +--- a/src/libOpenImageIO/CMakeLists.txt ++++ b/src/libOpenImageIO/CMakeLists.txt +@@ -171,10 +171,6 @@ elseif(MINGW) + target_link_libraries (OpenImageIO psapi ws2_32) + endif () + +-if (VISIBILITY_MAP_FILE) +- add_dependencies (OpenImageIO "${VISIBILITY_MAP_FILE}") +-endif () +- + if (USE_EXTERNAL_PUGIXML) + target_link_libraries (OpenImageIO ${PUGIXML_LIBRARIES}) + endif () diff --git a/ports/openimageio/use-vcpkg-find-openexr.patch b/ports/openimageio/use-vcpkg-find-openexr.patch new file mode 100644 index 000000000..bacc4f686 --- /dev/null +++ b/ports/openimageio/use-vcpkg-find-openexr.patch @@ -0,0 +1,27 @@ +diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake +index 7ebc1cf..a920c72 100644 +--- a/src/cmake/externalpackages.cmake ++++ b/src/cmake/externalpackages.cmake +@@ -64,12 +64,19 @@ find_package (PNG REQUIRED) + ########################################################################### + # IlmBase & OpenEXR setup + ++find_package (Threads) ++if (CMAKE_USE_PTHREADS_INIT) ++ set (ILMBASE_PTHREADS ${CMAKE_THREAD_LIBS_INIT}) ++endif () ++ + find_package (OpenEXR 2.0 REQUIRED) + #OpenEXR 2.2 still has problems with importing ImathInt64.h unqualified + #thus need for ilmbase/OpenEXR +-include_directories ("${OPENEXR_INCLUDE_DIR}" +- "${ILMBASE_INCLUDE_DIR}" +- "${ILMBASE_INCLUDE_DIR}/OpenEXR") ++set(ILMBASE_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ILMBASE_PTHREADS} CACHE STRING "The libraries needed to use IlmBase") ++set(OPENEXR_LIBRARIES ${OPENEXR_ILMIMF_LIBRARY} ${ILMBASE_LIBRARIES} CACHE STRING "The libraries needed to use OpenEXR") ++set(ILMBASE_INCLUDE_DIR ${OPENEXR_INCLUDE_DIR}) ++set(ILMBASE_FOUND TRUE) ++include_directories ("${OPENEXR_INCLUDE_DIR}") + if (NOT OpenEXR_FIND_QUIETLY) + message (STATUS "OPENEXR_INCLUDE_DIR = ${OPENEXR_INCLUDE_DIR}") + message (STATUS "OPENEXR_LIBRARIES = ${OPENEXR_LIBRARIES}") diff --git a/ports/openimageio/use-webp.patch b/ports/openimageio/use-webp.patch index 1b03636e9..ab03b1703 100644 --- a/ports/openimageio/use-webp.patch +++ b/ports/openimageio/use-webp.patch @@ -1,34 +1,34 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index abd4e23..12a7f54 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -87,6 +87,7 @@ option (USE_FREETYPE "Use Freetype if found" ON) - option (USE_GIF "Use GIF if found" ON) - option (USE_PTEX "Use PTex if found" ON) - option (USE_LIBRAW "Use LibRaw if found" ON) -+option (USE_WEBP "Use WebP if found" ON) - set (LIBRAW_PATH "" CACHE STRING "Custom LibRaw path") - option (OIIO_THREAD_ALLOW_DCLP "OIIO threads may use DCLP for speed" ON) - option (USE_NUKE "Build Nuke plugins, if Nuke is found" ON) -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 7dde986..66da94d 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -366,6 +366,7 @@ endif() - if (NOT WEBP_FIND_QUIETLY) - message (STATUS "WEBP_HOME=${WEBP_HOME}") - endif () -+if(USE_WEBP) - find_path (WEBP_INCLUDE_DIR webp/encode.h - "${PROJECT_SOURCE_DIR}/src/include" - "${WEBP_HOME}") -@@ -382,6 +383,9 @@ else() - set (WEBP_FOUND FALSE) - message (STATUS "WebP library not found") - endif() -+else() -+ set (WEBP_FOUND FALSE) -+endif() - # end Webp setup - ########################################################################### - +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7f43455..393af70 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -96,6 +96,7 @@ option (USE_GIF "Use GIF if found" ON) + option (USE_PTEX "Use PTex if found" ON) + option (USE_WEBP "Use WebP if found" ON) + option (USE_LIBRAW "Use LibRaw if found" ON) ++option (USE_WEBP "Use WebP if found" ON) + set (LIBRAW_PATH "" CACHE STRING "Custom LibRaw path") + option (OIIO_THREAD_ALLOW_DCLP "OIIO threads may use DCLP for speed" ON) + option (USE_NUKE "Build Nuke plugins, if Nuke is found" ON) +diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake +index f2709d0..3a95da6 100644 +--- a/src/cmake/externalpackages.cmake ++++ b/src/cmake/externalpackages.cmake +@@ -411,6 +411,7 @@ if (USE_WEBP) + if (NOT WEBP_FIND_QUIETLY) + message (STATUS "WEBP_HOME=${WEBP_HOME}") + endif () ++ if(USE_WEBP) + find_path (WEBP_INCLUDE_DIR webp/encode.h + "${PROJECT_SOURCE_DIR}/src/include" + "${WEBP_HOME}") +@@ -427,6 +428,9 @@ if (USE_WEBP) + set (WEBP_FOUND FALSE) + message (STATUS "WebP library not found") + endif() ++ else() ++ set (WEBP_FOUND FALSE) ++ endif() + else () + message (STATUS "Not using WebP") + endif () diff --git a/ports/openimageio/vcpkg-cmake-wrapper.cmake b/ports/openimageio/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..82dc991f0 --- /dev/null +++ b/ports/openimageio/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(OPENIMAGEIO_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT OPENIMAGEIO_LIBRARIES) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${OPENIMAGEIO_PREV_MODULE_PATH}) diff --git a/ports/openmama/CONTROL b/ports/openmama/CONTROL index 899f47b93..fbfb815c3 100644 --- a/ports/openmama/CONTROL +++ b/ports/openmama/CONTROL @@ -1,5 +1,5 @@ Source: openmama -Version: 6.2.3 +Version: 6.2.3-1 Build-Depends: libevent, apr, qpid-proton Homepage: https://github.com/OpenMAMA/OpenMAMA Description: OpenMAMA is a high performance vendor neutral lightweight wrapper that provides a common API interface to different middleware and messaging solutions across a variety of platforms and languages. diff --git a/ports/openmpi/CONTROL b/ports/openmpi/CONTROL new file mode 100644 index 000000000..6ea5a17c1 --- /dev/null +++ b/ports/openmpi/CONTROL @@ -0,0 +1,4 @@ +Source: openmpi +Version: 4.0.1 +Homepage: https://www.open-mpi.org/ +Description: The Open MPI Project is an open source Message Passing Interface implementation that is developed and maintained by a consortium of academic, research, and industry partners. Open MPI is therefore able to combine the expertise, technologies, and resources from all across the High Performance Computing community in order to build the best MPI library available. Open MPI offers advantages for system and software vendors, application developers and computer science researchers. diff --git a/ports/openmpi/portfile.cmake b/ports/openmpi/portfile.cmake new file mode 100644 index 000000000..9f69f9f9b --- /dev/null +++ b/ports/openmpi/portfile.cmake @@ -0,0 +1,100 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) + message(FATAL_ERROR "This port is only for openmpi on Unix-like systems") +endif() + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +set(OpenMPI_FULL_VERSION "4.0.1") +set(OpenMPI_SHORT_VERSION "4.0") + +vcpkg_download_distfile(ARCHIVE + URLS "https://download.open-mpi.org/release/open-mpi/v${OpenMPI_SHORT_VERSION}/openmpi-${OpenMPI_FULL_VERSION}.tar.gz" + FILENAME "openmpi-${OpenMPI_FULL_VERSION}.tar.gz" + SHA512 760716974cb6b25ad820184622e1ee7926bc6fda87db6b574f76792bc1ca99522e52195866c14b7cb2df5a4981efdaf9f71d2c5533cc0e8e45c2c4b3b74cbacc +) + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + list(APPEND BUILD_TYPES "release") +endif() +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + list(APPEND BUILD_TYPES "debug") +endif() + +set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/openmpi-${OpenMPI_FULL_VERSION}) +set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/openmpi-${OpenMPI_FULL_VERSION}) +set(OUT_PATH_DEBUG ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-debug) +set(OUT_PATH_RELEASE ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-release) +file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-debug/) +file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-release/) +file(MAKE_DIRECTORY ${OUT_PATH_DEBUG}) +file(MAKE_DIRECTORY ${OUT_PATH_RELEASE}) + +foreach(BUILD_TYPE IN LISTS BUILD_TYPES) + vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}) + #vcpkg_apply_patches(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src-${TARGET_TRIPLET}-${BUILD_TYPE}/openmpi-${OpenMPI_FULL_VERSION} PATCHES patch.file) +endforeach() + +vcpkg_find_acquire_program(PERL) +get_filename_component(PERL_PATH ${PERL} DIRECTORY) +vcpkg_add_to_path(${PERL_PATH}) + +set(BASH bash) + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c "${SOURCE_PATH_DEBUG}/configure --prefix=${OUT_PATH_DEBUG} --enable-debug" + WORKING_DIRECTORY "${SOURCE_PATH_DEBUG}" + LOGNAME "config-${TARGET_TRIPLET}-dbg" + ) + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c "make -j ${VCPKG_CONCURRENCY}" + NO_PARALLEL_COMMAND ${BASH} --noprofile --norc -c "make" + WORKING_DIRECTORY "${SOURCE_PATH_DEBUG}" + LOGNAME "make-build-${TARGET_TRIPLET}-dbg" + ) + message(STATUS "Installing ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c "make install" + WORKING_DIRECTORY "${SOURCE_PATH_DEBUG}" + LOGNAME "make-install-${TARGET_TRIPLET}-dbg" + ) + file(COPY ${OUT_PATH_DEBUG}/lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug) + message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") +endif() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c "${SOURCE_PATH_RELEASE}/configure --prefix=${OUT_PATH_RELEASE}" + WORKING_DIRECTORY "${SOURCE_PATH_RELEASE}" + LOGNAME "config-${TARGET_TRIPLET}-rel" + ) + message(STATUS "Building ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c "make -j ${VCPKG_CONCURRENCY}" + NO_PARALLEL_COMMAND ${BASH} --noprofile --norc -c "make" + WORKING_DIRECTORY "${SOURCE_PATH_RELEASE}" + LOGNAME "make-build-${TARGET_TRIPLET}-rel" + ) + message(STATUS "Installing ${TARGET_TRIPLET}-rel") + vcpkg_execute_required_process( + COMMAND ${BASH} --noprofile --norc -c "make install" + WORKING_DIRECTORY "${SOURCE_PATH_RELEASE}" + LOGNAME "make-install-${TARGET_TRIPLET}-rel" + ) + file(COPY ${OUT_PATH_RELEASE}/lib DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${OUT_PATH_RELEASE}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${OUT_PATH_RELEASE}/share DESTINATION ${CURRENT_PACKAGES_DIR}) + file(COPY ${OUT_PATH_RELEASE}/bin DESTINATION ${CURRENT_PACKAGES_DIR}) + message(STATUS "Installing ${TARGET_TRIPLET}-rel done") +endif() + +if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(INSTALL ${SOURCE_PATH_DEBUG}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openmpi RENAME copyright) +else() + file(INSTALL ${SOURCE_PATH_RELEASE}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openmpi RENAME copyright) +endif() diff --git a/ports/openmvg/CONTROL b/ports/openmvg/CONTROL index 90c10f3cd..7e7384a19 100644 --- a/ports/openmvg/CONTROL +++ b/ports/openmvg/CONTROL @@ -1,5 +1,5 @@ Source: openmvg -Version: 1.4-4 +Version: 1.4-6 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/portfile.cmake b/ports/openmvg/portfile.cmake index 04a7e57ee..9f517c11f 100644 --- a/ports/openmvg/portfile.cmake +++ b/ports/openmvg/portfile.cmake @@ -1,11 +1,6 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +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 vcpkg_check_linkage(ONLY_STATIC_LIBRARY) @@ -74,7 +69,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/openMVG/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) diff --git a/ports/openmvs/CONTROL b/ports/openmvs/CONTROL index f4863e175..1708205a8 100644 --- a/ports/openmvs/CONTROL +++ b/ports/openmvs/CONTROL @@ -1,4 +1,4 @@ Source: openmvs -Version: 1.0 +Version: 1.0-3 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 new file mode 100644 index 000000000..9f3ff50a7 --- /dev/null +++ b/ports/openmvs/boost-1.71.patch @@ -0,0 +1,13 @@ +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 + #endif + #define BOOST_NO_UNREACHABLE_RETURN_DETECTION + // include headers that implement serialization support diff --git a/ports/openmvs/cgal-5.0.patch b/ports/openmvs/cgal-5.0.patch new file mode 100755 index 000000000..042bf9dab --- /dev/null +++ b/ports/openmvs/cgal-5.0.patch @@ -0,0 +1,40 @@ +diff --git a/libs/MVS/DepthMap.cpp b/libs/MVS/DepthMap.cpp +index 12973ac..f6621f0 100644 +--- a/libs/MVS/DepthMap.cpp ++++ b/libs/MVS/DepthMap.cpp +@@ -1071,16 +1071,25 @@ void MVS::EstimatePointNormals(const ImageArr& images, PointCloud& pointcloud, i + // estimates normals direction; + // Note: pca_estimate_normals() requires an iterator over points + // as well as property maps to access each point's position and normal. +- #if CGAL_VERSION_NR < 1040800000 +- CGAL::pca_estimate_normals( +- #else +- CGAL::pca_estimate_normals( +- #endif +- pointvectors.begin(), pointvectors.end(), +- CGAL::First_of_pair_property_map(), +- CGAL::Second_of_pair_property_map(), +- numNeighbors +- ); ++ #if CGAL_VERSION_NR < 1041301000 ++ #if CGAL_VERSION_NR < 1040800000 ++ CGAL::pca_estimate_normals( ++ #else ++ CGAL::pca_estimate_normals( ++ #endif ++ pointvectors.begin(), pointvectors.end(), ++ CGAL::First_of_pair_property_map(), ++ CGAL::Second_of_pair_property_map(), ++ numNeighbors ++ ); ++ #else ++ CGAL::pca_estimate_normals( ++ pointvectors, ++ numNeighbors, ++ CGAL::parameters::point_map(CGAL::First_of_pair_property_map()) ++ .normal_map(CGAL::Second_of_pair_property_map()) ++ ); ++ #endif + // store the point normals + pointcloud.normals.Resize(pointcloud.points.GetSize()); + FOREACH(i, pointcloud.normals) { diff --git a/ports/openmvs/portfile.cmake b/ports/openmvs/portfile.cmake index 22945ab2e..eceb605b5 100644 --- a/ports/openmvs/portfile.cmake +++ b/ports/openmvs/portfile.cmake @@ -10,59 +10,31 @@ vcpkg_from_github( HEAD_REF master PATCHES glfw3_target_compat.patch + boost-1.71.patch + cgal-5.0.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DOpenMVS_USE_BREAKPAD=OFF + -DOpenMVS_USE_CUDA=OFF + -DINSTALL_CMAKE_DIR:STRING=share/openmvs + -DINSTALL_BIN_DIR:STRING=bin + -DINSTALL_LIB_DIR:STRING=lib + -DINSTALL_INCLUDE_DIR:STRING=include ) 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 TARGET_PATH share/openmvs) -else() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/CMake/OpenMVS TARGET_PATH share/openmvs) -endif() +vcpkg_fixup_cmake_targets() -#somehow the native CMAKE_EXECUTABLE_SUFFIX does not work, so here we emulate it -if(CMAKE_HOST_WIN32) -set(EXECUTABLE_SUFFIX ".exe") -else() -set(EXECUTABLE_SUFFIX "") -endif() - -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/DensifyPointCloud${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/InterfaceCOLMAP${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/InterfaceVisualSFM${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/ReconstructMesh${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/RefineMesh${EXECUTABLE_SUFFIX}) -file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/OpenMVS/TextureMesh${EXECUTABLE_SUFFIX}) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openmvs/) -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/DensifyPointCloud${EXECUTABLE_SUFFIX}") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/DensifyPointCloud${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/DensifyPointCloud${EXECUTABLE_SUFFIX}) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/InterfaceCOLMAP${EXECUTABLE_SUFFIX}") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/InterfaceCOLMAP${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/InterfaceCOLMAP${EXECUTABLE_SUFFIX}) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/InterfaceVisualSFM${EXECUTABLE_SUFFIX}") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/InterfaceVisualSFM${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/InterfaceVisualSFM${EXECUTABLE_SUFFIX}) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/ReconstructMesh${EXECUTABLE_SUFFIX}") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/ReconstructMesh${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/ReconstructMesh${EXECUTABLE_SUFFIX}) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/RefineMesh${EXECUTABLE_SUFFIX}") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/RefineMesh${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/RefineMesh${EXECUTABLE_SUFFIX}) -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/OpenMVS/TextureMesh${EXECUTABLE_SUFFIX}") - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/OpenMVS/TextureMesh${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openmvs/TextureMesh${EXECUTABLE_SUFFIX}) -endif() +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/openmvs) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/openmvs) - -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}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openmvs RENAME copyright) diff --git a/ports/openni2/CONTROL b/ports/openni2/CONTROL index 3d13ea26b..a8fa4a2ac 100644 --- a/ports/openni2/CONTROL +++ b/ports/openni2/CONTROL @@ -1,5 +1,5 @@ Source: openni2 -Version: 2.2.0.33-8 +Version: 2.2.0.33-11 Build-Depends: kinectsdk1 Homepage: https://github.com/OpenNI/OpenNI2 Description: OpenNI is open source library for access to Natural Interaction (NI) devices such as RGB-D camera. diff --git a/ports/openni2/portfile.cmake b/ports/openni2/portfile.cmake index 8ef2514b3..92071e537 100644 --- a/ports/openni2/portfile.cmake +++ b/ports/openni2/portfile.cmake @@ -1,8 +1,15 @@ include(vcpkg_common_functions) + if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "Error: UWP builds are currently not supported.") endif() +find_path(COR_H_PATH cor.h) +if(COR_H_PATH MATCHES "NOTFOUND") + message(FATAL_ERROR "Could not find . Ensure the NETFXSDK is installed.") +endif() +get_filename_component(NETFXSDK_PATH "${COR_H_PATH}/../.." ABSOLUTE) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) vcpkg_from_github( @@ -11,22 +18,14 @@ vcpkg_from_github( REF 2.2-beta2 SHA512 60a3a3043679f3069aea869e92dc5881328ce4393d4140ea8d089027321ac501ae27d283657214e2834d216d0d49bf4f29a4b3d3e43df27a6ed21f889cd0083f HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/upgrade_projects.patch" - "${CMAKE_CURRENT_LIST_DIR}/inherit_from_parent_or_project_defaults.patch" - "${CMAKE_CURRENT_LIST_DIR}/replace_environment_variable.patch" + PATCHES upgrade_projects.patch + inherit_from_parent_or_project_defaults.patch + replace_environment_variable.patch ) file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) file(COPY ${SOURCE_PATH} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) -get_filename_component(SOURCE_DIR_NAME "${SOURCE_PATH}" NAME) - -# Use fresh copy of sources for building and modification -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}/${SOURCE_DIR_NAME}") file(TO_NATIVE_PATH ${CURRENT_INSTALLED_DIR} NATIVE_INSTALLED_DIR) configure_file("${SOURCE_PATH}/Source/Drivers/Kinect/Kinect.vcxproj" "${SOURCE_PATH}/Source/Drivers/Kinect/Kinect.vcxproj" @ONLY) @@ -34,6 +33,7 @@ configure_file("${SOURCE_PATH}/Source/Drivers/Kinect/Kinect.vcxproj" "${SOURCE_P # Build OpenNI2 vcpkg_build_msbuild( PROJECT_PATH "${SOURCE_PATH}/OpenNI.sln" + OPTIONS "/p:DotNetSdkRoot=${NETFXSDK_PATH}/" ) # Install OpenNI2 @@ -46,7 +46,7 @@ endif() set(SOURCE_INCLUDE_PATH "${SOURCE_PATH}/Include") set(SOURCE_BIN_PATH_RELEASE "${SOURCE_PATH}/Bin/${PLATFORM}-Release") set(SOURCE_BIN_PATH_DEBUG "${SOURCE_PATH}/Bin/${PLATFORM}-Debug") -set(SOURCE_CONFIG_PATH "${SOURCE_PATH}/Config") +set(SOURCE_CONFIG_PATH ${SOURCE_PATH}/Config) set(SOURCE_THIRDPARTY_PATH "${SOURCE_PATH}/ThirdParty") file( diff --git a/ports/openscap/CONTROL b/ports/openscap/CONTROL new file mode 100644 index 000000000..631a0c794 --- /dev/null +++ b/ports/openscap/CONTROL @@ -0,0 +1,18 @@ +Source: openscap +Version: 1.3.1 +Homepage: https://github.com/OpenSCAP/openscap +Description: The oscap program is a command line tool that allows users to load, scan, validate, edit, and export SCAP documents. +Build-Depends: libxslt, libxml2, libzip, curl, pcre2, libpopt, pthread, glib, openssl, zlib + +Feature: docs +Description: install docs + +Feature: tests +Description: build with tests + +Feature: util +Description: build available utils +Build-Depends: getopt-win32 (windows) + +Feature: python +Description: build with python3 \ No newline at end of file diff --git a/ports/openscap/fix-build.patch b/ports/openscap/fix-build.patch new file mode 100644 index 000000000..57d22946b --- /dev/null +++ b/ports/openscap/fix-build.patch @@ -0,0 +1,121 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4de5b57..5f483a3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -140,15 +140,25 @@ find_package(SWIG) + find_package(LibXml2 REQUIRED) + find_package(LibXslt REQUIRED) + find_package(BZip2) ++find_package(OpenSSL REQUIRED) ++find_package(ZLIB REQUIRED) + + # PThread +-set(CMAKE_THREAD_PREFER_PTHREAD) +-set(THREADS_PREFER_PTHREAD_FLAG) +-set(THREADS_USE_PTHREADS_WIN32 true) +-find_package(Threads REQUIRED) +-check_library_exists(pthread pthread_timedjoin_np "" HAVE_PTHREAD_TIMEDJOIN_NP) +-check_library_exists(pthread pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP) +-check_library_exists(pthread pthread_getname_np "" HAVE_PTHREAD_GETNAME_NP) ++if (WIN32) ++ set(CMAKE_THREAD_PREFER_PTHREAD) ++ set(THREADS_PREFER_PTHREAD_FLAG) ++ set(THREADS_USE_PTHREADS_WIN32 true) ++ find_package(pthread CONFIG REQUIRED) ++ set(CMAKE_THREAD_LIBS_INIT ${PThreads4W_LIBRARY}) ++ check_library_exists(pthread pthread_timedjoin_np "" HAVE_PTHREAD_TIMEDJOIN_NP) ++ check_library_exists(pthread pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP) ++ check_library_exists(pthread pthread_getname_np "" HAVE_PTHREAD_GETNAME_NP) ++else() ++ set(THREADS_USE_PTHREADS_WIN32 -pthread) ++endif() ++ ++# OpenSSL ++link_libraries(OpenSSL::SSL OpenSSL::Crypto) + + # WITH_CRYPTO + set(WITH_CRYPTO "gcrypt" CACHE STRING "gcrypt|nss3") +@@ -373,19 +383,9 @@ message(STATUS "asciidoc: ${ASCIIDOC_EXECUTABLE}") + + # ---------- PATHS + +-if(WIN32) +- # Windows installer does not allow full paths. +- # The install path can be changed by user in Windows installer. +- # We will use relative names - "schemas", "xsl" and "cpe" +- # directories will be located in the same directory as oscap.exe. +- set(OSCAP_DEFAULT_SCHEMA_PATH "schemas") +- set(OSCAP_DEFAULT_XSLT_PATH "xsl") +- set(OSCAP_DEFAULT_CPE_PATH "cpe") +-else() +- set(OSCAP_DEFAULT_SCHEMA_PATH "${CMAKE_INSTALL_FULL_DATADIR}/openscap/schemas") +- set(OSCAP_DEFAULT_XSLT_PATH "${CMAKE_INSTALL_FULL_DATADIR}/openscap/xsl") +- set(OSCAP_DEFAULT_CPE_PATH "${CMAKE_INSTALL_FULL_DATADIR}/openscap/cpe") +-endif() ++set(OSCAP_DEFAULT_SCHEMA_PATH share/openscap/schemas) ++set(OSCAP_DEFAULT_XSLT_PATH share/openscap/xsl) ++set(OSCAP_DEFAULT_CPE_PATH share/openscap/cpe) + set(OSCAP_TEMP_DIR "/tmp" CACHE STRING "use different temporary directory to execute sce scripts (default=/tmp)") + + # ---------- RPATHS for linking +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index 2a3f373..781d05a 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -6,27 +6,32 @@ if(ENABLE_OSCAP_UTIL) + add_executable(oscap ${UTILS_SOURCES}) + target_link_libraries(oscap openscap) + if(WIN32) +- set(OSCAP_UTIL_DESTINATION ".") ++ find_path(GETOPT_INCLUDE_DIR getopt.h) ++ include(SelectLibraryConfigurations) ++ find_library(GETOPT_LIBRARY_RELEASE NAMES getopt) ++ find_library(GETOPT_LIBRARY_DEBUG NAMES getopt PATH_SUFFIXES debug/lib) ++ select_library_configurations(GETOPT) ++ ++ message("GETOPT_INCLUDE_DIR: ${GETOPT_INCLUDE_DIR}") ++ message("GETOPT_LIBRARY: ${GETOPT_LIBRARY}") ++ ++ target_include_directories(oscap PRIVATE ${GETOPT_INCLUDE_DIR}) ++ target_link_libraries(oscap PRIVATE ${GETOPT_LIBRARY}) ++ ++ set(OSCAP_UTIL_DESTINATION tools) + # Install the 'oscap' utility + install(TARGETS "oscap" + DESTINATION ${OSCAP_UTIL_DESTINATION} + ) +- # Install all recursively dependent DLLs for oscap.exe +- set(APPS "\${CMAKE_INSTALL_PREFIX}/oscap.exe") # the \ before $ is required by BundleUtilities +- set(VCPKG_DLL_DIR "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin") +- install(CODE " +- include(BundleUtilities) +- fixup_bundle(\"${APPS}\" \"\" \"${VCPKG_DLL_DIR}\") +- ") + else() +- set(OSCAP_UTIL_DESTINATION ${CMAKE_INSTALL_BINDIR}) ++ set(OSCAP_UTIL_DESTINATION tools) + # Install the 'oscap' utility + install(TARGETS "oscap" + DESTINATION ${OSCAP_UTIL_DESTINATION} + ) + # Install manual page + install(FILES "oscap.8" +- DESTINATION "${CMAKE_INSTALL_MANDIR}/man8" ++ DESTINATION share/openscap/man8 + ) + endif() + endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 9e18613..e84a21f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -125,4 +125,8 @@ else() + set(OPENSCAP_INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + +-install(TARGETS openscap DESTINATION ${OPENSCAP_INSTALL_DESTINATION}) ++install(TARGETS openscap ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) diff --git a/ports/openscap/portfile.cmake b/ports/openscap/portfile.cmake new file mode 100644 index 000000000..70f55be56 --- /dev/null +++ b/ports/openscap/portfile.cmake @@ -0,0 +1,45 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO OpenSCAP/openscap + REF 3a4c635691380fa990a226acc8558db35d7ebabc #1.3.1 + SHA512 12681d43b2ce067c5a5c4eb47e14d91d6e9362b1f98f1d35b05d79ad84c7ee8c29f438eaae8e8465033155e500bb0f936eb79af46fab15e4a07e03c6be8b655d + HEAD_REF dev + PATCHES + fix-build.patch +) + +if ("python" IN_LIST FEATURES) + vcpkg_find_acquire_program(PYTHON3) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + docs ENABLE_DOCS + tests ENABLE_TESTS + util ENABLE_OSCAP_UTIL + python ENABLE_PYTHON3 +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DPYTHON_EXECUTABLE=${PYTHON3} + -DENABLE_PERL=OFF + -DENABLE_MITRE=OFF + -DENABLE_VALGRIND=OFF + -DENABLE_OSCAP_UTIL_DOCKER=OFF + -DENABLE_OSCAP_UTIL_AS_RPM=OFF + -DENABLE_OSCAP_UTIL_SSH=OFF + -DENABLE_OSCAP_UTIL_VM=OFF + -DENABLE_OSCAP_UTIL_PODMAN=OFF + -DENABLE_OSCAP_UTIL_CHROOT=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +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/openssl-unix/CMakeLists.txt b/ports/openssl-unix/CMakeLists.txt index e8d916392..f9d94b1a2 100644 --- a/ports/openssl-unix/CMakeLists.txt +++ b/ports/openssl-unix/CMakeLists.txt @@ -76,9 +76,27 @@ file(WRITE "${BUILDDIR}/Configure" "${_contents}") if(BUILD_SHARED_LIBS) set(SHARED shared) + file(STRINGS "${BUILDDIR}/crypto/opensslv.h" SHLIB_VERSION + REGEX "^#[\t ]*define[\t ]+SHLIB_VERSION_NUMBER[\t ]+\".*\".*") + string(REGEX REPLACE "^.*SHLIB_VERSION_NUMBER[\t ]+\"([^\"]*)\".*$" "\\1" + SHLIB_VERSION "${SHLIB_VERSION}") + if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(LIB_EXT dylib) + set(LIB_EXTS ${SHLIB_VERSION}.${LIB_EXT}) + else() + set(LIB_EXT so) + set(LIB_EXTS ${LIB_EXT}.${SHLIB_VERSION}) + endif() + list(APPEND LIB_EXTS ${LIB_EXT}) else() set(SHARED no-shared) + set(LIB_EXTS a) endif() +foreach(lib ssl crypto) + foreach(ext ${LIB_EXTS}) + list(APPEND INSTALL_LIBS "${BUILDDIR}/lib${lib}.${ext}") + endforeach() +endforeach() if(CMAKE_HOST_WIN32) set(ENV_COMMAND set) @@ -130,10 +148,10 @@ add_custom_target(build_libs ALL VERBATIM WORKING_DIRECTORY "${BUILDDIR}" DEPENDS depend - BYPRODUCTS "${BUILDDIR}/libssl.a" "${BUILDDIR}/libcrypto.a" + BYPRODUCTS ${INSTALL_LIBS} ) install( - FILES "${BUILDDIR}/libssl.a" "${BUILDDIR}/libcrypto.a" + FILES ${INSTALL_LIBS} DESTINATION lib ) diff --git a/ports/openssl-unix/CONTROL b/ports/openssl-unix/CONTROL index 59f686133..873046ca8 100644 --- a/ports/openssl-unix/CONTROL +++ b/ports/openssl-unix/CONTROL @@ -1,3 +1,3 @@ Source: openssl-unix -Version: 1.0.2q +Version: 1.0.2s-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 b0064cdf4..a5915f1b9 100644 --- a/ports/openssl-unix/portfile.cmake +++ b/ports/openssl-unix/portfile.cmake @@ -1,16 +1,24 @@ +include(vcpkg_common_functions) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) message(FATAL_ERROR "This port is only for openssl on Unix-like systems") endif() -include(vcpkg_common_functions) -set(OPENSSL_VERSION 1.0.2q) +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") + message(WARNING "Can't build openssl if libressl is installed. Please remove libressl, and try install openssl again if you need it. Build will continue but there might be problems since libressl is only a subset of openssl") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + vcpkg_find_acquire_program(PERL) +set(OPENSSL_VERSION 1.0.2s) + vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 403e6cad42db3ba860c3fa4fa81c1b7b02f0b873259e5c19a7fc8e42de0854602555f1b1ca74f4e3a7737a4cbd3aac063061e628ec86534586500819fae7fec0 + SHA512 9f745452c4f777df694158e95003cde78a2cf8199bc481a563ec36644664c3c1415a774779b9791dd18f2aeb57fa1721cb52b3db12d025955e970071d5b66d2a ) vcpkg_extract_source_archive_ex( diff --git a/ports/openssl-uwp/CONTROL b/ports/openssl-uwp/CONTROL index aa0348e0b..c11c10124 100644 --- a/ports/openssl-uwp/CONTROL +++ b/ports/openssl-uwp/CONTROL @@ -1,3 +1,3 @@ Source: openssl-uwp -Version: 1.0.2r +Version: 1.0.2r-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-uwp/fix-uwp-rs4.patch b/ports/openssl-uwp/fix-uwp-rs4.patch deleted file mode 100644 index d5a33909e..000000000 --- a/ports/openssl-uwp/fix-uwp-rs4.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/ms/winrtdef.h b/ms/winrtdef.h -index b1a7598..6ba2e1d 100644 ---- a/ms/winrtdef.h -+++ b/ms/winrtdef.h -@@ -6,9 +6,11 @@ - #if defined(OPENSSL_WINAPP) - //Include stdio.h to replace fprintf - # include -+#if !defined(NTDDI_VERSION) || (NTDDI_VERSION < NTDDI_WIN10_RS4) - # ifdef getenv - # undef getenv - # endif -+#endif - # ifdef setenv - # undef setenv - # endif -@@ -32,7 +34,9 @@ - # undef GetModuleHandle - # define GetModuleHandle winrt_GetModuleHandle - # endif -+#if !defined(NTDDI_WIN10_RS4) || (NTDDI_VERSION < NTDDI_WIN10_RS4) - # define getenv winrt_getenv -+#endif - # define setenv winrt_getenv - - int winrt_GetTickCount(void); diff --git a/ports/openssl-uwp/portfile.cmake b/ports/openssl-uwp/portfile.cmake index 8efd7bd20..0a80bc326 100644 --- a/ports/openssl-uwp/portfile.cmake +++ b/ports/openssl-uwp/portfile.cmake @@ -1,11 +1,17 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "This portfile only supports UWP") endif() +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") + message(WARNING "Can't build openssl if libressl is installed. Please remove libressl, and try install openssl again if you need it. Build will continue but there might be problems since libressl is only a subset of openssl") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() + +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") set(UWP_PLATFORM "arm") elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") @@ -31,8 +37,7 @@ vcpkg_from_github( SHA512 3045693fca4b042b69675f6164d8cc82106582cf31081d65a0adbd528f04e77fa48b3761f3be7bdf8ab962a093b28fec0ae6d7da02058f2b049f79b784c39c2e HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-uwp-rs4.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-uwp-configure-unicode.patch + fix-uwp-configure-unicode.patch ) file(REMOVE_RECURSE ${SOURCE_PATH}/tmp32dll) diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL index bdbf764ab..eb1d910c8 100644 --- a/ports/openssl-windows/CONTROL +++ b/ports/openssl-windows/CONTROL @@ -1,3 +1,3 @@ Source: openssl-windows -Version: 1.0.2q-2 +Version: 1.0.2s-2 Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. diff --git a/ports/openssl-windows/portfile.cmake b/ports/openssl-windows/portfile.cmake index b5e505a3d..22dfe8274 100644 --- a/ports/openssl-windows/portfile.cmake +++ b/ports/openssl-windows/portfile.cmake @@ -1,19 +1,26 @@ +include(vcpkg_common_functions) + if(VCPKG_CMAKE_SYSTEM_NAME) message(FATAL_ERROR "This port is only for building openssl on Windows Desktop") endif() -include(vcpkg_common_functions) -set(OPENSSL_VERSION 1.0.2q) +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openssl/ssl.h") + message(WARNING "Can't build openssl if libressl is installed. Please remove libressl, and try install openssl again if you need it. Build will continue but there might be problems since libressl is only a subset of openssl") + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) + return() +endif() vcpkg_find_acquire_program(PERL) +set(OPENSSL_VERSION 1.0.2s) + 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" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 403e6cad42db3ba860c3fa4fa81c1b7b02f0b873259e5c19a7fc8e42de0854602555f1b1ca74f4e3a7737a4cbd3aac063061e628ec86534586500819fae7fec0 + SHA512 9f745452c4f777df694158e95003cde78a2cf8199bc481a563ec36644664c3c1415a774779b9791dd18f2aeb57fa1721cb52b3db12d025955e970071d5b66d2a ) vcpkg_extract_source_archive_ex( @@ -164,11 +171,11 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/openssl.exe ${CURRENT_PACKAGES_DIR}/debug/openssl.cnf - ${CURRENT_PACKAGES_DIR}/openssl.cnf ) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openssl/) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/openssl.exe ${CURRENT_PACKAGES_DIR}/tools/openssl/openssl.exe) +file(RENAME ${CURRENT_PACKAGES_DIR}/openssl.cnf ${CURRENT_PACKAGES_DIR}/tools/openssl/openssl.cnf) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/openssl) diff --git a/ports/openssl/CONTROL b/ports/openssl/CONTROL index a398b409d..b495ce0c3 100644 --- a/ports/openssl/CONTROL +++ b/ports/openssl/CONTROL @@ -1,5 +1,5 @@ Source: openssl -Version: 0 +Version: 1 Homepage: https://www.openssl.org Description: OpenSSL is an open source project that provides a robust, commercial-grade, and full-featured toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It is also a general-purpose cryptography library. Build-Depends: openssl-windows (windows), openssl-uwp (uwp), openssl-unix (!uwp&!windows) diff --git a/ports/openssl/portfile.cmake b/ports/openssl/portfile.cmake index 3d55c367f..4d25eff6b 100644 --- a/ports/openssl/portfile.cmake +++ b/ports/openssl/portfile.cmake @@ -1,2 +1,4 @@ +include(vcpkg_common_functions) + set(VCPKG_POLICY_EMPTY_PACKAGE enabled) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/openssl/) diff --git a/ports/opentracing/CONTROL b/ports/opentracing/CONTROL index c533de1f8..62f6dd303 100644 --- a/ports/opentracing/CONTROL +++ b/ports/opentracing/CONTROL @@ -1,4 +1,4 @@ Source: opentracing -Version: 1.5.1 -Description: C++ implementation of the OpenTracing API +Version: 1.5.1-1 +Description: C++ implementation of the OpenTracing API Homepage: https://opentracing.io diff --git a/ports/opentracing/portfile.cmake b/ports/opentracing/portfile.cmake index cf82ddbf6..595faf1cf 100644 --- a/ports/opentracing/portfile.cmake +++ b/ports/opentracing/portfile.cmake @@ -5,9 +5,9 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set( LOCAL_OPTIONS - -DBUILD_STATIC_LIBS=OFF - ) + set( LOCAL_OPTIONS + -DBUILD_STATIC_LIBS=OFF + ) else() message("Static building is only possible when compiling static and dynamic versions at the same time. Enabling both.") set(VCPKG_LIBRARY_LINKAGE dynamic) @@ -23,37 +23,36 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - ${OPTIONS} - ${LOCAL_OPTIONS} + OPTIONS + ${OPTIONS} + ${LOCAL_OPTIONS} ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/OpenTracing") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/OpenTracing) vcpkg_copy_pdbs() # Move DLLs to /bin if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/bin/opentracing.dll) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/bin/opentracing.dll) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/debug/bin/opentracing.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/opentracing.dll ${CURRENT_PACKAGES_DIR}/debug/bin/opentracing.dll) - # Fix targets - file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake RELEASE_CONFIG) - string(REPLACE "\${_IMPORT_PREFIX}/lib/opentracing.dll" - "\${_IMPORT_PREFIX}/bin/opentracing.dll" RELEASE_CONFIG ${RELEASE_CONFIG}) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake "${RELEASE_CONFIG}") + # Fix targets + file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake RELEASE_CONFIG) + string(REPLACE "\${_IMPORT_PREFIX}/lib/opentracing.dll" + "\${_IMPORT_PREFIX}/bin/opentracing.dll" RELEASE_CONFIG ${RELEASE_CONFIG}) + file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-release.cmake "${RELEASE_CONFIG}") - file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake DEBUG_CONFIG) - string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/opentracing.dll" - "\${_IMPORT_PREFIX}/debug/bin/opentracing.dll" DEBUG_CONFIG ${DEBUG_CONFIG}) - file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake "${DEBUG_CONFIG}") - endif() + file(READ ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake DEBUG_CONFIG) + string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/opentracing.dll" + "\${_IMPORT_PREFIX}/debug/bin/opentracing.dll" DEBUG_CONFIG ${DEBUG_CONFIG}) + file(WRITE ${CURRENT_PACKAGES_DIR}/share/opentracing/OpenTracingTargets-debug.cmake "${DEBUG_CONFIG}") + endif() endif() # Handle copyright diff --git a/ports/openvdb/0001-fix-cmake-modules.patch b/ports/openvdb/0001-fix-cmake-modules.patch deleted file mode 100644 index 03cc2461e..000000000 --- a/ports/openvdb/0001-fix-cmake-modules.patch +++ /dev/null @@ -1,207 +0,0 @@ -diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake -index 2d9d9d3..e9b4abc 100644 ---- a/cmake/FindBlosc.cmake -+++ b/cmake/FindBlosc.cmake -@@ -37,11 +37,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH( BLOSC_LOCATION include/blosc.h -- "$ENV{BLOSC_ROOT}" -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- ) -+FIND_PATH( BLOSC_LOCATION include/blosc.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc - REQUIRED_VARS BLOSC_LOCATION -@@ -53,7 +49,7 @@ IF ( BLOSC_FOUND ) - CACHE STRING "Blosc library directories") - - SET ( _blosc_library_name "blosc" ) -- -+ - # Static library setup - IF (Blosc_USE_STATIC_LIBS) - SET(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES}) -@@ -69,7 +65,7 @@ IF ( BLOSC_FOUND ) - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - ) -- -+ - # Static library tear down - IF (Blosc_USE_STATIC_LIBS) - SET( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP} ) -diff --git a/cmake/FindGLEW.cmake b/cmake/FindGLEW.cmake -index 0b72457..75951a6 100644 ---- a/cmake/FindGLEW.cmake -+++ b/cmake/FindGLEW.cmake -@@ -39,11 +39,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH( GLEW_LOCATION include/GL/glew.h -- "$ENV{GLEW_ROOT}" -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- ) -+FIND_PATH( GLEW_LOCATION include/GL/glew.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( GLEW - REQUIRED_VARS GLEW_LOCATION -diff --git a/cmake/FindGLFW3.cmake b/cmake/FindGLFW3.cmake -index cea0b86..07ea09e 100644 ---- a/cmake/FindGLFW3.cmake -+++ b/cmake/FindGLFW3.cmake -@@ -39,11 +39,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH( GLFW3_LOCATION include/GLFW/glfw3.h -- "$ENV{GLFW3_ROOT}" -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH --) -+FIND_PATH( GLFW3_LOCATION include/GLFW/glfw3.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( GLFW3 - REQUIRED_VARS GLFW3_LOCATION -@@ -59,7 +59,7 @@ IF (GLFW3_FOUND) - NO_CMAKE_SYSTEM_PATH - ) - ELSE (GLFW3_USE_STATIC_LIBS) -- FIND_LIBRARY ( GLFW3_glfw_LIBRARY glfw -+ FIND_LIBRARY ( GLFW3_glfw_LIBRARY glfw3dll - PATHS ${GLFW3_LOCATION}/lib - PATH_SUFFIXES ${GLFW3_PATH_SUFFIXES} - NO_DEFAULT_PATH -diff --git a/cmake/FindILMBase.cmake b/cmake/FindILMBase.cmake -index 664affd..5197110 100644 ---- a/cmake/FindILMBase.cmake -+++ b/cmake/FindILMBase.cmake -@@ -43,11 +43,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h -- "$ENV{ILMBASE_ROOT}" -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- ) -+FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( ILMBase - REQUIRED_VARS ILMBASE_LOCATION -@@ -70,11 +66,13 @@ IF ( ILMBASE_FOUND ) - SET ( IEXMATH_LIBRARY_NAME IexMath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) - SET ( ILMTHREAD_LIBRARY_NAME IlmThread-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) - SET ( IMATH_LIBRARY_NAME Imath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) -+ SET ( HALF_LIBRARY_NAME Half-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) - ELSE ( ILMBASE_NAMESPACE_VERSIONING ) - SET ( IEX_LIBRARY_NAME Iex ) - SET ( IEXMATH_LIBRARY_NAME IexMath ) - SET ( ILMTHREAD_LIBRARY_NAME IlmThread ) - SET ( IMATH_LIBRARY_NAME Imath ) -+ SET ( HALF_LIBRARY_NAME Half ) - ENDIF ( ILMBASE_NAMESPACE_VERSIONING ) - - SET ( ILMBASE_INCLUDE_DIRS -@@ -84,7 +82,7 @@ IF ( ILMBASE_FOUND ) - SET ( ILMBASE_LIBRARYDIR ${ILMBASE_LOCATION}/lib - CACHE STRING "ILMBase library directories") - SET ( ILMBASE_FOUND TRUE ) -- -+ - SET ( ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) - IF (Ilmbase_USE_STATIC_LIBS) - IF (APPLE) -@@ -129,14 +127,14 @@ IF ( ILMBASE_FOUND ) - ELSEIF (WIN32) - # Link library - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") -- FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} ) -+ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) - # Load library - SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") -- FIND_LIBRARY ( Ilmbase_HALF_DLL Half PATHS ${ILMBASE_LOCATION}/bin -+ FIND_LIBRARY ( Ilmbase_HALF_DLL ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LOCATION}/bin - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - ) -@@ -157,7 +155,7 @@ IF ( ILMBASE_FOUND ) - NO_SYSTEM_ENVIRONMENT_PATH - ) - ELSE (APPLE) -- FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} -+ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} - NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - ) -diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake -index 6d69c03..5ecf8fa 100644 ---- a/cmake/FindOpenEXR.cmake -+++ b/cmake/FindOpenEXR.cmake -@@ -38,11 +38,7 @@ - - FIND_PACKAGE ( PackageHandleStandardArgs ) - --FIND_PATH ( OPENEXR_LOCATION include/OpenEXR/OpenEXRConfig.h -- ENV OPENEXR_ROOT -- NO_DEFAULT_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- ) -+FIND_PATH ( OPENEXR_LOCATION include/OpenEXR/OpenEXRConfig.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( OpenEXR - REQUIRED_VARS OPENEXR_LOCATION -@@ -59,7 +55,7 @@ IF ( OPENEXR_FOUND ) - FILE ( STRINGS "${OPENEXR_LOCATION}/include/OpenEXR/OpenEXRConfig.h" _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR ") - STRING ( REGEX REPLACE "#define OPENEXR_VERSION_MINOR" "" _openexr_version_minor_unstrip "${_openexr_version_minor_string}") - STRING ( STRIP "${_openexr_version_minor_unstrip}" OPENEXR_VERSION_MINOR ) -- -+ - MESSAGE ( STATUS "Found OpenEXR v${OPENEXR_VERSION_MAJOR}.${OPENEXR_VERSION_MINOR} at ${OPENEXR_LOCATION}" ) - - IF ( OPENEXR_NAMESPACE_VERSIONING ) -@@ -67,7 +63,7 @@ IF ( OPENEXR_FOUND ) - ELSE ( OPENEXR_NAMESPACE_VERSIONING ) - SET ( ILMIMF_LIBRARY_NAME IlmImf ) - ENDIF ( OPENEXR_NAMESPACE_VERSIONING ) -- -+ - SET ( OPENEXR_INCLUDE_DIRS - ${OPENEXR_LOCATION}/include - ${OPENEXR_LOCATION}/include/OpenEXR -@@ -120,6 +116,5 @@ IF ( OPENEXR_FOUND ) - ENDIF () - - # SET( Openexr_ILMIMF_LIBRARY ${OPENEXR_ILMIMF_LIBRARY_PATH} CACHE STRING "Openexr's IlmImf library") -- --ENDIF ( OPENEXR_FOUND ) - -+ENDIF ( OPENEXR_FOUND ) -diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake -index 8a56ec0..9f5a7b4 100644 ---- a/cmake/FindTBB.cmake -+++ b/cmake/FindTBB.cmake -@@ -42,14 +42,7 @@ FIND_PACKAGE ( PackageHandleStandardArgs ) - - # SET ( TBB_FOUND FALSE ) - --FIND_PATH( TBB_LOCATION include/tbb/tbb.h -- "$ENV{TBB_ROOT}" -- NO_DEFAULT_PATH -- NO_CMAKE_ENVIRONMENT_PATH -- NO_CMAKE_PATH -- NO_SYSTEM_ENVIRONMENT_PATH -- NO_CMAKE_SYSTEM_PATH -- ) -+FIND_PATH( TBB_LOCATION include/tbb/tbb.h) - - FIND_PACKAGE_HANDLE_STANDARD_ARGS ( TBB - REQUIRED_VARS TBB_LOCATION diff --git a/ports/openvdb/0001-remove-pkgconfig.patch b/ports/openvdb/0001-remove-pkgconfig.patch new file mode 100644 index 000000000..01803d531 --- /dev/null +++ b/ports/openvdb/0001-remove-pkgconfig.patch @@ -0,0 +1,129 @@ +diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake +index 03e361e..b44f46d 100644 +--- a/cmake/FindBlosc.cmake ++++ b/cmake/FindBlosc.cmake +@@ -104,11 +104,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find blosc +- +-find_package(PkgConfig) +-pkg_check_modules(PC_Blosc QUIET blosc) +- + # ------------------------------------------------------------------------ + # Search for blosc include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindCppUnit.cmake b/cmake/FindCppUnit.cmake +index fb8a28b..fea685e 100644 +--- a/cmake/FindCppUnit.cmake ++++ b/cmake/FindCppUnit.cmake +@@ -106,11 +106,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find cppunit +- +-find_package(PkgConfig) +-pkg_check_modules(PC_CppUnit QUIET cppunit) +- + # ------------------------------------------------------------------------ + # Search for CppUnit include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake +index f0a0d7f..9f31355 100644 +--- a/cmake/FindIlmBase.cmake ++++ b/cmake/FindIlmBase.cmake +@@ -152,11 +152,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find IlmBase +- +-find_package(PkgConfig) +-pkg_check_modules(PC_IlmBase QUIET IlmBase) +- + # ------------------------------------------------------------------------ + # Search for IlmBase include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindLog4cplus.cmake b/cmake/FindLog4cplus.cmake +index 6890724..10dc931 100644 +--- a/cmake/FindLog4cplus.cmake ++++ b/cmake/FindLog4cplus.cmake +@@ -106,11 +106,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find log4cplus +- +-find_package(PkgConfig) +-pkg_check_modules(PC_Log4cplus QUIET log4cplus) +- + # ------------------------------------------------------------------------ + # Search for Log4cplus include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake +index 302c1df..3d00c3d 100644 +--- a/cmake/FindOpenEXR.cmake ++++ b/cmake/FindOpenEXR.cmake +@@ -145,11 +145,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find OpenEXR +- +-find_package(PkgConfig) +-pkg_check_modules(PC_OpenEXR QUIET OpenEXR) +- + # ------------------------------------------------------------------------ + # Search for OpenEXR include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/FindOpenVDB.cmake b/cmake/FindOpenVDB.cmake +index 783dfed..1fd43be 100644 +--- a/cmake/FindOpenVDB.cmake ++++ b/cmake/FindOpenVDB.cmake +@@ -153,11 +153,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find OpenVDB +- +-find_package(PkgConfig) +-pkg_check_modules(PC_OpenVDB QUIET OpenVDB) +- + # This CMake module supports being called from external packages AND from + # within the OpenVDB repository for building openvdb components with the + # core library build disabled. Determine where we are being called from: +diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake +index 01696ce..8fe73e5 100644 +--- a/cmake/FindTBB.cmake ++++ b/cmake/FindTBB.cmake +@@ -141,11 +141,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find Tbb +- +-find_package(PkgConfig) +-pkg_check_modules(PC_Tbb QUIET tbb) +- + # ------------------------------------------------------------------------ + # Search for tbb include DIR + # ------------------------------------------------------------------------ +diff --git a/cmake/OpenVDBGLFW3Setup.cmake b/cmake/OpenVDBGLFW3Setup.cmake +index 3a29dc7..4dc6269 100644 +--- a/cmake/OpenVDBGLFW3Setup.cmake ++++ b/cmake/OpenVDBGLFW3Setup.cmake +@@ -77,12 +77,6 @@ else() + endif() + endif() + +-# Additionally try and use pkconfig to find glfw, though we only use +-# pkg-config to re-direct to the cmake. In other words, glfw's cmake is +-# expected to be installed +-find_package(PkgConfig) +-pkg_check_modules(PC_glfw3 QUIET glfw3) +- + if(PC_glfw3_FOUND) + foreach(DIR ${PC_glfw3_LIBRARY_DIRS}) + list(APPEND _GLFW3_ROOT_SEARCH_DIR ${DIR}) diff --git a/ports/openvdb/0002-add-custom-options.patch b/ports/openvdb/0002-add-custom-options.patch deleted file mode 100644 index 5e8d49091..000000000 --- a/ports/openvdb/0002-add-custom-options.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b35ec70..801e7df 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -38,6 +38,9 @@ if(CCACHE_FOUND) - set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) - endif(CCACHE_FOUND) - -+OPTION ( OPENVDB_BUILD_TOOLS "Build OpenVDB utilities" OFF ) -+OPTION ( OPENVDB_STATIC "Build statically linked library" OFF ) -+OPTION ( OPENVDB_SHARED "Build dynamically linked library" ON ) - OPTION ( OPENVDB_BUILD_UNITTESTS "Build the OpenVDB unit tests" ON ) - OPTION ( OPENVDB_BUILD_DOCS "Build the OpenVDB documentation" OFF ) - OPTION ( OPENVDB_BUILD_PYTHON_MODULE "Build the pyopenvdb Python module" ON ) diff --git a/ports/openvdb/0002-fix-cmake-modules.patch b/ports/openvdb/0002-fix-cmake-modules.patch new file mode 100644 index 000000000..d758e5abf --- /dev/null +++ b/ports/openvdb/0002-fix-cmake-modules.patch @@ -0,0 +1,311 @@ +diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake +index ae84240..5630b6b 100644 +--- a/cmake/FindBlosc.cmake ++++ b/cmake/FindBlosc.cmake +@@ -86,7 +86,7 @@ may be provided to tell this module where to look. + Paths appended to all include and lib searches. + + #]=======================================================================] +- ++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 ) ++FIND_PATH( BLOSC_LOCATION include/blosc.h) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc ++ REQUIRED_VARS BLOSC_LOCATION ++ ) ++IF ( BLOSC_FOUND ) ++SET ( _blosc_library_name "blosc" ) ++ # Static library setup ++ IF (Blosc_USE_STATIC_LIBS) ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES}) ++ IF (WIN32) ++ SET ( _blosc_library_name "libblosc" ) ++ ELSE () ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") ++ ENDIF () ++ ENDIF() ++ FIND_LIBRARY ( BLOSC_blosc_LIBRARY ${_blosc_library_name} ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ # Static library tear down ++ IF (Blosc_USE_STATIC_LIBS) ++ SET( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP} ) ++ ENDIF() ++ SET( BLOSC_INCLUDE_DIR "${BLOSC_LOCATION}/include" CACHE STRING "Blosc include directory" ) ++ENDIF ( BLOSC_FOUND ) ++endif() +\ No newline at end of file +diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake +index c58083e..438fc83 100644 +--- a/cmake/FindIlmBase.cmake ++++ b/cmake/FindIlmBase.cmake +@@ -100,7 +100,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) +@@ -330,3 +330,144 @@ if(IlmBase_FOUND) + elseif(IlmBase_FIND_REQUIRED) + message(FATAL_ERROR "Unable to find IlmBase") + endif() ++else() ++FIND_PACKAGE ( PackageHandleStandardArgs ) ++FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS ( ILMBase ++ REQUIRED_VARS ILMBASE_LOCATION ++ ) ++OPTION ( ILMBASE_NAMESPACE_VERSIONING "Namespace versioning of libraries" ON ) ++ ++IF ( ILMBASE_FOUND ) ++ ++ FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR ") ++ STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" "" _ilmbase_version_major_unstrip "${_ilmbase_version_major_string}") ++ STRING ( STRIP "${_ilmbase_version_major_unstrip}" ILMBASE_VERSION_MAJOR ) ++ ++ FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR ") ++ STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MINOR" "" _ilmbase_version_minor_unstrip "${_ilmbase_version_minor_string}") ++ STRING ( STRIP "${_ilmbase_version_minor_unstrip}" ILMBASE_VERSION_MINOR ) ++ ++ IF ( ILMBASE_NAMESPACE_VERSIONING ) ++ SET ( IEX_LIBRARY_NAME Iex-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ SET ( IEXMATH_LIBRARY_NAME IexMath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ SET ( ILMTHREAD_LIBRARY_NAME IlmThread-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ SET ( IMATH_LIBRARY_NAME Imath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ SET ( HALF_LIBRARY_NAME Half-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} ) ++ ELSE ( ILMBASE_NAMESPACE_VERSIONING ) ++ SET ( IEX_LIBRARY_NAME Iex ) ++ SET ( IEXMATH_LIBRARY_NAME IexMath ) ++ SET ( ILMTHREAD_LIBRARY_NAME IlmThread ) ++ SET ( IMATH_LIBRARY_NAME Imath ) ++ SET ( HALF_LIBRARY_NAME Half ) ++ ENDIF ( ILMBASE_NAMESPACE_VERSIONING ) ++ ++ SET ( ILMBASE_INCLUDE_DIRS ++ ${ILMBASE_LOCATION}/include ++ ${ILMBASE_LOCATION}/include/OpenEXR ++ CACHE STRING "ILMBase include directories") ++ SET ( ILMBASE_LIBRARYDIR ${ILMBASE_LOCATION}/lib ++ CACHE STRING "ILMBase library directories") ++ SET ( ILMBASE_FOUND TRUE ) ++ ++ SET ( ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) ++ IF (Ilmbase_USE_STATIC_LIBS) ++ IF (APPLE) ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR} ) ++ ELSEIF (WIN32) ++ # Link library ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half_static PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex_static PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread_static PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath_static PATHS ${ILMBASE_LIBRARYDIR} ) ++ ELSE (APPLE) ++ SET ( CMAKE_FIND_LIBRARY_SUFFIXES ".a") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ ENDIF (APPLE) ++ ELSE (Ilmbase_USE_STATIC_LIBS) ++ IF (APPLE) ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR} ) ++ ELSEIF (WIN32) ++ # Link library ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ) ++ # Load library ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll") ++ FIND_LIBRARY ( Ilmbase_HALF_DLL ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LOCATION}/bin ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEX_DLL ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEXMATH_DLL ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_DLL ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IMATH_DLL ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ ELSE (APPLE) ++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} ++ NO_DEFAULT_PATH ++ NO_SYSTEM_ENVIRONMENT_PATH ++ ) ++ ENDIF (APPLE) ++ ENDIF () ++ # MUST reset ++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++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 98bd53d..c3b449e 100644 +--- a/cmake/FindOpenEXR.cmake ++++ b/cmake/FindOpenEXR.cmake +@@ -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) ++find_path(OPENEXR_INCLUDE_PATHS NAMES ImfRgbaFile.h PATH_SUFFIXES OpenEXR) ++ ++file(STRINGS "${OpenEXR_INCLUDE_DIRS}/OpenEXR/OpenEXRConfig.h" OPENEXR_CONFIG_H) ++ ++string(REGEX REPLACE "^.*define OPENEXR_VERSION_MAJOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MAJOR "${OPENEXR_CONFIG_H}") ++string(REGEX REPLACE "^.*define OPENEXR_VERSION_MINOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MINOR "${OPENEXR_CONFIG_H}") ++set(OpenEXR_LIB_SUFFIX "${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}") ++ ++include(SelectLibraryConfigurations) ++ ++if(NOT OpenEXR_BASE_LIBRARY) ++ find_library(OpenEXR_BASE_LIBRARY_RELEASE NAMES IlmImf-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_BASE_LIBRARY_DEBUG NAMES IlmImf-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_BASE) ++endif() ++ ++if(NOT OpenEXR_UTIL_LIBRARY) ++ find_library(OpenEXR_UTIL_LIBRARY_RELEASE NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_UTIL_LIBRARY_DEBUG NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_UTIL) ++endif() ++ ++if(NOT OpenEXR_HALF_LIBRARY) ++ find_library(OpenEXR_HALF_LIBRARY_RELEASE NAMES Half-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_HALF_LIBRARY_DEBUG NAMES Half-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_HALF) ++endif() ++ ++if(NOT OpenEXR_IEX_LIBRARY) ++ find_library(OpenEXR_IEX_LIBRARY_RELEASE NAMES Iex-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_IEX_LIBRARY_DEBUG NAMES Iex-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_IEX) ++endif() ++ ++if(NOT OpenEXR_MATH_LIBRARY) ++ find_library(OpenEXR_MATH_LIBRARY_RELEASE NAMES Imath-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_MATH_LIBRARY_DEBUG NAMES Imath-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_MATH) ++endif() ++ ++if(NOT OpenEXR_THREAD_LIBRARY) ++ find_library(OpenEXR_THREAD_LIBRARY_RELEASE NAMES IlmThread-${OpenEXR_LIB_SUFFIX}) ++ find_library(OpenEXR_THREAD_LIBRARY_DEBUG NAMES IlmThread-${OpenEXR_LIB_SUFFIX}_d) ++ select_library_configurations(OpenEXR_THREAD) ++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) ++ select_library_configurations(OpenEXR_IEXMATH) ++endif() ++ ++set(OPENEXR_HALF_LIBRARY "${OpenEXR_HALF_LIBRARY}") ++set(OPENEXR_IEX_LIBRARY "${OpenEXR_IEX_LIBRARY}") ++set(OPENEXR_IMATH_LIBRARY "${OpenEXR_MATH_LIBRARY}") ++set(OPENEXR_ILMIMF_LIBRARY "${OpenEXR_BASE_LIBRARY}") ++set(OPENEXR_ILMIMFUTIL_LIBRARY "${OpenEXR_UTIL_LIBRARY}") ++set(OPENEXR_ILMTHREAD_LIBRARY "${OpenEXR_THREAD_LIBRARY}") ++ ++set(OpenEXR_LIBRARY "${OpenEXR_BASE_LIBRARY}") ++ ++set(OpenEXR_LIBRARIES ++ ${OpenEXR_LIBRARY} ++ ${OpenEXR_MATH_LIBRARY} ++ ${OpenEXR_IEXMATH_LIBRARY} ++ ${OpenEXR_UTIL_LIBRARY} ++ ${OpenEXR_HALF_LIBRARY} ++ ${OpenEXR_IEX_LIBRARY} ++ ${OpenEXR_THREAD_LIBRARY} ++) ++ ++set(OPENEXR_LIBRARIES ++ ${OPENEXR_HALF_LIBRARY} ++ ${OPENEXR_IEX_LIBRARY} ++ ${OPENEXR_IMATH_LIBRARY} ++ ${OPENEXR_ILMIMF_LIBRARY} ++ ${OPENEXR_ILMTHREAD_LIBRARY} ++) ++ ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR REQUIRED_VARS OpenEXR_LIBRARIES OpenEXR_INCLUDE_DIRS) ++ ++if(OpenEXR_FOUND) ++ set(OPENEXR_FOUND 1) ++endif() ++endif() +\ No newline at end of file diff --git a/ports/openvdb/0003-build-only-necessary-targets.patch b/ports/openvdb/0003-build-only-necessary-targets.patch deleted file mode 100644 index 8be8263a5..000000000 --- a/ports/openvdb/0003-build-only-necessary-targets.patch +++ /dev/null @@ -1,282 +0,0 @@ -diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt -index 9404dbc..94daf8c 100644 ---- a/openvdb/CMakeLists.txt -+++ b/openvdb/CMakeLists.txt -@@ -29,28 +29,31 @@ PROJECT ( OpenVDBCore ) - - set(CMAKE_CXX_STANDARD 11) - -+IF ( OPENVDB_BUILD_TOOLS ) - IF ( USE_GLFW3 ) - FIND_PACKAGE ( GLFW3 REQUIRED ) - SET ( OPENVDB_USE_GLFW_FLAG "-DOPENVDB_USE_GLFW_3" ) - IF ( UNIX AND NOT APPLE ) -- SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" ) -- ENDIF ( UNIX AND NOT APPLE ) -+ SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" ) -+ ENDIF () - SET ( GLFW_LINK_LIBRARY ${GLFW3_glfw_LIBRARY} ) - SET ( GLFW_INCLUDE_DIRECTORY ${GLFW3_INCLUDE_DIR} CACHE STRING "GLFW3 include directory") - ELSE () - FIND_PACKAGE ( GLFW REQUIRED ) - IF ( UNIX AND NOT APPLE ) -- SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" ) -+ SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" ) - ENDIF () - SET ( GLFW_LINK_LIBRARY ${GLFW_glfw_LIBRARY} ) - SET ( GLFW_INCLUDE_DIRECTORY ${GLFW_INCLUDE_DIR} CACHE STRING "GLFW include directory") - ENDIF () -+ENDIF () - -+IF ( OPENVDB_BUILD_TOOLS ) - IF (WIN32) - FIND_PACKAGE ( GLEW REQUIRED ) --ELSE () -- FIND_PACKAGE ( Threads REQUIRED ) --ENDIF() -+ENDIF () -+ENDIF () -+FIND_PACKAGE ( Threads REQUIRED ) - - # Determine OpenVDB version - #define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER 4 -@@ -130,7 +133,12 @@ INCLUDE_DIRECTORIES ( SYSTEM ${BLOSC_INCLUDE_DIR} ) - INCLUDE_DIRECTORIES ( SYSTEM ${CPPUNIT_INCLUDE_DIR} ) - - IF (WIN32) -- ADD_DEFINITIONS ( -D_WIN32 -DNOMINMAX -DHALF_EXPORTS -DOPENVDB_DLL ) -+ ADD_DEFINITIONS ( -D__TBB_NO_IMPLICIT_LINKAGE ) -+ ADD_DEFINITIONS ( -D__TBBMALLOC_NO_IMPLICIT_LINKAGE ) -+ ADD_DEFINITIONS ( -D_WIN32 -DNOMINMAX ) -+ IF ( OPENVDB_SHARED ) -+ ADD_DEFINITIONS ( -DOPENEXR_DLL -DOPENVDB_DLL ) -+ ENDIF () - ELSE () - ADD_DEFINITIONS ( -pthread -fPIC ) - ENDIF () -@@ -170,16 +178,21 @@ SET ( OPENVDB_LIBRARY_SOURCE_FILES - - SET_SOURCE_FILES_PROPERTIES ( ${OPENVDB_LIBRARY_SOURCE_FILES} - PROPERTIES -- COMPILE_FLAGS "-DOPENVDB_PRIVATE -DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}" -+ COMPILE_FLAGS "-DOPENVDB_PRIVATE -DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$:/bigobj>" - ) -- -+ -+IF ( OPENVDB_STATIC ) - ADD_LIBRARY ( openvdb_static STATIC - ${OPENVDB_LIBRARY_SOURCE_FILES} - ) -+ENDIF () -+IF ( OPENVDB_SHARED ) - ADD_LIBRARY ( openvdb_shared SHARED - ${OPENVDB_LIBRARY_SOURCE_FILES} - ) -+ENDIF () - -+IF ( OPENVDB_STATIC ) - TARGET_LINK_LIBRARIES ( openvdb_static - ${Boost_IOSTREAMS_LIBRARY} - ${Boost_SYSTEM_LIBRARY} -@@ -188,6 +201,8 @@ TARGET_LINK_LIBRARIES ( openvdb_static - ${ZLIB_LIBRARY} - ${BLOSC_blosc_LIBRARY} - ) -+ENDIF () -+IF ( OPENVDB_SHARED ) - TARGET_LINK_LIBRARIES ( openvdb_shared - ${Boost_IOSTREAMS_LIBRARY} - ${Boost_SYSTEM_LIBRARY} -@@ -196,7 +211,9 @@ TARGET_LINK_LIBRARIES ( openvdb_shared - ${ZLIB_LIBRARY} - ${BLOSC_blosc_LIBRARY} - ) -+ENDIF () - -+IF ( OPENVDB_STATIC ) - IF (WIN32) - SET_TARGET_PROPERTIES ( openvdb_static - PROPERTIES OUTPUT_NAME libopenvdb -@@ -205,8 +222,10 @@ ELSE() - SET_TARGET_PROPERTIES ( openvdb_static - PROPERTIES OUTPUT_NAME openvdb - ) --ENDIF() -+ENDIF () -+ENDIF () - -+IF ( OPENVDB_SHARED ) - SET_TARGET_PROPERTIES( - openvdb_shared - PROPERTIES -@@ -214,13 +233,15 @@ SET_TARGET_PROPERTIES( - SOVERSION ${OPENVDB_MAJOR_VERSION_NUMBER}.${OPENVDB_MINOR_VERSION_NUMBER} - VERSION ${OPENVDB_MAJOR_VERSION_NUMBER}.${OPENVDB_MINOR_VERSION_NUMBER}.${OPENVDB_PATCH_VERSION_NUMBER} - ) -+ENDIF () - - SET ( VDB_PRINT_SOURCE_FILES cmd/openvdb_print/main.cc ) - SET_SOURCE_FILES_PROPERTIES ( ${VDB_PRINT_SOURCE_FILES} - PROPERTIES -- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}" -+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$:/bigobj>" - ) - -+IF ( OPENVDB_BUILD_TOOLS ) - ADD_EXECUTABLE ( vdb_print - ${VDB_PRINT_SOURCE_FILES} - ) -@@ -229,14 +250,19 @@ TARGET_LINK_LIBRARIES ( vdb_print - openvdb_shared - ${CMAKE_THREAD_LIBS_INIT} - ${BLOSC_blosc_LIBRARY} -+ ) -+ -+IF (NOT WIN32) -+TARGET_LINK_LIBRARIES ( vdb_print - m - stdc++ - ) -+ENDIF () - - SET ( VDB_RENDER_SOURCE_FILES cmd/openvdb_render/main.cc ) - SET_SOURCE_FILES_PROPERTIES ( ${VDB_RENDER_SOURCE_FILES} - PROPERTIES -- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}" -+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$:/bigobj>" - ) - ADD_EXECUTABLE ( vdb_render - ${VDB_RENDER_SOURCE_FILES} -@@ -249,9 +275,14 @@ TARGET_LINK_LIBRARIES ( vdb_render - ${Openexr_ILMIMF_LIBRARY} - ${Ilmbase_ILMTHREAD_LIBRARY} - ${Ilmbase_IEX_LIBRARY} -+ ) -+ -+IF (NOT WIN32) -+TARGET_LINK_LIBRARIES ( vdb_render - m - stdc++ - ) -+ENDIF () - - SET ( VDB_VIEW_SOURCE_FILES - cmd/openvdb_view/main.cc -@@ -263,29 +294,38 @@ SET ( VDB_VIEW_SOURCE_FILES - ) - SET_SOURCE_FILES_PROPERTIES ( ${VDB_VIEW_SOURCE_FILES} - PROPERTIES -- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} -DGL_GLEXT_PROTOTYPES=1" -+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} -DGL_GLEXT_PROTOTYPES=1 $<$:/bigobj>" -+ ) -+ -+ADD_EXECUTABLE ( vdb_view -+ ${VDB_VIEW_SOURCE_FILES} - ) --IF (NOT WIN32) -- ADD_EXECUTABLE ( vdb_view -- ${VDB_VIEW_SOURCE_FILES} -- ) - -- target_include_directories ( vdb_view SYSTEM PRIVATE ${Boost_INCLUDE_DIR} ) -+target_include_directories ( vdb_view SYSTEM PRIVATE ${Boost_INCLUDE_DIR} ) - -- TARGET_LINK_LIBRARIES ( vdb_view -- openvdb_shared -- ${Boost_THREAD_LIBRARY} -- ${OPENGL_gl_LIBRARY} -- ${OPENGL_glu_LIBRARY} -- ${COCOA_LIBRARY} -- ${IOKIT_LIBRARY} -- ${COREVIDEO_LIBRARY} -- ${GLFW_LINK_LIBRARY} -- ${GLFW_DEPENDENT_LIBRARIES} -- ${GLEW_GLEW_LIBRARY} -- m -- stdc++ -- ) -+TARGET_LINK_LIBRARIES ( vdb_view -+ openvdb_shared -+ ${Boost_LIBRARIES} -+ ${OPENGL_gl_LIBRARY} -+ ${OPENGL_glu_LIBRARY} -+ ${GLFW_LINK_LIBRARY} -+ ${GLFW_DEPENDENT_LIBRARIES} -+ ${GLEW_GLEW_LIBRARY} -+ ) -+IF (APPLE) -+TARGET_LINK_LIBRARIES ( vdb_view -+ ${COCOA_LIBRARY} -+ ${IOKIT_LIBRARY} -+ ${COREVIDEO_LIBRARY} -+) -+ENDIF () -+IF (NOT WIN32) -+TARGET_LINK_LIBRARIES ( vdb_view -+ m -+ stdc++ -+ ) -+ -+ENDIF () - ENDIF () - - SET ( UNITTEST_SOURCE_FILES -@@ -398,7 +438,7 @@ IF ( OPENVDB_BUILD_UNITTESTS ) - - ADD_TEST ( vdb_unit_test vdb_test ) - --ENDIF (OPENVDB_BUILD_UNITTESTS) -+ENDIF () - - # Doxygen docmentation - IF (OPENVDB_BUILD_DOCS) -@@ -419,26 +459,29 @@ IF (OPENVDB_BUILD_DOCS) - ENDIF () - - # Installation --IF ( NOT WIN32 ) -+IF ( OPENVDB_BUILD_TOOLS ) - INSTALL ( TARGETS - vdb_view - DESTINATION - bin - ) -+ INSTALL ( TARGETS -+ vdb_print -+ vdb_render -+ DESTINATION -+ bin -+ ) - ENDIF () --INSTALL ( TARGETS -- vdb_print -- vdb_render -- DESTINATION -- bin -- ) - --INSTALL ( TARGETS -- openvdb_static -- DESTINATION -- lib -- ) -+IF ( OPENVDB_STATIC) -+ INSTALL ( TARGETS -+ openvdb_static -+ DESTINATION -+ lib -+ ) -+ENDIF () - -+IF ( OPENVDB_SHARED ) - IF (WIN32) - INSTALL ( TARGETS - openvdb_shared -@@ -452,6 +495,7 @@ ELSE() - lib - ) - ENDIF () -+ENDIF () - - INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION include - FILES_MATCHING PATTERN "*.h" diff --git a/ports/openvdb/0003-fix-cmake.patch b/ports/openvdb/0003-fix-cmake.patch new file mode 100644 index 000000000..b25bdbd08 --- /dev/null +++ b/ports/openvdb/0003-fix-cmake.patch @@ -0,0 +1,130 @@ +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 89301bd..e363a13 100644 +--- a/openvdb/CMakeLists.txt ++++ b/openvdb/CMakeLists.txt +@@ -71,16 +71,10 @@ message(STATUS "----------------------------------------------------") + # Collect and configure lib dependencies + + if(USE_EXR) +- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED) +- find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED) ++ find_package(IlmBase REQUIRED) ++ 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(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() + + # 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 +- IlmBase::Half ++ ${Ilmbase_HALF_LIBRARY} + ) + + if(USE_EXR) + list(APPEND OPENVDB_CORE_DEPENDENT_LIBS +- IlmBase::IlmThread +- IlmBase::Iex +- IlmBase::Imath +- OpenEXR::IlmImf ++ ${Ilmbase_ILMTHREAD_LIBRARY} ++ ${Ilmbase_IEX_LIBRARY} ++ ${Ilmbase_IMATH_LIBRARY} ++ ${OPENEXR_ILMIMF_LIBRARY} + ) + endif() + +@@ -152,7 +146,7 @@ endif() + # See FindOpenVDB.cmake + + if(USE_BLOSC) +- list(APPEND OPENVDB_CORE_DEPENDENT_LIBS Blosc::blosc) ++ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS ${BLOSC_blosc_LIBRARY}) + endif() + + list(APPEND OPENVDB_CORE_DEPENDENT_LIBS +@@ -187,7 +181,11 @@ endif() + + # @todo Should be target definitions + if(WIN32) +- add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_DLL) ++ add_definitions(-D_WIN32 -DNOMINMAX) ++ add_definitions(-D__TBB_NO_IMPLICIT_LINKAGE -D__TBBMALLOC_NO_IMPLICIT_LINKAGE) ++ if (OPENVDB_SHARED) ++ add_definitions(-DOPENEXR_DLL -DOPENVDB_DLL) ++ endif() + endif() + + ##### Core library configuration +@@ -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() ++list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "$<$:/bigobj>") + + # Public defines + +diff --git a/openvdb/cmd/CMakeLists.txt b/openvdb/cmd/CMakeLists.txt +index 57fbec0..d817044 100644 +--- a/openvdb/cmd/CMakeLists.txt ++++ b/openvdb/cmd/CMakeLists.txt +@@ -155,9 +155,9 @@ if(OPENVDB_BUILD_VDB_RENDER) + # headers + + target_link_libraries(vdb_render +- OpenEXR::IlmImf +- IlmBase::IlmThread +- IlmBase::Iex ++ ${OPENEXR_ILMIMF_LIBRARY} ++ ${Ilmbase_ILMTHREAD_LIBRARY} ++ ${Ilmbase_IEX_LIBRARY} + ${OPENVDB_BINARIES_DEPENDENT_LIBS} + ) + diff --git a/ports/openvdb/0004-add-necessary-head.patch b/ports/openvdb/0004-add-necessary-head.patch deleted file mode 100644 index bbe7246b1..000000000 --- a/ports/openvdb/0004-add-necessary-head.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/openvdb/viewer/ClipBox.h b/openvdb/viewer/ClipBox.h -index ad62d39..c68c5be 100644 ---- a/openvdb/viewer/ClipBox.h -+++ b/openvdb/viewer/ClipBox.h -@@ -37,6 +37,7 @@ - #include - #include - #else -+#include - #include - #include - #endif -diff --git a/openvdb/viewer/Font.h b/openvdb/viewer/Font.h -index da62993..b341165 100644 ---- a/openvdb/viewer/Font.h -+++ b/openvdb/viewer/Font.h -@@ -37,6 +37,7 @@ - #include - #include - #else -+#include - #include - #include - #endif -diff --git a/openvdb/viewer/RenderModules.h b/openvdb/viewer/RenderModules.h -index b9fa5b1..fd38a50 100644 ---- a/openvdb/viewer/RenderModules.h -+++ b/openvdb/viewer/RenderModules.h -@@ -31,6 +31,7 @@ - #ifndef OPENVDB_VIEWER_RENDERMODULES_HAS_BEEN_INCLUDED - #define OPENVDB_VIEWER_RENDERMODULES_HAS_BEEN_INCLUDED - -+#include - #include - #include - #include -@@ -41,6 +42,7 @@ - #include - - #if defined(__APPLE__) || defined(MACOSX) -+#include - #include - #include - #else -diff --git a/openvdb/viewer/Viewer.cc b/openvdb/viewer/Viewer.cc -index 31bb7a4..88bd308 100644 ---- a/openvdb/viewer/Viewer.cc -+++ b/openvdb/viewer/Viewer.cc -@@ -31,9 +31,9 @@ - #include "Viewer.h" - - #include "Camera.h" -+#include "RenderModules.h" - #include "ClipBox.h" - #include "Font.h" --#include "RenderModules.h" - #include // for formattedInt() - #include - #include diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL index 77a06c78c..ab9540980 100644 --- a/ports/openvdb/CONTROL +++ b/ports/openvdb/CONTROL @@ -1,6 +1,6 @@ Source: openvdb -Version: 6.0.0-2 -Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess +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/blosc.patch b/ports/openvdb/blosc.patch deleted file mode 100644 index 2b9782a1b..000000000 --- a/ports/openvdb/blosc.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake -index 5ac3780c..61ba83bc 100644 ---- a/cmake/FindBlosc.cmake -+++ b/cmake/FindBlosc.cmake -@@ -45,8 +45,8 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc - - IF ( BLOSC_FOUND ) - -- SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib -- CACHE STRING "Blosc library directories") -+# SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib -+# CACHE STRING "Blosc library directories") - - SET ( _blosc_library_name "blosc" ) - -@@ -61,8 +61,6 @@ IF ( BLOSC_FOUND ) - ENDIF() - - FIND_LIBRARY ( BLOSC_blosc_LIBRARY ${_blosc_library_name} -- PATHS ${BLOSC_LIBRARYDIR} -- NO_DEFAULT_PATH - NO_SYSTEM_ENVIRONMENT_PATH - ) - diff --git a/ports/openvdb/portfile.cmake b/ports/openvdb/portfile.cmake index d1c4cb8ce..dd09fbb40 100644 --- a/ports/openvdb/portfile.cmake +++ b/ports/openvdb/portfile.cmake @@ -1,19 +1,17 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO AcademySoftwareFoundation/openvdb - REF v6.0.0 - SHA512 6b9e267fff46647b39e1e6faa12059442196c1858df1fda1515cfc375e25bc3033e2828c80e63a652509cfba386376e022cebf81ec85aaccece421b0c721529b + REF aebaf8d95be5e57fd33949281ec357db4a576c2e # v6.2.1 + SHA512 e5cf03e77ed0600252cb97aa4bbf9468345ad037a3053626900bd8233e89720f981f0706e5103c2d33ea9c246ba1cf695af68e60d395e5be90e655f2e127db9b HEAD_REF master PATCHES - 0001-fix-cmake-modules.patch - 0002-add-custom-options.patch - 0003-build-only-necessary-targets.patch - 0004-add-necessary-head.patch - blosc.patch + 0001-remove-pkgconfig.patch + 0002-fix-cmake-modules.patch + 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) @@ -26,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() @@ -38,30 +36,37 @@ vcpkg_configure_cmake( -DOPENVDB_BUILD_PYTHON_MODULE=OFF -DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF -DUSE_GLFW3=ON - -DOPENVDB_STATIC=${OPENVDB_STATIC} - -DOPENVDB_SHARED=${OPENVDB_SHARED} - -DOPENVDB_BUILD_TOOLS=${OPENVDB_BUILD_TOOLS} + -DOPENVDB_CORE_STATIC=${OPENVDB_STATIC} + -DOPENVDB_CORE_SHARED=${OPENVDB_SHARED} + -DOPENVDB_BUILD_VDB_PRINT=${OPENVDB_BUILD_TOOLS} + -DOPENVDB_BUILD_VDB_VIEW=${OPENVDB_BUILD_TOOLS} + #-DOPENVDB_BUILD_VDB_RENDER=${OPENVDB_BUILD_TOOLS} # Enable vdb_render when https://github.com/openexr/openexr/issues/302 is fixed + -DOPENVDB_BUILD_VDB_LOD=${OPENVDB_BUILD_TOOLS} ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/OpenVDB TARGET_PATH share/openvdb) + vcpkg_copy_pdbs() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) if (OPENVDB_BUILD_TOOLS) # copy tools to tools/openvdb directory file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/) file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_print.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_print.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_render.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_render.exe) - file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_view.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_view.exe) + #file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_render.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_render.exe) + #file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_view.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_view.exe) # vdb_view does not support win32 currently. + file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_lod.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_lod.exe) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) # remove debug versions of tools - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_render.exe) file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_print.exe) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_view.exe) + #file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_render.exe) + #file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_view.exe) # vdb_view does not support win32 currently. + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_lod.exe) 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..2b005d608 100644 --- a/ports/openvpn3/CMakeLists.txt +++ b/ports/openvpn3/CMakeLists.txt @@ -12,10 +12,10 @@ 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) 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 +26,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..23292afac 100644 --- a/ports/openvpn3/CONTROL +++ b/ports/openvpn3/CONTROL @@ -1,4 +1,4 @@ Source: openvpn3 -Version: 2018-03-21-1 +Version: 3.4.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/openvr/CONTROL b/ports/openvr/CONTROL index 6e43972bf..440cd2092 100644 --- a/ports/openvr/CONTROL +++ b/ports/openvr/CONTROL @@ -1,4 +1,4 @@ Source: openvr -Version: 1.4.18 +Version: 1.5.17 Homepage: https://github.com/ValveSoftware/openvr Description: an API and runtime that allows access to VR hardware from multiple vendors without requiring that applications have specific knowledge of the hardware they are targeting. diff --git a/ports/openvr/portfile.cmake b/ports/openvr/portfile.cmake index ca2902f50..14666c44c 100644 --- a/ports/openvr/portfile.cmake +++ b/ports/openvr/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ValveSoftware/openvr - REF 02bc73b9bcfe9cc2d2802bd5fdc91f724de8ef10 - SHA512 5b0b954b09570dcf72f0340d6bcc0a5ba9e754babf33aaee35c9d45ce08f5256643692705b014b8c94b098b554e7882a837cf6a2c25e946e6bc69ba3b9db0ede + REF cdaf2b330c8df58986391b253cd8f04328139823 + SHA512 4ed4e7760d45b2b456e2e8b3b59eb394784225c1fade1fffae87110a5f29bcfc2585fcc6f05e220f064982d67101d0d1a76017f071f4d2f65663795d691fc523 HEAD_REF master ) diff --git a/ports/openxr-loader/CONTROL b/ports/openxr-loader/CONTROL new file mode 100644 index 000000000..0088df713 --- /dev/null +++ b/ports/openxr-loader/CONTROL @@ -0,0 +1,7 @@ +Source: openxr-loader +Version: 1.0.3.0 +Description: Khronos API for abstracting VR/MR/AR hardware + +Feature: vulkan +Description: Vulkan functionality for OpenXR +Build-Depends: vulkan diff --git a/ports/openxr-loader/portfile.cmake b/ports/openxr-loader/portfile.cmake new file mode 100644 index 000000000..19e2cda6c --- /dev/null +++ b/ports/openxr-loader/portfile.cmake @@ -0,0 +1,54 @@ +if (VCPKG_TARGET_ARCHITECTURE MATCHES "^arm*") + message(FATAL_ERROR "OpenXR does not support arm") +endif() + +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + # Due to UWP restricting the usage of static CRT OpenXR cannot be built. + message(FATAL_ERROR "OpenXR does not support UWP") +endif() + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jherico/OpenXR-SDK + REF e3dcdb820fae01fb8d25dfd32e15d14caa14b411 + SHA512 421eb3651e388b69d70d3200a1c40d363c0ac9eb1d35c89a53430ea764dd3dd0e864b756dfff0e0f98ac574309331782c95a1cadcfe84eb5a6c34434737d7a38 + HEAD_REF master +) + +# Weird behavior inside the OpenXR loader. On Windows they force shared libraries to use static crt, and +# vice-versa. Might be better in future iterations to patch the CMakeLists.txt for OpenXR +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(DYNAMIC_LOADER OFF) + set(VCPKG_CRT_LINKAGE dynamic) + else() + set(DYNAMIC_LOADER ON) + set(VCPKG_CRT_LINKAGE static) + endif() +endif() + +vcpkg_find_acquire_program(PYTHON3) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_API_LAYERS=OFF + -DBUILD_TESTS=OFF + -DBUILD_CONFORMANCE_TESTS=OFF + -DDYNAMIC_LOADER=${DYNAMIC_LOADER} + -DPYTHON_EXECUTABLE=${PYTHON3} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +# No CMake files are contained in /share only docs +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openxr-loader RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/opusfile/CMakeLists.txt b/ports/opusfile/CMakeLists.txt index c70ea98bc..ecef1d01f 100644 --- a/ports/opusfile/CMakeLists.txt +++ b/ports/opusfile/CMakeLists.txt @@ -1,7 +1,9 @@ cmake_minimum_required(VERSION 3.4) project(opusfile C) +if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4267 /wd4244 /wd4090") +endif() find_path(OGG_INCLUDE_DIR ogg/ogg.h) find_library(OGG_LIBRARY ogg) diff --git a/ports/opusfile/CONTROL b/ports/opusfile/CONTROL index 3e80d4777..0ba3167a6 100644 --- a/ports/opusfile/CONTROL +++ b/ports/opusfile/CONTROL @@ -1,5 +1,5 @@ Source: opusfile -Version: 0.11-2 +Version: 0.11-3 Homepage: https://github.com/xiph/opusfile Description: Stand-alone decoder library for .opus streams Build-Depends: libogg, opus diff --git a/ports/orc/0003-dependencies-from-vcpkg.patch b/ports/orc/0003-dependencies-from-vcpkg.patch index ae62d9fb0..f9cc44b99 100644 --- a/ports/orc/0003-dependencies-from-vcpkg.patch +++ b/ports/orc/0003-dependencies-from-vcpkg.patch @@ -1,65 +1,44 @@ diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt -index 235ced8..0042a88 100644 +index fae9be0..35cfb5f 100644 --- a/c++/src/CMakeLists.txt +++ b/c++/src/CMakeLists.txt -@@ -218,12 +218,13 @@ endif(BUILD_LIBHDFSPP) +@@ -215,11 +215,12 @@ endif(ORC_CXX_HAS_THREAD_LOCAL AND BUILD_LIBHDFSPP) add_library (orc STATIC ${SOURCE_FILES}) - + target_link_libraries (orc - protobuf - zlib - snappy - lz4 -- zstd - ${LIBHDFSPP_LIBRARIES} + PRIVATE + protobuf::libprotobuf + ZLIB::ZLIB + Snappy::snappy + ${LZ4_STATIC_LIB} -+ ${ZSTD_STATIC_LIB} + ${LIBHDFSPP_LIBRARIES} ) - + install(TARGETS orc DESTINATION lib) -diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt -index db68578..709ad07 100644 ---- a/c++/test/CMakeLists.txt -+++ b/c++/test/CMakeLists.txt -@@ -50,10 +50,10 @@ add_executable (orc-test - - target_link_libraries (orc-test - orc -- lz4 -- protobuf -- snappy -- zlib -+ protobuf::libprotobuf -+ ZLIB::ZLIB -+ Snappy::snappy -+ ${LZ4_STATIC_LIB} - ${GTEST_LIBRARIES} - ) - diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake -index 1a28b1a..89f57d8 100644 +index f8584c0..fe48340 100644 --- a/cmake_modules/ThirdpartyToolchain.cmake +++ b/cmake_modules/ThirdpartyToolchain.cmake -@@ -59,8 +59,8 @@ endif () +@@ -51,8 +51,8 @@ endif () # ---------------------------------------------------------------------- # Snappy - + -if (NOT "${SNAPPY_HOME}" STREQUAL "") - find_package (Snappy REQUIRED) -+if (NOT "${SNAPPY_HOME}" STREQUAL "" OR 1) ++if (1) + find_package (Snappy CONFIG REQUIRED) set(SNAPPY_VENDORED FALSE) else () set(SNAPPY_HOME "${THIRDPARTY_DIR}/snappy_ep-install") -@@ -78,10 +78,6 @@ else () +@@ -70,10 +70,6 @@ else () set(SNAPPY_VENDORED TRUE) endif () - + -include_directories (SYSTEM ${SNAPPY_INCLUDE_DIR}) -add_library (snappy STATIC IMPORTED) -set_target_properties (snappy PROPERTIES IMPORTED_LOCATION ${SNAPPY_STATIC_LIB}) @@ -67,20 +46,19 @@ index 1a28b1a..89f57d8 100644 if (SNAPPY_VENDORED) add_dependencies (snappy snappy_ep) if (INSTALL_VENDORED_LIBS) -@@ -93,7 +89,8 @@ endif () +@@ -85,7 +81,7 @@ endif () # ---------------------------------------------------------------------- # ZLIB - + -if (NOT "${ZLIB_HOME}" STREQUAL "") -+ -+if (NOT "${ZLIB_HOME}" STREQUAL "" OR 1) ++if (1) find_package (ZLIB REQUIRED) set(ZLIB_VENDORED FALSE) else () -@@ -120,10 +117,6 @@ else () +@@ -112,10 +108,6 @@ else () set(ZLIB_VENDORED TRUE) endif () - + -include_directories (SYSTEM ${ZLIB_INCLUDE_DIR}) -add_library (zlib STATIC IMPORTED) -set_target_properties (zlib PROPERTIES IMPORTED_LOCATION ${ZLIB_STATIC_LIB}) @@ -88,45 +66,21 @@ index 1a28b1a..89f57d8 100644 if (ZLIB_VENDORED) add_dependencies (zlib zlib_ep) if (INSTALL_VENDORED_LIBS) -@@ -134,9 +127,8 @@ endif () - - # ---------------------------------------------------------------------- - # Zstd -- --if (NOT "${ZSTD_HOME}" STREQUAL "") -- find_package (zstd REQUIRED) -+if (NOT "${ZSTD_HOME}" STREQUAL "" OR 1) -+ find_library(ZSTD_STATIC_LIB NAMES zstd zstd_static) - set(ZSTD_VENDORED FALSE) - else () - set(ZSTD_HOME "${THIRDPARTY_DIR}/zstd_ep-install") -@@ -169,10 +161,6 @@ else () - set(ZSTD_VENDORED TRUE) - endif () - --include_directories (SYSTEM ${ZSTD_INCLUDE_DIR}) --add_library (zstd STATIC IMPORTED) --set_target_properties (zstd PROPERTIES IMPORTED_LOCATION ${ZSTD_STATIC_LIB}) -- - if (ZSTD_VENDORED) - add_dependencies (zstd zstd_ep) - if (INSTALL_VENDORED_LIBS) -@@ -183,9 +171,8 @@ endif () - +@@ -127,8 +119,8 @@ endif () # ---------------------------------------------------------------------- # LZ4 -- + -if (NOT "${LZ4_HOME}" STREQUAL "") - find_package (LZ4 REQUIRED) -+if (NOT "${LZ4_HOME}" STREQUAL "" OR 1) -+ find_library(LZ4_STATIC_LIB NAMES lz4d lz4) ++if (1) ++ find_library (LZ4_STATIC_LIB NAMES lz4d lz4) set(LZ4_VENDORED FALSE) else () set(LZ4_PREFIX "${THIRDPARTY_DIR}/lz4_ep-install") -@@ -211,10 +198,6 @@ else () +@@ -154,10 +146,6 @@ else () set(LZ4_VENDORED TRUE) endif () - + -include_directories (SYSTEM ${LZ4_INCLUDE_DIR}) -add_library (lz4 STATIC IMPORTED) -set_target_properties (lz4 PROPERTIES IMPORTED_LOCATION ${LZ4_STATIC_LIB}) @@ -134,22 +88,21 @@ index 1a28b1a..89f57d8 100644 if (LZ4_VENDORED) add_dependencies (lz4 lz4_ep) if (INSTALL_VENDORED_LIBS) -@@ -287,9 +270,8 @@ endif () - +@@ -231,8 +219,8 @@ endif () # ---------------------------------------------------------------------- # Protobuf -- + -if (NOT "${PROTOBUF_HOME}" STREQUAL "") - find_package (Protobuf REQUIRED) -+if (NOT "${PROTOBUF_HOME}" STREQUAL "" OR 1) -+ find_package (protobuf CONFIG REQUIRED) ++if (1) ++ find_package (Protobuf CONFIG REQUIRED) set(PROTOBUF_VENDORED FALSE) else () set(PROTOBUF_PREFIX "${THIRDPARTY_DIR}/protobuf_ep-install") -@@ -325,14 +307,6 @@ else () +@@ -268,14 +256,6 @@ else () set(PROTOBUF_VENDORED TRUE) endif () - + -include_directories (SYSTEM ${PROTOBUF_INCLUDE_DIR}) - -add_library (protobuf STATIC IMPORTED) @@ -162,18 +115,18 @@ index 1a28b1a..89f57d8 100644 add_dependencies (protoc protobuf_ep) add_dependencies (protobuf protobuf_ep) diff --git a/tools/src/CMakeLists.txt b/tools/src/CMakeLists.txt -index f5a53ca..15391bf 100644 +index 667fab4..7745fe0 100644 --- a/tools/src/CMakeLists.txt +++ b/tools/src/CMakeLists.txt -@@ -51,7 +51,6 @@ add_executable (orc-metadata - +@@ -49,7 +49,6 @@ add_executable (orc-metadata + target_link_libraries (orc-metadata orc - protobuf - ${CMAKE_THREAD_LIBS_INIT} ) - -@@ -95,4 +94,7 @@ install(TARGETS + + add_executable (orc-statistics +@@ -88,4 +87,7 @@ install(TARGETS orc-contents orc-metadata orc-statistics diff --git a/ports/orc/0004-update-tzdata.patch b/ports/orc/0004-update-tzdata.patch new file mode 100644 index 000000000..fa9ae2fad --- /dev/null +++ b/ports/orc/0004-update-tzdata.patch @@ -0,0 +1,15 @@ +diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake +index 1a28b1ae..74f0e61c 100644 +--- a/cmake_modules/ThirdpartyToolchain.cmake ++++ b/cmake_modules/ThirdpartyToolchain.cmake +@@ -228,8 +228,8 @@ endif () + + if (WIN32) + ExternalProject_Add(tzdata_ep +- URL "ftp://cygwin.osuosl.org/pub/cygwin/noarch/release/tzdata/tzdata-2018c-1.tar.xz" +- URL_HASH MD5=F69FCA5C906FAFF02462D3D06F28267C ++ URL "ftp://cygwin.osuosl.org/pub/cygwin/noarch/release/tzdata/tzdata-2019b-1.tar.xz" ++ URL_HASH MD5=17D8AB346BB1009D4EB35BC08040E51D + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "") 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 4cb08a814..f31ff2d6a 100644 --- a/ports/orc/CONTROL +++ b/ports/orc/CONTROL @@ -1,4 +1,5 @@ Source: orc -Version: 1.5.5-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 f993755e9..e55f79812 100644 --- a/ports/orc/portfile.cmake +++ b/ports/orc/portfile.cmake @@ -1,14 +1,13 @@ -include(vcpkg_common_functions) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/orc - REF 47a490f083bd411bf04bfed8131eef42606d7789 - SHA512 c2650d9fd367a5ec04c79c16434728e5c20608131f21bfc89d412cbaf8dd4ae5900b03e59df21d3617d8c6a9504e4b14b1f788157afa90b57d733499d2995e39 + REF 61e9d008d06a4f9291ee62737fbfd0e34f9b20d5 # rel/release-1.5.7 + SHA512 0c19bc91629bd5b201542e57de9eb1d6cc09fae507fb07a5ad589a631cb78957d32d888840f393c9e4ee0c60bc2ba534107eb97c31d80cd6e487df346fb719f7 HEAD_REF master PATCHES 0003-dependencies-from-vcpkg.patch - no-werror.patch + 0004-update-tzdata.patch + 0005-disable-tzdata.patch ) file(REMOVE "${SOURCE_PATH}/cmake_modules/FindGTest.cmake") @@ -34,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) @@ -58,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/orocos-kdl/CONTROL b/ports/orocos-kdl/CONTROL index af590b4b3..edef89076 100644 --- a/ports/orocos-kdl/CONTROL +++ b/ports/orocos-kdl/CONTROL @@ -1,4 +1,5 @@ Source: orocos-kdl -Version: 1.4 +Version: 1.4-2 +Homepage: https://github.com/orocos/orocos_kinematics_dynamics Description: Kinematics and Dynamics Library Build-Depends: eigen3 diff --git a/ports/orocos-kdl/portfile.cmake b/ports/orocos-kdl/portfile.cmake index 622a9da93..f0549d145 100644 --- a/ports/orocos-kdl/portfile.cmake +++ b/ports/orocos-kdl/portfile.cmake @@ -1,15 +1,3 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) vcpkg_from_github( @@ -30,18 +18,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/orocos_kdl/cmake" TARGET_PATH share/orocos_kdl) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/orocos_kdl/cmake TARGET_PATH share/orocos_kdl) -file(REMOVE_RECURSE +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/doc ${CURRENT_PACKAGES_DIR}/doc/liborocos-kdl) - - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/orocos_kdl/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/orocos-kdl RENAME copyright) +file(INSTALL ${SOURCE_PATH}/orocos_kdl/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) # Post-build test for cmake libraries # vcpkg_test_cmake(PACKAGE_NAME orocos-kdl) diff --git a/ports/osg-qt/OsgMacroUtils.patch b/ports/osg-qt/OsgMacroUtils.patch new file mode 100644 index 000000000..96f040cd3 --- /dev/null +++ b/ports/osg-qt/OsgMacroUtils.patch @@ -0,0 +1,11 @@ +--- a/CMakeModules/OsgMacroUtils.cmake ++++ b/CMakeModules/OsgMacroUtils.cmake +@@ -88,7 +88,7 @@ MACRO(LINK_CORELIB_DEFAULT CORELIB_NAME) + ENDIF() + + LINK_EXTERNAL(${CORELIB_NAME} ${ALL_GL_LIBRARIES}) +- LINK_WITH_VARIABLES(${CORELIB_NAME} OPENTHREADS_LIBRARY) ++ #LINK_WITH_VARIABLES(${CORELIB_NAME} OPENTHREADS_LIBRARY) + IF(OPENSCENEGRAPH_SONAMES) + SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES VERSION ${OPENSCENEGRAPH_VERSION} SOVERSION ${OPENSCENEGRAPH_SOVERSION}) + ENDIF(OPENSCENEGRAPH_SONAMES) diff --git a/ports/osg-qt/portfile.cmake b/ports/osg-qt/portfile.cmake index 1ab23e63f..f78dbf37f 100644 --- a/ports/osg-qt/portfile.cmake +++ b/ports/osg-qt/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF Qt4 SHA512 426a4ba88f680978d24817248b99c68cafa4517144e6e3d2480612870c4a224bb955539cacb438274d4ee1c93c36d94f8437d142070b2ecde2b81517bf357e71 HEAD_REF master + PATCHES + OsgMacroUtils.patch ) diff --git a/ports/osg/CONTROL b/ports/osg/CONTROL index 9b981af9d..f677e0284 100644 --- a/ports/osg/CONTROL +++ b/ports/osg/CONTROL @@ -1,8 +1,8 @@ Source: osg -Version: 3.6.3-1 +Version: 3.6.4 Homepage: https://github.com/openscenegraph/OpenSceneGraph Description: The OpenSceneGraph is an open source high performance 3D graphics toolkit. -Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff +Build-Depends: freetype, jasper, openexr, zlib, gdal, giflib, libjpeg-turbo, libpng, tiff, fontconfig Feature: collada Description: Support for Collada (.dae) files diff --git a/ports/osg/collada.patch b/ports/osg/collada.patch index 9787b7f5c..80b260618 100644 --- a/ports/osg/collada.patch +++ b/ports/osg/collada.patch @@ -1,173 +1,126 @@ -diff --git a/CMakeModules/FindCOLLADA.cmake b/CMakeModules/FindCOLLADA.cmake -index 8c9c2fc33..6a8ab04ca 100644 ---- a/CMakeModules/FindCOLLADA.cmake -+++ b/CMakeModules/FindCOLLADA.cmake -@@ -25,11 +25,11 @@ ENDIF() - - IF(APPLE) - SET(COLLADA_BUILDNAME "mac") -- SET(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) -+ SET(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) - ELSEIF(MINGW) - SET(COLLADA_BUILDNAME "mingw") -- SET(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) --ELSEIF(MSVC_VERSION EQUAL 1900 OR MSVC_VERSION EQUAL 1910 ) -+ SET(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) -+ELSEIF(MSVC_VERSION GREATER_EQUAL 1900 ) - SET(COLLADA_BUILDNAME "vc14") - SET(COLLADA_BOOST_BUILDNAME "vc140") - ELSEIF(MSVC_VERSION EQUAL 1800) -@@ -58,6 +58,7 @@ ENDIF() - - - FIND_PATH(COLLADA_INCLUDE_DIR dae.h -+ PATHS - ${COLLADA_DOM_ROOT}/include - $ENV{COLLADA_DIR}/include - $ENV{COLLADA_DIR} -@@ -65,27 +66,19 @@ FIND_PATH(COLLADA_INCLUDE_DIR dae.h - /Library/Frameworks - /opt/local/Library/Frameworks #macports - /usr/local/include -- /usr/local/include/colladadom -- /usr/local/include/collada-dom -- /usr/local/include/collada-dom2.5 -- /usr/local/include/collada-dom2.4 -- /usr/local/include/collada-dom2.2 -- /opt/local/include/collada-dom -- /opt/local/include/collada-dom2.5 -- /opt/local/include/collada-dom2.4 -- /opt/local/include/collada-dom2.2 - /usr/include/ -- /usr/include/colladadom -- /usr/include/collada-dom -- /usr/include/collada-dom2.5 -- /usr/include/collada-dom2.4 -- /usr/include/collada-dom2.2 - /sw/include # Fink - /opt/local/include # DarwinPorts - /opt/csw/include # Blastwave - /opt/include - /usr/freeware/include - ${ACTUAL_3DPARTY_DIR}/include -+ PATH_SUFFIXES -+ colladadom -+ collada-dom -+ collada-dom2.5 -+ collada-dom2.4 -+ collada-dom2.2 - ) - - FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY -@@ -15,6 +15,8 @@ - - - # Check if COLLADA_DIR is set, otherwise use ACTUAL_3DPARTY_DIR: -+include(SelectLibraryConfigurations) -+ - SET( COLLADA_ENV_VAR_AVAILABLE $ENV{COLLADA_DIR} ) - IF ( COLLADA_ENV_VAR_AVAILABLE ) - SET(COLLADA_DOM_ROOT "$ENV{COLLADA_DIR}/dom" CACHE PATH "Location of Collada DOM directory" FORCE) -@@ -192,31 +194,9 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG - ENDIF(WIN32) - ENDIF(LIBXML2_FOUND) - -- FIND_PACKAGE(ZLIB) -- IF (ZLIB_FOUND) -- IF (ZLIB_LIBRARY_RELEASE) -- SET(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY_RELEASE}" CACHE FILEPATH "" FORCE) -- ELSE(ZLIB_LIBRARY_RELEASE) -- SET(COLLADA_ZLIB_LIBRARY "${ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) -- ENDIF(ZLIB_LIBRARY_RELEASE) -- IF (ZLIB_LIBRARY_DEBUG) -- SET(COLLADA_ZLIB_LIBRARY_DEBUG "${ZLIB_LIBRARY_DEBUG}" CACHE FILEPATH "" FORCE) -- ELSE(ZLIB_LIBRARY_DEBUG) -- SET(COLLADA_ZLIB_LIBRARY_DEBUG "${COLLADA_ZLIB_LIBRARY}" CACHE FILEPATH "" FORCE) -- ENDIF(ZLIB_LIBRARY_DEBUG) -- ELSE(ZLIB_FOUND) -- IF(WIN32) -- FIND_LIBRARY(COLLADA_ZLIB_LIBRARY -- NAMES zlib -- PATHS -- ${COLLADA_DOM_ROOT}/external-libs/libxml2/win32/lib -- ${COLLADA_DOM_ROOT}/external-libs/libxml2/mingw/lib -- ${ACTUAL_3DPARTY_DIR}/lib -- ) -- ENDIF(WIN32) -- ENDIF(ZLIB_FOUND) -+ FIND_PACKAGE(ZLIB REQUIRED) - -- FIND_LIBRARY(COLLADA_PCRECPP_LIBRARY -+ FIND_LIBRARY(COLLADA_PCRECPP_LIBRARY_RELEASE - NAMES pcrecpp - PATHS - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} -@@ -233,8 +213,9 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) -+ select_library_configurations(COLLADA_PCRECPP) - -- FIND_LIBRARY(COLLADA_PCRE_LIBRARY -+ FIND_LIBRARY(COLLADA_PCRE_LIBRARY_RELEASE - NAMES pcre - PATHS - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/${COLLADA_BUILDNAME} -@@ -251,8 +232,9 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG - ${COLLADA_DOM_ROOT}/external-libs/pcre/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) -+ select_library_configurations(COLLADA_PCRE) - -- FIND_LIBRARY(COLLADA_MINIZIP_LIBRARY -+ FIND_LIBRARY(COLLADA_MINIZIP_LIBRARY_RELEASE - NAMES minizip - PATHS - ${COLLADA_DOM_ROOT}/external-libs/minizip/win32/lib -@@ -267,8 +249,9 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG - ${COLLADA_DOM_ROOT}/external-libs/minizip/mac - ${ACTUAL_3DPARTY_DIR}/lib - ) -- -- FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY -+ select_library_configurations(COLLADA_MINIZIP) -+ -+ FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY_RELEASE - NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_63 - PATHS - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} -@@ -283,8 +266,9 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) -+ select_library_configurations(COLLADA_BOOST_FILESYSTEM) - -- FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY -+ FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY_RELEASE - NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_63 - PATHS - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} -@@ -299,7 +283,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG - ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw - ${ACTUAL_3DPARTY_DIR}/lib - ) -- -+ select_library_configurations(COLLADA_BOOST_SYSTEM_LIBRARY) - - SET(COLLADA_FOUND "NO") - IF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY) -diff --git a/src/osgPlugins/dae/CMakeLists.txt b/src/osgPlugins/dae/CMakeLists.txt -index af03fb866..7eadfc2f3 100644 ---- a/src/osgPlugins/dae/CMakeLists.txt -+++ b/src/osgPlugins/dae/CMakeLists.txt -@@ -49,7 +49,9 @@ ELSE() - ENDIF() - - ADD_DEFINITIONS(-DNO_BOOST) --ADD_DEFINITIONS(-DCOLLADA_DOM_SUPPORT141) -+ADD_DEFINITIONS(-DCOLLADA_DOM_USING_141 -+ -DCOLLADA_DOM_SUPPORT141 -+ -DCOLLADA_DOM_SUPPORT150) - - IF (COLLADA_DOM_2_4_OR_LATER) - ADD_DEFINITIONS(-DCOLLADA_DOM_2_4_OR_LATER) +diff --git a/CMakeModules/FindCOLLADA.cmake b/CMakeModules/FindCOLLADA.cmake +index 7c7d290..5b456d7 100644 +--- a/CMakeModules/FindCOLLADA.cmake ++++ b/CMakeModules/FindCOLLADA.cmake +@@ -29,10 +29,7 @@ IF(APPLE) + ELSEIF(MINGW) + SET(COLLADA_BUILDNAME "mingw") + SET(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME}) +-ELSEIF((MSVC_VERSION GREATER 1910) OR (MSVC_VERSION EQUAL 1910)) +- SET(COLLADA_BUILDNAME "vc14") +- SET(COLLADA_BOOST_BUILDNAME "vc141") +-ELSEIF(MSVC_VERSION EQUAL 1900) ++ELSEIF(MSVC_VERSION GREATER_EQUAL 1900) + SET(COLLADA_BUILDNAME "vc14") + SET(COLLADA_BOOST_BUILDNAME "vc140") + ELSEIF(MSVC_VERSION EQUAL 1800) +@@ -61,6 +58,7 @@ ENDIF() + + + FIND_PATH(COLLADA_INCLUDE_DIR dae.h ++ PATHS + ${COLLADA_DOM_ROOT}/include + $ENV{COLLADA_DIR}/include + $ENV{COLLADA_DIR} +@@ -68,27 +66,19 @@ FIND_PATH(COLLADA_INCLUDE_DIR dae.h + /Library/Frameworks + /opt/local/Library/Frameworks #macports + /usr/local/include +- /usr/local/include/colladadom +- /usr/local/include/collada-dom +- /usr/local/include/collada-dom2.5 +- /usr/local/include/collada-dom2.4 +- /usr/local/include/collada-dom2.2 +- /opt/local/include/collada-dom +- /opt/local/include/collada-dom2.5 +- /opt/local/include/collada-dom2.4 +- /opt/local/include/collada-dom2.2 + /usr/include/ +- /usr/include/colladadom +- /usr/include/collada-dom +- /usr/include/collada-dom2.5 +- /usr/include/collada-dom2.4 +- /usr/include/collada-dom2.2 + /sw/include # Fink + /opt/local/include # DarwinPorts + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include + ${ACTUAL_3DPARTY_DIR}/include ++ PATH_SUFFIXES ++ colladadom ++ collada-dom ++ collada-dom2.5 ++ collada-dom2.4 ++ collada-dom2.2 + ) + + FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY +@@ -116,7 +106,7 @@ FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY + ) + + FIND_LIBRARY(COLLADA_DYNAMIC_LIBRARY_DEBUG +- NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d collada-dom2.5-dp-d collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt-d collada-dom2.4-dp-d collada-dom2.4-dp-${COLLADA_BOOST_BUILDNAME}-mt-d ++ NAMES collada_dom-d collada14dom-d Collada14Dom-d libcollada14dom21-d libcollada14dom22-d collada-dom2.5-dp-d collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt-d collada-dom2.4-dp-d collada-dom2.4-dp-${COLLADA_BOOST_BUILDNAME}-mt-d collada-dom2.5-dp-${COLLADA_BOOST_BUILDNAME}-mt + PATHS + ${COLLADA_DOM_ROOT}/build/${COLLADA_BUILDNAME}-1.4-d + ${COLLADA_DOM_ROOT} +@@ -279,7 +269,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG + ) + + FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY +- NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_63 ++ NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-1_63 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt + PATHS + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw +@@ -287,7 +277,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG + ) + + FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY_DEBUG +- NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 ++ NAMES libboost_filesystem-d boost_filesystem-d boost_filesystem-mt-d libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 boost_filesystem-${COLLADA_BOOST_BUILDNAME}-mt-gd + PATHS + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw +@@ -295,7 +285,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG + ) + + FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY +- NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_63 ++ NAMES libboost_system boost_system boost_system-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-1_63 boost_system-${COLLADA_BOOST_BUILDNAME}-mt + PATHS + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw +@@ -303,7 +293,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG + ) + + FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY_DEBUG +- NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 ++ NAMES libboost_system-d boost_system-d boost_system-mt-d libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_54 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_55 libboost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_58 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_62 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd-1_63 boost_system-${COLLADA_BOOST_BUILDNAME}-mt-gd + PATHS + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME} + ${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw +@@ -329,5 +319,3 @@ IF(COLLADA_DYNAMIC_LIBRARY OR COLLADA_STATIC_LIBRARY) + + ENDIF() + ENDIF() +- +- + +diff --git a/src/osgPlugins/dae/CMakeLists.txt b/src/osgPlugins/dae/CMakeLists.txt +index af03fb866..7eadfc2f3 100644 +--- a/src/osgPlugins/dae/CMakeLists.txt ++++ b/src/osgPlugins/dae/CMakeLists.txt +@@ -49,7 +49,9 @@ ELSE() + ENDIF() + + ADD_DEFINITIONS(-DNO_BOOST) +-ADD_DEFINITIONS(-DCOLLADA_DOM_SUPPORT141) ++ADD_DEFINITIONS(-DCOLLADA_DOM_USING_141 ++ -DCOLLADA_DOM_SUPPORT141 ++ -DCOLLADA_DOM_SUPPORT150) + + IF (COLLADA_DOM_2_4_OR_LATER) + ADD_DEFINITIONS(-DCOLLADA_DOM_2_4_OR_LATER) + diff --git a/ports/osg/portfile.cmake b/ports/osg/portfile.cmake index cb759ca1a..8c6b5f299 100644 --- a/ports/osg/portfile.cmake +++ b/ports/osg/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO openscenegraph/OpenSceneGraph - REF OpenSceneGraph-3.6.3 - SHA512 5d66002cffa935ce670a119ffaebd8e4709acdf79ae2b34b37ad9df284ec8a1a74fee5a7a4109fbf3da6b8bd857960f2b7ae68c4c2e26036edbf484fccf08322 + REF OpenSceneGraph-3.6.4 + SHA512 7cb34fc279ba62a7d7177d3f065f845c28255688bd29026ffb305346e1bb2e515a22144df233e8a7246ed392044ee3e8b74e51bf655282d33ab27dcaf12f4b19 HEAD_REF master PATCHES collada.patch @@ -38,12 +38,12 @@ file(REMOVE_RECURSE ${OSG_TOOLS}) file(GLOB OSG_TOOLS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) file(REMOVE_RECURSE ${OSG_TOOLS_DBG}) -file(GLOB OSG_PLUGINS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-3.6.3/*.dll) -file(COPY ${OSG_PLUGINS_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/osg/osgPlugins-3.6.3) -file(GLOB OSG_PLUGINS_REL ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-3.6.3/*.dll) -file(COPY ${OSG_PLUGINS_REL} DESTINATION ${OSG_TOOL_PATH}/osgPlugins-3.6.3) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-3.6.3/) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-3.6.3/) +file(GLOB OSG_PLUGINS_DBG ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-3.6.4/*.dll) +file(COPY ${OSG_PLUGINS_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/osg/osgPlugins-3.6.4) +file(GLOB OSG_PLUGINS_REL ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-3.6.4/*.dll) +file(COPY ${OSG_PLUGINS_REL} DESTINATION ${OSG_TOOL_PATH}/osgPlugins-3.6.4) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/osgPlugins-3.6.4/) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/osgPlugins-3.6.4/) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/osg) diff --git a/ports/osgearth/CONTROL b/ports/osgearth/CONTROL index c46d03451..d54992b82 100644 --- a/ports/osgearth/CONTROL +++ b/ports/osgearth/CONTROL @@ -1,4 +1,4 @@ Source: osgearth -Version: 2.10.1 +Version: 2.10.2 Description: osgEarth - Dynamic map generation toolkit for OpenSceneGraph Copyright 2015 Pelican Mapping. Build-Depends: osg diff --git a/ports/osgearth/RocksDB.patch b/ports/osgearth/RocksDB.patch new file mode 100644 index 000000000..07fd7e603 --- /dev/null +++ b/ports/osgearth/RocksDB.patch @@ -0,0 +1,84 @@ +diff --git a/CMakeModules/FindRocksDB.cmake b/CMakeModules/FindRocksDB.cmake +index 109b383..8382ed9 100644 +--- a/CMakeModules/FindRocksDB.cmake ++++ b/CMakeModules/FindRocksDB.cmake +@@ -40,5 +40,49 @@ find_package_handle_standard_args(ROCKSDB + "Could NOT find ROCKSDB" + ) + ++if(ROCKSDB_FOUND) ++ FIND_PACKAGE(ZLIB REQUIRED) ++ ++ include(SelectLibraryConfigurations) ++ # Find Snappy library ++ find_library(SNAPPY_LIBRARY_DEBUG NAMES snappyd) ++ find_library(SNAPPY_LIBRARY_RELEASE NAMES snappy) ++ select_library_configurations(SNAPPY) ++ find_package_handle_standard_args(SNAPPY ++ FOUND_VAR ++ SNAPPY_FOUND ++ REQUIRED_VARS ++ SNAPPY_LIBRARY ++ FAIL_MESSAGE ++ "Could NOT find SNAPPY" ++ ) ++ ++ # Find LZ4 library ++ find_library(LZ4_LIBRARY_DEBUG NAMES lz4d) ++ find_library(LZ4_LIBRARY_RELEASE NAMES lz4) ++ select_library_configurations(LZ4) ++ find_package_handle_standard_args(LZ4 ++ FOUND_VAR ++ LZ4_FOUND ++ REQUIRED_VARS ++ LZ4_LIBRARY ++ FAIL_MESSAGE ++ "Could NOT find LZ4" ++ ) ++ ++ # Find ZSTD library ++ find_library(ZSTD_LIBRARY_DEBUG NAMES zstdd) ++ find_library(ZSTD_LIBRARY_RELEASE NAMES zstd) ++ select_library_configurations(ZSTD) ++ find_package_handle_standard_args(ZSTD ++ FOUND_VAR ++ ZSTD_FOUND ++ REQUIRED_VARS ++ ZSTD_LIBRARY ++ FAIL_MESSAGE ++ "Could NOT find ZSTD_" ++ ) ++endif(ROCKSDB_FOUND) ++ + set(ROCKSDB_INCLUDE_DIRS ${ROCKSDB_INCLUDE_DIR} ) + set(ROCKSDB_LIBRARIES ${ROCKSDB_LIBRARY}) +- +- + +diff --git a/src/osgEarthDrivers/cache_rocksdb/CMakeLists.txt b/src/osgEarthDrivers/cache_rocksdb/CMakeLists.txt +index 68ad85d..86bb18a 100644 +--- a/src/osgEarthDrivers/cache_rocksdb/CMakeLists.txt ++++ b/src/osgEarthDrivers/cache_rocksdb/CMakeLists.txt +@@ -16,7 +16,19 @@ SET(TARGET_SRC + RocksDBCacheDriver.cpp + ) + +-SET(TARGET_LIBRARIES_VARS ROCKSDB_LIBRARY ZLIB_LIBRARY) ++if(SNAPPY_FOUND) ++ SET(ROCKSDB_DEPENDENT_LIBRARY ${ROCKSDB_DEPENDENT_LIBRARY} ${SNAPPY_LIBRARY}) ++endif(SNAPPY_FOUND) ++ ++if(LZ4_FOUND) ++ SET(ROCKSDB_DEPENDENT_LIBRARY ${ROCKSDB_DEPENDENT_LIBRARY} ${LZ4_LIBRARY}) ++endif(LZ4_FOUND) ++ ++if(ZSTD_FOUND) ++ SET(ROCKSDB_DEPENDENT_LIBRARY ${ROCKSDB_DEPENDENT_LIBRARY} ${ZSTD_LIBRARY}) ++endif(ZSTD_FOUND) ++ ++SET(TARGET_LIBRARIES_VARS ROCKSDB_LIBRARY ZLIB_LIBRARY ROCKSDB_DEPENDENT_LIBRARY) + + IF(MSVC) + SET(TARGET_EXTERNAL_LIBRARIES ws2_32 winmm rpcrt4 shlwapi) +- +- \ No newline at end of file diff --git a/ports/osgearth/portfile.cmake b/ports/osgearth/portfile.cmake index 6bc95df7c..8f74dea63 100644 --- a/ports/osgearth/portfile.cmake +++ b/ports/osgearth/portfile.cmake @@ -9,20 +9,14 @@ if(NOT OSG_PLUGINS_SUBDIR_LENGTH EQUAL 1) endif() string(REPLACE "${CURRENT_INSTALLED_DIR}/tools/osg/" "" OSG_PLUGINS_SUBDIR "${OSG_PLUGINS_SUBDIR}") -vcpkg_download_distfile( - VS2017PATCH - URLS "https://github.com/remoe/osgearth/commit/f7081cc4f9991c955c6a0ef7b7b50e48360d14fd.diff" - FILENAME "osgearth-f7081cc4f9991c955c6a0ef7b7b50e48360d14fd.patch" - SHA512 eadb47a5713c00c05add8627e5cad22844db041da34081d59104151a1a1e2d5ac9552909d67171bfc0449a3e4d2930dd3a7914d3ec7ef7ff1015574e9c9a6105 -) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gwaldron/osgearth - REF osgearth-2.10.1 - SHA512 a74e6922ae29f85b4227b23a83dbccba92e08b7880533c281ceb244703c38b51a02823fdee3199c975c969db963b35ebad0e3bfed3c1e218a36d130b20a48e5b + REF osgearth-2.10.2 + SHA512 fa306a82374716dafae9d834ed0fb07a7369ae0961696de36b6e2af45bc150040295985d9b9781ab713fd0707691451a6a8f173b34253749ab22764f51e60045 HEAD_REF master - PATCHES ${VS2017PATCH} + PATCHES + RocksDB.patch ) vcpkg_configure_cmake( diff --git a/ports/osi/CMakeLists.txt b/ports/osi/CMakeLists.txt index 1aa44d262..0542339eb 100644 --- a/ports/osi/CMakeLists.txt +++ b/ports/osi/CMakeLists.txt @@ -12,7 +12,7 @@ set(CMAKE_CXX_STANDARD 14) set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed") set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed") set(INSTALL_INCLUDE_DIR "include/Coin" CACHE PATH "Path where headers will be installed") -set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed") +set(INSTALL_CMAKE_DIR "share/osi" CACHE PATH "Path where cmake configs will be installed") # Make relative paths absolute (needed later on) set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR}) diff --git a/ports/osi/CONTROL b/ports/osi/CONTROL index 01190fb21..5f65e3cf2 100644 --- a/ports/osi/CONTROL +++ b/ports/osi/CONTROL @@ -1,4 +1,4 @@ Source: osi -Version: 0.108.4-1 +Version: 0.108.4-2 Description: Osi (Open Solver Interface) provides an abstract base class to a generic linear programming (LP) solver, along with derived classes for specific solvers. Many applications may be able to use the Osi to insulate themselves from a specific LP solver. Build-Depends: coinutils diff --git a/ports/osi/portfile.cmake b/ports/osi/portfile.cmake index dc0dc7857..bb340eaca 100644 --- a/ports/osi/portfile.cmake +++ b/ports/osi/portfile.cmake @@ -19,11 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") #on case-sensitive filesystems, it's necessary to rename and make it lowercase - vcpkg_fixup_cmake_targets(CONFIG_PATH "share/Osi") -else() - vcpkg_fixup_cmake_targets() -endif() +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/otl/CONTROL b/ports/otl/CONTROL new file mode 100644 index 000000000..668e812af --- /dev/null +++ b/ports/otl/CONTROL @@ -0,0 +1,4 @@ +Source: otl +Version: 4.0.448 +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 new file mode 100644 index 000000000..a5a7a6048 --- /dev/null +++ b/ports/otl/portfile.cmake @@ -0,0 +1,16 @@ +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "http://otl.sourceforge.net/otlv4_40448.zip" + FILENAME "otlv4_h2-4.0.448.zip" + SHA512 285bf8bb0fa38ab3030af09a2939fd8e2eaadd14e65d05c6e18f4bc12070ba4e112c41e2d38c546338d51bdf09748b158b1799599f5ed9a7959a7799869b1305 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) + +file(INSTALL ${SOURCE_PATH}/otlv40448.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/otl) +file(INSTALL ${SOURCE_PATH}/otlv40448.h DESTINATION ${CURRENT_PACKAGES_DIR}/share/otl RENAME copyright) diff --git a/ports/outcome/CONTROL b/ports/outcome/CONTROL new file mode 100644 index 000000000..a90346b67 --- /dev/null +++ b/ports/outcome/CONTROL @@ -0,0 +1,4 @@ +Source: outcome +Version: 2.1 +Homepage: https://github.com/ned14/outcome +Description: Provides very lightweight outcome and result (non-Boost edition) \ No newline at end of file diff --git a/ports/outcome/portfile.cmake b/ports/outcome/portfile.cmake new file mode 100644 index 000000000..a9686b31c --- /dev/null +++ b/ports/outcome/portfile.cmake @@ -0,0 +1,16 @@ +# single header file + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ned14/outcome + REF 525478ed519d7c3400d60110649c315d705a07ad #v2.1 + SHA512 cf05f7c09ced02fa5fe3d9ad6533358a2fb63e31b5d5be81c16c285250cd275467217b8f9364b4ff1947d8c4aa6a86e10cef310d8475dcd9f7a0a713f1a01c8e + HEAD_REF develop +) + +file(GLOB_RECURSE OUTCOME_HEADERS "${SOURCE_PATH}/single-header/*.hpp") +file(INSTALL ${OUTCOME_HEADERS} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(INSTALL ${SOURCE_PATH}/Licence.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/p-ranav-csv/CONTROL b/ports/p-ranav-csv/CONTROL new file mode 100644 index 000000000..958341f9e --- /dev/null +++ b/ports/p-ranav-csv/CONTROL @@ -0,0 +1,4 @@ +Source: p-ranav-csv +Version: 2019-07-11 +Description: CSV for modern C++ +Homepage: https://github.com/p-ranav/csv diff --git a/ports/p-ranav-csv/portfile.cmake b/ports/p-ranav-csv/portfile.cmake new file mode 100644 index 000000000..123842478 --- /dev/null +++ b/ports/p-ranav-csv/portfile.cmake @@ -0,0 +1,25 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO p-ranav/csv + REF 13e04e5b31b585855c7d7e7f3c65e47ae863569b + SHA512 ddcdc7af68a0dabb2b7e15822f5900461b9f424ff5e0ac6cafd2454c2f21ca97785ef09ddb805a92e2452fe14c14167c762a822a8af6c5b86446f67e7f3f71bd + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCSV_BUILD_TESTS=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/paho-mqtt/CONTROL b/ports/paho-mqtt/CONTROL index bd0781fad..9c380b288 100644 --- a/ports/paho-mqtt/CONTROL +++ b/ports/paho-mqtt/CONTROL @@ -1,5 +1,5 @@ Source: paho-mqtt -Version: 1.3.0 +Version: 1.3.0-1 Homepage: https://github.com/eclipse/paho.mqtt.c Description: Paho project provides open-source client implementations of MQTT and MQTT-SN messaging protocols aimed at new, existing, and emerging applications for the Internet of Things Build-Depends: openssl diff --git a/ports/paho-mqtt/export-cmake-targets.patch b/ports/paho-mqtt/export-cmake-targets.patch new file mode 100644 index 000000000..d328a99c6 --- /dev/null +++ b/ports/paho-mqtt/export-cmake-targets.patch @@ -0,0 +1,101 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4fdafef..dc8fd8a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -19,10 +19,6 @@ + # Note: on OS X you should install XCode and the associated command-line tools + + ## compilation/linkage settings +-INCLUDE_DIRECTORIES( +- . +- ${CMAKE_BINARY_DIR} +- ) + + CONFIGURE_FILE(VersionInfo.h.in + ${CMAKE_BINARY_DIR}/VersionInfo.h +@@ -84,8 +80,17 @@ IF (NOT PAHO_BUILD_STATIC) + paho-mqtt3c paho-mqtt3a PROPERTIES + VERSION ${CLIENT_VERSION} + SOVERSION ${PAHO_VERSION_MAJOR}) ++ FOREACH(TARGET paho-mqtt3c paho-mqtt3a) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ ENDFOREACH() + + INSTALL(TARGETS paho-mqtt3c paho-mqtt3a ++ EXPORT eclipse-paho-mqtt-cTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -98,7 +103,14 @@ ELSE() + + TARGET_LINK_LIBRARIES(paho-mqtt3c-static ${LIBS_SYSTEM}) + TARGET_LINK_LIBRARIES(paho-mqtt3a-static ${LIBS_SYSTEM}) +- ++ FOREACH(TARGET paho-mqtt3c-static paho-mqtt3a-static) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ ENDFOREACH() + INSTALL(TARGETS paho-mqtt3c-static paho-mqtt3a-static + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ENDIF() +@@ -159,7 +171,16 @@ IF (PAHO_WITH_SSL) + VERSION ${CLIENT_VERSION} + SOVERSION ${PAHO_VERSION_MAJOR} + COMPILE_DEFINITIONS "OPENSSL=1") ++ FOREACH(TARGET paho-mqtt3cs paho-mqtt3as) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ ENDFOREACH() + INSTALL(TARGETS paho-mqtt3cs paho-mqtt3as ++ EXPORT eclipse-paho-mqtt-cTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +@@ -175,12 +196,33 @@ IF (PAHO_WITH_SSL) + VERSION ${CLIENT_VERSION} + SOVERSION ${PAHO_VERSION_MAJOR} + COMPILE_DEFINITIONS "OPENSSL=1") +- ++ FOREACH(TARGET paho-mqtt3cs-static paho-mqtt3as-static) ++ TARGET_INCLUDE_DIRECTORIES(${TARGET} ++ PUBLIC ++ $ ++ $ ++ PRIVATE ++ ${CMAKE_BINARY_DIR}) ++ ENDFOREACH() + INSTALL(TARGETS paho-mqtt3cs-static paho-mqtt3as-static ++ EXPORT eclipse-paho-mqtt-cTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ENDIF() + ENDIF() + ++INSTALL(EXPORT eclipse-paho-mqtt-cTargets ++ FILE eclipse-paho-mqtt-cConfig.cmake ++ NAMESPACE eclipse-paho-mqtt-c:: ++ DESTINATION share/eclipse-paho-mqtt-c) ++ ++INCLUDE(CMakePackageConfigHelpers) ++WRITE_BASIC_PACKAGE_VERSION_FILE("eclipse-paho-mqtt-cConfigVersion.cmake" ++ VERSION ${CLIENT_VERSION} ++ COMPATIBILITY SameMajorVersion) ++INSTALL(FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/eclipse-paho-mqtt-cConfigVersion.cmake" ++ DESTINATION share/eclipse-paho-mqtt-c) ++ + # Base64 test + ADD_EXECUTABLE( Base64Test EXCLUDE_FROM_ALL Base64.c Base64.h ) + TARGET_COMPILE_DEFINITIONS( Base64Test PUBLIC "-DBASE64_TEST" ) diff --git a/ports/paho-mqtt/portfile.cmake b/ports/paho-mqtt/portfile.cmake index 03b6c73bd..837ecc8b5 100644 --- a/ports/paho-mqtt/portfile.cmake +++ b/ports/paho-mqtt/portfile.cmake @@ -11,6 +11,7 @@ vcpkg_from_github( fix-install-path.patch fix-static-build.patch fix-unresolvedsymbol-arm.patch + export-cmake-targets.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAHO_BUILD_STATIC) @@ -22,6 +23,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/eclipse-paho-mqtt-c TARGET_PATH share/eclipse-paho-mqtt-c) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/paho-mqttpp3/CONTROL b/ports/paho-mqttpp3/CONTROL new file mode 100644 index 000000000..988f916c8 --- /dev/null +++ b/ports/paho-mqttpp3/CONTROL @@ -0,0 +1,9 @@ +Source: paho-mqttpp3 +Version: 1.0.1-3 +Description: Paho project provides open-source C++ wrapper for Paho C library +Build-Depends: paho-mqtt +Default-Features: ssl + +Feature: ssl +Description: Build with SSL support +Build-Depends: openssl diff --git a/ports/paho-mqttpp3/fix-dependency.patch b/ports/paho-mqttpp3/fix-dependency.patch new file mode 100644 index 000000000..a0dbf445a --- /dev/null +++ b/ports/paho-mqttpp3/fix-dependency.patch @@ -0,0 +1,54 @@ +diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt +index a9f8908..5c98f3f 100644 +--- a/cmake/CMakeLists.txt ++++ b/cmake/CMakeLists.txt +@@ -17,6 +17,5 @@ install(EXPORT ${package_name} DESTINATION lib/cmake/${package_name} + + install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/${package_name}Config.cmake" +- FindPahoMqttC.cmake + "${CMAKE_CURRENT_BINARY_DIR}/${package_name}ConfigVersion.cmake" + DESTINATION lib/cmake/${package_name}) +diff --git a/cmake/PahoMqttCppConfig.cmake.in b/cmake/PahoMqttCppConfig.cmake.in +index e06dc68..df1cfa6 100644 +--- a/cmake/PahoMqttCppConfig.cmake.in ++++ b/cmake/PahoMqttCppConfig.cmake.in +@@ -1,6 +1,6 @@ + include(CMakeFindDependencyMacro) + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) +-find_dependency(PahoMqttC REQUIRED) ++find_dependency(eclipse-paho-mqtt-c REQUIRED) + list(REMOVE_AT CMAKE_MODULE_PATH -1) + + include("${CMAKE_CURRENT_LIST_DIR}/@package_name@Targets.cmake") +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index bfcf6bb..089e35a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -23,7 +23,7 @@ + # Frank Pagliughi - made the shared library optional + #*******************************************************************************/ + +-find_package(PahoMqttC REQUIRED) ++find_package(eclipse-paho-mqtt-c CONFIG REQUIRED) + + # --- The headers --- + +@@ -91,7 +91,7 @@ if(PAHO_BUILD_SHARED) + ## add dependencies to the shared library + target_link_libraries(paho-mqttpp3 + PRIVATE ${LIBS_SYSTEM} +- PUBLIC PahoMqttC::PahoMqttC) ++ PUBLIC eclipse-paho-mqtt-c::paho-mqtt3a eclipse-paho-mqtt-c::paho-mqtt3c eclipse-paho-mqtt-c::paho-mqtt3as eclipse-paho-mqtt-c::paho-mqtt3cs) + + # It would be nice to exort the include paths from the obj lib, but we + # get an export error. Perhaps in a future version? +@@ -129,7 +129,7 @@ if(PAHO_BUILD_STATIC) + ## add dependencies to the shared library + target_link_libraries(paho-mqttpp3-static + PRIVATE ${LIBS_SYSTEM} +- PUBLIC PahoMqttC::PahoMqttC) ++ PUBLIC eclipse-paho-mqtt-c::paho-mqtt3as-static eclipse-paho-mqtt-c::paho-mqtt3cs-static) + + target_include_directories(paho-mqttpp3-static PUBLIC + $ diff --git a/ports/paho-mqttpp3/fix-include-path.patch b/ports/paho-mqttpp3/fix-include-path.patch new file mode 100644 index 000000000..5b7297dd2 --- /dev/null +++ b/ports/paho-mqttpp3/fix-include-path.patch @@ -0,0 +1,182 @@ +diff --git a/src/mqtt/async_client.h b/src/mqtt/async_client.h +index 2754690..019c81b 100644 +--- a/src/mqtt/async_client.h ++++ b/src/mqtt/async_client.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_async_client_h + #define __mqtt_async_client_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/types.h" + #include "mqtt/token.h" + #include "mqtt/string_collection.h" +diff --git a/src/mqtt/callback.h b/src/mqtt/callback.h +index 6cac442..13585de 100644 +--- a/src/mqtt/callback.h ++++ b/src/mqtt/callback.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_callback_h + #define __mqtt_callback_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/delivery_token.h" + #include "mqtt/types.h" + #include +diff --git a/src/mqtt/connect_options.h b/src/mqtt/connect_options.h +index a7cdf56..adb52fb 100644 +--- a/src/mqtt/connect_options.h ++++ b/src/mqtt/connect_options.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_connect_options_h + #define __mqtt_connect_options_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/types.h" + #include "mqtt/message.h" + #include "mqtt/topic.h" +diff --git a/src/mqtt/delivery_token.h b/src/mqtt/delivery_token.h +index 3ecf70b..16c47bb 100644 +--- a/src/mqtt/delivery_token.h ++++ b/src/mqtt/delivery_token.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_delivery_token_h + #define __mqtt_delivery_token_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/token.h" + #include "mqtt/message.h" + #include +diff --git a/src/mqtt/disconnect_options.h b/src/mqtt/disconnect_options.h +index 81b74ad..2f8c824 100644 +--- a/src/mqtt/disconnect_options.h ++++ b/src/mqtt/disconnect_options.h +@@ -23,7 +23,7 @@ + #ifndef __mqtt_disconnect_options_h + #define __mqtt_disconnect_options_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/token.h" + #include + +diff --git a/src/mqtt/exception.h b/src/mqtt/exception.h +index 775589f..77f4821 100644 +--- a/src/mqtt/exception.h ++++ b/src/mqtt/exception.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_exception_h + #define __mqtt_exception_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/types.h" + #include + #include +diff --git a/src/mqtt/iaction_listener.h b/src/mqtt/iaction_listener.h +index 1e34577..2af8c1b 100644 +--- a/src/mqtt/iaction_listener.h ++++ b/src/mqtt/iaction_listener.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_iaction_listener_h + #define __mqtt_iaction_listener_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/types.h" + #include + +diff --git a/src/mqtt/iclient_persistence.h b/src/mqtt/iclient_persistence.h +index 852ec8e..aa721bc 100644 +--- a/src/mqtt/iclient_persistence.h ++++ b/src/mqtt/iclient_persistence.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_iclient_persistence_h + #define __mqtt_iclient_persistence_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/types.h" + #include "mqtt/buffer_view.h" + #include "mqtt/string_collection.h" +diff --git a/src/mqtt/message.h b/src/mqtt/message.h +index feb3b97..bdab5d8 100644 +--- a/src/mqtt/message.h ++++ b/src/mqtt/message.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_message_h + #define __mqtt_message_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/buffer_ref.h" + #include "mqtt/exception.h" + #include +diff --git a/src/mqtt/response_options.h b/src/mqtt/response_options.h +index 6fc727f..dca2013 100644 +--- a/src/mqtt/response_options.h ++++ b/src/mqtt/response_options.h +@@ -7,7 +7,7 @@ + #ifndef __mqtt_response_options_h + #define __mqtt_response_options_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/token.h" + #include "mqtt/delivery_token.h" + +diff --git a/src/mqtt/ssl_options.h b/src/mqtt/ssl_options.h +index ca2f847..64a3afc 100644 +--- a/src/mqtt/ssl_options.h ++++ b/src/mqtt/ssl_options.h +@@ -25,7 +25,7 @@ + #ifndef __mqtt_ssl_options_h + #define __mqtt_ssl_options_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/message.h" + #include "mqtt/topic.h" + #include "mqtt/types.h" +diff --git a/src/mqtt/token.h b/src/mqtt/token.h +index 0db8196..e4fe10e 100644 +--- a/src/mqtt/token.h ++++ b/src/mqtt/token.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_token_h + #define __mqtt_token_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/iaction_listener.h" + #include "mqtt/exception.h" + #include "mqtt/types.h" +diff --git a/src/mqtt/topic.h b/src/mqtt/topic.h +index f68005a..61e53f0 100644 +--- a/src/mqtt/topic.h ++++ b/src/mqtt/topic.h +@@ -24,7 +24,7 @@ + #ifndef __mqtt_topic_h + #define __mqtt_topic_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/delivery_token.h" + #include "mqtt/message.h" + #include "mqtt/types.h" +diff --git a/src/mqtt/will_options.h b/src/mqtt/will_options.h +index bffb9e0..d7eca10 100644 +--- a/src/mqtt/will_options.h ++++ b/src/mqtt/will_options.h +@@ -25,7 +25,7 @@ + #ifndef __mqtt_will_options_h + #define __mqtt_will_options_h + +-#include "MQTTAsync.h" ++#include "paho-mqtt/MQTTAsync.h" + #include "mqtt/types.h" + #include "mqtt/message.h" + #include "mqtt/topic.h" diff --git a/ports/paho-mqttpp3/portfile.cmake b/ports/paho-mqttpp3/portfile.cmake new file mode 100644 index 000000000..ea6d57bc1 --- /dev/null +++ b/ports/paho-mqttpp3/portfile.cmake @@ -0,0 +1,71 @@ +include(vcpkg_common_functions) + +# Download from Github +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO eclipse/paho.mqtt.cpp + REF v1.0.1 + SHA512 be612197fae387b9f1d8f10944d451ec9e7ebec6045beed365e642089c0a5fde882ed5c734f2b46a5008f98b8445a51114492f0f36fdc684b8a8fe4b71fe31a4 + HEAD_REF master + PATCHES + fix-include-path.patch + fix-dependency.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + "ssl" PAHO_WITH_SSL +) + +# Link with 'paho-mqtt3as' library +set(PAHO_C_LIBNAME paho-mqtt3as) + +# Setting the library path +if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(PAHO_C_LIBRARY_PATH "${CURRENT_INSTALLED_DIR}/lib") +else() + set(PAHO_C_LIBRARY_PATH "${CURRENT_INSTALLED_DIR}/debug/lib") +endif() + +# Setting the include path where MqttClient.h is present +set(PAHO_C_INC "${CURRENT_INSTALLED_DIR}/include") + +# Set the generator to Ninja +set(PAHO_CMAKE_GENERATOR "Ninja") + +# NOTE: the Paho C++ cmake files on Github are problematic. +# It uses two different options PAHO_BUILD_STATIC and PAHO_BUILD_SHARED instead of just using one variable. +# Unless the open source community cleans up the cmake files, we are stuck with setting both of them. +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(PAHO_MQTTPP3_STATIC ON) + set(PAHO_MQTTPP3_SHARED OFF) + set(PAHO_C_LIB "${PAHO_C_LIBRARY_PATH}/${PAHO_C_LIBNAME}") + set(PAHO_OPTIONS -DPAHO_MQTT_C_LIBRARIES=${PAHO_C_LIB}) +else() + set(PAHO_MQTTPP3_STATIC OFF) + set(PAHO_MQTTPP3_SHARED ON) + set(PAHO_OPTIONS) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + GENERATOR ${PAHO_CMAKE_GENERATOR} + OPTIONS + -DPAHO_BUILD_STATIC=${PAHO_MQTTPP3_STATIC} + -DPAHO_BUILD_SHARED=${PAHO_MQTTPP3_SHARED} + -DPAHO_MQTT_C_INCLUDE_DIRS=${PAHO_C_INC} + ${FEATURE_OPTIONS} + ${PAHO_OPTIONS} +) + +# Run the build, copy pdbs and fixup the cmake targets +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/PahoMqttCpp" TARGET_PATH "share/pahomqttcpp") + +# Remove the include and share folders in debug folder +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +# Add copyright +file(INSTALL ${SOURCE_PATH}/about.html 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 192c5c048..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/pangolin/CONTROL b/ports/pangolin/CONTROL index 77e836cb3..8963cc26b 100644 --- a/ports/pangolin/CONTROL +++ b/ports/pangolin/CONTROL @@ -1,5 +1,5 @@ Source: pangolin -Version: 0.5-6 +Version: 0.5-7 Build-Depends: eigen3, glew, libpng, libjpeg-turbo, ffmpeg Homepage: https://github.com/stevenlovegrove/Pangolin Description: Lightweight GUI Library diff --git a/ports/pangolin/portfile.cmake b/ports/pangolin/portfile.cmake index ac4d31625..e22672ec0 100644 --- a/ports/pangolin/portfile.cmake +++ b/ports/pangolin/portfile.cmake @@ -29,7 +29,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Pangolin") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Pangolin) vcpkg_copy_pdbs() diff --git a/ports/pangomm/CONTROL b/ports/pangomm/CONTROL index 8109a5889..a35d35804 100644 --- a/ports/pangomm/CONTROL +++ b/ports/pangomm/CONTROL @@ -1,5 +1,5 @@ Source: pangomm -Version: 2.40.1 +Version: 2.40.1-2 Homepage: https://ftp.gnome.org/pub/GNOME/sources/pangomm Description: pangomm is the official C++ interface for the Pango font layout library. See, for instance, the Pango::Layout class. Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz, pango, cairomm, glibmm diff --git a/ports/pangomm/README b/ports/pangomm/README deleted file mode 100644 index 37c05b4ee..000000000 --- a/ports/pangomm/README +++ /dev/null @@ -1,3 +0,0 @@ -This is pangomm, a C++ API for Pango. -See http://www.gtkmm.org/ - diff --git a/ports/pangomm/portfile.cmake b/ports/pangomm/portfile.cmake index e3409fe15..b5af1d070 100644 --- a/ports/pangomm/portfile.cmake +++ b/ports/pangomm/portfile.cmake @@ -1,27 +1,17 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pangomm-2.40.1) + vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/pangomm/2.40/pangomm-2.40.1.tar.xz" FILENAME "pangomm-2.40.1.tar.xz" SHA512 bed19800b76e69cc51abeb5997bdc2f687f261ebcbe36aeee51f1fbf5010a46f4b9469033c34a912502001d9985135fd5c7f7574d3de8ba33cc5832520c6aa6f ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix_properties.patch ${CMAKE_CURRENT_LIST_DIR}/fix_charset.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix_properties.patch + fix_charset.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013) @@ -29,7 +19,8 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOU set(VS_PLATFORM ${VCPKG_TARGET_ARCHITECTURE}) if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86) set(VS_PLATFORM "Win32") -endif(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86) +endif() + vcpkg_build_msbuild( PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/pangomm.sln TARGET pangomm @@ -71,6 +62,4 @@ file( vcpkg_copy_pdbs() -# Handle copyright and readme file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pangomm RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/pangomm RENAME readme.txt) diff --git a/ports/parallel-hashmap/CONTROL b/ports/parallel-hashmap/CONTROL index 91be82ab3..9fc7cfec7 100644 --- a/ports/parallel-hashmap/CONTROL +++ b/ports/parallel-hashmap/CONTROL @@ -1,3 +1,3 @@ Source: parallel-hashmap -Version: 1.23 +Version: 1.24 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 d42dee4fd..bd747784d 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.23 - SHA512 efdc717d965292949dc47c2614d97274d52e409a70b283d2b12a957bf3135c6682ed6f77a5b130b70f77eb2cc5c522626cc4b08cd792a7037844df5ba1538985 + REF 1.24 + SHA512 1d5ad02651fc64ab7dcddfee21cc97055828a881c2933fde34d3de19af20ae4b92fb631918b382c3bffed81335752690555aa03d7b204f8c6d7230f8a22d6718 HEAD_REF master ) diff --git a/ports/parallelstl/CONTROL b/ports/parallelstl/CONTROL new file mode 100644 index 000000000..6361e1bd9 --- /dev/null +++ b/ports/parallelstl/CONTROL @@ -0,0 +1,5 @@ +Source: parallelstl +Version: 20190522-1 +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-install-header.patch b/ports/parallelstl/fix-install-header.patch new file mode 100644 index 000000000..cf2e11618 --- /dev/null +++ b/ports/parallelstl/fix-install-header.patch @@ -0,0 +1,12 @@ +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 new file mode 100644 index 000000000..8c906fee2 --- /dev/null +++ b/ports/parallelstl/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO intel/parallelstl + REF 20190522 + SHA512 ad1b820ff4c2ce45ea3d6069dc8d5219449baca44d0bce86482aca247db7a4191e2bce10ab8365056ca278322809fdbb096519436e850cf95f2bb98fa7bc1ab1 + HEAD_REF master + PATCHES fix-install-header.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DPARALLELSTL_USE_PARALLEL_POLICIES=ON +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +# 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 diff --git a/ports/parmetis/CONTROL b/ports/parmetis/CONTROL index 7e5e3b21b..c98d4869f 100644 --- a/ports/parmetis/CONTROL +++ b/ports/parmetis/CONTROL @@ -1,5 +1,5 @@ Source: parmetis -Version: 4.0.3-2 +Version: 4.0.3-3 Homepage: https://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview Description: Parallel Graph Partitioning and Fill-reducing Matrix Ordering -Build-Depends: metis, msmpi +Build-Depends: metis, mpi diff --git a/ports/parmetis/portfile.cmake b/ports/parmetis/portfile.cmake index 63b2cb87b..f3eee992f 100644 --- a/ports/parmetis/portfile.cmake +++ b/ports/parmetis/portfile.cmake @@ -22,6 +22,7 @@ vcpkg_extract_source_archive_ex( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS ${ADDITIONAL_OPTIONS} ) diff --git a/ports/parson/CONTROL b/ports/parson/CONTROL index e97403221..278cdc28d 100644 --- a/ports/parson/CONTROL +++ b/ports/parson/CONTROL @@ -1,3 +1,3 @@ Source: parson -Version: 2019-04-19 +Version: 2019-07-11 Description: a lighweight json library written in C diff --git a/ports/parson/portfile.cmake b/ports/parson/portfile.cmake index 579c44678..3438043a7 100644 --- a/ports/parson/portfile.cmake +++ b/ports/parson/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO kgabis/parson - REF 809ef4b7d829d3929223387661b8e229e7191340 - SHA512 ba29478c7603a50c825f90e7d6d1fcb3f80a3ee0091fba07320544fc5a735653259cb1bb207e3124a36553569493e352f8a1d3233fc2d5dc4a9ec55a74e95b54 + REF 33e5519d0ae68784c91c92af2f48a5b07dc14490 + SHA512 b4477fe1038465edb210d1d02c8241ba02c44a01fa7838fb6217b36659eae3c5eaf450ec559bd609dfdc2417b4948eacc4a643ed7f1684f9b4bbaded421d7b80 HEAD_REF master ) diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL index dcd8c7aad..631aeebe0 100644 --- a/ports/pcl/CONTROL +++ b/ports/pcl/CONTROL @@ -1,5 +1,5 @@ Source: pcl -Version: 1.9.1-3 +Version: 1.9.1-9 Homepage: https://github.com/PointCloudLibrary/pcl Description: Point Cloud Library (PCL) is open source library for 2D/3D image and point cloud processing. Build-Depends: eigen3, flann, qhull, vtk, libpng, boost-system, boost-filesystem, boost-thread, boost-date-time, boost-iostreams, boost-random, boost-foreach, boost-dynamic-bitset, boost-property-map, boost-graph, boost-multi-array, boost-signals2, boost-ptr-container, boost-uuid, boost-interprocess, boost-asio @@ -22,4 +22,7 @@ Build-Depends: boost-accumulators Feature: cuda Description: CUDA support for PCL -Build-Depends: cuda \ No newline at end of file +Build-Depends: cuda + +Feature: opengl +Description: OpenGL support for PCL diff --git a/ports/pcl/boost-1.70.patch b/ports/pcl/boost-1.70.patch index 1c8a02121..c4b9955d2 100644 --- a/ports/pcl/boost-1.70.patch +++ b/ports/pcl/boost-1.70.patch @@ -11,3 +11,17 @@ index 05e6002..99e3a07 100644 typedef boost::ptr_list HelperListT; HelperListT supervoxel_helpers_; +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 68cc438..8cfa1c6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -416,6 +416,9 @@ endif() + + # Boost (required) + include("${PCL_SOURCE_DIR}/cmake/pcl_find_boost.cmake") ++if (NOT APPLE) ++ add_definitions(-fext-numeric-literals) ++endif() + + ### ---[ Create the config.h file + set(pcl_config_h_in "${CMAKE_CURRENT_SOURCE_DIR}/pcl_config.h.in") diff --git a/ports/pcl/cuda_10_1.patch b/ports/pcl/cuda_10_1.patch new file mode 100644 index 000000000..4b46149a4 --- /dev/null +++ b/ports/pcl/cuda_10_1.patch @@ -0,0 +1,133 @@ +diff --git a/cuda/common/include/pcl/cuda/thrust.h b/cuda/common/include/pcl/cuda/thrust.h +index 57586ab..af073d7 100644 +--- a/cuda/common/include/pcl/cuda/thrust.h ++++ b/cuda/common/include/pcl/cuda/thrust.h +@@ -42,6 +42,7 @@ + + #include + #include ++#include + #include + #include + #include +diff --git a/gpu/features/src/fpfh.cu b/gpu/features/src/fpfh.cu +index 8d34f76..59a5f0c 100644 +--- a/gpu/features/src/fpfh.cu ++++ b/gpu/features/src/fpfh.cu +@@ -231,12 +231,12 @@ namespace pcl + int *sinds = sindices + Warp::WARP_SIZE * warp_idx; + int size = sizes[idx]; + +- for(int i = lane; __any(i < size); i += Warp::STRIDE) ++ for(int i = lane; __any_sync(0xFFFFFFFF, i < size); i += Warp::STRIDE) + { + if (i < size) + sinds[lane] = ginds[i]; + +- int inds_num = __popc(__ballot(i < size)); ++ int inds_num = __popc(__ballot_sync(0xFFFFFFFF, i < size)); + + for(int j = 0; j < inds_num; ++j) + { +diff --git a/gpu/octree/src/cuda/approx_nsearch.cu b/gpu/octree/src/cuda/approx_nsearch.cu +index e457255..3e1adfe 100644 +--- a/gpu/octree/src/cuda/approx_nsearch.cu ++++ b/gpu/octree/src/cuda/approx_nsearch.cu +@@ -141,7 +141,7 @@ namespace pcl { namespace device { namespace appnearest_search + { + __shared__ volatile int per_warp_buffer[KernelPolicy::WARPS_COUNT]; + +- int mask = __ballot(node_idx != -1); ++ int mask = __ballot_sync(0xFFFFFFFF, node_idx != -1); + + while(mask) + { +@@ -275,7 +275,7 @@ namespace pcl { namespace device { namespace appnearest_search + + bool active = query_index < batch.queries_num; + +- if (__all(active == false)) ++ if (__all_sync(0xFFFFFFFF, active == false)) + return; + + Warp_appNearestSearch search(batch, query_index); +diff --git a/gpu/octree/src/cuda/knn_search.cu b/gpu/octree/src/cuda/knn_search.cu +index a99655d..b55e3c1 100644 +--- a/gpu/octree/src/cuda/knn_search.cu ++++ b/gpu/octree/src/cuda/knn_search.cu +@@ -106,7 +106,7 @@ namespace pcl { namespace device { namespace knn_search + else + query_index = -1; + +- while(__any(active)) ++ while(__any_sync(0xFFFFFFFF, active)) + { + int leaf = -1; + +@@ -163,7 +163,7 @@ namespace pcl { namespace device { namespace knn_search + + __device__ __forceinline__ void processLeaf(int node_idx) + { +- int mask = __ballot(node_idx != -1); ++ int mask = __ballot_sync(0xFFFFFFFF, node_idx != -1); + + unsigned int laneId = Warp::laneId(); + unsigned int warpId = Warp::id(); +@@ -310,7 +310,7 @@ namespace pcl { namespace device { namespace knn_search + + bool active = query_index < batch.queries_num; + +- if (__all(active == false)) ++ if (__all_sync(0xFFFFFFFF, active == false)) + return; + + Warp_knnSearch search(batch, query_index); +diff --git a/gpu/octree/src/cuda/radius_search.cu b/gpu/octree/src/cuda/radius_search.cu +index f90273f..8ae84e7 100644 +--- a/gpu/octree/src/cuda/radius_search.cu ++++ b/gpu/octree/src/cuda/radius_search.cu +@@ -155,7 +155,7 @@ namespace pcl + else + query_index = -1; + +- while(__any(active)) ++ while(__any_sync(0xFFFFFFFF, active)) + { + int leaf = -1; + +@@ -217,7 +217,7 @@ namespace pcl + + __device__ __forceinline__ void processLeaf(int leaf) + { +- int mask = __ballot(leaf != -1); ++ int mask = __ballot_sync(0xFFFFFFFF, leaf != -1); + + while(mask) + { +@@ -255,7 +255,7 @@ namespace pcl + int *out = batch.output + active_query_index * batch.max_results + active_found_count; + int length_left = batch.max_results - active_found_count; + +- int test = __any(active_lane == laneId && (leaf & KernelPolicy::CHECK_FLAG)); ++ int test = __any_sync(0xFFFFFFFF, active_lane == laneId && (leaf & KernelPolicy::CHECK_FLAG)); + + if (test) + { +@@ -329,7 +329,7 @@ namespace pcl + total_new += new_nodes; + out += new_nodes; + +- if (__all(idx >= length) || __any(out_of_bounds) || total_new == length_left) ++ if (__all_sync(0xFFFFFFFF, idx >= length) || __any_sync(0xFFFFFFFF, out_of_bounds) || total_new == length_left) + break; + } + return min(total_new, length_left); +@@ -343,7 +343,7 @@ namespace pcl + + bool active = query_index < batch.queries.size; + +- if (__all(active == false)) ++ if (__all_sync(0xFFFFFFFF, active == false)) + return; + + Warp_radiusSearch search(batch, query_index); diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake index 971abe025..b0dcd3ff9 100644 --- a/ports/pcl/portfile.cmake +++ b/ports/pcl/portfile.cmake @@ -11,36 +11,25 @@ vcpkg_from_github( pcl_config.patch use_flann_targets.patch boost-1.70.patch + cuda_10_1.patch + # Patch for https://github.com/microsoft/vcpkg/issues/7660 + use_target_link_libraries_in_pclconfig.patch ) file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindFLANN.cmake) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS) -set(WITH_OPENNI2 OFF) -if("openni2" IN_LIST FEATURES) - set(WITH_OPENNI2 ON) -endif() - -set(WITH_QT OFF) -if("qt" IN_LIST FEATURES) - set(WITH_QT ON) -endif() - -set(WITH_PCAP OFF) -if("pcap" IN_LIST FEATURES) - set(WITH_PCAP ON) -endif() - -set(WITH_CUDA OFF) -if("cuda" IN_LIST FEATURES) - set(WITH_CUDA ON) -endif() - -set(BUILD_TOOLS OFF) -if("tools" IN_LIST FEATURES) - set(BUILD_TOOLS ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + openni2 WITH_OPENNI2 + qt WITH_QT + pcap WITH_PCAP + cuda WITH_CUDA + cuda BUILD_CUDA + cuda BUILD_GPU + tools BUILD_tools + opengl WITH_OPENGL +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -48,33 +37,28 @@ vcpkg_configure_cmake( OPTIONS # BUILD -DBUILD_surface_on_nurbs=ON - -DBUILD_tools=${BUILD_TOOLS} - -DBUILD_CUDA=${WITH_CUDA} - -DBUILD_GPU=${WITH_CUDA} # build GPU when use CUDA # PCL -DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} -DPCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} -DPCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32=${PCL_SHARED_LIBS} -DPCL_SHARED_LIBS=${PCL_SHARED_LIBS} # WITH - -DWITH_CUDA=${WITH_CUDA} -DWITH_LIBUSB=OFF - -DWITH_OPENNI2=${WITH_OPENNI2} - -DWITH_PCAP=${WITH_PCAP} -DWITH_PNG=ON -DWITH_QHULL=ON - -DWITH_QT=${WITH_QT} -DWITH_VTK=ON + # FEATURES + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/pcl) +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if(BUILD_TOOLS) +if("tools" IN_LIST FEATURES) file(GLOB EXEFILES_RELEASE ${CURRENT_PACKAGES_DIR}/bin/*.exe) file(GLOB EXEFILES_DEBUG ${CURRENT_PACKAGES_DIR}/debug/bin/*.exe) file(COPY ${EXEFILES_RELEASE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/pcl) diff --git a/ports/pcl/use_target_link_libraries_in_pclconfig.patch b/ports/pcl/use_target_link_libraries_in_pclconfig.patch new file mode 100644 index 000000000..65f622e6f --- /dev/null +++ b/ports/pcl/use_target_link_libraries_in_pclconfig.patch @@ -0,0 +1,31 @@ +diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in +index f1c2ca5..d28cb63 100644 +--- a/PCLConfig.cmake.in ++++ b/PCLConfig.cmake.in +@@ -609,7 +609,7 @@ foreach(component ${PCL_TO_FIND_COMPONENTS}) + INTERFACE_INCLUDE_DIRECTORIES "${PCL_${COMPONENT}_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${PCL_${COMPONENT}_LINK_LIBRARIES}" + ) +- else() ++ elseif(CMAKE_VERSION VERSION_LESS 3.11) + set_target_properties(${pcl_component} + PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "${definitions}" +@@ -617,6 +617,17 @@ foreach(component ${PCL_TO_FIND_COMPONENTS}) + INTERFACE_INCLUDE_DIRECTORIES "${PCL_${COMPONENT}_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${PCL_${COMPONENT}_LINK_LIBRARIES}" + ) ++ else() ++ set_target_properties(${pcl_component} ++ PROPERTIES ++ INTERFACE_COMPILE_DEFINITIONS "${definitions}" ++ INTERFACE_COMPILE_OPTIONS "$<$:${PCL_COMPILE_OPTIONS}>" ++ INTERFACE_INCLUDE_DIRECTORIES "${PCL_${COMPONENT}_INCLUDE_DIRS}" ++ ) ++ # If possible, we use target_link_libraries to avoid problems with link-type keywords, ++ # see https://github.com/PointCloudLibrary/pcl/issues/2989 ++ # target_link_libraries on imported libraries is supported only since CMake 3.11 ++ target_link_libraries(${pcl_component} INTERFACE ${PCL_${COMPONENT}_LINK_LIBRARIES}) + endif() + set(PCL_${COMPONENT}_LIBRARIES ${pcl_component}) + endif() diff --git a/ports/pcre/CONTROL b/ports/pcre/CONTROL index 46e041be2..4eb5b394c 100644 --- a/ports/pcre/CONTROL +++ b/ports/pcre/CONTROL @@ -1,3 +1,4 @@ Source: pcre -Version: 8.41-2 -Description: Perl Compatible Regular Expresions +Version: 8.41-4 +Homepage: https://www.pcre.org/ +Description: Perl Compatible Regular Expressions diff --git a/ports/pcre/portfile.cmake b/ports/pcre/portfile.cmake index ac99a478b..8c816f0ab 100644 --- a/ports/pcre/portfile.cmake +++ b/ports/pcre/portfile.cmake @@ -1,26 +1,22 @@ -# Common Ambient Variables: -# VCPKG_ROOT_DIR = -# TARGET_TRIPLET is the current triplet (x86-windows, etc) -# PORT is the current port name (zlib, etc) -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# +include(vcpkg_common_functions) set(PCRE_VERSION 8.41) -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pcre-${PCRE_VERSION}) + vcpkg_download_distfile(ARCHIVE - URLS "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${PCRE_VERSION}.zip" + URLS "https://ftp.pcre.org/pub/pcre/pcre-${PCRE_VERSION}.zip" "https://downloads.sourceforge.net/project/pcre/pcre/${PCRE_VERSION}/pcre-${PCRE_VERSION}.zip" FILENAME "pcre-${PCRE_VERSION}.zip" SHA512 a3fd57090a5d9ce9d608aeecd59f42f04deea5b86a5c5899bdb25b18d8ec3a89b2b52b62e325c6485a87411eb65f1421604f80c3eaa653bd7dbab05ad22795ea ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-option-2.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-arm-config-define.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-arm64-config-define.patch) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix-option-2.patch + fix-arm-config-define.patch + fix-arm64-config-define.patch +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -62,8 +58,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/man) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/man) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) -# Handle copyright -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pcre) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/pcre/COPYING ${CURRENT_PACKAGES_DIR}/share/pcre/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/pcre2/CONTROL b/ports/pcre2/CONTROL index 3d7824a27..be71b866e 100644 --- a/ports/pcre2/CONTROL +++ b/ports/pcre2/CONTROL @@ -1,4 +1,4 @@ Source: pcre2 -Version: 10.30-4 +Version: 10.30-6 Homepage: https://pcre.org/ Description: PCRE2 is a re-working of the original Perl Compatible Regular Expressions library diff --git a/ports/pcre2/fix-uwp.patch b/ports/pcre2/fix-uwp.patch new file mode 100644 index 000000000..29aaf1a2b --- /dev/null +++ b/ports/pcre2/fix-uwp.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0e8a164..7e8150c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -506,6 +506,7 @@ ADD_DEFINITIONS(-DHAVE_CONFIG_H) + + IF(MSVC) + ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS) ++ add_compile_options(/wd4146) + ENDIF(MSVC) + + SET(CMAKE_INCLUDE_CURRENT_DIR 1) +diff --git a/src/pcre2_match.c b/src/pcre2_match.c +index 050b7e9..49925a2 100644 +--- a/src/pcre2_match.c ++++ b/src/pcre2_match.c +@@ -566,7 +566,7 @@ match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, PCRE2_SIZE *ovector, + heapframe *F; /* Current frame pointer */ + heapframe *N = NULL; /* Temporary frame pointers */ + heapframe *P = NULL; +-heapframe *assert_accept_frame; /* For passing back the frame with captures */ ++heapframe *assert_accept_frame = NULL; /* For passing back the frame with captures */ + PCRE2_SIZE frame_copy_size; /* Amount to copy when creating a new frame */ + + /* Local variables that do not need to be preserved over calls to RRMATCH(). */ diff --git a/ports/pcre2/portfile.cmake b/ports/pcre2/portfile.cmake index 82b9014d1..199f72a59 100644 --- a/ports/pcre2/portfile.cmake +++ b/ports/pcre2/portfile.cmake @@ -10,7 +10,15 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES fix-space.patch - fix-arm64-config.patch) + fix-arm64-config.patch + fix-uwp.patch +) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Emscripten") + set(JIT OFF) +else() + set(JIT ON) +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -19,7 +27,7 @@ vcpkg_configure_cmake( -DPCRE2_BUILD_PCRE2_8=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON - -DPCRE2_SUPPORT_JIT=ON + -DPCRE2_SUPPORT_JIT=${JIT} -DPCRE2_SUPPORT_UNICODE=ON -DPCRE2_BUILD_TESTS=OFF -DPCRE2_BUILD_PCRE2GREP=OFF) @@ -46,5 +54,4 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/man) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/pcre2) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/pcre2/COPYING ${CURRENT_PACKAGES_DIR}/share/pcre2/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/pdal/0003-fix-copy-vendor.patch b/ports/pdal/0003-fix-copy-vendor.patch index a29ad9018..3aad7af32 100644 --- a/ports/pdal/0003-fix-copy-vendor.patch +++ b/ports/pdal/0003-fix-copy-vendor.patch @@ -33,6 +33,15 @@ index 43e446a..c4c7d6f 100644 # # CPACK +@@ -348,7 +373,7 @@ add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source) + + export( + TARGETS +- ${PDAL_BASE_LIB_NAME} ${PDAL_UTIL_LIB_NAME} ++ ${PDAL_BASE_LIB_NAME} ${PDAL_ARBITER_LIB_NAME} ${PDAL_KAZHDAN_LIB_NAME} ${PDAL_UTIL_LIB_NAME} + FILE + "${PDAL_BINARY_DIR}/PDALTargets.cmake") + diff --git a/cmake/directories.cmake b/cmake/directories.cmake index f079ec7..8e366e8 100644 --- a/cmake/directories.cmake diff --git a/ports/pdal/CONTROL b/ports/pdal/CONTROL index 743f77c8e..9dbec2ab9 100644 --- a/ports/pdal/CONTROL +++ b/ports/pdal/CONTROL @@ -1,4 +1,4 @@ Source: pdal -Version: 1.7.1-4 +Version: 1.7.1-6 Description: PDAL - Point Data Abstraction Library is a library for manipulating point cloud data. Build-Depends: gdal, geos, jsoncpp, libgeotiff, laszip diff --git a/ports/pdal/PDALConfig.patch b/ports/pdal/PDALConfig.patch index ea7681dc1..25e9bfcbe 100644 --- a/ports/pdal/PDALConfig.patch +++ b/ports/pdal/PDALConfig.patch @@ -2,12 +2,13 @@ diff --git a/PDALConfig.cmake.in b/PDALConfig.cmake.in index a03ef142e..2d06a2937 100644 --- a/PDALConfig.cmake.in +++ b/PDALConfig.cmake.in -@@ -15,6 +15,8 @@ foreach(_dir @PDAL_CONFIG_LIBRARY_DIRS@) +@@ -15,6 +15,9 @@ foreach(_dir @PDAL_CONFIG_LIBRARY_DIRS@) list(APPEND PDAL_LIBRARY_DIRS ${_foo}) endforeach(_dir) +include(CMakeFindDependencyMacro) +find_dependency(GeoTIFF) ++find_dependency(CURL) include("${CMAKE_CURRENT_LIST_DIR}/PDALTargets.cmake") if (WIN32) diff --git a/ports/pdal/portfile.cmake b/ports/pdal/portfile.cmake index 566fc08e4..6961199a7 100644 --- a/ports/pdal/portfile.cmake +++ b/ports/pdal/portfile.cmake @@ -1,10 +1,7 @@ -# vcpkg portfile.cmake for PDAL -# -# NOTE: update the version string for new PDAL release -set(PDAL_VERSION_STR "1.7.1") - include(vcpkg_common_functions) +set(PDAL_VERSION_STR "1.7.1") + vcpkg_download_distfile(ARCHIVE URLS "http://download.osgeo.org/pdal/PDAL-${PDAL_VERSION_STR}-src.tar.gz" FILENAME "PDAL-${PDAL_VERSION_STR}-src.tar.gz" @@ -27,26 +24,26 @@ file(REMOVE "${SOURCE_PATH}/pdal/gitsha.cpp") foreach(_module IN ITEMS FindGDAL FindGEOS FindGeoTIFF FindCurl) # Outdated; Supplied by CMake file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") endforeach() -foreach(_module IN ITEMS FindGEOS) # Overwritten Modules. +foreach(_module IN ITEMS FindGEOS) # Overwritten Modules. file(REMOVE "${SOURCE_PATH}/cmake/modules/${_module}.cmake") file(COPY ${CMAKE_CURRENT_LIST_DIR}/${_module}.cmake DESTINATION ${SOURCE_PATH}/cmake/modules/ ) endforeach() -# NOTE: CMake native BUILD_SHARED_LIBS option will be set by vcpkg_configure_cmake -# TODO: Remove this as soon as PDAL switches to use BUILD_SHARED_LIBS if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(PDAL_BUILD_STATIC OFF) + set(VCPKG_BUILD_SHARED_LIBS ON) + set(VCPKG_BUILD_STATIC_LIBS OFF) else() - set(PDAL_BUILD_STATIC ON) + set(VCPKG_BUILD_SHARED_LIBS OFF) + set(VCPKG_BUILD_STATIC_LIBS ON) endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DPDAL_BUILD_STATIC:BOOL=${PDAL_BUILD_STATIC} + -DPDAL_BUILD_STATIC:BOOL=${VCPKG_BUILD_STATIC_LIBS} -DWITH_TESTS:BOOL=OFF -DWITH_COMPLETION:BOOL=OFF ) diff --git a/ports/pdcurses/CONTROL b/ports/pdcurses/CONTROL index 3ea97de0b..928000072 100644 --- a/ports/pdcurses/CONTROL +++ b/ports/pdcurses/CONTROL @@ -1,4 +1,4 @@ Source: pdcurses -Version: 3.8 +Version: 3.8-1 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 72c54e403..a1c76fda3 100644 --- a/ports/pdcurses/portfile.cmake +++ b/ports/pdcurses/portfile.cmake @@ -14,21 +14,10 @@ vcpkg_from_github( HEAD_REF master ) -file(REMOVE_RECURSE - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET} -) +set(PDC_NMAKE_CMD ${NMAKE} /A -f ${SOURCE_PATH}/wincon/Makefile.vc WIDE=Y UTF8=Y) -file(GLOB SOURCES ${SOURCE_PATH}/*) - -file(COPY ${SOURCES} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}) - -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") - -set(PDC_NMAKE_CMD ${NMAKE} /A -f ${SOURCE_PATH}/wincon/Makefile.vc WIDE=Y UTF8=Y) - - -set(PDC_NMAKE_CWD ${SOURCE_PATH}/wincon) -set(PDC_PDCLIB ${SOURCE_PATH}/wincon/pdcurses) +set(PDC_NMAKE_CWD ${SOURCE_PATH}/wincon) +set(PDC_PDCLIB ${SOURCE_PATH}/wincon/pdcurses) if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") set(PDC_NMAKE_CMD ${PDC_NMAKE_CMD} DLL=Y) @@ -73,7 +62,7 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") endif() file( - COPY ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h + COPY ${SOURCE_PATH}/curses.h ${SOURCE_PATH}/panel.h DESTINATION ${CURRENT_PACKAGES_DIR}/include ) file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdcurses RENAME copyright) diff --git a/ports/pdqsort/CONTROL b/ports/pdqsort/CONTROL new file mode 100644 index 000000000..6d1d9e660 --- /dev/null +++ b/ports/pdqsort/CONTROL @@ -0,0 +1,4 @@ +Source: pdqsort +Version: 2019-07-30 +Homepage: https://github.com/orlp/pdqsort +Description: Pattern-defeating quicksort (pdqsort) is a novel sorting algorithm diff --git a/ports/pdqsort/portfile.cmake b/ports/pdqsort/portfile.cmake new file mode 100644 index 000000000..a9c6a9211 --- /dev/null +++ b/ports/pdqsort/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO orlp/pdqsort + REF 08879029ab8dcb80a70142acb709e3df02de5d37 + SHA512 38e8b6e35edf1e88e26850a13ce892d8adc0d3e1d7954287d024b3bb858a6b2284e25fbf7c92a694b3ec77cacaf6bbc27fc365187115f7cca6bc88088f67a18f + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/pdqsort.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/pdqsort) + +# Handle copyright +file(COPY ${SOURCE_PATH}/license.txt ${SOURCE_PATH}/readme.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/pdqsort) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/pdqsort/license.txt ${CURRENT_PACKAGES_DIR}/share/pdqsort/copyright) \ No newline at end of file diff --git a/ports/pegtl-2/CONTROL b/ports/pegtl-2/CONTROL index fcbcd3bba..aba1579d1 100644 --- a/ports/pegtl-2/CONTROL +++ b/ports/pegtl-2/CONTROL @@ -1,3 +1,3 @@ Source: pegtl-2 -Version: 2.8.0 +Version: 2.8.1 Description: The Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG). This version maintains compatibility with C++11. diff --git a/ports/pegtl-2/portfile.cmake b/ports/pegtl-2/portfile.cmake index 79d6bb97e..4e43c40ce 100644 --- a/ports/pegtl-2/portfile.cmake +++ b/ports/pegtl-2/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taocpp/pegtl - REF 2.8.0 - SHA512 1652b0061cd4cbd0e687855ee2e61e97d020606c54329de8769c3a3f411002323900c11eaf0da28e107c17e269025f577f9205b7500c5bbb16502687be8ee77b + REF 2.8.1 + SHA512 7a8f6829123fbbd5a0ef1c8ef2c72bdae48576ef94056a1dff7914e4bb85caac1df02839131ea5cfb4131c8902addeca92df48fe7dd5815bdf5cb35759dace49 HEAD_REF master ) diff --git a/ports/pegtl/CONTROL b/ports/pegtl/CONTROL index f7f685e0d..52906a8c1 100644 --- a/ports/pegtl/CONTROL +++ b/ports/pegtl/CONTROL @@ -1,3 +1,3 @@ Source: pegtl -Version: 3.0.0-pre +Version: 3.0.0-pre-697aaa0 Description: The Parsing Expression Grammar Template Library (PEGTL) is a zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG). diff --git a/ports/pegtl/portfile.cmake b/ports/pegtl/portfile.cmake index f12b170b5..3e3f92f97 100644 --- a/ports/pegtl/portfile.cmake +++ b/ports/pegtl/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taocpp/pegtl - REF c5d158ffab4baa0e1c3f6d54c0684f05a2412f74 - SHA512 efd5d36ca14c27948005cd034e72e24855f6046141c316a1d4b7186af9753fd035dab8303dc86e2f2de1b185f5fa3f5d678672892b1fc4ab69e827492a94e897 + REF 697aaa06564c6ea9d13f95de081a2d2d46b39160 + SHA512 453821966526569a2d1842ec0bebe6f65dee0241d6ab7d38255726243326356b6a972bf5ca58168e94f51dd87c74ce17fdefffd19fe67570fe9dc52f1f6a4f16 HEAD_REF master ) diff --git a/ports/phnt/CONTROL b/ports/phnt/CONTROL new file mode 100644 index 000000000..c563c0d34 --- /dev/null +++ b/ports/phnt/CONTROL @@ -0,0 +1,4 @@ +Source: phnt +Version: 2019-05-01 +Homepage: https://github.com/processhacker/phnt +Description: Windows Native API header files \ No newline at end of file diff --git a/ports/phnt/portfile.cmake b/ports/phnt/portfile.cmake new file mode 100644 index 000000000..f381d5a9f --- /dev/null +++ b/ports/phnt/portfile.cmake @@ -0,0 +1,17 @@ +#header-only library +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO processhacker/phnt + REF 33cfd75a2be59bbde3aa4db3399a9e6bab66ae6a + SHA512 90a1b38d27e35e7706e66dae0f4e151b50f5b74fbedf15ad165beece6a94b8a87263e16e1e0b891a324091c3769fd2ff2f541e11691b322413e575e6f08dc746 + HEAD_REF master +) + +# Install headers +file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h) +file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/phnt RENAME copyright) \ No newline at end of file diff --git a/ports/physfs/CONTROL b/ports/physfs/CONTROL index 07b90bcdf..037db0947 100644 --- a/ports/physfs/CONTROL +++ b/ports/physfs/CONTROL @@ -1,5 +1,5 @@ Source: physfs -Version: 3.0.2 +Version: 3.0.2-1 Homepage: https://icculus.org/physfs/ Description: a library to provide abstract access to various archives Build-Depends: zlib diff --git a/ports/physfs/portfile.cmake b/ports/physfs/portfile.cmake index 92f1cd4ee..2e841ac7e 100644 --- a/ports/physfs/portfile.cmake +++ b/ports/physfs/portfile.cmake @@ -1,11 +1,12 @@ include(vcpkg_common_functions) set(PHYSFS_VERSION 3.0.2) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/physfs-${PHYSFS_VERSION}) + vcpkg_download_distfile(ARCHIVE URLS "https://icculus.org/physfs/downloads/physfs-${PHYSFS_VERSION}.tar.bz2" FILENAME "physfs-${PHYSFS_VERSION}.tar.bz2" SHA512 4024b6c3348e0b6fc1036aac330192112dfe17de3e3d14773be9f06e9a062df5a1006869f21162b4e0b584989f463788a35e64186b1913225c073fea62754472 ) + vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} @@ -13,12 +14,12 @@ vcpkg_extract_source_archive_ex( ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS -DPHYSFS_BUILD_STATIC=${PHYSFS_STATIC} -DPHYSFS_BUILD_SHARED=${PHYSFS_SHARED} -DPHYSFS_BUILD_TEST=OFF @@ -29,6 +30,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/physfs) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/physfs/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/physfs/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/physx/CONTROL b/ports/physx/CONTROL index 284216488..49150dc29 100644 --- a/ports/physx/CONTROL +++ b/ports/physx/CONTROL @@ -1,3 +1,3 @@ -Source: physx -Version: commit-624f2cb6c0392013d54b235d9072a49d01c3cb6c -Description: The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs +Source: physx +Version: 4.1.1-3 +Description: The NVIDIA PhysX SDK is a scalable multi-platform physics solution supporting a wide range of devices, from smartphones to high-end multicore CPUs and GPUs diff --git a/ports/physx/msvc_142_bug_workaround.patch b/ports/physx/msvc_142_bug_workaround.patch new file mode 100644 index 000000000..55433350d --- /dev/null +++ b/ports/physx/msvc_142_bug_workaround.patch @@ -0,0 +1,13 @@ +diff --git a/physx/source/foundation/include/windows/PsWindowsInlineAoS.h b/physx/source/foundation/include/windows/PsWindowsInlineAoS.h +index 881dffb..7111189 100644 +--- a/physx/source/foundation/include/windows/PsWindowsInlineAoS.h ++++ b/physx/source/foundation/include/windows/PsWindowsInlineAoS.h +@@ -363,7 +363,7 @@ + PX_FORCE_INLINE Vec3V V3LoadA(const PxF32* const f) + { + ASSERT_ISALIGNED16(f); +- return V4ClearW(_mm_load_ps(f)); ++ return [ & ](){ return V4ClearW(_mm_load_ps(f)); }(); // MSVC 142 bug workaround + } + + PX_FORCE_INLINE Vec3V V3LoadU(const PxF32* const i) diff --git a/ports/physx/portfile.cmake b/ports/physx/portfile.cmake index 2e0dfa963..c77b18773 100644 --- a/ports/physx/portfile.cmake +++ b/ports/physx/portfile.cmake @@ -1,100 +1,154 @@ -include(vcpkg_common_functions) - -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "Error: UWP builds not supported.") -endif() - -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(WINDOWS_PLATFORM "32") - set(MSBUILD_PLATFORM "Win32") -elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(WINDOWS_PLATFORM "64") - set(MSBUILD_PLATFORM "x64") -else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - -if (VCPKG_PLATFORM_TOOLSET STREQUAL "v140") - set(MSVC_VERSION "14") - set(TOOLSET_VERSION "140") -elseif (VCPKG_PLATFORM_TOOLSET STREQUAL "v141") - set(MSVC_VERSION "15") - set(TOOLSET_VERSION "141") -else() - message(FATAL_ERROR "Unsupported platform toolset.") -endif() - -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO NVIDIAGameWorks/PhysX - REF 624f2cb6c0392013d54b235d9072a49d01c3cb6c - SHA512 80b465f6214434fd53954fe124d8f8aa1ddfcb60d80261f1dc06713bf7fb0f42d8cd96a393fbc46547d9c2199039f386220d7eea63c849ad98863ff26b731e0c - HEAD_REF master -) - -set(BUILD_SNIPPETS "False") -set(BUILD_PUBLIC_SAMPLES "False") -set(FLOAT_POINT_PRECISE_MATH "False") - -if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(GENERATE_STATIC_LIBRARIES "True") -elseif (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(GENERATE_STATIC_LIBRARIES "False") -endif() - -if (VCPKG_CRT_LINKAGE STREQUAL "dynamic") - set(USE_STATIC_WINCRT "False") - set(RUNTIME_LIBRARY_LINKAGE "md") -elseif (VCPKG_CRT_LINKAGE STREQUAL "static") - set(USE_STATIC_WINCRT "True") - set(RUNTIME_LIBRARY_LINKAGE "mt") -endif() - -set(PRESET_FILE vc${MSVC_VERSION}win${WINDOWS_PLATFORM}-${RUNTIME_LIBRARY_LINKAGE}-${VCPKG_LIBRARY_LINKAGE}) -file(REMOVE ${SOURCE_PATH}/physx/buildtools/presets/public/${PRESET_FILE}.xml) -configure_file(${CMAKE_CURRENT_LIST_DIR}/preset.xml.in ${SOURCE_PATH}/physx/buildtools/presets/public/${PRESET_FILE}.xml) - -vcpkg_find_acquire_program(PYTHON3) -get_filename_component(PYTHON3_DIR ${PYTHON3} DIRECTORY) -vcpkg_add_to_path(${PYTHON3_DIR}) - -get_filename_component(CMAKE_DIR ${CMAKE_COMMAND} DIRECTORY) -# If cmake is not installed then adding it to the end of the path -# will allow generate_projects.bat to find the cmake used by vcpkg. -vcpkg_add_to_path(${CMAKE_DIR}) - -vcpkg_execute_required_process( - COMMAND ${SOURCE_PATH}/physx/generate_projects.bat ${PRESET_FILE} - WORKING_DIRECTORY ${SOURCE_PATH}/physx - LOGNAME build-${TARGET_TRIPLET} -) - -set(RELEASE_CONFIGURATION "release") -set(DEBUG_CONFIGURATION "debug") - -vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/physx/compiler/vc15win${WINDOWS_PLATFORM}/PhysXSDK.sln - RELEASE_CONFIGURATION ${RELEASE_CONFIGURATION} - DEBUG_CONFIGURATION ${DEBUG_CONFIGURATION} - PLATFORM ${MSBUILD_PLATFORM} -) - -file(INSTALL ${SOURCE_PATH}/physx/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/physx/) - -if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(GLOB RELEASE_BINS ${SOURCE_PATH}/physx/bin/win.x86_${WINDOWS_PLATFORM}.vc${TOOLSET_VERSION}.${RUNTIME_LIBRARY_LINKAGE}/${RELEASE_CONFIGURATION}/*.dll) - file(INSTALL ${RELEASE_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - - file(GLOB DEBUG_BINS ${SOURCE_PATH}/physx/bin/win.x86_${WINDOWS_PLATFORM}.vc${TOOLSET_VERSION}.${RUNTIME_LIBRARY_LINKAGE}/${DEBUG_CONFIGURATION}/*.dll) - file(INSTALL ${DEBUG_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() - -file(GLOB RELEASE_LIBS ${SOURCE_PATH}/physx/bin/win.x86_${WINDOWS_PLATFORM}.vc${TOOLSET_VERSION}.${RUNTIME_LIBRARY_LINKAGE}/${RELEASE_CONFIGURATION}/*.lib) -file(INSTALL ${RELEASE_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) - -file(GLOB DEBUG_LIBS ${SOURCE_PATH}/physx/bin/win.x86_${WINDOWS_PLATFORM}.vc${TOOLSET_VERSION}.${RUNTIME_LIBRARY_LINKAGE}/${DEBUG_CONFIGURATION}/*.lib) -file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) - -vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/physx RENAME copyright) +include(vcpkg_common_functions) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(SYSTEM_PLATFORM "32") + set(SYSTEM_PLATFORM_PATH "x86_32") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(SYSTEM_PLATFORM "64") + set(SYSTEM_PLATFORM_PATH "x86_64") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(SYSTEM_PLATFORM "arm32") + set(SYSTEM_PLATFORM_PATH "arm_32") +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(SYSTEM_PLATFORM "arm64") + set(SYSTEM_PLATFORM_PATH "arm_64") +else() + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(GENERATE_STATIC_LIBRARIES "True") +elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(GENERATE_STATIC_LIBRARIES "False") +endif() + +if("${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "" OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(MSBUILD_PLATFORM "Win32") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(MSBUILD_PLATFORM "x64") + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(MSBUILD_PLATFORM "ARM") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + set(MSBUILD_PLATFORM "ARM64") + else() + message(FATAL_ERROR "Unsupported UWP architecture: ${VCPKG_TARGET_ARCHITECTURE}") + endif() + else() + message(FATAL_ERROR "Unsupported Windows architecture: ${VCPKG_TARGET_ARCHITECTURE}") + endif() + + if(VCPKG_PLATFORM_TOOLSET STREQUAL "v140") + set(MSVC_VERSION "14") + set(TOOLSET_VERSION "140") + elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v141") + set(MSVC_VERSION "15") + set(TOOLSET_VERSION "141") + elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v142") + set(MSVC_VERSION "16") + set(TOOLSET_VERSION "142") + else() + message(FATAL_ERROR "Unsupported platform toolset.") + endif() + + set(FLOAT_POINT_PRECISE_MATH "False") + set(BUILD_SNIPPETS "False") + set(BUILD_PUBLIC_SAMPLES "False") + + if("${VCPKG_CMAKE_SYSTEM_NAME}" STREQUAL "") + set(SYSTEM "win") + if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(USE_STATIC_WINCRT "False") + set(RUNTIME_LIBRARY_LINKAGE "md") + elseif(VCPKG_CRT_LINKAGE STREQUAL "static") + set(USE_STATIC_WINCRT "True") + set(RUNTIME_LIBRARY_LINKAGE "mt") + endif() + set(USE_DEBUG_CRT "True") + set(COMPILER "vc${MSVC_VERSION}${SYSTEM}${SYSTEM_PLATFORM}") + set(PRESET_FILE ${COMPILER}-${RUNTIME_LIBRARY_LINKAGE}-${VCPKG_LIBRARY_LINKAGE}) + set(BUILD_PATH "${SYSTEM}.${SYSTEM_PLATFORM_PATH}.vc${TOOLSET_VERSION}.${RUNTIME_LIBRARY_LINKAGE}") + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(SYSTEM "uwp") + set(USE_STATIC_WINCRT "False") + set(USE_DEBUG_CRT "False") + set(COMPILER "vc${MSVC_VERSION}${SYSTEM}${SYSTEM_PLATFORM}") + set(PRESET_FILE ${COMPILER}-${VCPKG_LIBRARY_LINKAGE}) + set(BUILD_PATH "${SYSTEM}.${SYSTEM_PLATFORM_PATH}.vc${TOOLSET_VERSION}") + endif() +else() + message(FATAL_ERROR "Unsupported platform: ${VCPKG_CMAKE_SYSTEM_NAME}") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO NVIDIAGameWorks/PhysX + REF ae80dede0546d652040ae6260a810e53e20a06fa + SHA512 f3a690039cf39fe2db9a728b82af0d39eaa02340a853bdad4b5152d63532367eb24fc7033a614882168049b80d803b6225fc60ed2900a9d0deab847f220540be + HEAD_REF master + PATCHES + msvc_142_bug_workaround.patch + vs16_3_typeinfo_header_fix.patch +) + +file(REMOVE ${SOURCE_PATH}/physx/buildtools/presets/public/${PRESET_FILE}.xml) +configure_file(${CMAKE_CURRENT_LIST_DIR}/preset.xml.in ${SOURCE_PATH}/physx/buildtools/presets/public/${PRESET_FILE}.xml) + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR ${PYTHON3} DIRECTORY) +vcpkg_add_to_path(${PYTHON3_DIR}) + +get_filename_component(CMAKE_DIR ${CMAKE_COMMAND} DIRECTORY) +# If cmake is not installed then adding it to the end of the path +# will allow generate_projects.bat to find the cmake used by vcpkg. +vcpkg_add_to_path(${CMAKE_DIR}) + +vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/physx/generate_projects.bat ${PRESET_FILE} + WORKING_DIRECTORY ${SOURCE_PATH}/physx + LOGNAME build-${TARGET_TRIPLET} +) + +set(RELEASE_CONFIGURATION "release") +set(DEBUG_CONFIGURATION "debug") + +vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/physx/compiler/${COMPILER}/PhysXSDK.sln + RELEASE_CONFIGURATION ${RELEASE_CONFIGURATION} + DEBUG_CONFIGURATION ${DEBUG_CONFIGURATION} + PLATFORM ${MSBUILD_PLATFORM} +) + +file(INSTALL ${SOURCE_PATH}/physx/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}/) +file(INSTALL ${SOURCE_PATH}/pxshared/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}/) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + file(GLOB RELEASE_BINS ${SOURCE_PATH}/physx/bin/${BUILD_PATH}/${RELEASE_CONFIGURATION}/*.dll) + file(INSTALL ${RELEASE_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + + file(GLOB DEBUG_BINS ${SOURCE_PATH}/physx/bin/${BUILD_PATH}/${DEBUG_CONFIGURATION}/*.dll) + file(INSTALL ${DEBUG_BINS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + + vcpkg_copy_pdbs() +endif() + +file( + GLOB + RELEASE_LIBS + ${SOURCE_PATH}/physx/bin/${BUILD_PATH}/${RELEASE_CONFIGURATION}/*.lib + ${SOURCE_PATH}/physx/bin/${BUILD_PATH}/${RELEASE_CONFIGURATION}/*.pdb + ${SOURCE_PATH}/physx/compiler/${COMPILER}/sdk_source_bin/${RELEASE_CONFIGURATION}/*.pdb +) +file(INSTALL ${RELEASE_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + +file( + GLOB + DEBUG_LIBS + ${SOURCE_PATH}/physx/bin/${BUILD_PATH}/${DEBUG_CONFIGURATION}/*.lib + ${SOURCE_PATH}/physx/bin/${BUILD_PATH}/${DEBUG_CONFIGURATION}/*.pdb + ${SOURCE_PATH}/physx/compiler/${COMPILER}/sdk_source_bin/${DEBUG_CONFIGURATION}/*.pdb +) +file(INSTALL ${DEBUG_LIBS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + +file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/physx/preset.xml.in b/ports/physx/preset.xml.in index 03bc964f8..b72619afe 100644 --- a/ports/physx/preset.xml.in +++ b/ports/physx/preset.xml.in @@ -1,15 +1,15 @@ - - + + - + - + \ No newline at end of file diff --git a/ports/physx/vs16_3_typeinfo_header_fix.patch b/ports/physx/vs16_3_typeinfo_header_fix.patch new file mode 100644 index 000000000..8c2a5a01a --- /dev/null +++ b/ports/physx/vs16_3_typeinfo_header_fix.patch @@ -0,0 +1,12 @@ +diff --git a/physx/source/foundation/include/PsAllocator.h b/physx/source/foundation/include/PsAllocator.h +--- a/physx/source/foundation/include/PsAllocator.h ++++ b/physx/source/foundation/include/PsAllocator.h +@@ -37,7 +37,7 @@ + + #if(PX_WINDOWS_FAMILY || PX_XBOXONE) + #include +- #include ++ #include + #endif + #if(PX_APPLE_FAMILY) + #include diff --git a/ports/picojson/CONTROL b/ports/picojson/CONTROL index 4a3614202..72ac9c513 100644 --- a/ports/picojson/CONTROL +++ b/ports/picojson/CONTROL @@ -1,5 +1,5 @@ Source: picojson -Version: 1.3.0 +Version: 1.3.0-1 Homepage: https://github.com/kazuho/picojson Description: A header-file-only, JSON parser serializer in C++. diff --git a/ports/picojson/portfile.cmake b/ports/picojson/portfile.cmake index c155275d3..1919e6130 100644 --- a/ports/picojson/portfile.cmake +++ b/ports/picojson/portfile.cmake @@ -1,19 +1,15 @@ - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/picojson-rel-v1.3.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/kazuho/picojson/archive/rel/v1.3.0.zip" - FILENAME "picojson-1.3.0.zip" - SHA512 d1da5748b6a03e92ca4fa475a918842f5eede955f747359fa4d9d85f9ed9efac8b3748a306c2f9f71b9924099ba5e1f8f949e50cdf6f26bc3778865121725ddf + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kazuho/picojson + REF v1.3.0 + SHA512 76d5a6b3b9e1151198eee707faffcbbba28a2842daccf03d99a5d02ae017f9517ef3ac9da4acc74a4fc1357feaf19e14a15c34698a1d4cb65acb6d23b566b284 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) -# Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/picojson) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/picojson/LICENSE ${CURRENT_PACKAGES_DIR}/share/picojson/copyright) +file(INSTALL ${SOURCE_PATH}/picojson.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) -# Copy the header files -file(INSTALL ${SOURCE_PATH}/picojson.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/picojson) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() - diff --git a/ports/piex/CONTROL b/ports/piex/CONTROL index 3f257fa20..2ff82df97 100644 --- a/ports/piex/CONTROL +++ b/ports/piex/CONTROL @@ -1,4 +1,4 @@ Source: piex -Version: 2018-03-13-1 +Version: 2019-07-11 Homepage: https://github.com/google/piex Description: The Preview Image Extractor (PIEX) is designed to find and extract the largest diff --git a/ports/piex/portfile.cmake b/ports/piex/portfile.cmake index 3238c013c..a05fe837e 100644 --- a/ports/piex/portfile.cmake +++ b/ports/piex/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/piex - REF 2aa74c2dd295758ef4562906a5525300972821fc - SHA512 4fbea41e8f21c2f4a75d899aa28e2d2e92201d429eb8504515466187befc1eac6c9b31d91b039f2aebe2101bbde6b87adce9bae578a536f264d207fe29e4bd8f + REF 256bd102be288c19b4165e0ecc7097a18c004e92 + SHA512 ae948588a99d586593788c995c3d65a488faaf99b2ab6c51ec39df7e11a42c89454dd505117e90b1f152f6abfc2e3e11f61b0af97e42ecdff0d978934e20f582 HEAD_REF master ) diff --git a/ports/pistache/CONTROL b/ports/pistache/CONTROL new file mode 100644 index 000000000..c1b4408cf --- /dev/null +++ b/ports/pistache/CONTROL @@ -0,0 +1,4 @@ +Source: pistache +Version: 2019-08-05 +Homepage: https://github.com/oktal/pistache +Description: Pistache is a modern and elegant HTTP and REST framework for C++. It is entirely written in pure-C++11 and provides a clear and pleasant API. \ No newline at end of file diff --git a/ports/pistache/portfile.cmake b/ports/pistache/portfile.cmake new file mode 100644 index 000000000..d0400dcdf --- /dev/null +++ b/ports/pistache/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + message(FATAL_ERROR "${PORT} currently only supports Linux platform.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO oktal/pistache + REF 4dc9e3ef9a1b953a62e5fadbed88e72b4b3734de + SHA512 427b6a6e7200e5f91ce8737cd1cc5d6cd689025033c85979c96f0ece64ae05d9c6839a936d7d6015b0e1065dc72362f6f70ab588ea7cae7aa718dfe5cd288554 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +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) + +# 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) diff --git a/ports/pixman/CMakeLists.txt b/ports/pixman/CMakeLists.txt index 1b8c311c1..48e01ec66 100644 --- a/ports/pixman/CMakeLists.txt +++ b/ports/pixman/CMakeLists.txt @@ -50,7 +50,7 @@ set(PIXMAN_DEFS PACKAGE_BUGREPORT="" ) -if(VCPKG_TARGET_TRIPLET STREQUAL arm64-windows OR VCPKG_TARGET_TRIPLET STREQUAL arm-windows) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm) # don't enable SSE2 for arm64-windows and arm-windows else() # The USE_SSE2 definition lets it use SSE2 instructions for speed. Every x86/64 target machine should have SSE2 these days. diff --git a/ports/pixman/CONTROL b/ports/pixman/CONTROL index 129ba37fe..9fca34201 100644 --- a/ports/pixman/CONTROL +++ b/ports/pixman/CONTROL @@ -1,4 +1,4 @@ Source: pixman -Version: 0.38.0-3 +Version: 0.38.0-4 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/plf-colony/CONTROL b/ports/plf-colony/CONTROL new file mode 100644 index 000000000..384ce2d19 --- /dev/null +++ b/ports/plf-colony/CONTROL @@ -0,0 +1,4 @@ +Source: plf-colony +Version: 2019-08-10 +Description: An unordered data container providing fast iteration/insertion/erasure while maintaining pointer validity to non-erased elements +Homepage: https://www.plflib.org/ diff --git a/ports/plf-colony/portfile.cmake b/ports/plf-colony/portfile.cmake new file mode 100644 index 000000000..eef608ce8 --- /dev/null +++ b/ports/plf-colony/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mattreecebentley/plf_colony + REF 81fe8c4daf433491f14248837ee8ed5cf447c856 + SHA512 a6ae03d383c94b0a758e7aedee2838d46b3665881e2c0823b064a3579140a351d96fec66d456de5843b6c4c8d2f6f6efac5f547841c08edd349b0f153e9c4871 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/plf_colony.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/plf-list/CONTROL b/ports/plf-list/CONTROL new file mode 100644 index 000000000..338eec5ea --- /dev/null +++ b/ports/plf-list/CONTROL @@ -0,0 +1,4 @@ +Source: plf-list +Version: 2019-08-10 +Description: A drop-in replacement for std::list with 293% faster insertion, 57% faster erasure, 17% faster iteration and 77% faster sorting on average +Homepage: https://www.plflib.org/ diff --git a/ports/plf-list/portfile.cmake b/ports/plf-list/portfile.cmake new file mode 100644 index 000000000..f9efd1e61 --- /dev/null +++ b/ports/plf-list/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mattreecebentley/plf_list + REF 42fcfca9890598d1c1fda45eb9dbe2b2b2d4dd2b + SHA512 879157aac16dc1b76db942a8ddf25dc33ede10e769496b7f300a070913c6c6946cb40853dd3071ecf3d9c870e1dee5d420d42fbb388e83361235659171f6bd44 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/plf_list.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/plf-nanotimer/CONTROL b/ports/plf-nanotimer/CONTROL new file mode 100644 index 000000000..10ac0ac2c --- /dev/null +++ b/ports/plf-nanotimer/CONTROL @@ -0,0 +1,4 @@ +Source: plf-nanotimer +Version: 2019-08-10 +Description: A simple C++ 03/11/etc timer class for ~microsecond-precision cross-platform benchmarking +Homepage: https://www.plflib.org/ diff --git a/ports/plf-nanotimer/portfile.cmake b/ports/plf-nanotimer/portfile.cmake new file mode 100644 index 000000000..4c25a2c73 --- /dev/null +++ b/ports/plf-nanotimer/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mattreecebentley/plf_nanotimer + REF bc8b44d2befc4395f63701c923ece89835d8415c + SHA512 ec816e82ab855dd7029b03931ffb1e945d3e77f7bb446c4985c4a8404afe20e9de8fac02f64459c47c34e31c06fa8838dba310263197d309e39ec1b0b5da0b6d + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/plf_nanotimer.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/plf-stack/CONTROL b/ports/plf-stack/CONTROL new file mode 100644 index 000000000..d0a40be45 --- /dev/null +++ b/ports/plf-stack/CONTROL @@ -0,0 +1,4 @@ +Source: plf-stack +Version: 2019-08-10 +Description: A C++ data container replicating std::stack functionality but with better performance +Homepage: https://www.plflib.org/ diff --git a/ports/plf-stack/portfile.cmake b/ports/plf-stack/portfile.cmake new file mode 100644 index 000000000..11a9fb068 --- /dev/null +++ b/ports/plf-stack/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mattreecebentley/plf_stack + REF 9d046154d8954eafc12f8d4845505beec8c4a5da + SHA512 2202bbff0e93bf515ae7b237551d084dcba9b870bca82f49b4e1a64446f4574079b0cb45fb91f0ad0472e008f21ad014464b45e307ffa6dab19affc6dc38626a + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/plf_stack.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/plib/CONTROL b/ports/plib/CONTROL index b5abf0011..3b6b99c71 100644 --- a/ports/plib/CONTROL +++ b/ports/plib/CONTROL @@ -1,3 +1,3 @@ Source: plib -Version: 1.8.5-3 +Version: 1.8.5-4 Description: A suite of portable game libraries diff --git a/ports/plib/portfile.cmake b/ports/plib/portfile.cmake index ed0f03af0..73fe786ac 100644 --- a/ports/plib/portfile.cmake +++ b/ports/plib/portfile.cmake @@ -2,13 +2,16 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/plib-1.8.5) vcpkg_download_distfile(ARCHIVE URLS "http://plib.sourceforge.net/dist/plib-1.8.5.tar.gz" FILENAME "plib-1.8.5.tar.gz" SHA512 17154cc77243fe576c2bcbcb0285b98aef1a0634658f5473e95fe0ac8fa3ed477dbe5620e44ccf0b7cc616f812af0cd44d6fcbba0c563180d3b61c9d6f158e1d ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -21,5 +24,4 @@ vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/plib RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/plibsys/CONTROL b/ports/plibsys/CONTROL index 2c71346bb..004f07084 100644 --- a/ports/plibsys/CONTROL +++ b/ports/plibsys/CONTROL @@ -1,4 +1,4 @@ Source: plibsys -Version: 0.0.4-1 +Version: 0.0.4-2 Homepage: https://github.com/saprykin/plibsys Description: Highly portable C system library: threads and synchronization, sockets, IPC, data structures and more. diff --git a/ports/plibsys/portfile.cmake b/ports/plibsys/portfile.cmake index 210fddd37..a4a032370 100644 --- a/ports/plibsys/portfile.cmake +++ b/ports/plibsys/portfile.cmake @@ -15,6 +15,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DPLIBSYS_TESTS=OFF -DPLIBSYS_COVERAGE=OFF diff --git a/ports/plog/CONTROL b/ports/plog/CONTROL index 0d6adaa08..8ffd4fdfa 100644 --- a/ports/plog/CONTROL +++ b/ports/plog/CONTROL @@ -1,4 +1,4 @@ Source: plog -Version: 1.1.4 +Version: 1.1.5 Homepage: https://github.com/SergiusTheBest/plog Description: Portable, simple and extensible C++ logging library. diff --git a/ports/plog/portfile.cmake b/ports/plog/portfile.cmake index 847f2bd37..1d5f36e58 100644 --- a/ports/plog/portfile.cmake +++ b/ports/plog/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SergiusTheBest/plog - REF 1.1.4 - SHA512 7af75af8343460d62e04cc0c27d4cf86373b136df73d2312d19a2e57fa309e916cef8625b8eed1b7270b93aa5d1ff27aee6edb74beb138e3a21c06a3c3debb41 + REF 1.1.5 + SHA512 c16b428e1855c905c486130c8610d043962bedc2b40d1d986c250c8f7fd7139540164a3cbb408ed08298370aa150d5937f358c13ccae2728ce8ea47fa897fd0b HEAD_REF master ) diff --git a/ports/plplot/0005-wxwidgets-fix-rel-lib-dir.patch b/ports/plplot/0005-wxwidgets-fix-rel-lib-dir.patch new file mode 100644 index 000000000..7ebe79f11 --- /dev/null +++ b/ports/plplot/0005-wxwidgets-fix-rel-lib-dir.patch @@ -0,0 +1,23 @@ +diff --git a/cmake/modules/FindwxWidgets.cmake b/cmake/modules/FindwxWidgets.cmake +index eaaa358..a68683c 100644 +--- a/cmake/modules/FindwxWidgets.cmake ++++ b/cmake/modules/FindwxWidgets.cmake +@@ -516,13 +516,11 @@ if(wxWidgets_FIND_STYLE STREQUAL "win32") + endif() + endif() + if(VCPKG_TARGET_TRIPLET) +- find_library(wxWidgets_LIB_DIR +- NAMES +- wxmsw31ud_core.lib +- wxmsw31u_core.lib +- PATHS +- DOC "Path to wxWidgets libraries" +- ) ++ if(CMAKE_BUILD_TYPE STREQUAL "Debug") ++ find_library(wxWidgets_LIB_DIR NAMES wxmsw31ud_core.lib DOC "Path to wxWidgets libraries") ++ else() ++ find_library(wxWidgets_LIB_DIR NAMES wxmsw31u_core.lib DOC "Path to wxWidgets libraries") ++ endif() + get_filename_component(wxWidgets_LIB_DIR ${wxWidgets_LIB_DIR} DIRECTORY) + elseif(BUILD_SHARED_LIBS) + find_path(wxWidgets_LIB_DIR diff --git a/ports/plplot/CONTROL b/ports/plplot/CONTROL index 71bdb1a51..b70c5d176 100644 --- a/ports/plplot/CONTROL +++ b/ports/plplot/CONTROL @@ -1,5 +1,5 @@ Source: plplot -Version: 5.13.0-2 +Version: 5.13.0-3 Build-Depends: freetype, zlib, libpng, bzip2 Description: PLplot is a cross-platform software package for creating scientific plots whose (UTF-8) plot symbols and text are limited in practice only by what Unicode-aware system fonts are installed on a user's computer. diff --git a/ports/plplot/portfile.cmake b/ports/plplot/portfile.cmake index c98c8253b..46781da07 100644 --- a/ports/plplot/portfile.cmake +++ b/ports/plplot/portfile.cmake @@ -17,6 +17,8 @@ vcpkg_extract_source_archive_ex( "${CMAKE_CURRENT_LIST_DIR}/0001-findwxwidgets-fixes.patch" "${CMAKE_CURRENT_LIST_DIR}/0002-wxwidgets-dev-fixes.patch" "${CMAKE_CURRENT_LIST_DIR}/install-interface-include-directories.patch" + "${CMAKE_CURRENT_LIST_DIR}/use-math-h-nan.patch" + "0005-wxwidgets-fix-rel-lib-dir.patch" ) set(BUILD_with_wxwidgets OFF) diff --git a/ports/plplot/use-math-h-nan.patch b/ports/plplot/use-math-h-nan.patch new file mode 100644 index 000000000..1f3987730 --- /dev/null +++ b/ports/plplot/use-math-h-nan.patch @@ -0,0 +1,28 @@ +diff --git "a/lib/csa/nan.h" "b/lib/csa/nan.h" +index 29fd3d2f..7f16e8c8 100644 +--- "a/lib/csa/nan.h" ++++ "b/lib/csa/nan.h" +@@ -19,6 +19,16 @@ + #if !defined ( _NAN_H ) + #define _NAN_H + ++// Try to use the implementation-provided NAN constant: ++ ++#include ++ ++#if defined(NAN) ++ ++#define NaN ((double)NAN) ++ ++#else // ^^^ implementation provides NAN // implementation does not provide NAN vvv ++ + #if ( defined ( __GNUC__ ) && !defined ( __ICC ) ) || defined ( __BORLANDC__ ) + + static const double NaN = 0.0 / 0.0; +@@ -63,4 +73,6 @@ static const long long lNaN = ( (unsigned long long) 1 << 63 ) - 1; + + #endif + ++#endif // defined(NAN) ++ + #endif diff --git a/ports/pmdk/CONTROL b/ports/pmdk/CONTROL index 803544c91..a96dad85f 100644 --- a/ports/pmdk/CONTROL +++ b/ports/pmdk/CONTROL @@ -1,3 +1,4 @@ Source: pmdk -Version: 1.6-1 +Version: 1.7 +Homepage: https://github.com/pmem/pmdk Description: Persistent Memory Development Kit diff --git a/ports/pmdk/addPowerShellExecutionPolicy.patch b/ports/pmdk/addPowerShellExecutionPolicy.patch deleted file mode 100644 index 692ff176a..000000000 --- a/ports/pmdk/addPowerShellExecutionPolicy.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/windows/srcversion/srcversion.vcxproj b/src/windows/srcversion/srcversion.vcxproj -index 8761197..795d1a7 100644 ---- a/src/windows/srcversion/srcversion.vcxproj -+++ b/src/windows/srcversion/srcversion.vcxproj -@@ -72,7 +72,7 @@ - - - -- powershell.exe -file "$(SolutionDir)..\utils\SRCVERSION.ps1" $(SRCVERSION) -+ powershell.exe -ExecutionPolicy Bypass -file "$(SolutionDir)..\utils\SRCVERSION.ps1" $(SRCVERSION) - __NON_EXISTENT_FILE__ - generate srcversion.h - -@@ -99,7 +99,7 @@ - - - -- powershell.exe -file "$(SolutionDir)..\utils\SRCVERSION.ps1" $(SRCVERSION) -+ powershell.exe -ExecutionPolicy Bypass -file "$(SolutionDir)..\utils\SRCVERSION.ps1" $(SRCVERSION) - __NON_EXISTENT_FILE__ - generate srcversion.h - diff --git a/ports/pmdk/portfile.cmake b/ports/pmdk/portfile.cmake index 4bede2bb9..5635bcff7 100644 --- a/ports/pmdk/portfile.cmake +++ b/ports/pmdk/portfile.cmake @@ -8,21 +8,16 @@ elseif (TRIPLET_SYSTEM_ARCH MATCHES "x86") message(FATAL_ERROR "x86 is not supported. Please use pmdk:x64-windows instead.") endif() -# Download source +set(PMDK_VERSION "1.7") + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pmem/pmdk - REF 1.6 - SHA512 f66e4edf1937d51abfa7c087b65a64109cd3d2a8d9587d6c4fc28a1003d67ec1f35a0011c9a9d0bfe76ad7227be83e86582f8405c988eac828d8ae5d0a399483 + REF bc5e309485df61c452d08367e4b13ba9dfed5071 #Commit id corresponding to the version 1.7 + SHA512 15bee6a046746e4ab7e827bb36685bc5d9cdffdbc68ba86eb71e2c4bd84eb4fed4586c09174257bfd87ea178c8ee9865a8824842d7d1df67e0ae79ff80cf650e HEAD_REF master - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/addPowerShellExecutionPolicy.patch" - "${CMAKE_CURRENT_LIST_DIR}/v141.patch" ) -get_filename_component(PMDK_VERSION "${SOURCE_PATH}" NAME) -string(REPLACE "pmdk-" "" PMDK_VERSION "${PMDK_VERSION}") - # Build only the selected projects vcpkg_build_msbuild( PROJECT_PATH ${SOURCE_PATH}/src/PMDK.sln diff --git a/ports/pmdk/v141.patch b/ports/pmdk/v141.patch deleted file mode 100644 index f77abe93f..000000000 --- a/ports/pmdk/v141.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/common/util.h b/src/common/util.h -index 04b098f..33a64c2 100644 ---- a/src/common/util.h -+++ b/src/common/util.h -@@ -284,7 +284,7 @@ typedef enum { - #error MSVC ports of util_atomic_ only work on X86_64 - #endif - --#if _MSC_VER > 1911 -+#if _MSC_VER >= 2000 - #error util_atomic_ utility functions not tested with this version of VC++ - #error These utility functions are not future proof, as they are not - #error based on publicly available documentation. diff --git a/ports/poco/CONTROL b/ports/poco/CONTROL index 4503529c6..9ea94f496 100644 --- a/ports/poco/CONTROL +++ b/ports/poco/CONTROL @@ -1,6 +1,6 @@ Source: poco -Version: 2.0.0-pre-1 -Build-Depends: expat, libpq, pcre, sqlite3, zlib +Version: 1.9.2-1 +Build-Depends: expat, libpq, pcre, sqlite3, zlib, libpng Description: Modern, powerful open source C++ class libraries for building network and internet-based applications that run on desktop, server, mobile and embedded systems. Homepage: https://github.com/pocoproject/poco @@ -15,3 +15,7 @@ Description: MariaDB support for POCO Feature: postgresql Build-Depends: libpqxx Description: PostgreSQL support for POCO + +Feature: pdf +Build-Depends: libharu +Description: Haru support for POCO diff --git a/ports/poco/find_pcre.patch b/ports/poco/find_pcre.patch index 1a07882bc..3b73ae4f1 100644 --- a/ports/poco/find_pcre.patch +++ b/ports/poco/find_pcre.patch @@ -1,13 +1,22 @@ -diff --git a/cmake/FindPCRE.cmake b/cmake/FindPCRE.cmake -index 41a99cb..77f3a42 100644 ---- a/cmake/FindPCRE.cmake -+++ b/cmake/FindPCRE.cmake -@@ -14,7 +14,7 @@ ENDIF (PCRE_INCLUDE_DIRS) - - FIND_PATH(PCRE_INCLUDE_DIR pcre.h) - --SET(PCRE_NAMES pcre) -+SET(PCRE_NAMES pcred pcre) - FIND_LIBRARY(PCRE_LIBRARY NAMES ${PCRE_NAMES} ) - - # handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if +diff --git a/cmake/FindPCRE.cmake b/cmake/FindPCRE.cmake +index 41a99cb..b1acb32 100644 +--- a/cmake/FindPCRE.cmake ++++ b/cmake/FindPCRE.cmake +@@ -14,9 +14,15 @@ ENDIF (PCRE_INCLUDE_DIRS) + + FIND_PATH(PCRE_INCLUDE_DIR pcre.h) + +-SET(PCRE_NAMES pcre) ++if (WIN32) ++include(SelectLibraryConfigurations) ++find_library(PCRE_LIBRARY_RELEASE NAMES pcre) ++find_library(PCRE_LIBRARY_DEBUG NAMES pcred) ++select_library_configurations(PCRE) ++else() ++SET(PCRE_NAMES pcred pcre) + FIND_LIBRARY(PCRE_LIBRARY NAMES ${PCRE_NAMES} ) +- ++endif() + # handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if + # all listed variables are TRUE + INCLUDE(FindPackageHandleStandardArgs) diff --git a/ports/poco/fix_foundation_link.patch b/ports/poco/fix_foundation_link.patch new file mode 100644 index 000000000..c8830ed4f --- /dev/null +++ b/ports/poco/fix_foundation_link.patch @@ -0,0 +1,24 @@ +diff --git a/Foundation/src/Environment_WIN32.cpp b/Foundation/src/Environment_WIN32.cpp +index 62845fa..edcf6fe 100644 +--- a/Foundation/src/Environment_WIN32.cpp ++++ b/Foundation/src/Environment_WIN32.cpp +@@ -22,6 +22,7 @@ + #include + #include + ++#pragma comment(lib, "IPHLPAPI.lib") + + namespace Poco { + +diff --git a/Foundation/src/Environment_WINCE.cpp b/Foundation/src/Environment_WINCE.cpp +index afa59b6..c43767b 100644 +--- a/Foundation/src/Environment_WINCE.cpp ++++ b/Foundation/src/Environment_WINCE.cpp +@@ -23,6 +23,7 @@ + #include + #include + ++#pragma comment(lib, "IPHLPAPI.lib") + + namespace Poco { + diff --git a/ports/poco/include_pcre.patch b/ports/poco/include_pcre.patch index 6594a30fe..5db2372ea 100644 --- a/ports/poco/include_pcre.patch +++ b/ports/poco/include_pcre.patch @@ -1,12 +1,12 @@ -diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt -index 5b7df96..4fedfd5 100644 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -101,6 +101,7 @@ target_link_libraries(Foundation PUBLIC ${PCRE_LIBRARIES} ${ZLIB_LIBRARIES}) - target_include_directories(Foundation - PUBLIC - $ -+ $ - $ - PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src - ) +diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt +index 26a2365..0b8f7bc 100644 +--- a/Foundation/CMakeLists.txt ++++ b/Foundation/CMakeLists.txt +@@ -168,6 +168,7 @@ target_link_libraries( "${LIBNAME}" ${SYSLIBS}) + target_include_directories( "${LIBNAME}" + PUBLIC + $ ++ $ + $ + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src + ) diff --git a/ports/poco/portfile.cmake b/ports/poco/portfile.cmake index 36a127489..4e7995a49 100644 --- a/ports/poco/portfile.cmake +++ b/ports/poco/portfile.cmake @@ -1,13 +1,11 @@ include(vcpkg_common_functions) -# Poco 2.0.0 (pre) -# commit 46e00c8 vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pocoproject/poco - REF 46e00c8d6f6d03864397c3e517a165e82f9efd5e - SHA512 2c2f5048b7bfbbfe47ac303ed79213197c97f3d90362dd2d7629c8b353a6c8bd303b1bcf477e3493cc6c984645822ca043dd0a77e9186e001e6808dc2d17a5b4 - HEAD_REF develop + REF 8a127d6f16795d914cadc342d3f4f3b9b7999e3b #1.9.2 + SHA512 282097ee2118ac55320ebdde05bb53ed27d68af49c201b0b26027706ef935ae08f8090abb8aab1cafe84c72520ea73b01263b439d32bd2d0bd55319b0634b168 + HEAD_REF master PATCHES # Find pcre in debug find_pcre.patch @@ -15,16 +13,21 @@ vcpkg_from_github( include_pcre.patch # Fix embedded copy of pcre in static linking mode static_pcre.patch - # Fix source path of PDF - unbundled_pdf.patch + # Use vcpkg installed libharu for feature pdf + use-vcpkg-libharu.patch # Add the support of arm64-windows arm64_pcre.patch + fix_foundation_link.patch ) # define Poco linkage type string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" POCO_STATIC) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" POCO_MT) +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + pdf ENABLE_PDF +) + # MySQL / MariaDDB feature if("mysql" IN_LIST FEATURES OR "mariadb" IN_LIST FEATURES) if("mysql" IN_LIST FEATURES) @@ -44,44 +47,40 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} #PREFER_NINJA - OPTIONS + OPTIONS ${FEATURE_OPTIONS} # Set to OFF|ON (default is OFF) to control linking dependencies as external -DPOCO_UNBUNDLED=ON # Define linking feature -DPOCO_STATIC=${POCO_STATIC} -DPOCO_MT=${POCO_MT} # Set to OFF|ON (default is OFF) to control build of POCO tests - -DPOCO_ENABLE_TESTS=OFF + -DENABLE_TESTS=OFF # Set to OFF|ON (default is OFF) to control build of POCO samples - -DPOCO_ENABLE_SAMPLES=OFF + -DENABLE_SAMPLES=OFF # Allow enabling and disabling components # POCO_ENABLE_SQL_ODBC, POCO_ENABLE_SQL_MYSQL and POCO_ENABLE_SQL_POSTGRESQL are # defined on the fly if the required librairies are present - -DPOCO_ENABLE_ENCODINGS=ON - -DPOCO_ENABLE_ENCODINGS_COMPILER=ON - -DPOCO_ENABLE_XML=ON - -DPOCO_ENABLE_JSON=ON - -DPOCO_ENABLE_MONGODB=ON - -DPOCO_ENABLE_SQL_SQLITE=ON - -DPOCO_ENABLE_REDIS=ON - -DPOCO_ENABLE_PDF=ON - -DPOCO_ENABLE_UTIL=ON - -DPOCO_ENABLE_NET=ON - -DPOCO_ENABLE_SEVENZIP=ON - -DPOCO_ENABLE_ZIP=ON - -DPOCO_ENABLE_CPPPARSER=ON - -DPOCO_ENABLE_POCODOC=ON - -DPOCO_ENABLE_PAGECOMPILER=ON - -DPOCO_ENABLE_PAGECOMPILER_FILE2PAGE=ON - -DPOCO_ENABLE_WSTRING=ON - -DPOCO_ENABLE_FPENVIRONMENT=ON - -DPOCO_ENABLE_CPPUNIT=ON - # + -DENABLE_ENCODINGS=ON + -DENABLE_ENCODINGS_COMPILER=ON + -DENABLE_XML=ON + -DENABLE_JSON=ON + -DENABLE_MONGODB=ON + # -DPOCO_ENABLE_SQL_SQLITE=ON # SQLITE are not supported. + -DENABLE_REDIS=ON + -DENABLE_UTIL=ON + -DENABLE_NET=ON + -DENABLE_SEVENZIP=ON + -DENABLE_ZIP=ON + -DENABLE_CPPPARSER=ON + -DENABLE_POCODOC=ON + -DENABLE_PAGECOMPILER=ON + -DENABLE_PAGECOMPILER_FILE2PAGE=ON + # -DMYSQL_INCLUDE_DIR=${MYSQL_INCLUDE_DIR} OPTIONS_RELEASE - -DMYSQL_LIBRARY=${MYSQL_LIBRARY} + -DMYSQL_LIB=${MYSQL_LIBRARY} OPTIONS_DEBUG - -DMYSQL_LIBRARY=${MYSQL_LIBRARY_DEBUG} + -DMYSQL_LIB=${MYSQL_LIBRARY_DEBUG} ) vcpkg_install_cmake() @@ -122,7 +121,7 @@ endif() # -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) +if (VCPKG_LIBRARY_LINKAGE STREQUAL static OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) @@ -144,16 +143,16 @@ endif() # if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") - vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/Poco") - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Poco") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Poco) endif() # remove unused files file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # copy license -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/poco) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/poco/LICENSE ${CURRENT_PACKAGES_DIR}/share/poco/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) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/poco/static_pcre.patch b/ports/poco/static_pcre.patch index b9bac7629..a6dab02ce 100644 --- a/ports/poco/static_pcre.patch +++ b/ports/poco/static_pcre.patch @@ -1,27 +1,26 @@ -diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt -index 4fedfd5..741313b 100644 ---- a/Foundation/CMakeLists.txt -+++ b/Foundation/CMakeLists.txt -@@ -35,6 +35,22 @@ if (POCO_UNBUNDLED) - find_package(PCRE REQUIRED) - find_package(ZLIB REQUIRED) - -+ add_definitions( -+ -D_pcre_utf8_table1=_poco_pcre_utf8_table1 -+ -D_pcre_utf8_table1_size=_poco_pcre_utf8_table1_size -+ -D_pcre_utf8_table2=_poco_pcre_utf8_table2 -+ -D_pcre_utf8_table3=_poco_pcre_utf8_table3 -+ -D_pcre_utf8_table4=_poco_pcre_utf8_table4 -+ -D_pcre_utt_names=_poco_pcre_utt_names -+ -D_pcre_utt=_poco_pcre_utt -+ -D_pcre_utt_size=_poco_pcre_utt_size -+ -D_pcre_OP_lengths=_poco_pcre_OP_lengths -+ -D_pcre_hspace_list=_poco_pcre_hspace_list -+ -D_pcre_vspace_list=_poco_pcre_vspace_list -+ -D_pcre_ucp_gentype=_poco_pcre_ucp_gentype -+ -D_pcre_ucp_gbtable=_poco_pcre_ucp_gbtable -+ ) -+ - #HACK: Unicode.cpp requires functions from these files. The can't be taken from the library - POCO_SOURCES( SRCS RegExp - src/pcre_ucd.c +diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt +index 0b8f7bc..c362890 100644 +--- a/Foundation/CMakeLists.txt ++++ b/Foundation/CMakeLists.txt +@@ -53,6 +53,21 @@ if (POCO_UNBUNDLED) + include_directories(${ZLIB_INCLUDE_DIRS}) + + add_definitions(-DPOCO_UNBUNDLED) ++ add_definitions( ++ -D_pcre_utf8_table1=_poco_pcre_utf8_table1 ++ -D_pcre_utf8_table1_size=_poco_pcre_utf8_table1_size ++ -D_pcre_utf8_table2=_poco_pcre_utf8_table2 ++ -D_pcre_utf8_table3=_poco_pcre_utf8_table3 ++ -D_pcre_utf8_table4=_poco_pcre_utf8_table4 ++ -D_pcre_utt_names=_poco_pcre_utt_names ++ -D_pcre_utt=_poco_pcre_utt ++ -D_pcre_utt_size=_poco_pcre_utt_size ++ -D_pcre_OP_lengths=_poco_pcre_OP_lengths ++ -D_pcre_hspace_list=_poco_pcre_hspace_list ++ -D_pcre_vspace_list=_poco_pcre_vspace_list ++ -D_pcre_ucp_gentype=_poco_pcre_ucp_gentype ++ -D_pcre_ucp_gbtable=_poco_pcre_ucp_gbtable ++ ) + + else() + # pcre diff --git a/ports/poco/unbundled_pdf.patch b/ports/poco/unbundled_pdf.patch deleted file mode 100644 index b7abcf541..000000000 --- a/ports/poco/unbundled_pdf.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/PDF/CMakeLists.txt b/PDF/CMakeLists.txt -index b377035..9cfbd32 100644 ---- a/PDF/CMakeLists.txt -+++ b/PDF/CMakeLists.txt -@@ -31,6 +31,12 @@ endif (POCO_UNBUNDLED) - # TODO: Currently only bundled is supported, in future this should also be possible - # with an unbundled version of hpdf - # hpdf -+if (POCO_UNBUNDLED) -+ POCO_SOURCES( SRCS hpdf -+ src/bmpread.c -+ ) -+endif (POCO_UNBUNDLED) -+ - POCO_SOURCES(SRCS hpdf - src/hpdf_3dmeasure.c - src/hpdf_annotation.c diff --git a/ports/poco/use-vcpkg-libharu.patch b/ports/poco/use-vcpkg-libharu.patch new file mode 100644 index 000000000..e43b3c9cd --- /dev/null +++ b/ports/poco/use-vcpkg-libharu.patch @@ -0,0 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5f8a2a6..1ffd0a0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -195,8 +195,11 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/Redis AND ENABLE_REDIS) + add_subdirectory(Redis) + list(APPEND Poco_COMPONENTS "Redis") + endif() +-if(EXISTS ${PROJECT_SOURCE_DIR}/PDF AND ENABLE_PDF) +-add_subdirectory(PDF) ++if(ENABLE_PDF) ++include(SelectLibraryConfigurations) ++find_library(PocoPDF_LIBRARY_RELEASE NAMES libhpdf) ++find_library(PocoPDF_LIBRARY_DEBUG NAMES libhpdfd) ++select_library_configurations(PocoPDF) + list(APPEND Poco_COMPONENTS "PDF") + endif() + diff --git a/ports/polyhook2/CONTROL b/ports/polyhook2/CONTROL new file mode 100644 index 000000000..72e693840 --- /dev/null +++ b/ports/polyhook2/CONTROL @@ -0,0 +1,8 @@ +Source: polyhook2 +Version: 2019-10-24 +Homepage: https://github.com/stevemk14ebr/PolyHook_2_0 +Description: C++17, x86/x64 Hooking Libary v2.0 +Build-Depends: capstone + +Feature: tool +Description: Build tests \ No newline at end of file diff --git a/ports/polyhook2/fix-build-error.patch b/ports/polyhook2/fix-build-error.patch new file mode 100644 index 000000000..e33864f0e --- /dev/null +++ b/ports/polyhook2/fix-build-error.patch @@ -0,0 +1,44 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 62dbdba..55a3068 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -217,8 +217,10 @@ if(NOT ${CAPSTONE_FULL}) + set(CAPSTONE_EVM_SUPPORT OFF CACHE BOOL "EVM support") + endif() + +-add_subdirectory(capstone) +-target_link_libraries(${PROJECT_NAME} capstone-static) ++find_library(CAPSTONE_LIBRARY NAMES capstone_dll capstone) ++find_path(CAPSTONE_INCLUDE_DIR NAMES capstone/capstone.h) ++target_link_libraries(${PROJECT_NAME} ${CAPSTONE_LIBRARY}) ++target_include_directories(${PROJECT_NAME} PRIVATE ${CAPSTONE_INCLUDE_DIR}) + + # ASMJIT + if(DEP_ASMJIT_NEED MATCHES ON) +@@ -230,3 +232,13 @@ if(DEP_ASMJIT_NEED MATCHES ON) + add_subdirectory(${ASMJIT_DIR}) # build it + target_link_libraries(${PROJECT_NAME} asmjit) + endif() ++ ++#Install targets ++install(TARGETS ${PROJECT_NAME} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++) ++ ++#Install headers ++install(FILES ${HEADER_FILES} DESTINATION include) +diff --git a/headers/CapstoneDisassembler.hpp b/headers/CapstoneDisassembler.hpp +index 2c31bfe..5f3a8ee 100644 +--- a/headers/CapstoneDisassembler.hpp ++++ b/headers/CapstoneDisassembler.hpp +@@ -7,7 +7,7 @@ + + #include "headers/ADisassembler.hpp" + +-#include ++#include + + #include + #include //for debug printing diff --git a/ports/polyhook2/fix-build-tests-error.patch b/ports/polyhook2/fix-build-tests-error.patch new file mode 100644 index 000000000..4b64b0dfb --- /dev/null +++ b/ports/polyhook2/fix-build-tests-error.patch @@ -0,0 +1,92 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 55a3068..c45f7bf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,6 +12,7 @@ option(FEATURE_PE "Implement all win pe hooking functionality" ON) + option(BUILD_DLL "Build dll & lib instead of tests" OFF) + option(BUILD_STATIC "If BUILD_DLL is set, create the type that can be statically linked" ON) + option(CAPSTONE_FULL "Build all features of capstone." OFF) ++option(BUILD_TOOLS "Build tests" OFF) + + # Calculate inclusion of necessary dependencies based on features + +@@ -38,7 +39,7 @@ set(HEADER_IMP_SOURCES + ${PROJECT_SOURCE_DIR}/sources/PageAllocator.cpp) + + # only build tests if making exe +-if(BUILD_DLL MATCHES OFF) ++if(BUILD_TOOLS) + set(UNIT_TEST_SOURCES + ${PROJECT_SOURCE_DIR}/MainTests.cpp + ${PROJECT_SOURCE_DIR}/UnitTests/TestDisassembler.cpp +@@ -62,7 +63,7 @@ if(FEATURE_DETOURS MATCHES ON) + set(HEADER_IMP_SOURCES ${HEADER_IMP_SOURCES} ${DETOUR_IMP_SOURCES}) + + # only build tests if making exe +- if(BUILD_DLL MATCHES OFF) ++ if(BUILD_TOOLS) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + # 64 bits + set(UNIT_TEST_SOURCES ${UNIT_TEST_SOURCES} +@@ -90,7 +91,7 @@ if(FEATURE_EXCEPTION MATCHES ON) + set(HEADER_IMP_SOURCES ${HEADER_IMP_SOURCES} ${EXCEPTION_IMP_SOURCES}) + + # only build tests if making exe +- if(BUILD_DLL MATCHES OFF) ++ if(BUILD_TOOLS) + set(UNIT_TEST_SOURCES ${UNIT_TEST_SOURCES} + ${PROJECT_SOURCE_DIR}/UnitTests/TestBreakpointHook.cpp + ${PROJECT_SOURCE_DIR}/UnitTests/TestHWBreakpointHook.cpp) +@@ -110,7 +111,7 @@ if(FEATURE_VIRTUALS MATCHES ON) + set(HEADER_IMP_SOURCES ${HEADER_IMP_SOURCES} ${VIRTUAL_IMP_SOURCES}) + + # only build tests if making exe +- if(BUILD_DLL MATCHES OFF) ++ if(BUILD_TOOLS) + set(UNIT_TEST_SOURCES ${UNIT_TEST_SOURCES} + ${PROJECT_SOURCE_DIR}/UnitTests/TestVTableSwapHook.cpp + ${PROJECT_SOURCE_DIR}/UnitTests/TestVFuncSwapHook.cpp) +@@ -131,7 +132,7 @@ if(FEATURE_PE MATCHES ON) + set(HEADER_IMP_SOURCES ${HEADER_IMP_SOURCES} ${PE_IMP_SOURCES}) + + # only build tests if making exe +- if(BUILD_DLL MATCHES OFF) ++ if(BUILD_TOOLS) + set(UNIT_TEST_SOURCES ${UNIT_TEST_SOURCES} + ${PROJECT_SOURCE_DIR}/UnitTests/TestEatHook.cpp + ${PROJECT_SOURCE_DIR}/UnitTests/TestIatHook.cpp) +@@ -149,7 +150,7 @@ if(FEATURE_INLINENTD MATCHES ON) + set(HEADER_IMP_SOURCES ${HEADER_IMP_SOURCES} ${NTD_SOURCES}) + + # only build tests if making exe +- if(BUILD_DLL MATCHES OFF) ++ if(BUILD_TOOLS) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + # 64 bits + set(UNIT_TEST_SOURCES ${UNIT_TEST_SOURCES} +@@ -172,8 +173,10 @@ if(BUILD_DLL MATCHES ON) + else() + add_library(PolyHook_2 SHARED ${SOURCE_FILES_PLH}) + endif() +-else() +- add_executable(PolyHook_2 ${SOURCE_FILES_PLH}) ++endif() ++ ++if(BUILD_TOOLS) ++ add_executable(PolyHook2_tool ${SOURCE_FILES_PLH}) + endif() + + # add WALL + PDB flags +@@ -222,6 +225,12 @@ find_path(CAPSTONE_INCLUDE_DIR NAMES capstone/capstone.h) + target_link_libraries(${PROJECT_NAME} ${CAPSTONE_LIBRARY}) + target_include_directories(${PROJECT_NAME} PRIVATE ${CAPSTONE_INCLUDE_DIR}) + ++if(BUILD_TOOLS) ++ target_link_libraries(PolyHook2_tool ${CAPSTONE_LIBRARY}) ++ target_include_directories(PolyHook2_tool PRIVATE ${CAPSTONE_INCLUDE_DIR}) ++ install(TARGETS PolyHook2_tool DESTINATION tool) ++endif() ++ + # ASMJIT + if(DEP_ASMJIT_NEED MATCHES ON) + # AsmJit is a dep iff inlinetd is on diff --git a/ports/polyhook2/portfile.cmake b/ports/polyhook2/portfile.cmake new file mode 100644 index 000000000..09489ea5d --- /dev/null +++ b/ports/polyhook2/portfile.cmake @@ -0,0 +1,44 @@ +vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "Linux" "OSX" "UWP") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO stevemk14ebr/PolyHook_2_0 + REF 00709c8621af8a6f9e91200088178e6d9f751097 + SHA512 c6fe9ef9e21de440556cbeb8269e13ef0daafcbc760b04a06e1689d181b6a097c4de9a0f364f7e10f8b0b2f3e419e0ede62aaf4a2a9b16eb2fb57d24eb1b9b5c + HEAD_REF master + PATCHES + fix-build-error.patch + fix-build-tests-error.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + tool BUILD_TOOLS +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(BUILD_STATIC ON) +else() + set(BUILD_STATIC OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DFEATURE_INLINENTD=OFF + -DBUILD_DLL=ON + -DBUILD_STATIC=${BUILD_STATIC} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_copy_pdbs() + +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) \ No newline at end of file diff --git a/ports/portable-snippets/CMakeLists.txt b/ports/portable-snippets/CMakeLists.txt new file mode 100644 index 000000000..5f511265a --- /dev/null +++ b/ports/portable-snippets/CMakeLists.txt @@ -0,0 +1,96 @@ +cmake_minimum_required(VERSION 3.14) + +project(portable-snippets LANGUAGES C) + +include(GNUInstallDirs) + +option(PSNIP_INSTALL_HEADERS "Install header files" ON) + +# https://stackoverflow.com/questions/7787823/cmake-how-to-get-the-name-of-all-subdirectories-of-a-directory +function (list_subdir output_variable path) + file(GLOB sub_entries RELATIVE ${path} ${path}/*) + + set(dirlist "") + + foreach (entry ${sub_entries}) + if (IS_DIRECTORY ${path}/${entry}) + list(APPEND dirlist ${entry}) + endif () + endforeach () + + set(${output_variable} ${dirlist} PARENT_SCOPE) +endfunction () + +function (check_if_header_only output_variable files) + set(is_header_only 1) + + foreach (entry ${files}) + get_filename_component(file_ext ${entry} EXT) + if (file_ext STREQUAL .c) + set(is_header_only 0) + endif () + endforeach () + + set(${output_variable} ${is_header_only} PARENT_SCOPE) +endfunction () + +list_subdir(subdirs ${CMAKE_CURRENT_LIST_DIR}) +list(REMOVE_ITEM subdirs tests) + +set(namespace unofficial::portable-snippets) + +foreach (subdir ${subdirs}) + set(module ${subdir}) + set(module_path "${CMAKE_CURRENT_LIST_DIR}/${subdir}") + + file(GLOB entries + LIST_DIRECTORIES false + ${module_path}/*.h + ${module_path}/*.c + ) + + check_if_header_only(header_only "${entries}") + + if (header_only) + add_library(${module} INTERFACE) + + target_include_directories( + ${module} + INTERFACE + $ + ) + else () + add_library(${module} STATIC ${entries}) + + set_target_properties( + ${module} + PROPERTIES + PREFIX "" + OUTPUT_NAME "psnip-${module}" + ) + + target_include_directories( + ${module} + PUBLIC + $ + $ + ) + + list(FILTER entries EXCLUDE REGEX "\.c$") + endif () + + add_library(${namespace}::${module} ALIAS ${module}) + + if (PSNIP_INSTALL_HEADERS) + install(FILES ${entries} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${subdir}) + endif () + + install(TARGETS ${module} EXPORT unofficial-portable-snippets-config) +endforeach () + +install( + EXPORT unofficial-portable-snippets-config + NAMESPACE ${namespace}:: + DESTINATION share/unofficial-portable-snippets + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/portable-snippets/CONTROL b/ports/portable-snippets/CONTROL new file mode 100644 index 000000000..792cb9fc9 --- /dev/null +++ b/ports/portable-snippets/CONTROL @@ -0,0 +1,4 @@ +Source: portable-snippets +Version: 2019-09-20 +Description: Collection of miscellaneous portable C snippets +Homepage: https://github.com/nemequ/portable-snippets diff --git a/ports/portable-snippets/portfile.cmake b/ports/portable-snippets/portfile.cmake new file mode 100644 index 000000000..c84aca26b --- /dev/null +++ b/ports/portable-snippets/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nemequ/portable-snippets + REF 26496acb37ab46ee249ea19d45381da6955d89c4 + SHA512 6213b22e4358b06f92396731d94fd27d4cf3568a47c56c057174c1839929c6a569ad5b1e1302fe0d092c4f393c570607b96e9e977223f86a9e3c2862010f3af0 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DPSNIP_INSTALL_HEADERS=OFF + OPTIONS_RELEASE + -DPSNIP_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +# Handle copyright +configure_file(${SOURCE_PATH}/COPYING.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT}) diff --git a/ports/portaudio/CONTROL b/ports/portaudio/CONTROL index a60d59859..2337719bd 100644 --- a/ports/portaudio/CONTROL +++ b/ports/portaudio/CONTROL @@ -1,4 +1,4 @@ Source: portaudio -Version: 19.0.6.00-5 -Homepage: https://www.portaudio.com/ -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. +Version: 2019-09-30 +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/cmakelists-install.patch b/ports/portaudio/cmakelists-install.patch deleted file mode 100644 index 88c95260d..000000000 --- a/ports/portaudio/cmakelists-install.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -372,6 +372,8 @@ - ENDIF() - SET_TARGET_PROPERTIES(portaudio PROPERTIES OUTPUT_NAME portaudio_${TARGET_POSTFIX} FOLDER "Portaudio") - SET_TARGET_PROPERTIES(portaudio_static PROPERTIES OUTPUT_NAME portaudio_static_${TARGET_POSTFIX} FOLDER "Portaudio") -+ INSTALL(FILES ${PA_PUBLIC_INCLUDES} DESTINATION include) -+ INSTALL(TARGETS portaudio portaudio_static RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) - ELSE() - IF(APPLE AND CMAKE_VERSION VERSION_GREATER 3.4.2) - OPTION(PA_OUTPUT_OSX_FRAMEWORK "Generate an OS X framework instead of the simple library" OFF) diff --git a/ports/portaudio/crt_linkage_build_config.patch b/ports/portaudio/crt_linkage_build_config.patch deleted file mode 100644 index b1cef3014..000000000 --- a/ports/portaudio/crt_linkage_build_config.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -10,32 +10,32 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) - # project. If this is part of a larger project (i.e. the CMakeLists.txt has - # been imported by some other CMakeLists.txt), we don't want to trump over - # the top of that project's global settings. --IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_LIST_DIR}) -- IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) -- MESSAGE(STATUS "Setting CMAKE_BUILD_TYPE type to 'Debug' as none was specified.") -- SET(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) -- SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release") -- ENDIF() -- -- PROJECT(portaudio) -- -- SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON) -- -- IF(WIN32 AND MSVC) -- OPTION(PA_DLL_LINK_WITH_STATIC_RUNTIME "Link with static runtime libraries (minimizes runtime dependencies)" ON) -- IF(PA_DLL_LINK_WITH_STATIC_RUNTIME) -- FOREACH(flag_var -- CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE -- CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO -- CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE -- CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) -- IF(${flag_var} MATCHES "/MD") -- STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") -- ENDIF() -- ENDFOREACH() -- ENDIF() -- ENDIF() --ENDIF() -+# IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_LIST_DIR}) -+ # IF(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) -+ # MESSAGE(STATUS "Setting CMAKE_BUILD_TYPE type to 'Debug' as none was specified.") -+ # SET(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) -+ # SET_PROPERTY(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release") -+ # ENDIF() -+ -+ # PROJECT(portaudio) -+ -+ # SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON) -+ -+ # IF(WIN32 AND MSVC) -+ # OPTION(PA_DLL_LINK_WITH_STATIC_RUNTIME "Link with static runtime libraries (minimizes runtime dependencies)" ON) -+ # IF(PA_DLL_LINK_WITH_STATIC_RUNTIME) -+ # FOREACH(flag_var -+ # CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE -+ # CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO -+ # CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE -+ # CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) -+ # IF(${flag_var} MATCHES "/MD") -+ # STRING(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") -+ # ENDIF() -+ # ENDFOREACH() -+ # ENDIF() -+ # ENDIF() -+# ENDIF() - - SET(PA_PKGCONFIG_VERSION 19) - diff --git a/ports/portaudio/find_dsound.patch b/ports/portaudio/find_dsound.patch deleted file mode 100644 index be82b5641..000000000 --- a/ports/portaudio/find_dsound.patch +++ /dev/null @@ -1,114 +0,0 @@ ---- a/cmake_support/FindDXSDK.cmake -+++ b/cmake_support/FindDXSDK.cmake -@@ -16,44 +16,70 @@ else(WIN32) - message(FATAL_ERROR "FindDXSDK.cmake: Unsupported platform ${CMAKE_SYSTEM_NAME}" ) - endif(WIN32) - --find_path(DXSDK_ROOT_DIR -- include/dxsdkver.h -- HINTS -- $ENV{DXSDK_DIR} --) -- --find_path(DXSDK_INCLUDE_DIR -- dxsdkver.h -- PATHS -- ${DXSDK_ROOT_DIR}/include --) -- --IF(CMAKE_CL_64) --find_path(DXSDK_LIBRARY_DIR -- dsound.lib -- PATHS -- ${DXSDK_ROOT_DIR}/lib/x64 --) --ELSE(CMAKE_CL_64) --find_path(DXSDK_LIBRARY_DIR -- dsound.lib -- PATHS -- ${DXSDK_ROOT_DIR}/lib/x86 --) --ENDIF(CMAKE_CL_64) -- --find_library(DXSDK_DSOUND_LIBRARY -- dsound.lib -- PATHS -- ${DXSDK_LIBRARY_DIR} --) -- --# handle the QUIETLY and REQUIRED arguments and set DXSDK_FOUND to TRUE if --# all listed variables are TRUE --INCLUDE(FindPackageHandleStandardArgs) --FIND_PACKAGE_HANDLE_STANDARD_ARGS(DXSDK DEFAULT_MSG DXSDK_ROOT_DIR DXSDK_INCLUDE_DIR) -- --MARK_AS_ADVANCED( -- DXSDK_ROOT_DIR DXSDK_INCLUDE_DIR -- DXSDK_LIBRARY_DIR DXSDK_DSOUND_LIBRARY --) -+# Dsound.lib is statically linked (i.e. dsound.dll not required) and DXSDK_LIBRARY_DIR not used. -+# In the environments supported by VCPKG we may as well avoid looking out for DX9 to avoid version -+# mismatch in find. -+ -+if(MSVC AND MSVC_VERSION GREATER_EQUAL 1900) -+ -+ # if the environment is set up properly, matching lib and header will be found -+ -+ find_path(DXSDK_INCLUDE_DIR -+ dsound.h -+ ) -+ find_library(DXSDK_DSOUND_LIBRARY -+ dsound.lib -+ ) -+ -+ INCLUDE(FindPackageHandleStandardArgs) -+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(DXSDK DEFAULT_MSG DXSDK_INCLUDE_DIR DXSDK_DSOUND_LIBRARY) -+ -+ MARK_AS_ADVANCED( -+ DXSDK_INCLUDE_DIR DXSDK_DSOUND_LIBRARY -+ ) -+ -+else() -+ -+ find_path(DXSDK_ROOT_DIR -+ include/dxsdkver.h -+ HINTS -+ $ENV{DXSDK_DIR} -+ ) -+ -+ find_path(DXSDK_INCLUDE_DIR -+ dxsdkver.h -+ HINTS -+ ${DXSDK_ROOT_DIR}/include -+ ) -+ -+ IF(CMAKE_CL_64) -+ find_path(DXSDK_LIBRARY_DIR -+ dsound.lib -+ HINTS -+ ${DXSDK_ROOT_DIR}/lib/x64 -+ ) -+ ELSE(CMAKE_CL_64) -+ find_path(DXSDK_LIBRARY_DIR -+ dsound.lib -+ HINTS -+ ${DXSDK_ROOT_DIR}/lib/x86 -+ ) -+ ENDIF(CMAKE_CL_64) -+ -+ find_library(DXSDK_DSOUND_LIBRARY -+ dsound.lib -+ HINTS -+ ${DXSDK_LIBRARY_DIR} -+ ) -+ -+ # handle the QUIETLY and REQUIRED arguments and set DXSDK_FOUND to TRUE if -+ # all listed variables are TRUE -+ INCLUDE(FindPackageHandleStandardArgs) -+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(DXSDK DEFAULT_MSG DXSDK_ROOT_DIR DXSDK_INCLUDE_DIR) -+ -+ MARK_AS_ADVANCED( -+ DXSDK_ROOT_DIR DXSDK_INCLUDE_DIR -+ DXSDK_LIBRARY_DIR DXSDK_DSOUND_LIBRARY -+ ) -+ -+endif() diff --git a/ports/portaudio/pa_win_waveformat.patch b/ports/portaudio/pa_win_waveformat.patch deleted file mode 100644 index cba073947..000000000 --- a/ports/portaudio/pa_win_waveformat.patch +++ /dev/null @@ -1,27 +0,0 @@ -From fa727918e9e56c2a18dbdcfd276c60ac616c56ba Mon Sep 17 00:00:00 2001 -From: Etienne Dechamps -Date: Sat, 27 Oct 2018 15:14:27 +0100 -Subject: [PATCH] Add pa_win_waveformat.h to public includes. - -pa_win_wasapi.h includes pa_win_waveformat.h, so it has to be -distributed for pa_win_wasapi.h to be usable. ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 789671a..6a3ed8e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -210,7 +210,7 @@ IF(WIN32) - IF(PA_USE_WASAPI) - SET(PA_WASAPI_SOURCES src/hostapi/wasapi/pa_win_wasapi.c) - SOURCE_GROUP("hostapi\\wasapi" FILES ${PA_WASAPI_SOURCES}) -- SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_win_wasapi.h) -+ SET(PA_PUBLIC_INCLUDES ${PA_PUBLIC_INCLUDES} include/pa_win_wasapi.h include/pa_win_waveformat.h) - SET(PA_SOURCES ${PA_SOURCES} ${PA_WASAPI_SOURCES}) - SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ole32 uuid) - IF(NOT MSVC) --- -2.14.1.windows.1 - diff --git a/ports/portaudio/portfile.cmake b/ports/portaudio/portfile.cmake index 6fcbdf437..ea356d5ae 100644 --- a/ports/portaudio/portfile.cmake +++ b/ports/portaudio/portfile.cmake @@ -1,19 +1,9 @@ include(vcpkg_common_functions) -vcpkg_download_distfile(ARCHIVE - URLS "http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz" - FILENAME "pa_stable_v190600_20161030.tgz" - SHA512 7ec692cbd8c23878b029fad9d9fd63a021f57e60c4921f602995a2fca070c29f17a280c7f2da5966c4aad29d28434538452f4c822eacf3a60af59a6dc8e9704c -) -vcpkg_extract_source_archive_ex( +vcpkg_from_git( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - PATCHES - cmakelists-install.patch - find_dsound.patch - wasapi_support.patch - crt_linkage_build_config.patch - pa_win_waveformat.patch + URL https://git.assembla.com/portaudio.git + REF c5d2c51bd6fe354d0ee1119ba932bfebd3ebfacc ) # NOTE: the ASIO backend will be built automatically if the ASIO-SDK is provided @@ -49,6 +39,8 @@ if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor file (REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) endif () endif () + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) vcpkg_copy_pdbs() # Handle copyright @@ -56,3 +48,4 @@ file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/p 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 diff --git a/ports/portaudio/wasapi_support.patch b/ports/portaudio/wasapi_support.patch deleted file mode 100644 index 0ff8a2134..000000000 --- a/ports/portaudio/wasapi_support.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists_org.txt -+++ b/CMakeLists.txt -@@ -200,7 +200,7 @@ - SET(PA_LIBRARY_DEPENDENCIES ${PA_LIBRARY_DEPENDENCIES} ole32 uuid) - ENDIF() - -- IF(MSVS) -+ IF(MSVC) - OPTION(PA_USE_WASAPI "Enable support for WASAPI" ON) - ELSE() - # I was unable to get WASAPI to compile outside of Visual Studio. If diff --git a/ports/portmidi/CONTROL b/ports/portmidi/CONTROL index 57550e485..07ba19c0c 100644 --- a/ports/portmidi/CONTROL +++ b/ports/portmidi/CONTROL @@ -1,4 +1,4 @@ Source: portmidi -Version: 0.217.1 +Version: 0.217.1-1 Homepage: https://sourceforge.net/projects/portmedia/ Description: Free, cross-platform, open-source I/O library for MIDI diff --git a/ports/portmidi/portfile.cmake b/ports/portmidi/portfile.cmake index 557f4a1ca..f2f63bfec 100644 --- a/ports/portmidi/portfile.cmake +++ b/ports/portmidi/portfile.cmake @@ -4,13 +4,16 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "WindowsStore not supported") endif() -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/portmidi) vcpkg_download_distfile(ARCHIVE URLS "https://downloads.sourceforge.net/project/portmedia/portmidi/217/portmidi-src-217.zip" FILENAME "portmidi-src-217.zip" SHA512 d08d4d57429d26d292b5fe6868b7c7a32f2f1d2428f6695cd403a697e2d91629bd4380242ab2720e8f21c895bb75cb56b709fb663a20e8e623120e50bfc5d90b ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) # Mark portmidi-static as static, disable pmjni library depending on the Java SDK diff --git a/ports/ppconsul/CONTROL b/ports/ppconsul/CONTROL index 4591b6a01..cc122ecf6 100644 --- a/ports/ppconsul/CONTROL +++ b/ports/ppconsul/CONTROL @@ -1,5 +1,5 @@ Source: ppconsul -Version: 0.3 +Version: 0.3-1 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] +Build-Depends: boost-core, boost-variant, curl[openssl], json11 diff --git a/ports/ppconsul/cmake_build.patch b/ports/ppconsul/cmake_build.patch index f607e37e4..95c795743 100644 --- a/ports/ppconsul/cmake_build.patch +++ b/ports/ppconsul/cmake_build.patch @@ -1,37 +1,70 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 92e4698..002981e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -75,6 +75,8 @@ else () - set (CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${CURL_ROOT}/lib") - endif () - find_package(CURL REQUIRED) -+ find_package(OpenSSL REQUIRED) -+ find_package(ZLIB REQUIRED) - endif () - - set(LIBB64_DIR "${PROJECT_SOURCE_DIR}/ext/b64") -@@ -89,7 +91,6 @@ endif() - - add_subdirectory(ext/json11) - add_subdirectory(src) --add_subdirectory(tests) - - install( - DIRECTORY "${HEADERS_DIR}" -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 8e24aab..beaac68 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -85,7 +85,10 @@ if (${USE_CPPNETLIB}) - target_link_libraries(${PROJECT_NAME} PRIVATE ${CPPNETLIB_LIBRARIES}) - else () - target_include_directories(${PROJECT_NAME} PRIVATE ${CURL_INCLUDE_DIR}) -- target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES}) -+ target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ZLIB::ZLIB) -+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -+ target_link_libraries(${PROJECT_NAME} PRIVATE "-framework CoreFoundation" "-framework Security") -+ endif () - endif () - - source_group(${PROJECT_NAME} FILES ${SOURCES}) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 92e4698..aa643aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -52,6 +52,8 @@ endif() + + enable_testing() + ++find_package(json11 REQUIRED) ++ + if (${USE_CPPNETLIB}) + find_package(Boost ${BOOST_MIN_VERSION} REQUIRED COMPONENTS thread filesystem system date_time chrono regex) + +@@ -75,6 +77,8 @@ else () + set (CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${CURL_ROOT}/lib") + endif () + find_package(CURL REQUIRED) ++ find_package(OpenSSL REQUIRED) ++ find_package(ZLIB REQUIRED) + endif () + + set(LIBB64_DIR "${PROJECT_SOURCE_DIR}/ext/b64") +@@ -87,9 +91,7 @@ if (WIN32 AND NOT BUILD_STATIC_LIB) + message(FATAL_ERROR "Building Ppconsul as dynamic library on Windows is not supported, see https://github.com/oliora/ppconsul/issues/25") + endif() + +-add_subdirectory(ext/json11) + add_subdirectory(src) +-add_subdirectory(tests) + + install( + DIRECTORY "${HEADERS_DIR}" +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index d747100..966c7e2 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -78,7 +78,7 @@ target_include_directories(${PROJECT_NAME} + + target_link_libraries(${PROJECT_NAME} + PRIVATE +- json11 ++ ${JSON11_LIBRARIES} + ${Boost_LIBRARIES} + ) + +@@ -87,7 +87,10 @@ if (${USE_CPPNETLIB}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${CPPNETLIB_LIBRARIES}) + else () + target_include_directories(${PROJECT_NAME} PRIVATE ${CURL_INCLUDE_DIR}) +- target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES}) ++ target_link_libraries(${PROJECT_NAME} PRIVATE ${CURL_LIBRARIES} ${OPENSSL_LIBRARIES} ZLIB::ZLIB) ++ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") ++ target_link_libraries(${PROJECT_NAME} PRIVATE "-framework CoreFoundation" "-framework Security") ++ endif () + endif () + + source_group(${PROJECT_NAME} FILES ${SOURCES}) +diff --git a/src/s11n.h b/src/s11n.h +index 962a1ac..6ab7f3b 100644 +--- a/src/s11n.h ++++ b/src/s11n.h +@@ -6,7 +6,7 @@ + + #include "ppconsul/config.h" + #include "ppconsul/error.h" +-#include ++#include + #include + #include + #include diff --git a/ports/ppconsul/portfile.cmake b/ports/ppconsul/portfile.cmake index 43e7eaeca..a1290019f 100644 --- a/ports/ppconsul/portfile.cmake +++ b/ports/ppconsul/portfile.cmake @@ -9,6 +9,10 @@ vcpkg_from_github( PATCHES "cmake_build.patch" ) +# Force the use of the vcpkg installed versions +file(REMOVE_RECURSE ${SOURCE_PATH}/ext/json11) +file(REMOVE_RECURSE ${SOURCE_PATH}/ext/catch) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/pprint/CONTROL b/ports/pprint/CONTROL index 0f06b8c4c..ea94b198e 100644 --- a/ports/pprint/CONTROL +++ b/ports/pprint/CONTROL @@ -1,3 +1,4 @@ Source: pprint -Version: 2019-06-01 +Version: 2019-07-19 Description: Pretty Printer for Modern C++ +Homepage: https://github.com/p-ranav/pprint diff --git a/ports/pprint/portfile.cmake b/ports/pprint/portfile.cmake index 792b4851b..3b360e683 100644 --- a/ports/pprint/portfile.cmake +++ b/ports/pprint/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO p-ranav/pprint - REF 71d85f0cd4ec2012c9cf19bfa741e094fcecfa3e - SHA512 6b0ff7a75a09226f775fa01fd9753d0f69c4838b40253fe9fc824eeee3c2efa1884e711188858f185f9c765f1dadace0bb72227d71e4d2218c493ddfb60224fa + REF 2fb81cd4af62c019ea28ea1707164fc3637bc656 + SHA512 51bdf0e06666511fb475b46ff2d512e5d04b231f63c274c021f56b194501885a0302af95cc90977b0a3b39b555d1076926f618d0a6751926acb5f8b2a968bc0a HEAD_REF master ) diff --git a/ports/pqp/CMakeLists.txt b/ports/pqp/CMakeLists.txt index e46f17895..dab50802f 100644 --- a/ports/pqp/CMakeLists.txt +++ b/ports/pqp/CMakeLists.txt @@ -1,12 +1,13 @@ cmake_minimum_required(VERSION 3.0) project(pqp) -include_directories(${SOURCE}/src) +set(SOURCE_CUSTOM_DIR "PQP_v1.3") +include_directories(${SOURCE_CUSTOM_DIR}/src) file(GLOB SRCS - "${SOURCE}/src/*.cpp") + "${SOURCE_CUSTOM_DIR}/src/*.cpp") file(GLOB HDRS - "${SOURCE}/src/*.h") + "${SOURCE_CUSTOM_DIR}/src/*.h") add_library(pqp STATIC ${SRCS}) @@ -18,4 +19,4 @@ install(TARGETS pqp EXPORT pqpConfig foreach (file ${HDRS}) get_filename_component(dir ${file} DIRECTORY) install(FILES ${file} DESTINATION include/ CONFIGURATIONS Release) -endforeach() \ No newline at end of file +endforeach() diff --git a/ports/pqp/CONTROL b/ports/pqp/CONTROL index 35986cf9f..8525cacbf 100644 --- a/ports/pqp/CONTROL +++ b/ports/pqp/CONTROL @@ -1,4 +1,4 @@ Source: pqp -Version: 1.3-3 +Version: 1.3-4 Homepage: https://gamma.cs.unc.edu/SSV/ Description: a proximity query package diff --git a/ports/pqp/fix-math-functions.patch b/ports/pqp/fix-math-functions.patch index 6f81d1b2e..51a4f15d5 100644 --- a/ports/pqp/fix-math-functions.patch +++ b/ports/pqp/fix-math-functions.patch @@ -1,7 +1,5 @@ -diff --git a/src/PQP_Compile.h b/src/PQP_Compile.h -index f76c981..8a70710 100644 ---- a/src/PQP_Compile.h -+++ b/src/PQP_Compile.h +--- a/PQP_v1.3/src/PQP_Compile.h ++++ b/PQP_v1.3/src/PQP_Compile.h @@ -44,10 +44,10 @@ // prevents compiler warnings when PQP_REAL is float diff --git a/ports/pqp/portfile.cmake b/ports/pqp/portfile.cmake index a674e3af3..56b36a0ff 100644 --- a/ports/pqp/portfile.cmake +++ b/ports/pqp/portfile.cmake @@ -2,17 +2,17 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pqp-1.3/PQP_v1.3) vcpkg_download_distfile(ARCHIVE URLS "http://gamma.cs.unc.edu/software/downloads/SSV/pqp-1.3.tar.gz" FILENAME "pqp-1.3.tar.gz" SHA512 baad7b050b13a6d13de5110cdec443048a3543b65b0d3b30d1b5f737b46715052661f762ef71345d39978c0c788a30a3a935717664806b4729722ee3594ebdc1 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-math-functions.patch" +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix-math-functions.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -20,8 +20,6 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS - -DSOURCE=${SOURCE_PATH} ) vcpkg_install_cmake() diff --git a/ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch b/ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch deleted file mode 100644 index 2f1f9ca29..000000000 --- a/ports/proj4/0001-CMake-add-detection-of-recent-visual-studio-versions.patch +++ /dev/null @@ -1,26 +0,0 @@ -From ca8bb14234091ab7b1ada2b9e5abb04f40d459cb Mon Sep 17 00:00:00 2001 -From: Manuel Massing -Date: Tue, 22 Nov 2016 12:00:39 +0100 -Subject: [PATCH 1/3] CMake: add detection of recent visual studio versions - ---- - cmake/Proj4SystemInfo.cmake | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/cmake/Proj4SystemInfo.cmake b/cmake/Proj4SystemInfo.cmake -index 294a50b..c7fb6bf 100644 ---- a/cmake/Proj4SystemInfo.cmake -+++ b/cmake/Proj4SystemInfo.cmake -@@ -50,6 +50,9 @@ if(WIN32) - if(MSVC_VERSION EQUAL 1800) - set(PROJ_COMPILER_NAME "msvc-12.0") #Visual Studio 2013 - endif() -+ if(MSVC_VERSION GREATER_EQUAL 1900) -+ set(PROJ_COMPILER_NAME "msvc-14.0") #Visual Studio 2015/2017/2019 -+ endif() - endif(MSVC) - - if(MINGW) --- -2.9.2.windows.1 - diff --git a/ports/proj4/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch b/ports/proj4/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch deleted file mode 100644 index 2c470570e..000000000 --- a/ports/proj4/0002-CMake-fix-error-by-only-setting-properties-for-targe.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 1265d13f29259be05535241e9bcbfcf16857dc06 Mon Sep 17 00:00:00 2001 -From: Manuel Massing -Date: Tue, 22 Nov 2016 12:04:10 +0100 -Subject: [PATCH 2/3] CMake: fix error by only setting properties for targets - which are actually defined - ---- - src/CMakeLists.txt | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 8d7e7d1..59ad00a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -22,25 +22,30 @@ if(NOT MSVC) - endif () - endif () - -+ - if(BUILD_CS2CS) -- include(bin_cs2cs.cmake) -+ list(APPEND BINARY_TARGETS cs2cs) -+ include(bin_cs2cs.cmake) - endif(BUILD_CS2CS) - - if(BUILD_PROJ) -+ list(APPEND BINARY_TARGETS proj) - include(bin_proj.cmake) - endif(BUILD_PROJ) - - if(BUILD_GEOD) -+ list(APPEND BINARY_TARGETS geod) - include(bin_geod.cmake) - include(bin_geodtest.cmake) - endif(BUILD_GEOD) - - if(BUILD_NAD2BIN) -+ list(APPEND BINARY_TARGETS nad2bin) - include(bin_nad2bin.cmake) - endif(BUILD_NAD2BIN) - --if (MSVC OR CMAKE_CONFIGURATION_TYPES) -+if ((MSVC OR CMAKE_CONFIGURATION_TYPES) AND BINARY_TARGETS) - # Add _d suffix for your debug versions of the tools -- set_target_properties (cs2cs binproj geod nad2bin PROPERTIES -- DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) -+ set_target_properties(${BINARY_TARGETS} PROPERTIES -+ DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) - endif () --- -2.9.2.windows.1 - diff --git a/ports/proj4/0003-CMake-configurable-cmake-config-install-location.patch b/ports/proj4/0003-CMake-configurable-cmake-config-install-location.patch deleted file mode 100644 index 5870e12ea..000000000 --- a/ports/proj4/0003-CMake-configurable-cmake-config-install-location.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 0be627798d943558c674d4d92767ca255d847631 Mon Sep 17 00:00:00 2001 -From: Manuel Massing -Date: Tue, 22 Nov 2016 12:26:39 +0100 -Subject: [PATCH 3/3] CMake: configurable cmake config install location - ---- - CMakeLists.txt | 1 + - cmake/CMakeLists.txt | 14 +++++++------- - cmake/Proj4InstallPath.cmake | 12 +++++++++--- - 3 files changed, 17 insertions(+), 10 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index cde21f0..1b1f892 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -106,6 +106,7 @@ set(LIBDIR "${DEFAULT_LIBDIR}" CACHE PATH "The directory to install libraries in - set(DATADIR "${DEFAULT_DATADIR}" CACHE PATH "The directory to install data files into.") - set(DOCDIR "${DEFAULT_DOCDIR}" CACHE PATH "The directory to install doc files into.") - set(INCLUDEDIR "${DEFAULT_INCLUDEDIR}" CACHE PATH "The directory to install includes into.") -+set(CMAKEDIR "${DEFAULT_CMAKE_CONFIGDIR}" CACHE PATH "The directory to install cmake files into.") - - ################################################################################# - # Build configured components -diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index 742da0e..2bdef0d 100644 ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -2,13 +2,13 @@ - # ${INSTALL_CMAKE_DIR} and @PROJECT_ROOT_DIR@ is the relative - # path to the root from there. (Note that the whole install tree can - # be relocated.) --if (NOT WIN32) -- set (INSTALL_CMAKE_DIR "share/cmake/${PROJECT_NAME}") -- set (PROJECT_ROOT_DIR "../../..") --else () -- set (INSTALL_CMAKE_DIR "cmake") -- set (PROJECT_ROOT_DIR "..") --endif () -+ -+set (INSTALL_CMAKE_DIR ${CMAKEDIR}) -+if(NOT IS_ABSOLUTE ${INSTALL_CMAKE_DIR}) -+ set(INSTALL_CMAKE_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKEDIR}") -+endif() -+ -+file(RELATIVE_PATH PROJECT_ROOT_DIR ${INSTALL_CMAKE_DIR} ${CMAKE_INSTALL_PREFIX}) - - string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER) - configure_file (project-config.cmake.in project-config.cmake @ONLY) -diff --git a/cmake/Proj4InstallPath.cmake b/cmake/Proj4InstallPath.cmake -index da1491c..826fb29 100644 ---- a/cmake/Proj4InstallPath.cmake -+++ b/cmake/Proj4InstallPath.cmake -@@ -28,13 +28,15 @@ if(WIN32) - set(DEFAULT_DATA_SUBDIR share) - set(DEFAULT_INCLUDE_SUBDIR local/include) - set(DEFAULT_DOC_SUBDIR share/doc/proj) -+ set(DEFAULT_CMAKE_CONFIG_SUBDIR "cmake") - else() -- # Common locatoins for Unix and Mac OS X -+ # Common locations for Unix and Mac OS X - set(DEFAULT_BIN_SUBDIR bin) - set(DEFAULT_LIB_SUBDIR lib) - set(DEFAULT_DATA_SUBDIR share/proj) - set(DEFAULT_DOC_SUBDIR doc/proj) - set(DEFAULT_INCLUDE_SUBDIR include) -+ set(DEFAULT_CMAKE_CONFIG_SUBDIR "share/cmake/${PROJECT_NAME}") - endif() - - # Locations are changeable by user to customize layout of PDAL installation -@@ -49,19 +51,23 @@ set(PROJ_DATA_SUBDIR ${DEFAULT_DATA_SUBDIR} CACHE STRING - "Subdirectory where data will be installed") - set(PROJ_DOC_SUBDIR ${DEFAULT_DOC_SUBDIR} CACHE STRING - "Subdirectory where data will be installed") -- -+set(PROJ_CMAKE_CONFIG_SUBDIR ${DEFAULT_CMAKE_CONFIG_SUBDIR} CACHE STRING -+ "Subdirectory where cmake configuration files will be installed") -+ - # Mark *DIR variables as advanced and dedicated to use by power-users only. - mark_as_advanced(PROJ_ROOT_DIR - PROJ_BIN_SUBDIR - PROJ_LIB_SUBDIR - PROJ_INCLUDE_SUBDIR - PROJ_DATA_SUBDIR -- PROJ_DOC_SUBDIR ) -+ PROJ_DOC_SUBDIR -+ PROJ_CMAKE_CONFIG_SUBDIR) - - set(DEFAULT_BINDIR "${PROJ_BIN_SUBDIR}") - set(DEFAULT_LIBDIR "${PROJ_LIB_SUBDIR}") - set(DEFAULT_DATADIR "${PROJ_DATA_SUBDIR}") - set(DEFAULT_DOCDIR "${PROJ_DOC_SUBDIR}") - set(DEFAULT_INCLUDEDIR "${PROJ_INCLUDE_SUBDIR}") -+set(DEFAULT_CMAKE_CONFIGDIR "${PROJ_CMAKE_CONFIG_SUBDIR}") - - --- -2.9.2.windows.1 - diff --git a/ports/proj4/CONTROL b/ports/proj4/CONTROL index d1aecc21f..f4db51a33 100644 --- a/ports/proj4/CONTROL +++ b/ports/proj4/CONTROL @@ -1,4 +1,10 @@ Source: proj4 -Version: 4.9.3-1 -Homepage: https://download.osgeo.org/proj +Version: 6.2.0-1 +Homepage: https://github.com/OSGeo/PROJ Description: PROJ.4 library for cartographic projections +Build-Depends: sqlite3[core] +Default-Features: database + +Feature: database +Build-Depends: sqlite3[tool] (!uwp&!arm) +Description: generate database \ No newline at end of file diff --git a/ports/proj4/disable-export-namespace.patch b/ports/proj4/disable-export-namespace.patch new file mode 100644 index 000000000..87646fe3d --- /dev/null +++ b/ports/proj4/disable-export-namespace.patch @@ -0,0 +1,28 @@ +diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt +index 61c69f7..777b5d8 100644 +--- a/cmake/CMakeLists.txt ++++ b/cmake/CMakeLists.txt +@@ -28,7 +28,3 @@ install(FILES + install(EXPORT targets + FILE ${PROJECT_NAME_LOWER}-targets.cmake + DESTINATION "${CMAKECONFIGDIR}") +-install(EXPORT targets +- NAMESPACE ${PROJECT_NAME}:: +- FILE ${PROJECT_NAME_LOWER}-namespace-targets.cmake +- DESTINATION "${CMAKECONFIGDIR}") +diff --git a/cmake/project-config.cmake.in b/cmake/project-config.cmake.in +index c62ecb4..9a52b3b 100644 +--- a/cmake/project-config.cmake.in ++++ b/cmake/project-config.cmake.in +@@ -20,10 +20,9 @@ set (@PROJECT_NAME@_INCLUDE_DIRS "${_ROOT}/@INCLUDEDIR@") + set (@PROJECT_NAME@_LIBRARY_DIRS "${_ROOT}/@LIBDIR@") + set (@PROJECT_NAME@_BINARY_DIRS "${_ROOT}/@BINDIR@") + +-set (@PROJECT_NAME@_LIBRARIES @PROJECT_NAME@::proj) ++set (@PROJECT_NAME@_LIBRARIES proj) + # Read in the exported definition of the library + include ("${_DIR}/@PROJECT_NAME_LOWER@-targets.cmake") +-include ("${_DIR}/@PROJECT_NAME_LOWER@-namespace-targets.cmake") + + unset (_ROOT) + unset (_DIR) diff --git a/ports/proj4/disable-projdb-with-arm-uwp.patch b/ports/proj4/disable-projdb-with-arm-uwp.patch new file mode 100644 index 000000000..218a35335 --- /dev/null +++ b/ports/proj4/disable-projdb-with-arm-uwp.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9213990..f51cc5e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -224,7 +224,9 @@ set(CMAKECONFIGDIR "${DEFAULT_CMAKEDIR}" + include_directories(${PROJ4_SOURCE_DIR}/src) + + message(STATUS "") +-add_subdirectory(data) ++if(BUILD_PROJ_DATABASE) ++ add_subdirectory(data) ++endif() + add_subdirectory(include) + add_subdirectory(src) + add_subdirectory(man) diff --git a/ports/proj4/fix-linux-build.patch b/ports/proj4/fix-linux-build.patch new file mode 100644 index 000000000..0d81ef35d --- /dev/null +++ b/ports/proj4/fix-linux-build.patch @@ -0,0 +1,18 @@ +diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake +index cf7533b..236581f 100644 +--- a/src/lib_proj.cmake ++++ b/src/lib_proj.cmake +@@ -431,11 +431,11 @@ set(PROJ_LIBRARIES ${PROJ_LIBRARIES} PARENT_SCOPE) + if(UNIX) + find_library(M_LIB m) + if(M_LIB) +- target_link_libraries(${PROJ_CORE_TARGET} -lm) ++ target_link_libraries(${PROJ_CORE_TARGET} PRIVATE -lm) + endif() + endif() + if(USE_THREAD AND Threads_FOUND AND CMAKE_USE_PTHREADS_INIT) +- target_link_libraries(${PROJ_CORE_TARGET} ${CMAKE_THREAD_LIBS_INIT}) ++ target_link_libraries(${PROJ_CORE_TARGET} PRIVATE ${CMAKE_THREAD_LIBS_INIT}) + endif() + + include_directories(${SQLITE3_INCLUDE_DIR}) diff --git a/ports/proj4/fix-sqlite-dependency-export.patch b/ports/proj4/fix-sqlite-dependency-export.patch new file mode 100644 index 000000000..a7f051699 --- /dev/null +++ b/ports/proj4/fix-sqlite-dependency-export.patch @@ -0,0 +1,13 @@ +diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake +index 5a0a807..f7bfffd 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) + 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) + target_compile_definitions(${PROJ_CORE_TARGET} diff --git a/ports/proj4/fix-sqlite3-bin.patch b/ports/proj4/fix-sqlite3-bin.patch new file mode 100644 index 000000000..20fea7141 --- /dev/null +++ b/ports/proj4/fix-sqlite3-bin.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 75c4696..2e8a957 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -110,7 +110,7 @@ include(policies) + ################################################################################ + # Check for sqlite3 + ################################################################################ +-find_program(EXE_SQLITE3 sqlite3) ++# Use incoming parameter + if(NOT EXE_SQLITE3) + message(SEND_ERROR "sqlite3 binary not found!") + endif() diff --git a/ports/proj4/fix-win-output-name.patch b/ports/proj4/fix-win-output-name.patch new file mode 100644 index 000000000..5964d11be --- /dev/null +++ b/ports/proj4/fix-win-output-name.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/ProjUtilities.cmake b/cmake/ProjUtilities.cmake +index 1a2b605..cf62f02 100644 +--- a/cmake/ProjUtilities.cmake ++++ b/cmake/ProjUtilities.cmake +@@ -104,7 +104,7 @@ function(proj_target_output_name TARGET_NAME OUTPUT_NAME) + + # On Windows, ABI version is specified using binary file name suffix. + # On Unix, suffix is empty and SOVERSION is used instead. +- if(WIN32) ++ if(0) + string(LENGTH "${${PROJECT_INTERN_NAME}_ABI_VERSION}" abilen) + if(abilen GREATER 0) + set(SUFFIX "_${${PROJECT_INTERN_NAME}_ABI_VERSION}") diff --git a/ports/proj4/portfile.cmake b/ports/proj4/portfile.cmake index 64974e4ba..a34e29da4 100644 --- a/ports/proj4/portfile.cmake +++ b/ports/proj4/portfile.cmake @@ -1,69 +1,71 @@ include(vcpkg_common_functions) -set(PROJ4_VERSION 4.9.3) - -vcpkg_download_distfile(ARCHIVE - URLS "http://download.osgeo.org/proj/proj-${PROJ4_VERSION}.zip" - FILENAME "proj-${PROJ4_VERSION}.zip" - SHA512 c9703008cd1f75fe1239b180158e560b9b88ae2ffd900b72923c716908eb86d1abbc4230647af5e3131f8c34481bdc66b03826d669620161ffcfbe67801cb631 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${PROJ4_VERSION} + REPO OSGeo/PROJ + REF 6.2.0 + SHA512 035c138e1a7794760652906daaf3c8a42cb6431ad9062a42ec2f8d721ead25394407fdd52560c5f1fc8668a0167459fdbe47c6392de23c1474304ea26b8a3a33 + HEAD_REF master PATCHES - 0001-CMake-add-detection-of-recent-visual-studio-versions.patch - 0002-CMake-fix-error-by-only-setting-properties-for-targe.patch - 0003-CMake-configurable-cmake-config-install-location.patch + fix-sqlite3-bin.patch + disable-projdb-with-arm-uwp.patch + fix-win-output-name.patch + fix-sqlite-dependency-export.patch + fix-linux-build.patch ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) +endif() + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + database BUILD_PROJ_DATABASE +) + +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) + 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) + message(FATAL_ERROR "Proj4 database need to install sqlite3[tool]:x64-windows first.") + endif() + set(SQLITE3_BIN_PATH ${CURRENT_INSTALLED_DIR}/../x64-windows/tools) + else() + set(SQLITE3_BIN_PATH ${CURRENT_INSTALLED_DIR}/tools) + endif() + else() + set(BIN_SUFFIX) + set(SQLITE3_BIN_PATH ${CURRENT_INSTALLED_DIR}/tools) + endif() +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DBUILD_LIBPROJ_SHARED=${BUILD_SHARED_LIBS} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DBUILD_LIBPROJ_SHARED=${VCPKG_BUILD_SHARED_LIBS} -DPROJ_LIB_SUBDIR=lib -DPROJ_INCLUDE_SUBDIR=include -DPROJ_DATA_SUBDIR=share/proj4 - -DPROJ_CMAKE_CONFIG_SUBDIR=share/proj4 - -DBUILD_CS2CS=NO - -DBUILD_PROJ=NO - -DBUILD_GEOD=NO - -DBUILD_NAD2BIN=NO - -DPROJ4_TESTS=NO + -DBUILD_CCT=OFF + -DBUILD_CS2CS=OFF + -DBUILD_GEOD=OFF + -DBUILD_GIE=OFF + -DBUILD_PROJ=OFF + -DBUILD_PROJINFO=OFF + -DPROJ_TESTS=OFF + -DEXE_SQLITE3=${SQLITE3_BIN_PATH}/sqlite3-bin${BIN_SUFFIX} ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/proj4) - -# Rename library and adapt cmake configuration -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-release.cmake _contents) - string(REPLACE "proj_4_9.lib" "proj.lib" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-release.cmake "${_contents}") -endif() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-debug.cmake _contents) - string(REPLACE "proj_4_9_d.lib" "projd.lib" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets-debug.cmake "${_contents}") -endif() - -file(READ ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets.cmake _contents) -string(REPLACE "set(_IMPORT_PREFIX \"${CURRENT_PACKAGES_DIR}\")" - "set(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_DIR}\")\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\nget_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" - _contents "${_contents}" -) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/proj4/proj4-targets.cmake "${_contents}") - -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(RENAME ${CURRENT_PACKAGES_DIR}/lib/proj_4_9.lib ${CURRENT_PACKAGES_DIR}/lib/proj.lib) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/proj_4_9_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/projd.lib) - endif() -endif() +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) 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/CONTROL b/ports/protobuf/CONTROL index bce258d24..b0fd79627 100644 --- a/ports/protobuf/CONTROL +++ b/ports/protobuf/CONTROL @@ -1,5 +1,5 @@ Source: protobuf -Version: 3.8.0 +Version: 3.10.0 Homepage: https://github.com/google/protobuf Description: Protocol Buffers - Google's data interchange format diff --git a/ports/protobuf/disable-lite.patch b/ports/protobuf/disable-lite.patch deleted file mode 100644 index 3a372e68f..000000000 --- a/ports/protobuf/disable-lite.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/cmake/install.cmake b/cmake/install.cmake -index 9b2ae93c..7c9670a3 100644 ---- a/cmake/install.cmake -+++ b/cmake/install.cmake -@@ -22,10 +22,12 @@ foreach(_library ${_protobuf_libraries}) - set_property(TARGET ${_library} - PROPERTY INSTALL_RPATH "@loader_path") - endif() -+ if(NOT "${_library}" STREQUAL "libprotobuf-lite") - install(TARGETS ${_library} EXPORT protobuf-targets - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${_library} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library}) -+ endif() - endforeach() - - if (protobuf_BUILD_PROTOC_BINARIES) -@@ -40,7 +42,7 @@ if (protobuf_BUILD_PROTOC_BINARIES) - endif() - endif (protobuf_BUILD_PROTOC_BINARIES) - --install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") -+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - - file(STRINGS extract_includes.bat.in _extract_strings - REGEX "^copy") -@@ -121,12 +123,12 @@ configure_file(protobuf-options.cmake - # Allows the build directory to be used as a find directory. - - if (protobuf_BUILD_PROTOC_BINARIES) -- export(TARGETS libprotobuf-lite libprotobuf libprotoc protoc -+ export(TARGETS libprotobuf libprotoc protoc - NAMESPACE protobuf:: - FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake - ) - else (protobuf_BUILD_PROTOC_BINARIES) -- export(TARGETS libprotobuf-lite libprotobuf -+ export(TARGETS libprotobuf - NAMESPACE protobuf:: - FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake - ) diff --git a/ports/protobuf/fix-uwp.patch b/ports/protobuf/fix-uwp.patch index ba09d5913..7a993c5c0 100644 --- a/ports/protobuf/fix-uwp.patch +++ b/ports/protobuf/fix-uwp.patch @@ -1,8 +1,8 @@ diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt -index 3afe376..1a0b6a7 100644 +index f87b0928e..5102a10e3 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt -@@ -151,6 +151,7 @@ if (MSVC) +@@ -190,6 +190,7 @@ if (MSVC) /wd4506 # no definition for inline function 'function' /wd4800 # 'type' : forcing value to bool 'true' or 'false' (performance warning) /wd4996 # The compiler encountered a deprecated declaration. diff --git a/ports/protobuf/portfile.cmake b/ports/protobuf/portfile.cmake index 982345db1..0e149a3b2 100644 --- a/ports/protobuf/portfile.cmake +++ b/ports/protobuf/portfile.cmake @@ -2,13 +2,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO google/protobuf - REF v3.8.0 - SHA512 ba27c64e5193cd4a144bf0c9dc0d195fbbe6e580aaca01960362f0f185074588ca40046d3bcea76e1deae7508b722f6c5be484ea957122ae8e98229c7c3a4ad2 + REPO protocolbuffers/protobuf + REF v3.10.0 + SHA512 0dcba6d21486fdc162f57119754b47b4a2fb605af878d5b96a32df55895321535cffb5b804566fd90ee7c36e20106d0cd4f5d9f3c652dc9c4dfca96be41a1977 HEAD_REF master PATCHES fix-uwp.patch - disable-lite.patch ) if(CMAKE_HOST_WIN32 AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x86") @@ -24,15 +23,15 @@ if(NOT protobuf_BUILD_PROTOC_BINARIES AND NOT EXISTS ${CURRENT_INSTALLED_DIR}/.. endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(protobuf_BUILD_SHARED_LIBS ON) + set(VCPKG_BUILD_SHARED_LIBS ON) else() - set(protobuf_BUILD_SHARED_LIBS OFF) + set(VCPKG_BUILD_SHARED_LIBS OFF) endif() -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(protobuf_MSVC_STATIC_RUNTIME ON) +if(VCPKG_CRT_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_STATIC_CRT OFF) else() - set(protobuf_MSVC_STATIC_RUNTIME OFF) + set(VCPKG_BUILD_STATIC_CRT ON) endif() if("zlib" IN_LIST FEATURES) @@ -45,8 +44,8 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/cmake PREFER_NINJA OPTIONS - -Dprotobuf_BUILD_SHARED_LIBS=${protobuf_BUILD_SHARED_LIBS} - -Dprotobuf_MSVC_STATIC_RUNTIME=${protobuf_MSVC_STATIC_RUNTIME} + -Dprotobuf_BUILD_SHARED_LIBS=${VCPKG_BUILD_SHARED_LIBS} + -Dprotobuf_MSVC_STATIC_RUNTIME=${VCPKG_BUILD_STATIC_CRT} -Dprotobuf_WITH_ZLIB=${protobuf_WITH_ZLIB} -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_CMAKEDIR:STRING=share/protobuf @@ -91,10 +90,10 @@ protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/share) if(CMAKE_HOST_WIN32) if(protobuf_BUILD_PROTOC_BINARIES) - file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/protobuf) - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/protobuf) + file(INSTALL ${CURRENT_PACKAGES_DIR}/bin/protoc.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) else() - file(COPY ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/protobuf DESTINATION ${CURRENT_PACKAGES_DIR}/tools) + file(COPY ${CURRENT_INSTALLED_DIR}/../x86-windows/tools/${PORT} DESTINATION ${CURRENT_PACKAGES_DIR}/tools) endif() if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -107,22 +106,18 @@ if(CMAKE_HOST_WIN32) else() file(GLOB EXECUTABLES ${CURRENT_PACKAGES_DIR}/bin/protoc*) foreach(E IN LISTS EXECUTABLES) - file(INSTALL ${E} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/protobuf + file(INSTALL ${E} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ) endforeach() protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/debug/bin) protobuf_try_remove_recurse_wait(${CURRENT_PACKAGES_DIR}/bin) endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/libprotobuf-lite.lib) - message(FATAL_ERROR "Expected to not build the lite runtime because it contains some of the same symbols as the full runtime.") -endif() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") file(READ ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h _contents) string(REPLACE "\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" "\#define PROTOBUF_USE_DLLS\n\#endif // GOOGLE_PROTOBUF_PLATFORM_MACROS_H_" _contents "${_contents}") file(WRITE ${CURRENT_PACKAGES_DIR}/include/google/protobuf/stubs/platform_macros.h "${_contents}") endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/protobuf RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) vcpkg_copy_pdbs() diff --git a/ports/ptex/CONTROL b/ports/ptex/CONTROL index 17e2bbe5e..069f2e628 100644 --- a/ports/ptex/CONTROL +++ b/ports/ptex/CONTROL @@ -1,5 +1,5 @@ Source: ptex -Version: 2.1.28-1 +Version: 2.3.2 Homepage: https://github.com/wdas/ptex Description: Per-Face Texture Mapping for Production Rendering. Build-Depends: zlib diff --git a/ports/ptex/fix-build.patch b/ports/ptex/fix-build.patch index 6d6484d60..9c74eeda8 100644 --- a/ports/ptex/fix-build.patch +++ b/ports/ptex/fix-build.patch @@ -1,35 +1,40 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index dd327d0..5043452 100644 +index c708153..0e004da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -6,15 +6,6 @@ include(CTest) - include(FindZLIB) +@@ -60,10 +60,11 @@ include(GNUInstallDirs) + include(CTest) include(FindThreads) --enable_testing() ++find_package(ZLIB REQUIRED) ++if (0) + # Use pkg-config to create a PkgConfig::Ptex_ZLIB imported target + find_package(PkgConfig REQUIRED) + pkg_checK_modules(Ptex_ZLIB REQUIRED zlib IMPORTED_TARGET) - --# Detect the build type from the $FLAVOR environment variable --if ("$ENV{FLAVOR}" MATCHES "debug") -- set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "type of build" FORCE) --else () -- set(CMAKE_BUILD_TYPE "Release" CACHE STRING "type of build" FORCE) --endif () -- - if (NOT WIN32) - set(CMAKE_CXX_FLAGS "-std=c++98 -Wall -Wextra -pedantic") + enable_testing() + + if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) +@@ -77,6 +78,7 @@ if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Release" CACHE STRING "type of build" FORCE) + endif () endif () -@@ -40,6 +31,6 @@ include_directories(src/ptex) - include_directories(${ZLIB_INCLUDE_DIR}) ++endif() + + if (NOT WIN32) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic") +@@ -99,7 +101,9 @@ endif () + include_directories(src/ptex) add_subdirectory(src/ptex) --add_subdirectory(src/utils) --add_subdirectory(src/tests) --add_subdirectory(src/doc) -+#add_subdirectory(src/utils) -+#add_subdirectory(src/tests) -+#add_subdirectory(src/doc) ++if (0) + add_subdirectory(src/utils) + add_subdirectory(src/tests) + add_subdirectory(src/doc) ++endif() + add_subdirectory(src/build) diff --git a/src/ptex/CMakeLists.txt b/src/ptex/CMakeLists.txt -index c926d98..ac2c71d 100644 +index ba3a3cc..1619ff1 100644 --- a/src/ptex/CMakeLists.txt +++ b/src/ptex/CMakeLists.txt @@ -1,6 +1,8 @@ @@ -42,24 +47,53 @@ index c926d98..ac2c71d 100644 + add_definitions(-DPTEX_STATIC) +endif () - set(SRCS - PtexCache.cpp -@@ -14,15 +16,11 @@ set(SRCS - PtexUtils.cpp + configure_file(PtexVersion.h.in + ${CMAKE_CURRENT_SOURCE_DIR}/PtexVersion.h @ONLY) +@@ -18,29 +20,35 @@ set(SRCS PtexWriter.cpp) --add_library(Ptex_static STATIC ${SRCS}) --set_target_properties(Ptex_static PROPERTIES OUTPUT_NAME Ptex) -+add_library(Ptex ${SRCS}) + if(PTEX_BUILD_STATIC_LIBS) +- add_library(Ptex_static STATIC ${SRCS}) +- set_target_properties(Ptex_static PROPERTIES OUTPUT_NAME Ptex) +- target_include_directories(Ptex_static ++ add_library(Ptex STATIC ${SRCS}) ++ target_include_directories(Ptex + PUBLIC + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}) +- target_link_libraries(Ptex_static +- PUBLIC ${CMAKE_THREAD_LIBS_INIT} PkgConfig::Ptex_ZLIB) +- install(TARGETS Ptex_static EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ target_link_libraries(Ptex ++ PUBLIC ${CMAKE_THREAD_LIBS_INIT} ZLIB::ZLIB) ++ install(TARGETS Ptex EXPORT Ptex ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + endif() --add_library(Ptex_dynamic SHARED ${SRCS}) --set_target_properties(Ptex_dynamic PROPERTIES OUTPUT_NAME Ptex) -+target_link_libraries(Ptex ${CMAKE_THREAD_LIBS_INIT} ${ZLIB_LIBRARIES}) - --target_link_libraries(Ptex_dynamic ${CMAKE_THREAD_LIBS_INIT} ${ZLIB_LIBRARIES}) -- --install(TARGETS Ptex_static Ptex_dynamic DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+install(TARGETS Ptex RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + if(PTEX_BUILD_SHARED_LIBS) +- add_library(Ptex_dynamic SHARED ${SRCS}) +- set_target_properties(Ptex_dynamic PROPERTIES OUTPUT_NAME Ptex) +- target_include_directories(Ptex_dynamic ++ add_library(Ptex SHARED ${SRCS}) ++ target_include_directories(Ptex + PUBLIC + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}) +- target_link_libraries(Ptex_dynamic +- PUBLIC ${CMAKE_THREAD_LIBS_INIT} PkgConfig::Ptex_ZLIB) +- install(TARGETS Ptex_dynamic EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ target_link_libraries(Ptex ++ PUBLIC ${CMAKE_THREAD_LIBS_INIT} ZLIB::ZLIB) ++ install(TARGETS Ptex EXPORT Ptex ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) + endif() install(FILES - PtexHalf.h diff --git a/ports/ptex/portfile.cmake b/ports/ptex/portfile.cmake index 52d77096b..94a626a34 100644 --- a/ports/ptex/portfile.cmake +++ b/ports/ptex/portfile.cmake @@ -1,23 +1,39 @@ +include(vcpkg_common_functions) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) message(FATAL_ERROR "UWP build not supported") endif() -include(vcpkg_common_functions) +set(PTEX_VER 2.3.2) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wdas/ptex - REF v2.1.28 - SHA512 ddce3c79f14d196e550c1e8a5b371482f88190cd667a2e2aa84601de1639f7cabb8571c1b3a49b48df46ce550d27088a00a67b1403c3bfec2ed73437c3dca3e8 - HEAD_REF master) + REF 1b8bc985a71143317ae9e4969fa08e164da7c2e5 + SHA512 37f2df9ec195f3d69d9526d0dea6a93ef49d69287bfae6ccd9671477491502ea760ed14e3b206b4f488831ab728dc749847b7d176c9b8439fb58b0a0466fe6c5 + HEAD_REF master + PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-build.patch +) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-build.patch) +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(BUILD_SHARED_LIB ON) + set(BUILD_STATIC_LIB OFF) +else() + set(BUILD_SHARED_LIB OFF) + set(BUILD_STATIC_LIB ON) +endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA) + PREFER_NINJA + OPTIONS + -DPTEX_VER="v${PTEX_VER}" + -DPTEX_BUILD_SHARED_LIBS=${BUILD_SHARED_LIB} + -DPTEX_BUILD_STATIC_LIBS=${BUILD_STATIC_LIB} +) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/Ptex) vcpkg_copy_pdbs() foreach(HEADER PtexHalf.h Ptexture.h) @@ -30,6 +46,6 @@ foreach(HEADER PtexHalf.h Ptexture.h) file(WRITE ${CURRENT_PACKAGES_DIR}/include/${HEADER} "${PTEX_HEADER}") endforeach() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +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) diff --git a/ports/pthreads/CONTROL b/ports/pthreads/CONTROL index e1b96a438..43c38ffdb 100644 --- a/ports/pthreads/CONTROL +++ b/ports/pthreads/CONTROL @@ -1,4 +1,4 @@ Source: pthreads -Version: 3.0.0-1 +Version: 3.0.0-4 Homepage: https://sourceware.org/pub/pthreads-win32/ Description: pthreads for windows diff --git a/ports/pthreads/portfile.cmake b/ports/pthreads/portfile.cmake index 4debe0d26..393fefddc 100644 --- a/ports/pthreads/portfile.cmake +++ b/ports/pthreads/portfile.cmake @@ -1,14 +1,16 @@ -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message(FATAL_ERROR "${PORT} does not currently support UWP") +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") + message(FATAL_ERROR "${PORT} does not currently support UWP platform nor ARM architectures") endif() -if(VCPKG_CMAKE_SYSTEM_NAME) + +if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(VCPKG_POLICY_EMPTY_PACKAGE enabled) return() endif() set(PTHREADS4W_VERSION "3.0.0") -include(vcpkg_common_functions) vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/pthreads4w/files/pthreads4w-code-v${PTHREADS4W_VERSION}.zip/download" FILENAME "pthreads4w-code-v${PTHREADS4W_VERSION}.zip" diff --git a/ports/pthreads/usage b/ports/pthreads/usage new file mode 100644 index 000000000..343c97f44 --- /dev/null +++ b/ports/pthreads/usage @@ -0,0 +1,9 @@ +The package pthreads provides CMake targets: + + find_package(pthreads REQUIRED) + + target_link_libraries(main PRIVATE PThreads4W::PThreads4W) + #or + target_link_libraries(main PRIVATE PThreads4W::PThreads4W_CXXEXC) + #or + target_link_libraries(main PRIVATE PThreads4W::PThreads4W_STRUCTEXC) \ No newline at end of file diff --git a/ports/pthreads/vcpkg-cmake-wrapper.cmake b/ports/pthreads/vcpkg-cmake-wrapper.cmake index ec5c473fb..12d390a7a 100644 --- a/ports/pthreads/vcpkg-cmake-wrapper.cmake +++ b/ports/pthreads/vcpkg-cmake-wrapper.cmake @@ -52,7 +52,7 @@ endif() set(PThreads4W_MAJOR_VERSION 3) set(PThreads4W_MINOR_VERSION 0) set(PThreads4W_PATCH_VERSION 0) -set(PThreads_VERSION "${PThreads4W_MAJOR_VERSION}.${PThreads4W_MINOR_VERSION}.${PThreads4W_PATCH_VERSION}") +set(PThreads4W_VERSION "${PThreads4W_MAJOR_VERSION}.${PThreads4W_MINOR_VERSION}.${PThreads4W_PATCH_VERSION}") # Allow libraries to be set manually if(NOT PThreads4W_LIBRARY) @@ -70,30 +70,36 @@ if(NOT PThreads4W_STRUCTEXC_LIBRARY) find_library(PThreads4W_STRUCTEXC_LIBRARY_DEBUG NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}d) select_library_configurations(PThreads4W_STRUCTEXC) endif() -if(WIN32) - string( REPLACE ".lib" ".dll" PThreads4W_LIBRARY_RELEASE_DLL "${PThreads4W_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" PThreads4W_LIBRARY_DEBUG_DLL "${PThreads4W_LIBRARY_DEBUG}" ) - string( REPLACE ".lib" ".dll" PThreads4W_CXXEXC_LIBRARY_RELEASE_DLL "${PThreads4W_CXXEXC_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" PThreads4W_CXXEXC_LIBRARY_DEBUG_DLL "${PThreads4W_CXXEXC_LIBRARY_DEBUG}" ) - string( REPLACE ".lib" ".dll" PThreads4W_STRUCTEXC_LIBRARY_RELEASE_DLL "${PThreads4W_STRUCTEXC_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" PThreads4W_STRUCTEXC_LIBRARY_DEBUG_DLL "${PThreads4W_STRUCTEXC_LIBRARY_DEBUG}" ) -endif() find_package_handle_standard_args(PThreads4W DEFAULT_MSG PThreads4W_LIBRARY PThreads4W_CXXEXC_LIBRARY PThreads4W_STRUCTEXC_LIBRARY PThreads4W_INCLUDE_DIR) mark_as_advanced(PThreads4W_INCLUDE_DIR PThreads4W_LIBRARY PThreads4W_CXXEXC_LIBRARY PThreads4W_STRUCTEXC_LIBRARY) -#Compatibility definitions, deprecated -set(PTHREAD_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "" FORCE) -set(PTHREADS_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "" FORCE) -set(PThreads_windows_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "" FORCE) -set(PTHREAD_LIBRARIES ${PThreads4W_LIBRARY} CACHE STRING "" FORCE) -set(PTHREADS_LIBRARIES ${PThreads4W_LIBRARY} CACHE STRING "" FORCE) -set(PTHREAD_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "" FORCE) -set(PTHREADS_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "" FORCE) -set(LIBPTHREAD ${PThreads4W_LIBRARY} CACHE STRING "" FORCE) -set(LIBPTHREADS ${PThreads4W_LIBRARY} CACHE STRING "" FORCE) -set(PThreads_windows_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "" FORCE) +set(PThreads4W_DLL_DIR ${PThreads4W_INCLUDE_DIR}) +list(TRANSFORM PThreads4W_DLL_DIR APPEND "/../bin") +message(STATUS "PThreads4W_DLL_DIR: ${PThreads4W_DLL_DIR}") +find_file(PThreads4W_LIBRARY_RELEASE_DLL NAMES pthreadVC${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) +find_file(PThreads4W_LIBRARY_DEBUG_DLL NAMES pthreadVC${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DLL_DIR}) +find_file(PThreads4W_CXXEXC_LIBRARY_RELEASE_DLL NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) +find_file(PThreads4W_CXXEXC_LIBRARY_DEBUG_DLL NAMES pthreadVCE${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DLL_DIR}) +find_file(PThreads4W_STRUCTEXC_LIBRARY_RELEASE_DLL NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}.dll PATHS ${PThreads4W_DLL_DIR}) +find_file(PThreads4W_STRUCTEXC_LIBRARY_DEBUG_DLL NAMES pthreadVSE${PThreads4W_MAJOR_VERSION}d.dll PATHS ${PThreads4W_DLL_DIR}) + +#Compatibility definitions, deprecated +set(PTHREAD_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "") +set(PTHREADS_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "") +set(PThreads_windows_INCLUDE_DIR ${PThreads4W_INCLUDE_DIR} CACHE PATH "") +set(PTHREAD_LIBRARIES ${PThreads4W_LIBRARY} CACHE STRING "") +set(PTHREADS_LIBRARIES ${PThreads4W_LIBRARY} CACHE STRING "") +set(PTHREAD_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "") +set(PTHREADS_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "") +set(LIBPTHREAD ${PThreads4W_LIBRARY} CACHE STRING "") +set(LIBPTHREADS ${PThreads4W_LIBRARY} CACHE STRING "") +set(PThreads_windows_LIBRARY ${PThreads4W_LIBRARY} CACHE STRING "") +set(PThreads_VERSION "${PThreads4W_VERSION}") +if(PThreads4W_FOUND) + set(PThreads_windows_FOUND TRUE) +endif() #TARGETS if( PThreads4W_FOUND AND NOT TARGET PThreads4W::PThreads4W_CXXEXC ) diff --git a/ports/pugixml/CONTROL b/ports/pugixml/CONTROL index 96adad3fb..3e791759b 100644 --- a/ports/pugixml/CONTROL +++ b/ports/pugixml/CONTROL @@ -1,4 +1,4 @@ Source: pugixml -Version: 1.9-1 +Version: 1.10 Homepage: https://github.com/zeux/pugixml Description: C++ XML processing library diff --git a/ports/pugixml/portfile.cmake b/ports/pugixml/portfile.cmake index b0ec2cc58..e1ce0976d 100644 --- a/ports/pugixml/portfile.cmake +++ b/ports/pugixml/portfile.cmake @@ -1,33 +1,22 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeux/pugixml - REF v1.9 - SHA512 f97941941d98a1a056087edc0dde6376bf2cc12ce4523b67a2f2ec5ae0895c2a2e55da32fcca6a997f1a0d918c5f39564167da0a07ce0d7da92880ad8631c31e + REF v1.10 + SHA512 0634053d4f757b9293997763bb2e51595197c192f3974e954975d6d6ff91e4a6cb7c194efa530e0eef1a2a93db16592c5630010b6482430dff5ffc6879e84b6a HEAD_REF master ) vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() vcpkg_copy_pdbs() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/pugixml") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/pugixml) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright file(INSTALL ${SOURCE_PATH}/readme.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/pugixml RENAME copyright) diff --git a/ports/pybind11/CONTROL b/ports/pybind11/CONTROL index 634afca38..4b2ae8ca7 100644 --- a/ports/pybind11/CONTROL +++ b/ports/pybind11/CONTROL @@ -1,5 +1,5 @@ Source: pybind11 -Version: 2.2.4 +Version: 2.3.0-1 Homepage: https://github.com/pybind/pybind11 Description: pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, mainly to create Python bindings of existing C++ code. Build-Depends: python3 (windows) \ No newline at end of file diff --git a/ports/pybind11/aliastemplates.patch b/ports/pybind11/aliastemplates.patch deleted file mode 100644 index a692ad583..000000000 --- a/ports/pybind11/aliastemplates.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 598ec67e4d6727dd9455bcc9959e32fee02a80ac Mon Sep 17 00:00:00 2001 -From: Michael Goulding -Date: Wed, 18 Jul 2018 10:59:15 -0700 -Subject: [PATCH 1/2] VS 15.8.0 Preview 4.0 has a bug with alias templates - ---- - include/pybind11/detail/common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/pybind11/detail/common.h b/include/pybind11/detail/common.h -index 3c6722891..89d922190 100644 ---- a/include/pybind11/detail/common.h -+++ b/include/pybind11/detail/common.h -@@ -476,7 +476,7 @@ template struct void_t_impl { using type = void; }; - template using void_t = typename void_t_impl::type; - - /// Compile-time all/any/none of that check the boolean value of all template types --#ifdef __cpp_fold_expressions -+#if (!defined(_MSC_VER) || ( _MSC_VER >= 1916 )) && defined(__cpp_fold_expressions) - template using all_of = bool_constant<(Ts::value && ...)>; - template using any_of = bool_constant<(Ts::value || ...)>; - #elif !defined(_MSC_VER) - -From 7d534251ca67c5e725ed549900f04adeb5ddb99e Mon Sep 17 00:00:00 2001 -From: Michael Goulding -Date: Thu, 19 Jul 2018 10:27:41 -0700 -Subject: [PATCH 2/2] Address feedback - ---- - include/pybind11/detail/common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/pybind11/detail/common.h b/include/pybind11/detail/common.h -index 89d922190..8d65b260d 100644 ---- a/include/pybind11/detail/common.h -+++ b/include/pybind11/detail/common.h -@@ -476,7 +476,7 @@ template struct void_t_impl { using type = void; }; - template using void_t = typename void_t_impl::type; - - /// Compile-time all/any/none of that check the boolean value of all template types --#if (!defined(_MSC_VER) || ( _MSC_VER >= 1916 )) && defined(__cpp_fold_expressions) -+#if defined(__cpp_fold_expressions) && !(defined(_MSC_VER) && (_MSC_VER < 1916)) - template using all_of = bool_constant<(Ts::value && ...)>; - template using any_of = bool_constant<(Ts::value || ...)>; - #elif !defined(_MSC_VER) diff --git a/ports/pybind11/portfile.cmake b/ports/pybind11/portfile.cmake index 55cfb1fa1..e97841d32 100644 --- a/ports/pybind11/portfile.cmake +++ b/ports/pybind11/portfile.cmake @@ -3,11 +3,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO pybind/pybind11 - REF v2.2.4 - SHA512 6bddf5c885ff92a3e373bcedc6574dfefe8be9ebb6176c6c96d475457466c76bfb982c6df4066cb0fbead4b867f87dbc4fbc1605c80852635016f614330ce041 + REF e43e1cc01ae6d4e4e5ba10557a057d7f3d5ece0d + SHA512 546a0501c420cbbb21fb458192bae6c8d34bdd4bdbfe47fed22869e09429d6404b4e399e30c36c6d658bf8002339d051efde33685b03a00797b9cfe476cfb98e HEAD_REF master - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/aliastemplates.patch ) vcpkg_find_acquire_program(PYTHON3) diff --git a/ports/python2/CONTROL b/ports/python2/CONTROL index c0510dcac..4b03ff8cf 100644 --- a/ports/python2/CONTROL +++ b/ports/python2/CONTROL @@ -1,3 +1,3 @@ Source: python2 -Version: 2.7.15-1 -Description: The Python programming language as an embeddable library \ No newline at end of file +Version: 2.7.15-2 +Description: The Python programming language as an embeddable library diff --git a/ports/python2/portfile.cmake b/ports/python2/portfile.cmake index 0c53ec128..ea11b33b5 100644 --- a/ports/python2/portfile.cmake +++ b/ports/python2/portfile.cmake @@ -1,4 +1,4 @@ -# Patches are from: +# Patches are from: # - https://github.com/python-cmake-buildsystem/python-cmake-buildsystem/tree/master/patches/2.7.13/Windows-MSVC/1900 # - https://github.com/Microsoft/vcpkg/tree/master/ports/python3 @@ -11,21 +11,10 @@ set(PYTHON_VERSION_MAJOR 2) set(PYTHON_VERSION_MINOR 7) set(PYTHON_VERSION_PATCH 15) set(PYTHON_VERSION ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH}) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/python-${PYTHON_VERSION}) include(vcpkg_common_functions) -vcpkg_download_distfile( - PYTHON_ARCHIVE - URLS https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz - FILENAME Python-${PYTHON_VERSION}.tar.xz - SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 -) - -vcpkg_extract_source_archive(${PYTHON_ARCHIVE}) - set(_PYTHON_PATCHES "") - if (VCPKG_LIBRARY_LINKAGE STREQUAL static) list(APPEND _PYTHON_PATCHES ${CMAKE_CURRENT_LIST_DIR}/004-static-library-msvc.patch @@ -36,8 +25,17 @@ if (VCPKG_CRT_LINKAGE STREQUAL static) list(APPEND _PYTHON_PATCHES ${CMAKE_CURRENT_LIST_DIR}/005-static-crt-msvc.patch) endif() -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} + +vcpkg_download_distfile(ARCHIVE + URLS https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz + FILENAME Python-${PYTHON_VERSION}.tar.xz + SHA512 27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES PATCHES ${CMAKE_CURRENT_LIST_DIR}/001-build-msvc.patch ${CMAKE_CURRENT_LIST_DIR}/002-build-msvc.patch diff --git a/ports/python3/CONTROL b/ports/python3/CONTROL index 1b9a01988..7550d5568 100644 --- a/ports/python3/CONTROL +++ b/ports/python3/CONTROL @@ -1,4 +1,5 @@ Source: python3 -Version: 3.7.3 +Version: 3.7.4 Homepage: https://github.com/python/cpython -Description: The Python programming language as an embeddable library \ No newline at end of file +Description: The Python programming language as an embeddable library +Build-Depends: libffi, openssl \ No newline at end of file diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake index 809b825f2..3a22d25b7 100644 --- a/ports/python3/portfile.cmake +++ b/ports/python3/portfile.cmake @@ -18,41 +18,166 @@ vcpkg_from_github( HEAD_REF master ) -# We need per-triplet directories because we need to patch the project files differently based on the linkage -# Because the patches patch the same file, they have to be applied in the correct order -set(SOURCE_PATH "${TEMP_SOURCE_PATH}-Lib-${VCPKG_LIBRARY_LINKAGE}-crt-${VCPKG_CRT_LINKAGE}") -file(REMOVE_RECURSE ${SOURCE_PATH}) -file(RENAME "${TEMP_SOURCE_PATH}" ${SOURCE_PATH}) +if (VCPKG_TARGET_IS_WINDOWS) + set(SOURCE_PATH "${TEMP_SOURCE_PATH}-Lib-${VCPKG_LIBRARY_LINKAGE}-crt-${VCPKG_CRT_LINKAGE}") + file(REMOVE_RECURSE ${SOURCE_PATH}) + file(RENAME "${TEMP_SOURCE_PATH}" ${SOURCE_PATH}) + + # We need per-triplet directories because we need to patch the project files differently based on the linkage + # Because the patches patch the same file, they have to be applied in the correct order + + if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") + set(BUILD_ARCH "Win32") + set(OUT_DIR "win32") + elseif (VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + set(BUILD_ARCH "x64") + set(OUT_DIR "amd64") + else() + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") + endif() + + vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/PCBuild/pythoncore.vcxproj + PLATFORM ${BUILD_ARCH}) + + 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) + + 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) + + 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() + # 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) + + 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}) + + 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") + endif() + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + ################ + # Release build + ################ + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + set(OUT_PATH_RELEASE ${SOURCE_PATH_RELEASE}/../../make-build-${TARGET_TRIPLET}-release) + file(MAKE_DIRECTORY ${OUT_PATH_RELEASE}) + + if(VCPKG_TARGET_IS_OSX) + vcpkg_execute_build_process( + COMMAND "${SOURCE_PATH_RELEASE}/configure" --prefix=${OUT_PATH_RELEASE} --with-openssl=${CURRENT_INSTALLED_DIR} "CPPFLAGS=-I${CURRENT_INSTALLED_DIR}/include -framework CoreFoundation" "LDFLAGS=-L${CURRENT_INSTALLED_DIR}/lib" "LIBS=-liconv" + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME config-${TARGET_TRIPLET}-rel + ) + else() + vcpkg_execute_build_process( + COMMAND "${SOURCE_PATH_RELEASE}/configure" --prefix=${OUT_PATH_RELEASE} --with-openssl=${CURRENT_INSTALLED_DIR} "CPPFLAGS=-I${CURRENT_INSTALLED_DIR}/include" "LDFLAGS=-L${CURRENT_INSTALLED_DIR}/lib" + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME config-${TARGET_TRIPLET}-rel + ) + endif() + + message(STATUS "Building ${TARGET_TRIPLET}-rel") + + vcpkg_execute_build_process( + COMMAND make -j ${VCPKG_CONCURRENCY} + NO_PARALLEL_COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME make-build-${TARGET_TRIPLET}-release + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-rel") + vcpkg_execute_build_process( + COMMAND make install + WORKING_DIRECTORY ${SOURCE_PATH_RELEASE} + LOGNAME make-install-${TARGET_TRIPLET}-release + ) + + 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") + ################ + # Debug build + ################ + 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" + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME config-${TARGET_TRIPLET}-debug + ) + else() + 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" "LDFLAGS=-L${CURRENT_INSTALLED_DIR}/debug/lib" + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME config-${TARGET_TRIPLET}-debug + ) + endif() + + message(STATUS "Building ${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND make -j ${VCPKG_CONCURRENCY} + NO_PARALLEL_COMMAND make + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME make-build-${TARGET_TRIPLET}-debug + ) + + message(STATUS "Installing ${TARGET_TRIPLET}-dbg") + vcpkg_execute_build_process( + COMMAND make install + WORKING_DIRECTORY ${SOURCE_PATH_DEBUG} + LOGNAME make-install-${TARGET_TRIPLET}-debug + ) + + 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) -if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") - set(BUILD_ARCH "Win32") - set(OUT_DIR "win32") -elseif (VCPKG_TARGET_ARCHITECTURE MATCHES "x64") - set(BUILD_ARCH "x64") - set(OUT_DIR "amd64") -else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") endif() - -vcpkg_build_msbuild( - PROJECT_PATH ${SOURCE_PATH}/PCBuild/pythoncore.vcxproj - PLATFORM ${BUILD_ARCH}) - -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 (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) -endif() - -# 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) - -vcpkg_copy_pdbs() diff --git a/ports/qcustomplot/portfile.cmake b/ports/qcustomplot/portfile.cmake index 1f3385eb2..d35c67d01 100644 --- a/ports/qcustomplot/portfile.cmake +++ b/ports/qcustomplot/portfile.cmake @@ -1,6 +1,6 @@ include(vcpkg_common_functions) -set(QCP_VERSION 2.0.1) +set(QCP_VERSION 2.0.1) vcpkg_download_distfile(ARCHIVE URLS "https://www.qcustomplot.com/release/${QCP_VERSION}/QCustomPlot.tar.gz" diff --git a/ports/qhull/CONTROL b/ports/qhull/CONTROL index d8a402049..67812997b 100644 --- a/ports/qhull/CONTROL +++ b/ports/qhull/CONTROL @@ -1,4 +1,4 @@ Source: qhull -Version: 7.2.1-3 +Version: 7.3.2-1 Homepage: https://github.com/qhull/qhull Description: computes the convex hull, Delaunay triangulation, Voronoi diagram diff --git a/ports/qhull/portfile.cmake b/ports/qhull/portfile.cmake index b7939dddb..ade241dc8 100644 --- a/ports/qhull/portfile.cmake +++ b/ports/qhull/portfile.cmake @@ -3,9 +3,10 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qhull/qhull - REF v7.2.1 # Qhull 2015.2 - SHA512 8f5177ea45f82fa28f13e95105497e7e29086d7301e1cb8d3860fff09ebf8d0f01cfcb0f044c422f0ac0ba94b845bba223232e5eeb613bf671f65a569b8766d0 + REF v7.3.2 # Qhull 2019.1 + SHA512 aea2c70179de10f648aba960129a3b9a3fe309a0eb085bdb86f697e3d4b214570c241e88d4f0b4d2974137759ee7086452d0a3957c4b2a256708402fb3c9eb3d HEAD_REF master + PATCHES uwp.patch ) if(${TARGET_TRIPLET} STREQUAL "x64-windows-static") # workaround for visual studio toolset regression LNK1201 (remove if solved) @@ -37,6 +38,8 @@ endif() vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Qhull) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(GLOB_RECURSE HTMFILES ${CURRENT_PACKAGES_DIR}/include/*.htm) file(REMOVE ${HTMFILES}) diff --git a/ports/qhull/uwp.patch b/ports/qhull/uwp.patch new file mode 100644 index 000000000..98c74564e --- /dev/null +++ b/ports/qhull/uwp.patch @@ -0,0 +1,26 @@ +diff --git a/src/libqhull/global.c b/src/libqhull/global.c +index e7de8e6..81be9df 100644 +--- a/src/libqhull/global.c ++++ b/src/libqhull/global.c +@@ -636,7 +636,7 @@ void qh_init_qhull_command(int argc, char *argv[]) { + */ + void qh_initflags(char *command) { + int k, i, lastproject; +- char *s= command, *t, *prev_s, *start, key, *lastwarning= NULL; ++ char *s= command, *t = NULL, *prev_s, *start, key, *lastwarning= NULL; + boolT isgeom= False, wasproject; + realT r; + +diff --git a/src/libqhull_r/global_r.c b/src/libqhull_r/global_r.c +index 3e6919f..8d13e47 100644 +--- a/src/libqhull_r/global_r.c ++++ b/src/libqhull_r/global_r.c +@@ -610,7 +610,7 @@ void qh_init_qhull_command(qhT *qh, int argc, char *argv[]) { + */ + void qh_initflags(qhT *qh, char *command) { + int k, i, lastproject; +- char *s= command, *t, *prev_s, *start, key, *lastwarning= NULL; ++ char *s= command, *t = NULL, *prev_s, *start, key, *lastwarning= NULL; + boolT isgeom= False, wasproject; + realT r; + diff --git a/ports/qscintilla/CONTROL b/ports/qscintilla/CONTROL index ee8a7be2f..3e8d82c92 100644 --- a/ports/qscintilla/CONTROL +++ b/ports/qscintilla/CONTROL @@ -1,5 +1,5 @@ Source: qscintilla -Version: 2.10-8 +Version: 2.10-9 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 8e241cfef..d979f3135 100644 --- a/ports/qscintilla/portfile.cmake +++ b/ports/qscintilla/portfile.cmake @@ -1,11 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/QScintilla_gpl-2.10) + vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.10/QScintilla_gpl-2.10.zip" FILENAME "QScintilla_gpl-2.10.zip" SHA512 7c580cfee03af1056f530af756a0ff9cc2396a5419fa23aecc66a6bc8809a4fb154788956220bb0b068a5c214d571c053271c3906d6d541196fbbf7c6dbec917 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) vcpkg_find_acquire_program(PYTHON3) @@ -27,7 +31,7 @@ vcpkg_configure_qmake( DEFINES+=SCI_NAMESPACE ) -if(CMAKE_HOST_WIN32) +if(VCPKG_TARGET_IS_WINDOWS) vcpkg_build_qmake( RELEASE_TARGETS release DEBUG_TARGETS debug @@ -39,7 +43,7 @@ endif() file(GLOB HEADER_FILES ${SOURCE_PATH}/Qt4Qt5/Qsci/*) file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/Qsci) -if(CMAKE_HOST_WIN32) +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) @@ -47,7 +51,7 @@ if(CMAKE_HOST_WIN32) 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(CMAKE_HOST_APPLE) +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() diff --git a/ports/qt-advanced-docking-system/CONTROL b/ports/qt-advanced-docking-system/CONTROL new file mode 100644 index 000000000..a578f8643 --- /dev/null +++ b/ports/qt-advanced-docking-system/CONTROL @@ -0,0 +1,4 @@ +Source: qt-advanced-docking-system +Version: 2019-08-14 +Build-Depends: qt5-base, zlib, bzip2 +Description: Create customizable layouts using an advanced window docking system similar to what is found in many popular IDEs such as Visual Studio diff --git a/ports/qt-advanced-docking-system/config_changes.patch b/ports/qt-advanced-docking-system/config_changes.patch new file mode 100644 index 000000000..ea9fd2801 --- /dev/null +++ b/ports/qt-advanced-docking-system/config_changes.patch @@ -0,0 +1,36 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8a9f919..9c2b8ad 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -62,7 +62,7 @@ if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4") + else() + set(ads_PlatformDir "x64") + endif() +-if(BUILD_STATIC) ++if(NOT BUILD_SHARED_LIBS) + add_library(qtadvanceddocking STATIC ${ads_SRCS}) + set(ads_COMPILE_DEFINE ${ads_COMPILE_DEFINE} ADS_STATIC) + else() +@@ -80,7 +80,7 @@ install(FILES + COMPONENT license + ) + install(TARGETS qtadvanceddocking +- EXPORT adsBinary ++ EXPORT qt-advanced-docking-systemConfig + RUNTIME DESTINATION bin COMPONENT library + LIBRARY DESTINATION lib COMPONENT library + ARCHIVE DESTINATION lib COMPONENT library +@@ -93,7 +93,6 @@ target_link_libraries(qtadvanceddocking PUBLIC ${ads_LIBS}) + target_compile_definitions(qtadvanceddocking PRIVATE ${ads_COMPILE_DEFINE}) + set_target_properties(qtadvanceddocking PROPERTIES + VERSION ${ads_VERSION} +- EXPORT_NAME "Qt Advanced Docking System" + ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib" + LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib" + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin" +@@ -103,3 +102,4 @@ if(BUILD_EXAMPLES) + add_subdirectory(demo) + endif() + ++install(EXPORT qt-advanced-docking-systemConfig NAMESPACE qt-advanced-docking-system:: DESTINATION share/qt-advanced-docking-system) +\ No newline at end of file diff --git a/ports/qt-advanced-docking-system/portfile.cmake b/ports/qt-advanced-docking-system/portfile.cmake new file mode 100644 index 000000000..2a53981cb --- /dev/null +++ b/ports/qt-advanced-docking-system/portfile.cmake @@ -0,0 +1,25 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO githubuser0xFFFF/Qt-Advanced-Docking-System + REF a2b07fd97f0fac63fd7a0ed7b1eb0692b3efab71 + SHA512 a44babd6100f299aea7fcf2d730874e204151ce363e1f58a2be938f70d28b07f3cb39adfbf46527fdacc3b12a630e7d97851e4a6fcd04e750a007ee06d06d3b5 + HEAD_REF master + PATCHES + config_changes.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DBUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt-advanced-docking-system RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/license) +vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) \ No newline at end of file diff --git a/ports/qt5-3d/CONTROL b/ports/qt5-3d/CONTROL index 515dd5513..1b8f0cd61 100644 --- a/ports/qt5-3d/CONTROL +++ b/ports/qt5-3d/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-3d -Version: 5.12.3 -Description: Qt5 3d Module - Functionality for near-realtime simulation systems with support for 2D and 3D rendering -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Source: qt5-3d +Version: 5.12.5-1 +Description: Qt5 3d Module - Functionality for near-realtime simulation systems with support for 2D and 3D rendering +Build-Depends: qt5-base, qt5-declarative, qt5-imageformats, qt5-gamepad diff --git a/ports/qt5-3d/portfile.cmake b/ports/qt5-3d/portfile.cmake index 444fbbcf2..214726759 100644 --- a/ports/qt5-3d/portfile.cmake +++ b/ports/qt5-3d/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qt3d 679c2dbc60fc53c1c5469369f25244bd844c2e6e723a1b451f7cbb50bfa018e6fb715214e5a5df6fb32d7c7936bb6c99d85e299fe2b76344bcf774c93ed0acd0) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-activeqt/CONTROL b/ports/qt5-activeqt/CONTROL index 60ca38370..4ec2594b3 100644 --- a/ports/qt5-activeqt/CONTROL +++ b/ports/qt5-activeqt/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-activeqt -Version: 5.12.3 -Description: Qt5 ActiveQt Module - ActiveX components -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-activeqt +Version: 5.12.5 +Description: Qt5 ActiveQt Module - ActiveX components +Build-Depends: qt5-base diff --git a/ports/qt5-activeqt/portfile.cmake b/ports/qt5-activeqt/portfile.cmake index 1e63132d8..a73a60551 100644 --- a/ports/qt5-activeqt/portfile.cmake +++ b/ports/qt5-activeqt/portfile.cmake @@ -1,7 +1,6 @@ -include(vcpkg_common_functions) +if (NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "qt5-activeqt only support Windows.") +endif() -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtactiveqt 477c42653a59739aeeb17ab54bdd5cc50bc72a117250926e940c34d3f81d1b92356074056fb49f3cd811a88840377836b2d97cea8cbc62ae1d895168e7860753) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-activeqt/plugins/platforminputcontexts) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index 0082dc46c..c981e7256 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,5 +1,8 @@ Source: qt5-base -Version: 5.12.3-1 +Version: 5.12.5-2 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 diff --git a/ports/qt5-base/cmake/configure_qt.cmake b/ports/qt5-base/cmake/configure_qt.cmake new file mode 100644 index 000000000..623924d71 --- /dev/null +++ b/ports/qt5-base/cmake/configure_qt.cmake @@ -0,0 +1,132 @@ +function(configure_qt) + cmake_parse_arguments(_csc "" "SOURCE_PATH;TARGET_PLATFORM;HOST_PLATFORM;HOST_TOOLS_ROOT" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN}) + + if(NOT _csc_TARGET_PLATFORM) + message(FATAL_ERROR "configure_qt requires a TARGET_PLATFORM argument.") + endif() + + if(DEFINED _csc_HOST_PLATFORM) + list(APPEND _csc_OPTIONS -platform ${_csc_HOST_PLATFORM}) + endif() + + if(DEFINED _csc_HOST_TOOLS_ROOT) + ## vcpkg internal file struture assumed here! + message(STATUS "Building Qt with prepared host tools from ${_csc_HOST_TOOLS_ROOT}!") + vcpkg_add_to_path("${_csc_HOST_TOOLS_ROOT}/bin") + vcpkg_add_to_path("${_csc_HOST_TOOLS_ROOT}") + set(EXT_BIN_DIR -external-hostbindir ${_csc_HOST_TOOLS_ROOT}/bin) # we only use release binaries for building + find_program(QMAKE_COMMAND NAMES qmake PATHS ${_csc_HOST_TOOLS_ROOT}/bin NO_DEFAULT_PATH) + set(INVOKE "${QMAKE_COMMAND}" ) + else() + if(CMAKE_HOST_WIN32) + set(CONFIGURE_BAT "configure.bat") + else() + set(CONFIGURE_BAT "configure") + endif() + set(INVOKE "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}") + endif() + + #Cleanup previous build folders + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + + #Find and ad Perl to PATH + vcpkg_find_acquire_program(PERL) + get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) + vcpkg_add_to_path("${PERL_EXE_PATH}") + + if("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + list(APPEND _csc_OPTIONS -static) + else() + #list(APPEND _csc_OPTIONS_DEBUG -separate-debug-info) + endif() + + if(VCPKG_TARGET_IS_WINDOWS AND "${VCPKG_CRT_LINKAGE}" STREQUAL "static") + list(APPEND _csc_OPTIONS -static-runtime) + endif() + + list(APPEND _csc_OPTIONS_RELEASE -release) + list(APPEND _csc_OPTIONS_DEBUG -debug) + + #Replace with VCPKG variables if PR #7733 is merged + unset(BUILDTYPES) + if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "debug") + set(_buildname "DEBUG") + list(APPEND BUILDTYPES ${_buildname}) + set(_short_name_${_buildname} "dbg") + set(_path_suffix_${_buildname} "/debug") + set(_build_type_${_buildname} "debug") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR "${VCPKG_BUILD_TYPE}" STREQUAL "release") + set(_buildname "RELEASE") + list(APPEND BUILDTYPES ${_buildname}) + set(_short_name_${_buildname} "rel") + set(_path_suffix_${_buildname} "") + set(_build_type_${_buildname} "release") + endif() + unset(_buildname) + + foreach(_buildname ${BUILDTYPES}) + set(_build_triplet ${TARGET_TRIPLET}-${_short_name_${_buildname}}) + message(STATUS "Configuring ${_build_triplet}") + set(_build_dir "${CURRENT_BUILDTREES_DIR}/${_build_triplet}") + file(MAKE_DIRECTORY ${_build_dir}) + # These paths get hardcoded into qmake. So point them into the CURRENT_INSTALLED_DIR instead of CURRENT_PACKAGES_DIR + # makefiles will be fixed to install into CURRENT_PACKAGES_DIR in install_qt + set(BUILD_OPTIONS ${_csc_OPTIONS} ${_csc_OPTIONS_${_buildname}} + -prefix ${CURRENT_INSTALLED_DIR} + -extprefix ${CURRENT_INSTALLED_DIR} + ${EXT_BIN_DIR} + -hostprefix ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}} + -hostlibdir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}/lib # could probably be move to manual-link + -hostbindir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}}/bin + # Qt VS Plugin requires a /bin subfolder with the executables in the root dir. But to use the wizard a correctly setup lib folder is also required + # So with the vcpkg layout there is no way to make it work unless all dll are are copied to tools/qt5/bin and all libs to tools/qt5/lib + -archdatadir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}} + -datadir ${CURRENT_INSTALLED_DIR}${_path_suffix}/share/qt5${_path_suffix_${_buildname}} + -plugindir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/plugins + -qmldir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/qml + -headerdir ${CURRENT_INSTALLED_DIR}/include + -libexecdir ${CURRENT_INSTALLED_DIR}/tools/qt5${_path_suffix_${_buildname}} + -bindir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/bin + -libdir ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib + -I ${CURRENT_INSTALLED_DIR}/include + -L ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib + -L ${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/lib/manual-link + -xplatform ${_csc_TARGET_PLATFORM} + ) + + if(DEFINED _csc_HOST_TOOLS_ROOT) #use qmake + if(WIN32) + set(INVOKE_OPTIONS "QMAKE_CXX.QMAKE_MSC_VER=1911" "QMAKE_MSC_VER=1911") + endif() + vcpkg_execute_required_process( + COMMAND ${INVOKE} "${_csc_SOURCE_PATH}" "${INVOKE_OPTIONS}" -- ${BUILD_OPTIONS} + WORKING_DIRECTORY ${_build_dir} + LOGNAME config-${_build_triplet} + ) + else()# call configure (builds qmake for triplet and calls it like above) + vcpkg_execute_required_process( + COMMAND "${INVOKE}" ${BUILD_OPTIONS} + WORKING_DIRECTORY ${_build_dir} + LOGNAME config-${_build_triplet} + ) + endif() + + # Note archdatadir and datadir are required to be prefixed with the hostprefix? + message(STATUS "Configuring ${_build_triplet} done") + + # Copy configuration dependent qt.conf + file(TO_CMAKE_PATH "${CURRENT_PACKAGES_DIR}" CMAKE_CURRENT_PACKAGES_DIR_PATH) + file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}" CMAKE_CURRENT_INSTALLED_DIR_PATH) + file(READ "${CURRENT_BUILDTREES_DIR}/${_build_triplet}/bin/qt.conf" _contents) + string(REPLACE "${CMAKE_CURRENT_PACKAGES_DIR_PATH}" "\${CURRENT_INSTALLED_DIR}" _contents ${_contents}) + string(REPLACE "${CMAKE_CURRENT_INSTALLED_DIR_PATH}" "\${CURRENT_INSTALLED_DIR}" _contents ${_contents}) + #string(REPLACE "HostPrefix=\${CURRENT_PACKAGES_DIR}" "HostPrefix=\${CURRENT_INSTALLED_DIR}" _contents ${_contents}) + string(REPLACE "[EffectivePaths]\nPrefix=..\n" "" _contents ${_contents}) + string(REPLACE "[EffectiveSourcePaths]\nPrefix=${_csc_SOURCE_PATH}\n" "" _contents ${_contents}) + string(REPLACE "Sysroot=\n" "" _contents ${_contents}) + string(REPLACE "SysrootifyPrefix=false\n" "" _contents ${_contents}) + file(WRITE "${CURRENT_PACKAGES_DIR}/tools/qt5/qt_${_build_type_${_buildname}}.conf" "${_contents}") + endforeach() + +endfunction() diff --git a/ports/qt5-base/cmake/find_qt_mkspec.cmake b/ports/qt5-base/cmake/find_qt_mkspec.cmake new file mode 100644 index 000000000..035aec1ad --- /dev/null +++ b/ports/qt5-base/cmake/find_qt_mkspec.cmake @@ -0,0 +1,101 @@ +function(find_qt_mkspec TARGET_PLATFORM_MKSPEC_OUT HOST_PLATFORM_MKSPEC_OUT EXT_HOST_TOOLS_OUT) + ## Figure out QTs target mkspec + if(NOT DEFINED VCPKG_QT_TARGET_MKSPEC) + message(STATUS "Figuring out qt target mkspec. Target arch ${VCPKG_TARGET_ARCHITECTURE}") + if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_IS_UWP) + if(VCPKG_PLATFORM_TOOLSET STREQUAL "v140") + set(msvc_year "2015") + elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v141") + set(msvc_year "2017") + elseif(VCPKG_PLATFORM_TOOLSET STREQUAL "v142") + set(msvc_year "2019") + else() + message(FATAL_ERROR "No target mkspec found!") + endif() + set(_tmp_targ_out "winrt-${VCPKG_TARGET_ARCHITECTURE}-msvc${msvc_year}") + else() + if("${VCPKG_TARGET_ARCHITECTURE}" MATCHES "arm64") + message(STATUS "Figuring out arm64") + set(_tmp_targ_out "win32-arm64-msvc2017") #mkspec does not have anything defined related to msvc2017 so this should work + else() + set(_tmp_targ_out "win32-msvc") + endif() + endif() + elseif(VCPKG_TARGET_IS_LINUX) + set(_tmp_targ_out "linux-g++" ) + elseif(VCPKG_TARGET_IS_OSX) + set(_tmp_targ_out "macx-clang") # switch to macx-g++ since vcpkg requires g++ to compile any way? + endif() + else() + set(_tmp_targ_out ${VCPKG_QT_TARGET_MKSPEC}) + endif() + message(STATUS "Target mkspec set to: ${_tmp_targ_out}") + set(${TARGET_PLATFORM_MKSPEC_OUT} ${_tmp_targ_out} PARENT_SCOPE) + + ## Figure out QTs host mkspec + if(NOT DEFINED VCPKG_QT_HOST_MKSPEC) + #if(WIN32) + # set(_tmp_host_out "win32-msvc") + #elseif("${CMAKE_HOST_SYSTEM}" STREQUAL "Linux") + # set(_tmp_host_out "linux-g++") + #elseif("${CMAKE_HOST_SYSTEM}" STREQUAL "Darwin") + # set(_tmp_host_out "macx-clang") + #endif() + if(DEFINED _tmp_host_out) + message(STATUS "Host mkspec set to: ${_tmp_host_out}") + else() + message(STATUS "Host mkspec not set. Qt's own buildsystem will try to figure out the host system") + endif() + else() + set(_tmp_host_out ${VCPKG_QT_HOST_MKSPEC}) + endif() + + if(DEFINED _tmp_host_out) + set(${HOST_PLATFORM_MKSPEC_OUT} ${_tmp_host_out} PARENT_SCOPE) + endif() + + ## Figure out VCPKG qt-tools directory for the port. + if(NOT DEFINED VCPKG_QT_HOST_TOOLS_ROOT AND DEFINED VCPKG_QT_HOST_PLATFORM) ## Root dir of the required host tools + if(NOT "${_tmp_host_out}" MATCHES "${_tmp_host_out}") + if(CMAKE_HOST_WIN32) + + if($ENV{PROCESSOR_ARCHITECTURE} MATCHES "[aA][rR][mM]64") + list(APPEND _test_triplets arm64-windows) + elseif($ENV{PROCESSOR_ARCHITECTURE} MATCHES "[aA][mM][dD]64") + list(APPEND _test_triplets x64-windows x64-windows-static) + list(APPEND _test_triplets x86-windows x86-windows-static) + elseif($ENV{PROCESSOR_ARCHITECTURE} MATCHES "x86") + list(APPEND _test_triplets x86-windows x86-windows-static) + else() + message(FATAL_ERROR "Unknown host processor! Host Processor $ENV{PROCESSOR_ARCHITECTURE}") + endif() + elseif(CMAKE_HOST_SYSTEM STREQUAL "Linux") + list(APPEND _test_triplets "x64-linux") + elseif(CMAKE_HOST_SYSTEM STREQUAL "Darwin") + list(APPEND _test_triplets "x64-osx") + else() + endif() + foreach(_triplet ${_test_triplets}) + find_program(QMAKE_PATH qmake PATHS ${VCPKG_ROOT_DIR}/installed/${_triplet}/tools/qt5/bin NO_DEFAULT_PATHS) + message(STATUS "Checking: ${VCPKG_ROOT_DIR}/installed/${_triplet}/tools/qt5/bin. ${QMAKE_PATH}") + if(QMAKE_PATH) + set(_tmp_host_root "${VCPKG_ROOT_DIR}/installed/${_triplet}/tools/qt5") + set(_tmp_host_qmake ${QMAKE_PATH} PARENT_SCOPE) + message(STATUS "Qt host tools root dir within vcpkg: ${_tmp_host_root}") + break() + endif() + endforeach() + if(NOT DEFINED _tmp_host_root) + message(FATAL_ERROR "Unable to locate required host tools. Please define VCPKG_QT_HOST_TOOLS_ROOT to the required root dir of the host tools") + endif() + endif() + else() + set(_tmp_host_root ${VCPKG_QT_HOST_TOOLS_ROOT}) + endif() + + if(DEFINED _tmp_host_root) + set(${EXT_HOST_TOOLS_OUT} ${_tmp_host_root} PARENT_SCOPE) + endif() + +endfunction() \ No newline at end of file diff --git a/ports/qt5-base/cmake/install_qt.cmake b/ports/qt5-base/cmake/install_qt.cmake new file mode 100644 index 000000000..9f9b3ea2a --- /dev/null +++ b/ports/qt5-base/cmake/install_qt.cmake @@ -0,0 +1,121 @@ +include(qt_fix_makefile_install) + +function(install_qt) + cmake_parse_arguments(_bc "DISABLE_PARALLEL" "" "" ${ARGN}) + + if (_bc_DISABLE_PARALLEL) + set(NUMBER_OF_PROCESSORS "1") + else() + if(DEFINED ENV{NUMBER_OF_PROCESSORS}) + set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS}) + elseif(VCPKG_TARGET_IS_OSX) + execute_process( + COMMAND sysctl -n hw.ncpu + OUTPUT_VARIABLE NUMBER_OF_PROCESSORS + ) + string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") + string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") + else() + execute_process( + COMMAND nproc + OUTPUT_VARIABLE NUMBER_OF_PROCESSORS + ) + string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") + string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") + endif() + endif() + + message(STATUS "NUMBER_OF_PROCESSORS is ${NUMBER_OF_PROCESSORS}") + + if(CMAKE_HOST_WIN32) + vcpkg_find_acquire_program(JOM) + set(INVOKE "${JOM}" /J ${NUMBER_OF_PROCESSORS}) + else() + find_program(MAKE make) + set(INVOKE "${MAKE}" -j${NUMBER_OF_PROCESSORS}) + set(INVOKE_SINGLE "${MAKE}" -j1) + endif() + vcpkg_find_acquire_program(PYTHON3) + get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) + vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}") + + if (CMAKE_HOST_WIN32) + # flex and bison for ANGLE library + vcpkg_find_acquire_program(FLEX) + get_filename_component(FLEX_EXE_PATH ${FLEX} DIRECTORY) + get_filename_component(FLEX_DIR ${FLEX_EXE_PATH} NAME) + + file(COPY ${FLEX_EXE_PATH} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools" ) + set(FLEX_TEMP "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools/${FLEX_DIR}") + file(RENAME "${FLEX_TEMP}/win_bison.exe" "${FLEX_TEMP}/bison.exe") + file(RENAME "${FLEX_TEMP}/win_flex.exe" "${FLEX_TEMP}/flex.exe") + vcpkg_add_to_path("${FLEX_TEMP}") + endif() + + set(_path "$ENV{PATH}") + + #Replace with VCPKG variables if PR #7733 is merged + unset(BUILDTYPES) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(_buildname "DEBUG") + list(APPEND BUILDTYPES ${_buildname}) + set(_short_name_${_buildname} "dbg") + set(_path_suffix_${_buildname} "/debug") + set(_build_type_${_buildname} "debug") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(_buildname "RELEASE") + list(APPEND BUILDTYPES ${_buildname}) + set(_short_name_${_buildname} "rel") + set(_path_suffix_${_buildname} "") + set(_build_type_${_buildname} "release") + endif() + unset(_buildname) + + foreach(_buildname ${BUILDTYPES}) + set(_build_triplet ${TARGET_TRIPLET}-${_short_name_${_buildname}}) + + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}${_path_suffix_${_buildname}}/bin") + + if(VCPKG_TARGET_IS_OSX) + # For some reason there will be an error on MacOSX without this clean! + message(STATUS "Cleaning before build ${_build_triplet}") + vcpkg_execute_required_process( + COMMAND ${INVOKE_SINGLE} clean + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet} + LOGNAME cleaning-1-${_build_triplet} + ) + endif() + + message(STATUS "Building ${_build_triplet}") + vcpkg_execute_required_process( + COMMAND ${INVOKE} + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet} + LOGNAME build-${_build_triplet} + ) + + if(VCPKG_TARGET_IS_OSX) + # For some reason there will be an error on MacOSX without this clean! + message(STATUS "Cleaning after build before install ${_build_triplet}") + vcpkg_execute_required_process( + COMMAND ${INVOKE_SINGLE} clean + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet} + LOGNAME cleaning-2-${_build_triplet} + ) + endif() + + message(STATUS "Fixing makefile installation path ${_build_triplet}") + qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${_build_triplet}") + message(STATUS "Installing ${_build_triplet}") + vcpkg_execute_required_process( + COMMAND ${INVOKE} install + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${_build_triplet} + LOGNAME package-${_build_triplet} + ) + message(STATUS "Package ${_build_triplet} done") + set(ENV{PATH} "${_path}") + endforeach() + + + +endfunction() diff --git a/ports/qt5-base/cmake/qt_build_submodule.cmake b/ports/qt5-base/cmake/qt_build_submodule.cmake new file mode 100644 index 000000000..78249f58a --- /dev/null +++ b/ports/qt5-base/cmake/qt_build_submodule.cmake @@ -0,0 +1,83 @@ + +function(qt_build_submodule SOURCE_PATH) + # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings + set(ENV{_CL_} "/utf-8") + + vcpkg_find_acquire_program(PYTHON2) + get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) + vcpkg_add_to_path("${PYTHON2_EXE_PATH}") + + vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH} ${ARGV}) + + vcpkg_build_qmake(SKIP_MAKEFILES) + + #Fix the installation location within the makefiles + qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/") + qt_fix_makefile_install("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/") + + #Install the module files + vcpkg_build_qmake(TARGETS install SKIP_MAKEFILES BUILD_LOGNAME install) + + qt_fix_cmake(${CURRENT_PACKAGES_DIR} ${PORT}) + + #Replace with VCPKG variables if PR #7733 is merged + unset(BUILDTYPES) + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + set(_buildname "DEBUG") + list(APPEND BUILDTYPES ${_buildname}) + set(_short_name_${_buildname} "dbg") + set(_path_suffix_${_buildname} "/debug") + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + set(_buildname "RELEASE") + list(APPEND BUILDTYPES ${_buildname}) + set(_short_name_${_buildname} "rel") + set(_path_suffix_${_buildname} "") + endif() + unset(_buildname) + + foreach(_buildname ${BUILDTYPES}) + set(CURRENT_BUILD_PACKAGE_DIR "${CURRENT_PACKAGES_DIR}${_path_suffix_${_buildname}}") + #Fix PRL files + file(GLOB_RECURSE PRL_FILES "${CURRENT_BUILD_PACKAGE_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5${_path_suffix_${_buildname}}/lib/*.prl" + "${CURRENT_PACKAGES_DIR}/tools/qt5${_path_suffix_${_buildname}}/mkspecs/*.pri") + qt_fix_prl("${CURRENT_BUILD_PACKAGE_DIR}" "${PRL_FILES}") + + # This makes it impossible to use the build tools in any meaningful way. qt5 assumes they are all in one folder! + # So does the Qt VS Plugin which even assumes all of the in a bin folder + #Move tools to the correct directory + #if(EXISTS ${CURRENT_BUILD_PACKAGE_DIR}/tools/qt5) + # file(RENAME ${CURRENT_BUILD_PACKAGE_DIR}/tools/qt5 ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + #endif() + + # Move executables in bin to tools + # This is ok since those are not build tools. + file(GLOB PACKAGE_EXE ${CURRENT_BUILD_PACKAGE_DIR}/bin/*.exe) + if(PACKAGE_EXE) + file(INSTALL ${PACKAGE_EXE} DESTINATION "${CURRENT_BUILD_PACKAGE_DIR}/tools/${PORT}") + file(REMOVE ${PACKAGE_EXE}) + foreach(_exe ${PACKAGE_EXE}) + string(REPLACE ".exe" ".pdb" _prb_file ${_exe}) + if(EXISTS ${_prb_file}) + file(INSTALL ${_prb_file} DESTINATION "${CURRENT_BUILD_PACKAGE_DIR}/tools/${PORT}") + file(REMOVE ${_prb_file}) + endif() + endforeach() + endif() + + #cleanup empty folders + file(GLOB PACKAGE_LIBS "${CURRENT_BUILD_PACKAGE_DIR}/lib/*") + if(NOT PACKAGE_LIBS) + file(REMOVE_RECURSE "${CURRENT_BUILD_PACKAGE_DIR}/lib") + endif() + + file(GLOB PACKAGE_BINS "${CURRENT_BUILD_PACKAGE_DIR}/bin/*") + if(NOT PACKAGE_BINS) + file(REMOVE_RECURSE "${CURRENT_BUILD_PACKAGE_DIR}/bin") + endif() + endforeach() + if(EXISTS "${CURRENT_PACKAGES_DIR}/tools/qt5/bin") + file(COPY "${CURRENT_PACKAGES_DIR}/tools/qt5/bin" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}") + vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") + endif() +endfunction() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_download_submodule.cmake b/ports/qt5-base/cmake/qt_download_submodule.cmake new file mode 100644 index 000000000..4241b6635 --- /dev/null +++ b/ports/qt5-base/cmake/qt_download_submodule.cmake @@ -0,0 +1,39 @@ +function(qt_get_submodule_name OUT_NAME) + string(REPLACE "5-" "" _tmp_name ${PORT}) + set(${OUT_NAME} ${_tmp_name} PARENT_SCOPE) +endfunction() + +function(qt_download_submodule) + cmake_parse_arguments(_csc "" "OUT_SOURCE_PATH" "PATCHES" ${ARGN}) + + if(NOT DEFINED _csc_OUT_SOURCE_PATH) + message(FATAL_ERROR "qt_download_module requires parameter OUT_SOURCE_PATH to be set! Please correct the portfile!") + endif() + + vcpkg_buildpath_length_warning(37) + qt_get_submodule_name(NAME) + + set(FULL_VERSION "${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}") + set(ARCHIVE_NAME "${NAME}-everywhere-src-${FULL_VERSION}.tar.xz") + + vcpkg_download_distfile(ARCHIVE_FILE + URLS "http://download.qt.io/official_releases/qt/${QT_MAJOR_MINOR_VER}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}" + FILENAME ${ARCHIVE_NAME} + SHA512 ${QT_HASH_${PORT}} + ) + + if(QT_UPDATE_VERSION) + file(SHA512 "${ARCHIVE_FILE}" ARCHIVE_HASH) + message(STATUS "${PORT} new hash is ${ARCHIVE_HASH}") + file(APPEND "${VCPKG_ROOT_DIR}/ports/qt5-base/cmake/qt_new_hashes.cmake" "set(QT_HASH_${PORT} ${ARCHIVE_HASH})\n") + else() + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${ARCHIVE_FILE}" + REF ${FULL_VERSION} + PATCHES ${_csc_PATCHES} + ) + endif() + + set(${_csc_OUT_SOURCE_PATH} ${SOURCE_PATH} PARENT_SCOPE) +endfunction() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_fix_cmake.cmake b/ports/qt5-base/cmake/qt_fix_cmake.cmake new file mode 100644 index 000000000..6da5deb8e --- /dev/null +++ b/ports/qt5-base/cmake/qt_fix_cmake.cmake @@ -0,0 +1,27 @@ +function(qt_fix_cmake PACKAGE_DIR_TO_FIX PORT_TO_FIX) + set(BACKUP_PATH "$ENV{PATH}") + #Find Python and add it to the path + vcpkg_find_acquire_program(PYTHON2) + get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) + vcpkg_add_to_path("${PYTHON2_EXE_PATH}") + + #Fix the cmake files if they exist + if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake) + vcpkg_execute_required_process( + COMMAND ${PYTHON2} ${CURRENT_INSTALLED_DIR}/share/qt5/fixcmake.py ${PORT_TO_FIX} + WORKING_DIRECTORY ${PACKAGE_DIR_TO_FIX}/lib/cmake + LOGNAME fix-cmake + ) + endif() + + #Install cmake files + if(EXISTS ${PACKAGE_DIR_TO_FIX}/lib/cmake) + file(MAKE_DIRECTORY ${PACKAGE_DIR_TO_FIX}/share) + file(RENAME ${PACKAGE_DIR_TO_FIX}/lib/cmake ${PACKAGE_DIR_TO_FIX}/share/cmake) + endif() + #Remove extra cmake files + if(EXISTS ${PACKAGE_DIR_TO_FIX}/debug/lib/cmake) + file(REMOVE_RECURSE ${PACKAGE_DIR_TO_FIX}/debug/lib/cmake) + endif() + set(ENV{PATH} "${BACKUP_PATH}") +endfunction() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_fix_makefile_install.cmake b/ports/qt5-base/cmake/qt_fix_makefile_install.cmake new file mode 100644 index 000000000..95831d29f --- /dev/null +++ b/ports/qt5-base/cmake/qt_fix_makefile_install.cmake @@ -0,0 +1,26 @@ +#Could probably be a vcpkg_fix_makefile_install for other ports? +function(qt_fix_makefile_install BUILD_DIR) + #Fix the installation location + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) + + if(WIN32) + string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE) + string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE) + else() + set(INSTALLED_DIR_WITHOUT_DRIVE ${NATIVE_INSTALLED_DIR}) + set(PACKAGES_DIR_WITHOUT_DRIVE ${NATIVE_PACKAGES_DIR}) + endif() + + file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) + file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) + + file(GLOB_RECURSE MAKEFILES "${BUILD_DIR}/*Makefile*") + + foreach(MAKEFILE ${MAKEFILES}) + file(READ "${MAKEFILE}" _contents) + #Set the correct install directory to packages + string(REPLACE "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}" _contents "${_contents}") + file(WRITE "${MAKEFILE}" "${_contents}") + endforeach() +endfunction() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_fix_prl.cmake b/ports/qt5-base/cmake/qt_fix_prl.cmake new file mode 100644 index 000000000..214f7cdb4 --- /dev/null +++ b/ports/qt5-base/cmake/qt_fix_prl.cmake @@ -0,0 +1,10 @@ +function(qt_fix_prl PACKAGE_DIR PRL_FILES) + file(TO_CMAKE_PATH "${PACKAGE_DIR}/lib" CMAKE_LIB_PATH) + file(TO_CMAKE_PATH "${PACKAGE_DIR}/include" CMAKE_INCLUDE_PATH) + foreach(PRL_FILE IN LISTS PRL_FILES) + file(READ "${PRL_FILE}" _contents) + string(REPLACE "${CMAKE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") + string(REPLACE "${CMAKE_INCLUDE_PATH}" "\$\$[QT_INSTALL_HEADERS]" _contents "${_contents}") + file(WRITE "${PRL_FILE}" "${_contents}") + endforeach() +endfunction() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_install_copyright.cmake b/ports/qt5-base/cmake/qt_install_copyright.cmake new file mode 100644 index 000000000..0f7e60cc7 --- /dev/null +++ b/ports/qt5-base/cmake/qt_install_copyright.cmake @@ -0,0 +1,16 @@ +#Could probably be the beginning of a vcpkg_install_copyright? +function(qt_install_copyright SOURCE_PATH) + #Find the relevant license file and install it + if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") + elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") + elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") + elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") + elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT") + set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT") + endif() + file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +endfunction() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_port_functions.cmake b/ports/qt5-base/cmake/qt_port_functions.cmake new file mode 100644 index 000000000..921f194a5 --- /dev/null +++ b/ports/qt5-base/cmake/qt_port_functions.cmake @@ -0,0 +1,19 @@ +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}") + +#Basic setup +include(qt_port_hashes) +if(QT_BUILD_LATEST) # only set in qt5-base + include(qt_port_hashes_latest) +elseif(NOT PORT STREQUAL "qt5-base") + include(qt_port_hashes_latest OPTIONAL) # will only be available for the other qt ports if qt5-base was build with latest +endif() +#Fixup scripts +include(qt_fix_makefile_install) +include(qt_fix_cmake) +include(qt_fix_prl) +#Helper functions +include(qt_download_submodule) +include(qt_build_submodule) +include(qt_install_copyright) + +include(qt_submodule_installation) diff --git a/ports/qt5-base/cmake/qt_port_hashes.cmake b/ports/qt5-base/cmake/qt_port_hashes.cmake new file mode 100644 index 000000000..d3ad2a0ee --- /dev/null +++ b/ports/qt5-base/cmake/qt_port_hashes.cmake @@ -0,0 +1,57 @@ +#Every update requires an update of these hashes and the version within the control file of each of the 32 ports. +#So it is probably better to have a central location for these hashes and let the ports update via a script +set(QT_MAJOR_MINOR_VER 5.12) +set(QT_PATCH_VER 5) +set(QT_UPDATE_VERSION 0) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes. + +set(QT_PORT_LIST base 3d activeqt charts connectivity datavis3d declarative gamepad graphicaleffects imageformats location macextras mqtt multimedia networkauth + purchasing quickcontrols quickcontrols2 remoteobjects script scxml sensors serialport speech svg tools virtualkeyboard webchannel websockets + webview winextras xmlpatterns) + +set(QT_HASH_qt5-base 9a95060318cadfcd6dace6b28353fa868a8dcfe9def0bd884edf7d9f72606bae625de0269323a94b81d594a6c398106c266304106329b79c7dae4e5b88269660) +set(QT_HASH_qt5-3d 8cc23417b4a41bf9d19052e05c7e3be8773be062f1f5998a7784573ef9c35a04da50ce67a65b3709065bb3cf243aac8ede4bea60f0420a5400cbe6c9c7bdf05b) +set(QT_HASH_qt5-activeqt 6233bb64ca45b6b0065afa50a3082c6df7e4e20d36040dfaf391e02876f50c41ec293db79a13636aeae9469deefad35ced42902548f9fcd78476359ad4450bee) +set(QT_HASH_qt5-charts a3ba8c6a606430cd87f85661116dbb2692e0bb472f0a73310aca1950f4437563d04ee950437a48a399b1a4881dd264cd1e6fdd4f30b6c3110704ec48d1467da1) +set(QT_HASH_qt5-connectivity 96cdb27aa0e439094e3f1de0c7a680973c3ce2c65bbbff38affe25a3708c9e4e3c1c6a403d698303f77a5f261b44ac657e01a769b62a1565e0a8c64c8ac80bd5) +set(QT_HASH_qt5-datavis3d 7911d911678827ca4a704b824b8841c8e8508484fb83265d4d05e64787ac1184387b9ed0870090b3233c736f5e484adc7776ba12a1173da0fceeaac46845c6f4) +set(QT_HASH_qt5-declarative 026c5024c06e44b6e91099d1ee912f38017f314ae0125227010d25d733447c692299cc7c47edc1a4bf39366a9c9c9fe77d3a249905f2ae982d0725317d824b9b) +set(QT_HASH_qt5-gamepad bc4148bb75de53dd0885fc25ce7d679d7a5426a23ce9c93482fd11e8d6003cebe4c958fc07f17817a43f1d4449756deff24c0350fd33e100aeb2c302c650ae33) +set(QT_HASH_qt5-graphicaleffects 489a308af5f56ff2b023375ddf705f8a1b15c0e1fb1ec3bc6e5f66a80b5863d63aa0e57a3aef025ab965694add8d71424123bca120ce8d8b8448e7218f7fc640) +set(QT_HASH_qt5-imageformats 9fa76b7eec083596c45f68642b49dc88c2759a28cb9359935c3a64604082acea9adecee49bb0828cc587b86d469aec7169f8f72f83a15194c4fc10f0ca25fae0) +set(QT_HASH_qt5-location fe82194e4e6bc2a2e6e3c55e3360afdfd56a6495a8d87bfbdceb29255430954d4c1adc62f1f82e63b23778f0bf03b0a50d6f5d2a963bd786f2cf2fbed7450ccc) +set(QT_HASH_qt5-macextras 80779bf9c49ff89b866327a3358cede9308c41d6a49d8d6aa29661f4ad98d191c2f68d9af0d89be36fe54d094972f7a7689ecc26bc2bfcf53e9be1305e107178) +set(QT_HASH_qt5-mqtt 3167de873dc3d42607440237c7b341c270079a1edd72588ebe95082ab209bbd24496d60d41c87ade166b595fda924a52cb2ff0efd05b48aa4c77c7b51b125f36) +set(QT_HASH_qt5-multimedia a59983d887c8de462399fd53beb640c1b865c17f8b1a83635c2e1d27903861dd588eb64935d7c02d733c51c9a21174065e70a5fc1aa78600e5540c489b7695a3) +set(QT_HASH_qt5-networkauth d7849518614a7bdb2ddbcf92b773f5e7c26f1af4ba07f0304b4634ed69bf3c17798509d28af2c49aba0cfad35a1cad5bda27acdbde3aa8d86038efeb9f5001e0) +set(QT_HASH_qt5-purchasing b9f7e43cf4a8e23bc167d2473fa6f8af47455f066b584daf18d97d4a67dd766aaf17c7b897b2bae20cf636253174430be664815e1e86aeb07ed870bb2969ad0d) +set(QT_HASH_qt5-quickcontrols 4539a6ce1ee20f71f6bf48271bc3fe1125bd21899cf36142d1c3d41a68ba56211f27d6e4403c69e86bd4698c7c7c79bc60f2a78ef1b19c5eab5b8690d1a01037) +set(QT_HASH_qt5-quickcontrols2 afbd742783d83eabf182031e218c2f611709cd66f2b4886317bd356ffff2afabe820e1f552f478a0c3f74daf6fd1f5256900448f5445b84792d6a71b42ccd20a) +set(QT_HASH_qt5-remoteobjects ed3314b1c66f9375bdc101029eaf730a630157ee41c094de2ff9cc5340c3c92a781dcb2b2cf0b8bbad8b19e566fb80f2d3b76e58624e990f90f23b8cdd21bd54) +set(QT_HASH_qt5-script a422e47873ddf4c84adf00f51b721465acedfac535b0daeede63eac0d41c6f4f07d5a5f86513c86e981f3a0024020be03730670befab2a20cd4d6564c98d6c90) +set(QT_HASH_qt5-scxml 23d340994af3e217ae58698dd0cd38f30d67d74a042d58cabbd0f38a6c13a8d64d6238cd6dee246ce0f99d5206bc210749941b88e5f745d3b92207eab06730b1) +set(QT_HASH_qt5-sensors 81ac74e4c0a3d1942393c9267bbcc50af0e04a6f163d566010d6053dc4c69a67395c3f4b7564a50ec84ac88a715edd002920be4e145e6bd23d082a021dee1e5a) +set(QT_HASH_qt5-serialport f3a5fb8c9a9513c16f52bd22b4fd4c6400819863237762f459d9f612ef2457447733cc8ed2bd645f182ab9eab6ddb5bcdbca2fbd67745def1a5fad1392087f4e) +set(QT_HASH_qt5-speech 2a1a2c86ee3b5501623bb0c2c8e5b6f96b353707fe0eb804629187899eca5952c665ef037c4257f635edf34ddea03bc686f472a4a346d9f8e2adc7479f640482) +set(QT_HASH_qt5-svg 3d7f89d106b36c8a0fd04c6e6f0ccde0c50ced7192980ea7d9330ba73d9307559e60ed2b10c28481a419d19aaae6609bde9e1dd74ccedf340dacf0194a60429d) +set(QT_HASH_qt5-tools e88af049ad9261720bc44ff9030113179d9429eaf073bed45115decd520ecf5d3ca860983f012bac189310ce9f3826b1fcb484faadb4f6d0b16c67c0d998f34c) +set(QT_HASH_qt5-virtualkeyboard e4581673451c40bf39b9793b0131bbad29e8a3f9db2d42adb23b48847bd674b6820717c051b76e506d4fd52e87c79b042533be85285a0cce9bcdc49cca964e66) +set(QT_HASH_qt5-webchannel 8ea543f29e8f686961b033c1246714b1535d0be730026bef4b4ee172ce602c706d8a16b8391510a302df7be6545007a2f42311eb1aea4da326c3addde16ca2b2) +set(QT_HASH_qt5-websockets 970ad232ad1258630404d5e7347721505a780497e1775f88591098f11bca48cbf62c4f02491b133d31e4304eb9e16f923292c5b778e22d530d7a5a4e95d422ba) +set(QT_HASH_qt5-webview 310beedf88cefc05458e99838e7cb71971aa24ba6c460ff3da804c2ab7f56167ca1067ddca71ee29ced32ea974fe405261f24c8bbcac0c7b69063d7c4e38a4de) +set(QT_HASH_qt5-winextras 053ca5f60c7946f6409ef34094b4a7d1431039407a5195e539e8edfda795da20fc695ceec58ae0df15e4dcc597047518d06a424d11fb4aaf6ae82f1d4badab33) +set(QT_HASH_qt5-xmlpatterns 30b25e152970bfe51fcdeffa43d11dd51496e5ea6a5da644b13fa0ce4835302ebec651c1ecdcf9590c6689598cea9bd63748aab4ee0ec69f9155dc310a7c04c3) + +if(QT_UPDATE_VERSION) + message(STATUS "Running Qt in automatic version port update mode!") + set(_VCPKG_INTERNAL_NO_HASH_CHECK 1) + if("${PORT}" MATCHES "qt5-base") + foreach(_current_qt_port ${QT_PORT_LIST}) + set(_current_control "${VCPKG_ROOT_DIR}/ports/qt5-${_current_qt_port}/CONTROL") + file(READ ${_current_control} _control_contents) + #message(STATUS "Before: \n${_control_contents}") + string(REGEX REPLACE "Version:[^0-9]+[0-9]\.[0-9]+\.[0-9]+[^\n]*\n" "Version: ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}\n" _control_contents "${_control_contents}") + #message(STATUS "After: \n${_control_contents}") + file(WRITE ${_current_control} "${_control_contents}") + endforeach() + endif() +endif() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_port_hashes_latest.cmake b/ports/qt5-base/cmake/qt_port_hashes_latest.cmake new file mode 100644 index 000000000..e2b3524b3 --- /dev/null +++ b/ports/qt5-base/cmake/qt_port_hashes_latest.cmake @@ -0,0 +1,57 @@ +#Every update requires an update of these hashes and the version within the control file of each of the 32 ports. +#So it is probably better to have a central location for these hashes and let the ports update via a script +set(QT_MAJOR_MINOR_VER 5.13) +set(QT_PATCH_VER 1) +set(QT_UPDATE_VERSION 0) # Switch to update qt and not build qt. Creates a file cmake/qt_new_hashes.cmake in qt5-base with the new hashes. + +set(QT_PORT_LIST base 3d activeqt charts connectivity datavis3d declarative gamepad graphicaleffects imageformats location macextras mqtt multimedia networkauth + purchasing quickcontrols quickcontrols2 remoteobjects script scxml sensors serialport speech svg tools virtualkeyboard webchannel websockets + webview winextras xmlpatterns) + +set(QT_HASH_qt5-base 86ab39eabb8867c4b038614341b7e49136f4ef898f06d4f1c899ddd2c2c271aa630bf63ad6abcf5c1f01659e6e5005f5da7dd83bb09a1484e15eb47e5274b9b3) +set(QT_HASH_qt5-3d dc305162ff87a71736b98aeb710b338ad1c6084819a79073f92b086ecc641caa7798d1c2bea20dd9eb91a9caf853177f01404d19407f8d10cb2bb8198d75cb84) +set(QT_HASH_qt5-activeqt cc0f9e92957142bbf44734560271e64cc8c3c5c337a8e180e68fd02a8cb7db8d6f8b86431e7c8abf62405a3fc8cef9922b111031310472495d7a75faa320940c) +set(QT_HASH_qt5-charts c511d5b48f53312f0e7380d2d04019a5e500736a47bf4625f668042152026c1d5dc3299dd82243054119697063daa445329c78793e2107b01e84824968258d34) +set(QT_HASH_qt5-connectivity de66b7d828f1259f59dac693ffd4bff15313e33b591ab748ca63a6470f1b3975bd30f48f75833400554cdbd8bb2f2a844b980b3db4242f08f43b82a2eb08c763) +set(QT_HASH_qt5-datavis3d f7ee9973dd7773f52726307de057cfd1a15227b390050bf8eca5294e151726a91152c89c36f7c38039b53564fec191ac3ea630231cd8391ca98ce99621b5ad3d) +set(QT_HASH_qt5-declarative 08cae55ffc51211cdaff0e4092284aa1d8305a08757ce214a54a362df66577ea6efdcf0b3aaae40f70862138369f8ec6b2eabfc55f99d67b5b3538f4e0e1eb21) +set(QT_HASH_qt5-gamepad 0e4e7c307157a09ddb735656306ade50423bbafad03d2cbf322c007d4017a8cb5d2389429f2b487c6e99918c688fd85d732a326be0034c2938ece73ff5015428) +set(QT_HASH_qt5-graphicaleffects b929ebd56821b2350472a37bc08c84e62c2010b740b3e9b00a8883e131cd585122dc50bfe5815c714c2eab1b4d8bbc458f6659bf02929a42de458f0a3b72f4fe) +set(QT_HASH_qt5-imageformats 8a7ac126e7f88525ce490a13656608cee53db232f4af8a90783a2a2e8540fc0bfeed641d33cf41d3643e46439850f95da701b0d5215872e0882c38209da10144) +set(QT_HASH_qt5-location 661ceff9ebb757e58e9430e0af86e782445029d42da61769264d5706c6633e42bf064c0afdb657e01dd2e3d9edd73e02dbadac2e65820038bbbcc3990a8e35aa) +set(QT_HASH_qt5-macextras d27ab2b44cfcb1a4d02cd6d2403710546c8cc1bae834418975f7588bf647c822519c4701b4feaa5bca98e5ad089eb2dd9f328956339699274126422324e042fc) +set(QT_HASH_qt5-mqtt 8aef8c8e6b7ef6acba864583396b680321c26b1f4910925e182592482d9363127c0767663cfd815262bdb4c32795c7b3e706c8543c7838e6907abca6d76eb9fd) +set(QT_HASH_qt5-multimedia 4599da3fc627923ce1fae3739124cb609591097870ee873e386429b81ac6a3f5a6e3a8d1316a84fcef8a25de4b7301b1358d2f5da9d87b0c2e18ac1f34184d30) +set(QT_HASH_qt5-networkauth 8a949006a7d2adc1bd7a55d80f93a622b0cc8e4ef644884b430c7ca4b82a2fc8b34b5e28492c175fe1b13da615a0ce66e6d80f58de4290d8515897bc521e80fc) +set(QT_HASH_qt5-purchasing bdbe386562bd3203c83f61385fb23f4493c8e9f68cd05d64929598192ac80788a214e6a4bb96ea3f19f061b6a689237acf6752bc1012e4263127f1801cb3eef3) +set(QT_HASH_qt5-quickcontrols f1204d709495197d6f664b7c7cb522be67a891985e4380b009bbd5e0b9854a603aa69f9b84c2189c6f35988ec3ffd7a6032c3ee097c449b40646ec66698b4689) +set(QT_HASH_qt5-quickcontrols2 5325d06a906934d00c6a7eb4e82d9399bc9764366a1374dd2c3c83828e9152d5d646b746437a6128e306157e3a457341747773bf3aa54809346e598687d2aacd) +set(QT_HASH_qt5-remoteobjects 087fd4f9f2f1e11796cce6d09f9adccd620ae664505c0475dab01c67b4afb699d93f788abf2e993961338424f0c9a87784148120221cbbf38febf5ec87012a1d) +set(QT_HASH_qt5-script 31b2088432ae70c7d19be61cfcd5dd5bace7fc33f6882a7d489982c392ab39bdc2bca612e8403c6d30ca7cb41622a93514ad87066998378cdda8bc2ba3a42536) +set(QT_HASH_qt5-scxml 8447f624578a92eee89c9f70cc4a44943cf9d015c06b20b83a90a6344a4ca7fa88e21121b9a98237140b1b59ab74be806ce6319c7b8b54c0aa2d3945af802e35) +set(QT_HASH_qt5-sensors 7a28b57ebadae6f2fc94778f7bf5321464f182ec8c32437c3803ddbbf2dd3ac24e90a6dbefc5634be53e4fb64c82aa7bbb67fa302d58a538493a14a78cf8c798) +set(QT_HASH_qt5-serialport 2465c4e723966d8c365230667b8f441a85e2a46b76e7070fe4b024015add376631c9016efe177364735ba41f34f21eeff6726a6511cee5b1d82b267ee6a58900) +set(QT_HASH_qt5-speech 662fa345c1207143a0bf641455ed4109eb028bd376b9a1bec757747912da169dde84f26f1e47562ee8973d847cac8f258cf771b428af486e19edb5bd3ef7dcc0) +set(QT_HASH_qt5-svg 76cfb880491bfa8295e5f7abfe842479516d355903ba620ff9bb42dd98ecafa3ef234f52ddd311ea9591b8e500e181c4849c6a0814fc0a1943c18d4697cd1f09) +set(QT_HASH_qt5-tools b3bd614ed21a1b37829082f2ec89b086b4c8e7cc91be5ba7bef16dc52619e3357d2c9165c3a1eedbd1f1913d215cda3f9a59fc26d45ee0267bc1e3d7205d98b8) +set(QT_HASH_qt5-virtualkeyboard 93840660675717bcce9237df5b6222306ad4b260a83bdae45110e3770acddcbf702e10d505ca0b2c71c24fb6c1742640c8bd56015331b219e8af9e7b9c793d24) +set(QT_HASH_qt5-webchannel 4c0509bf80070ce09c0317e4e4faaa47cc87218e2e78036a3424a6e22c0b4a6175fc86f46103e90b876c73e5a2f7492a9eaaf8777885351fae0b036cc7fb629c) +set(QT_HASH_qt5-websockets a951f355c3ce8f56fc5c4252e050ef008f4b3f9825a194a3e2e61a5e8ea9a3b89c6d9965acf9360be4655142b2057b4e7fb7a5b41412c3e14bef7846307670fb) +set(QT_HASH_qt5-webview 4933a9a637eb4ca3790310f2921dcbaa44dd7363eb4226f522c6d38a8ada5dfdaf87a8b33390740524ff05056397c530426e3969f798a7c75f2f663c099192b8) +set(QT_HASH_qt5-winextras 279514fc482a6e64a28970af2c69f9bd3db1e4e1ec9bf92be7d6ec47bdbea272149a4353ba0807da03ed8d0ee916f1d7f6efdc86bdb9173227055e0a44ac0155) +set(QT_HASH_qt5-xmlpatterns 6b426e5af2f1f71b77c5cb2bba79a9dc8223c7d57192be445df0d2fe9066f07632ad5ee799b3a782bc582446057197b55fa0260d1ea525db8b3a9a3912081169) + +if(QT_UPDATE_VERSION) + message(STATUS "Running Qt in automatic version port update mode!") + set(_VCPKG_INTERNAL_NO_HASH_CHECK 1) + if("${PORT}" MATCHES "qt5-base") + foreach(_current_qt_port ${QT_PORT_LIST}) + set(_current_control "${VCPKG_ROOT_DIR}/ports/qt5-${_current_qt_port}/CONTROL") + file(READ ${_current_control} _control_contents) + #message(STATUS "Before: \n${_control_contents}") + string(REGEX REPLACE "Version:[^0-9]+[0-9]\.[0-9]+\.[0-9]+[^\n]*\n" "Version: ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER}\n" _control_contents "${_control_contents}") + #message(STATUS "After: \n${_control_contents}") + file(WRITE ${_current_control} "${_control_contents}") + endforeach() + endif() +endif() \ No newline at end of file diff --git a/ports/qt5-base/cmake/qt_submodule_installation.cmake b/ports/qt5-base/cmake/qt_submodule_installation.cmake new file mode 100644 index 000000000..197c0ace4 --- /dev/null +++ b/ports/qt5-base/cmake/qt_submodule_installation.cmake @@ -0,0 +1,11 @@ + + +function(qt_submodule_installation) + qt_download_submodule(OUT_SOURCE_PATH TARGET_SOURCE_PATH ${ARGV}) + if(QT_UPDATE_VERSION) + SET(VCPKG_POLICY_EMPTY_PACKAGE enabled PARENT_SCOPE) + else() + qt_build_submodule(${TARGET_SOURCE_PATH} ${ARGV}) + qt_install_copyright(${TARGET_SOURCE_PATH}) + endif() +endfunction() \ No newline at end of file diff --git a/ports/qt5-base/configure_qt.cmake b/ports/qt5-base/configure_qt.cmake deleted file mode 100644 index c39623562..000000000 --- a/ports/qt5-base/configure_qt.cmake +++ /dev/null @@ -1,72 +0,0 @@ -function(configure_qt) - cmake_parse_arguments(_csc "" "SOURCE_PATH;PLATFORM" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN}) - - if(NOT _csc_PLATFORM) - message(FATAL_ERROR "configure_qt requires a PLATFORM argument.") - endif() - - vcpkg_find_acquire_program(PERL) - get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) - - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - vcpkg_add_to_path("${PERL_EXE_PATH}") - - if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - list(APPEND _csc_OPTIONS "-static") - endif() - - if(VCPKG_CRT_LINKAGE STREQUAL "static") - list(APPEND _csc_OPTIONS "-static-runtime") - endif() - - if(CMAKE_HOST_WIN32) - set(CONFIGURE_BAT "configure.bat") - else() - set(CONFIGURE_BAT "configure") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - vcpkg_execute_required_process( - COMMAND "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}" ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG} - -debug - -prefix ${CURRENT_INSTALLED_DIR}/debug - -extprefix ${CURRENT_PACKAGES_DIR}/debug - -hostbindir ${CURRENT_PACKAGES_DIR}/debug/tools/qt5 - -archdatadir ${CURRENT_PACKAGES_DIR}/share/qt5/debug - -datadir ${CURRENT_PACKAGES_DIR}/share/qt5/debug - -plugindir ${CURRENT_INSTALLED_DIR}/debug/plugins - -qmldir ${CURRENT_INSTALLED_DIR}/debug/qml - -headerdir ${CURRENT_PACKAGES_DIR}/include - -I ${CURRENT_INSTALLED_DIR}/include - -L ${CURRENT_INSTALLED_DIR}/debug/lib - -platform ${_csc_PLATFORM} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME config-${TARGET_TRIPLET}-dbg - ) - message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") - endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Configuring ${TARGET_TRIPLET}-rel") - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - vcpkg_execute_required_process( - COMMAND "${_csc_SOURCE_PATH}/${CONFIGURE_BAT}" ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE} - -release - -prefix ${CURRENT_INSTALLED_DIR} - -extprefix ${CURRENT_PACKAGES_DIR} - -hostbindir ${CURRENT_PACKAGES_DIR}/tools/qt5 - -archdatadir ${CURRENT_INSTALLED_DIR}/share/qt5 - -datadir ${CURRENT_INSTALLED_DIR}/share/qt5 - -plugindir ${CURRENT_INSTALLED_DIR}/plugins - -qmldir ${CURRENT_INSTALLED_DIR}/qml - -I ${CURRENT_INSTALLED_DIR}/include - -L ${CURRENT_INSTALLED_DIR}/lib - -platform ${_csc_PLATFORM} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME config-${TARGET_TRIPLET}-rel - ) - message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") - endif() - -endfunction() diff --git a/ports/qt5-base/fix-system-freetype.patch b/ports/qt5-base/fix-system-freetype.patch deleted file mode 100644 index d83fc9891..000000000 --- a/ports/qt5-base/fix-system-freetype.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- - src/gui/configure.json | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/src/gui/configure.json b/src/gui/configure.json -index 0332631e..bd64b7b1 100644 ---- a/src/gui/configure.json -+++ b/src/gui/configure.json -@@ -164,8 +164,7 @@ - }, - "sources": [ - { "type": "pkgConfig", "args": "freetype2" }, -- { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" }, -- { "type": "freetype", "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" } -+ { "libs": "-lfreetype" } - ] - }, - "fontconfig": { diff --git a/ports/qt5-base/fix-system-pcre2-linux.patch b/ports/qt5-base/fix-system-pcre2-linux.patch deleted file mode 100644 index 92bdf04ce..000000000 --- a/ports/qt5-base/fix-system-pcre2-linux.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Naur a/src/corelib/configure.json b/src/corelib/configure.json ---- a/src/corelib/configure.json 2018-08-23 02:58:54.544949500 -0400 -+++ b/src/corelib/configure.json 2018-08-23 02:59:31.481175300 -0400 -@@ -181,8 +181,10 @@ - "builds": { - "debug": "-lpcre2-16d", - "release": "-lpcre2-16" -- } -- } -+ }, -+ "condition": "config.win32" -+ }, -+ { "libs": "-lpcre2-16", "condition": "!config.win32" } - ] - }, - "pps": { diff --git a/ports/qt5-base/fix-system-pcre2.patch b/ports/qt5-base/fix-system-pcre2.patch deleted file mode 100644 index 5e8d4616e..000000000 --- a/ports/qt5-base/fix-system-pcre2.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -Naur a/src/corelib/configure.json b/src/corelib/configure.json ---- a/src/corelib/configure.json 2018-06-15 03:29:31.000000000 -0400 -+++ b/src/corelib/configure.json 2018-08-23 00:46:04.380187100 -0400 -@@ -177,7 +177,12 @@ - }, - "sources": [ - { "type": "pkgConfig", "args": "libpcre2-16" }, -- "-lpcre2-16" -+ { -+ "builds": { -+ "debug": "-lpcre2-16d", -+ "release": "-lpcre2-16" -+ } -+ } - ] - }, - "pps": { diff --git a/ports/qt5-base/fixcmake.py b/ports/qt5-base/fixcmake.py index bcfb12ac5..afb127560 100644 --- a/ports/qt5-base/fixcmake.py +++ b/ports/qt5-base/fixcmake.py @@ -1,22 +1,29 @@ import os import re +import sys from glob import glob +port="qt5" +if len(sys.argv) > 1: + port=sys.argv[1] + files = [y for x in os.walk('.') for y in glob(os.path.join(x[0], '*.cmake'))] +tooldir="/tools/"+port+"/bin/" for f in files: openedfile = open(f, "r") builder = "" - dllpattern = re.compile("_install_prefix}/bin/Qt5.*d.dll") - libpattern = re.compile("_install_prefix}/lib/Qt5.*d.lib") - exepattern = re.compile("_install_prefix}/bin/[a-z]+.exe") - tooldllpattern = re.compile("_install_prefix}/tools/qt5/Qt5.*d.dll") + dllpattern = re.compile("_install_prefix}/bin/Qt5.*d+(.dll|.so)") + libpattern = 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)") 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/") + builder += "\n " + line.replace("/tools/qt5/bin", "/bin/") builder += " else()" - builder += "\n " + line.replace("/tools/qt5/", "/debug/bin/") + 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\")" @@ -58,11 +65,13 @@ for f in files: elif libpattern.search(line) != None: builder += line.replace("/lib/", "/debug/lib/") elif tooldllpattern.search(line) != None: - builder += line.replace("/tools/qt5/", "/debug/bin/") + builder += line.replace("/tools/qt5/bin", "/debug/bin/") elif exepattern.search(line) != None: - builder += line.replace("/bin/", "/tools/qt5/") + builder += line.replace("/bin/", tooldir) + elif toolexepattern.search(line) != None: + builder += line.replace("/tools/qt5/bin/",tooldir) else: builder += line new_file = open(f, "w") new_file.write(builder) - new_file.close() \ No newline at end of file + new_file.close() diff --git a/ports/qt5-base/install_qt.cmake b/ports/qt5-base/install_qt.cmake deleted file mode 100644 index 4eed6cbe5..000000000 --- a/ports/qt5-base/install_qt.cmake +++ /dev/null @@ -1,80 +0,0 @@ -function(install_qt) - cmake_parse_arguments(_bc "DISABLE_PARALLEL" "" "" ${ARGN}) - - if (_bc_DISABLE_PARALLEL) - set(NUMBER_OF_PROCESSORS "1") - else() - if(DEFINED ENV{NUMBER_OF_PROCESSORS}) - set(NUMBER_OF_PROCESSORS $ENV{NUMBER_OF_PROCESSORS}) - else() - execute_process( - COMMAND nproc - OUTPUT_VARIABLE NUMBER_OF_PROCESSORS - ) - string(REPLACE "\n" "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") - string(REPLACE " " "" NUMBER_OF_PROCESSORS "${NUMBER_OF_PROCESSORS}") - endif() - endif() - - if(CMAKE_HOST_WIN32) - vcpkg_find_acquire_program(JOM) - set(INVOKE "${JOM}" /J ${NUMBER_OF_PROCESSORS}) - else() - find_program(MAKE make) - set(INVOKE "${MAKE}" -j${NUMBER_OF_PROCESSORS}) - endif() - vcpkg_find_acquire_program(PYTHON3) - get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) - vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}") - - if (CMAKE_HOST_WIN32) - # flex and bison for ANGLE library - vcpkg_find_acquire_program(FLEX) - get_filename_component(FLEX_EXE_PATH ${FLEX} DIRECTORY) - get_filename_component(FLEX_DIR ${FLEX_EXE_PATH} NAME) - - file(COPY ${FLEX_EXE_PATH} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools" ) - set(FLEX_TEMP "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-tools/${FLEX_DIR}") - file(RENAME "${FLEX_TEMP}/win_bison.exe" "${FLEX_TEMP}/bison.exe") - file(RENAME "${FLEX_TEMP}/win_flex.exe" "${FLEX_TEMP}/flex.exe") - vcpkg_add_to_path("${FLEX_TEMP}") - endif() - - set(_path "$ENV{PATH}") - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - message(STATUS "Package ${TARGET_TRIPLET}-dbg") - vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/debug/bin") - vcpkg_execute_required_process( - COMMAND ${INVOKE} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME build-${TARGET_TRIPLET}-dbg - ) - vcpkg_execute_required_process( - COMMAND ${INVOKE} install - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg - LOGNAME package-${TARGET_TRIPLET}-dbg - ) - message(STATUS "Package ${TARGET_TRIPLET}-dbg done") - endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - message(STATUS "Package ${TARGET_TRIPLET}-rel") - set(ENV{PATH} "${_path}") - vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}/bin") - vcpkg_execute_required_process( - COMMAND ${INVOKE} - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME build-${TARGET_TRIPLET}-rel - ) - vcpkg_execute_required_process( - COMMAND ${INVOKE} install - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - LOGNAME package-${TARGET_TRIPLET}-rel - ) - message(STATUS "Package ${TARGET_TRIPLET}-rel done") - endif() - - set(ENV{PATH} "${_path}") - -endfunction() diff --git a/ports/qt5-base/patches/gui_configure.patch b/ports/qt5-base/patches/gui_configure.patch new file mode 100644 index 000000000..31c29dbeb --- /dev/null +++ b/ports/qt5-base/patches/gui_configure.patch @@ -0,0 +1,16 @@ +diff --git a/src/gui/configure.json b/src/gui/configure.json +index c51e3ceee..7f7e206b6 100644 +--- a/src/gui/configure.json ++++ b/src/gui/configure.json +@@ -239,9 +239,9 @@ + "headers": "ft2build.h", + "sources": [ + { "type": "pkgConfig", "args": "freetype2" }, +- { "type": "freetype", "libs": "-lfreetype", "condition": "!config.wasm" }, ++ { "type": "freetype", "libs": "-lbreakfreetypeautofind", "condition": "!config.wasm" }, + { "libs": "-s USE_FREETYPE=1", "condition": "config.wasm" }, +- { "libs": "-lfreetype" } ++ { "libs": "-lbreakfreetypeautofind" } + ], + "use": [ + { "lib": "zlib", "condition": "features.system-zlib" } diff --git a/ports/qt5-base/patches/qt_app.patch b/ports/qt5-base/patches/qt_app.patch new file mode 100644 index 000000000..e04446bf2 --- /dev/null +++ b/ports/qt5-base/patches/qt_app.patch @@ -0,0 +1,17 @@ +diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf +index 8354f30e..8f24b72e 100644 +--- a/mkspecs/features/qt_app.prf ++++ b/mkspecs/features/qt_app.prf +@@ -27,10 +27,11 @@ host_build:force_bootstrap { + QT -= core core-private xml + QT += bootstrap-private + } + target.path = $$[QT_HOST_BINS] ++ CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable + } else { + !build_pass:qtConfig(debug_and_release): CONFIG += release +- target.path = $$[QT_INSTALL_BINS] ++ target.path = $$[QT_HOST_BINS] + CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable + } + INSTALLS += target diff --git a/ports/qt5-base/patches/static_opengl.patch b/ports/qt5-base/patches/static_opengl.patch new file mode 100644 index 000000000..51818b8b7 --- /dev/null +++ b/ports/qt5-base/patches/static_opengl.patch @@ -0,0 +1,62 @@ +diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf +index f21848f94..202c49688 100644 +--- a/mkspecs/features/win32/opengl.prf ++++ b/mkspecs/features/win32/opengl.prf +@@ -30,7 +30,7 @@ qtConfig(opengles2) { + LIBS += $$QMAKE_LIBS_OPENGL_ES2 + QMAKE_LIBDIR += $$QMAKE_LIBDIR_OPENGL_ES2_RELEASE + } +- qtConfig(static): DEFINES += GL_APICALL= EGLAPI= ++ qtConfig(static): DEFINES += _GDI32_ GL_APICALL= EGLAPI= ANGLE_EXPORT= ANGLE_PLATFORM_EXPORT= + } else { + !qtConfig(dynamicgl) { + QMAKE_LIBS += $$QMAKE_LIBS_OPENGL +diff --git a/src/angle/src/common/gles_common.pri b/src/angle/src/common/gles_common.pri +index 70b65dd4c..1dcc96af5 100644 +--- a/src/angle/src/common/gles_common.pri ++++ b/src/angle/src/common/gles_common.pri +@@ -23,7 +23,8 @@ for(libname, STATICLIBS) { + PRE_TARGETDEPS += $$staticlib + } + +-DEFINES += LIBANGLE_IMPLEMENTATION LIBGLESV2_IMPLEMENTATION GL_APICALL= GL_GLEXT_PROTOTYPES= EGLAPI= ++!qtConfig(static): DEFINES += LIBANGLE_IMPLEMENTATION LIBGLESV2_IMPLEMENTATION ++qtConfig(static): DEFINES += GL_APICALL= EGLAPI= ANGLE_EXPORT= ANGLE_PLATFORM_EXPORT= + !winrt: DEFINES += ANGLE_ENABLE_D3D9 ANGLE_SKIP_DXGI_1_2_CHECK + + QT_FOR_CONFIG += gui-private +diff --git a/src/3rdparty/angle/include/platform/Platform.h b/src/3rdparty/angle/include/platform/Platform.h +index aa1221a86..a49ee4f6d 100644 +--- a/src/3rdparty/angle/include/platform/Platform.h ++++ b/src/3rdparty/angle/include/platform/Platform.h +@@ -12,7 +12,7 @@ + #include + #include + +-#if defined(_WIN32) ++#if defined(_WIN32) && !defined(ANGLE_PLATFORM_EXPORT) + # if !defined(LIBANGLE_IMPLEMENTATION) + # define ANGLE_PLATFORM_EXPORT __declspec(dllimport) + # else +diff --git a/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp b/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp +index d4459ec28..d1416041e 100644 +--- a/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp ++++ b/src/3rdparty/angle/src/libGLESv2/entry_points_gles_2_0_ext.cpp +@@ -3505,7 +3505,7 @@ ANGLE_EXPORT void GL_APIENTRY GetQueryObjectui64vRobustANGLE(GLuint id, + } + } + +-GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target, ++ANGLE_EXPORT void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum target, + GLenum attachment, + GLuint texture, + GLint level, +@@ -3530,7 +3530,7 @@ GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewLayeredANGLE(GLenum targe + } + } + +-GL_APICALL void GL_APIENTRY FramebufferTextureMultiviewSideBySideANGLE(GLenum target, ++ANGLE_EXPORT void GL_APIENTRY FramebufferTextureMultiviewSideBySideANGLE(GLenum target, + GLenum attachment, + GLuint texture, + GLint level, diff --git a/ports/qt5-base/patches/windows_prf.patch b/ports/qt5-base/patches/windows_prf.patch new file mode 100644 index 000000000..6051daae8 --- /dev/null +++ b/ports/qt5-base/patches/windows_prf.patch @@ -0,0 +1,13 @@ +diff --git a/mkspecs/features/win32/windows.prf b/mkspecs/features/win32/windows.prf +index 272170d4..70b8ea2e 100644 +--- a/mkspecs/features/win32/windows.prf ++++ b/mkspecs/features/win32/windows.prf +@@ -6,7 +6,7 @@ contains(TEMPLATE, ".*app") { + + qt:for(entryLib, $$list($$unique(QMAKE_LIBS_QT_ENTRY))) { + isEqual(entryLib, -lqtmain) { +- lib = $$QT.core.libs/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB ++ lib = $$QT.core.libs/manual-link/$${QMAKE_PREFIX_STATICLIB}qtmain$$QT_LIBINFIX$$qtPlatformTargetSuffix().$$QMAKE_EXTENSION_STATICLIB + PRE_TARGETDEPS += $$lib + QMAKE_LIBS += $$lib + } else { diff --git a/ports/qt5-base/patches/winmain_pro.patch b/ports/qt5-base/patches/winmain_pro.patch new file mode 100644 index 000000000..66460ccd6 --- /dev/null +++ b/ports/qt5-base/patches/winmain_pro.patch @@ -0,0 +1,27 @@ +diff --git a/src/winmain/winmain.pro b/src/winmain/winmain.pro +index 9cb6ab0c..52c7876e 100644 +--- a/src/winmain/winmain.pro ++++ b/src/winmain/winmain.pro +@@ -3,7 +3,7 @@ + + TEMPLATE = lib + TARGET = qtmain +-DESTDIR = $$QT.core.libs ++DESTDIR = $$QT.core.libs/manual-link + + CONFIG += static + QT = core +@@ -27,7 +27,12 @@ winrt { + } + + load(qt_installs) +- ++!qt_no_install_library { ++ host_build: \ ++ target.path = $$[QT_HOST_LIBS]/manual-link ++ else: \ ++ target.path = $$[QT_INSTALL_LIBS]/manual-link ++} + TARGET = $$qtLibraryTarget($$TARGET$$QT_LIBINFIX) #do this towards the end + + load(qt_targets) diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index 47d6ce2e7..4deb298c1 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -1,252 +1,285 @@ -include(vcpkg_common_functions) - -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Qt5's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() +vcpkg_buildpath_length_warning(37) list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) + +if("latest" IN_LIST FEATURES) + set(QT_BUILD_LATEST ON) +endif() + +include(qt_port_functions) include(configure_qt) include(install_qt) -set(MAJOR_MINOR 5.12) -set(FULL_VERSION ${MAJOR_MINOR}.3) -set(ARCHIVE_NAME "qtbase-everywhere-src-${FULL_VERSION}.tar.xz") +######################### +## Find Host and Target mkspec name for configure +include(find_qt_mkspec) +find_qt_mkspec(TARGET_MKSPEC HOST_MKSPEC HOST_TOOLS) +set(QT_PLATFORM_CONFIGURE_OPTIONS TARGET_PLATFORM ${TARGET_MKSPEC}) +if(DEFINED HOST_MKSPEC) + list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_PLATFORM ${HOST_MKSPEC}) +endif() +if(DEFINED HOST_TOOLS) + list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_TOOLS_ROOT ${HOST_TOOLS}) +endif() -vcpkg_download_distfile(ARCHIVE_FILE - URLS "http://download.qt.io/official_releases/qt/${MAJOR_MINOR}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}" - FILENAME ${ARCHIVE_NAME} - SHA512 1dab927573eb22b1ae772de3a418f7d3999ea78d6e667a7f2494390dd1f0981ea93f4f892cb6e124ac18812c780ee71da3021b485c61eaf1ef2234a5c12b7fe2 -) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE "${ARCHIVE_FILE}" - REF ${FULL_VERSION} -) +######################### +## Downloading Qt5-Base + +qt_download_submodule( OUT_SOURCE_PATH SOURCE_PATH + PATCHES + 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/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. + ) # Remove vendored dependencies to ensure they are not picked up by the build -foreach(DEPENDENCY freetype zlib harfbuzzng libjpeg libpng double-conversion sqlite) +foreach(DEPENDENCY freetype zlib harfbuzz-ng libjpeg libpng double-conversion sqlite pcre2) if(EXISTS ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY}) file(REMOVE_RECURSE ${SOURCE_PATH}/src/3rdparty/${DEPENDENCY}) endif() endforeach() - file(REMOVE_RECURSE ${SOURCE_PATH}/include/QtZlib) +######################### +## Setup Configure options + # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings set(ENV{_CL_} "/utf-8") set(CORE_OPTIONS -confirm-license -opensource + #-no-fontconfig + #-simulator_and_device + #-ltcg + #-combined-angle-lib + # ENV ANGLE_DIR to external angle source dir. (Will always be compiled with Qt) + #-optimized-tools + #-force-debug-info + #-verbose +) + +## 3rd Party Libs +list(APPEND CORE_OPTIONS -system-zlib -system-libjpeg -system-libpng - -system-freetype + -system-freetype # static builds require to also link its dependent bzip! -system-pcre -system-doubleconversion -system-sqlite - -system-harfbuzz - -no-fontconfig + -system-harfbuzz) + +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) +find_library(JPEG_RELEASE NAMES jpeg jpeg-static PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(JPEG_DEBUG NAMES jpeg jpeg-static jpegd jpeg-staticd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(LIBPNG_RELEASE NAMES png16 libpng16 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) #Depends on zlib +find_library(LIBPNG_DEBUG NAMES png16 png16d libpng16 libpng16d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(PSQL_RELEASE NAMES pq libpq PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) # Depends on openssl and zlib(linux) +find_library(PSQL_DEBUG NAMES pq libpq pqd libpqd PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(PCRE2_RELEASE NAMES pcre2-16 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(PCRE2_DEBUG NAMES pcre2-16 pcre2-16d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(FREETYPE_RELEASE NAMES freetype PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) #zlib, bzip2, libpng +find_library(FREETYPE_DEBUG NAMES freetype freetyped PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(DOUBLECONVERSION_RELEASE NAMES double-conversion PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(DOUBLECONVERSION_DEBUG NAMES double-conversion PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(HARFBUZZ_RELEASE NAMES harfbuzz PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +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) +#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) +find_library(SSL_RELEASE ssl ssleay32 PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(SSL_DEBUG ssl ssleay32 ssld ssleay32d PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +find_library(EAY_RELEASE libeay32 crypto libcrypto PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +find_library(EAY_DEBUG libeay32 crypto libcrypto libeay32d cryptod libcryptod PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) + +set(RELEASE_OPTIONS + "LIBJPEG_LIBS=${JPEG_RELEASE}" + "ZLIB_LIBS=${ZLIB_RELEASE}" + "LIBPNG_LIBS=${LIBPNG_RELEASE} ${ZLIB_RELEASE}" + "PCRE2_LIBS=${PCRE2_RELEASE}" + "FREETYPE_LIBS=${FREETYPE_RELEASE} ${BZ2_RELEASE} ${LIBPNG_RELEASE} ${ZLIB_RELEASE}" + "QMAKE_LIBS_PRIVATE+=${BZ2_RELEASE}" + "QMAKE_LIBS_PRIVATE+=${LIBPNG_RELEASE}" + ) +set(DEBUG_OPTIONS + "LIBJPEG_LIBS=${JPEG_DEBUG}" + "ZLIB_LIBS=${ZLIB_DEBUG}" + "LIBPNG_LIBS=${LIBPNG_DEBUG} ${ZLIB_DEBUG}" + "PCRE2_LIBS=${PCRE2_DEBUG}" + "FREETYPE_LIBS=${FREETYPE_DEBUG} ${BZ2_DEBUG} ${LIBPNG_DEBUG} ${ZLIB_DEBUG}" + "QMAKE_LIBS_PRIVATE+=${BZ2_DEBUG}" + "QMAKE_LIBS_PRIVATE+=${LIBPNG_DEBUG}" + ) + + +if(VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_IS_UWP) + list(APPEND CORE_OPTIONS -appstore-compliant) + endif() + if(NOT ${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") + list(APPEND CORE_OPTIONS -opengl dynamic) # other options are "-no-opengl", "-opengl angle", and "-opengl desktop" and "-opengel es2" + else() + list(APPEND CORE_OPTIONS -opengl dynamic) # other possible option without moving angle dlls: "-opengl desktop". "-opengel es2" only works with commented patch + endif() + list(APPEND RELEASE_OPTIONS + "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}" + ) + + 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}" + ) +elseif(VCPKG_TARGET_IS_LINUX) + 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() + list(APPEND RELEASE_OPTIONS + "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" + "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" + "HARFBUZZ_LIBS=${HARFBUZZ_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}" + ) +elseif(VCPKG_TARGET_IS_OSX) + if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) + set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) + else() + execute_process(COMMAND xcrun --show-sdk-version + OUTPUT_FILE OSX_SDK_VER.txt + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}) + FILE(STRINGS "${CURRENT_BUILDTREES_DIR}/OSX_SDK_VER.txt" VCPKG_OSX_DEPLOYMENT_TARGET REGEX "^[0-9][0-9]\.[0-9][0-9]*") + message(STATUS "Detected OSX SDK Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}") + string(REGEX MATCH "^[0-9][0-9]\.[0-9][0-9]*" VCPKG_OSX_DEPLOYMENT_TARGET ${VCPKG_OSX_DEPLOYMENT_TARGET}) + message(STATUS "Major.Minor OSX SDK Version: ${VCPKG_OSX_DEPLOYMENT_TARGET}") + set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) + if(${VCPKG_OSX_DEPLOYMENT_TARGET} GREATER "10.15") # Max Version supported by QT. This version is defined in mkspecs/common/macx.conf as QT_MAC_SDK_VERSION_MAX + message(STATUS "Qt ${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER} only support OSX_DEPLOYMENT_TARGET up to 10.15") + set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") + endif() + set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) + message(STATUS "Enviromnent OSX SDK Version: $ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET}") + FILE(READ "${SOURCE_PATH}/mkspecs/common/macx.conf" _tmp_contents) + string(REPLACE "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.12" "QMAKE_MACOSX_DEPLOYMENT_TARGET = ${VCPKG_OSX_DEPLOYMENT_TARGET}" _tmp_contents ${_tmp_contents}) + FILE(WRITE "${SOURCE_PATH}/mkspecs/common/macx.conf" ${_tmp_contents}) + endif() + #list(APPEND QT_PLATFORM_CONFIGURE_OPTIONS HOST_PLATFORM ${TARGET_MKSPEC}) + list(APPEND RELEASE_OPTIONS + "PSQL_LIBS=${PSQL_RELEASE} ${SSL_RELEASE} ${EAY_RELEASE} -ldl -lpthread" + "SQLITE_LIBS=${SQLITE_RELEASE} -ldl -lpthread" + "HARFBUZZ_LIBS=${HARFBUZZ_RELEASE} -framework ApplicationServices" + ) + 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" + ) +endif() + +## Do not build tests or examples +list(APPEND CORE_OPTIONS -nomake examples - -nomake tests -) + -nomake tests) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND CORE_OPTIONS - -static - ) -endif() - -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(PLATFORM "win32-msvc") - - configure_qt( - SOURCE_PATH ${SOURCE_PATH} - PLATFORM ${PLATFORM} - OPTIONS - ${CORE_OPTIONS} - -mp - -opengl dynamic # other options are "-no-opengl", "-opengl angle", and "-opengl desktop" - OPTIONS_RELEASE - LIBJPEG_LIBS="-ljpeg" - ZLIB_LIBS="-lzlib" - LIBPNG_LIBS="-llibpng16" - PSQL_LIBS="-llibpq" - PCRE2_LIBS="-lpcre2-16" - FREETYPE_LIBS="-lfreetype" - OPTIONS_DEBUG - LIBJPEG_LIBS="-ljpegd" - ZLIB_LIBS="-lzlibd" - LIBPNG_LIBS="-llibpng16d" - PSQL_LIBS="-llibpqd" - PCRE2_LIBS="-lpcre2-16d" - FREETYPE_LIBS="-lfreetyped" - ) - -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - configure_qt( - SOURCE_PATH ${SOURCE_PATH} - PLATFORM "linux-g++" - OPTIONS - ${CORE_OPTIONS} - OPTIONS_RELEASE - "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libjpeg.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libz.a" - "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/lib/libz.a" - "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpng16.a" - "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libfreetype.a" - "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpq.a ${CURRENT_INSTALLED_DIR}/lib/libssl.a ${CURRENT_INSTALLED_DIR}/lib/libcrypto.a -ldl -lpthread" - "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libsqlite3.a -ldl -lpthread" - OPTIONS_DEBUG - "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libjpeg.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a" - "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a" - "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a" - "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libfreetyped.a" - "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.a ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a ${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a -ldl -lpthread" - "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libsqlite3.a -ldl -lpthread" - ) - -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") -configure_qt( - SOURCE_PATH ${SOURCE_PATH} - PLATFORM "macx-clang" - OPTIONS - ${CORE_OPTIONS} - OPTIONS_RELEASE - "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libjpeg.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libpng16.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/lib/libz.a" - "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/lib/libz.a" - "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpng16.a" - "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libfreetype.a" - "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/lib/libpq.a ${CURRENT_INSTALLED_DIR}/lib/libssl.a ${CURRENT_INSTALLED_DIR}/lib/libcrypto.a -ldl -lpthread" - "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/lib/libsqlite3.a -ldl -lpthread" - "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/lib/libharfbuzz.a -framework ApplicationServices" - OPTIONS_DEBUG - "LIBJPEG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libjpeg.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a" - "QMAKE_LIBS_PRIVATE+=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a" - "ZLIB_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libz.a" - "LIBPNG_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpng16d.a" - "FREETYPE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libfreetyped.a" - "PSQL_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libpqd.a ${CURRENT_INSTALLED_DIR}/debug/lib/libssl.a ${CURRENT_INSTALLED_DIR}/debug/lib/libcrypto.a -ldl -lpthread" - "SQLITE_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libsqlite3.a -ldl -lpthread" - "HARFBUZZ_LIBS=${CURRENT_INSTALLED_DIR}/debug/lib/libharfbuzz.a -framework ApplicationServices" -) -endif() - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - install_qt(DISABLE_PARALLEL) # prevent race condition on Mac +if(QT_UPDATE_VERSION) + SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) else() + configure_qt( + SOURCE_PATH ${SOURCE_PATH} + ${QT_PLATFORM_CONFIGURE_OPTIONS} + OPTIONS ${CORE_OPTIONS} + OPTIONS_RELEASE ${RELEASE_OPTIONS} + OPTIONS_DEBUG ${DEBUG_OPTIONS} + ) + install_qt() -endif() -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) + ######################### + #TODO: Make this a function since it is also done by modular scripts! + # e.g. by patching mkspecs/features/qt_tools.prf somehow + file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/mkspecs/*.pri" + "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/lib/*.prl" "${CURRENT_PACKAGES_DIR}/tools/qt5/debug/mkspecs/*.pri") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/bin/*") - list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$") - file(INSTALL ${BINARY_TOOLS} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) - file(REMOVE ${BINARY_TOOLS}) + file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/include" CMAKE_INCLUDE_PATH) - file(COPY ${CMAKE_CURRENT_LIST_DIR}/qt_release.conf DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(GLOB BINARY_TOOLS "${CURRENT_PACKAGES_DIR}/debug/bin/*") - list(FILTER BINARY_TOOLS EXCLUDE REGEX "\\.dll\$") - file(REMOVE ${BINARY_TOOLS}) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + qt_fix_prl("${CURRENT_INSTALLED_DIR}" "${PRL_FILES}") + file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins) endif() - file(COPY ${CMAKE_CURRENT_LIST_DIR}/qt_debug.conf DESTINATION ${CURRENT_PACKAGES_DIR}/tools/qt5) -endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + qt_fix_prl("${CURRENT_INSTALLED_DIR}/debug" "${PRL_FILES}") + file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins) + endif() -vcpkg_execute_required_process( - COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cmake - LOGNAME fix-cmake + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) # TODO: check if important debug information for cmake is lost + + #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) + endif() + endif() + + #TODO: Replace python script with cmake script + vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + WORKING_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/cmake + LOGNAME fix-cmake + ) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5core) + if(EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5/bin) + file(COPY ${CURRENT_PACKAGES_DIR}/tools/qt5/bin DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5/bin) + endif() + + if(EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5/bin/qt.conf) + file(REMOVE "${CURRENT_PACKAGES_DIR}/tools/qt5/bin/qt.conf") + endif() + + qt_install_copyright(${SOURCE_PATH}) +endif() +#install scripts for other qt ports +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_hashes.cmake + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_functions.cmake + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_makefile_install.cmake + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_cmake.cmake + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_fix_prl.cmake + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_download_submodule.cmake + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_build_submodule.cmake + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_copyright.cmake + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_submodule_installation.cmake + DESTINATION + ${CURRENT_PACKAGES_DIR}/share/qt5 ) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/qt5) - -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib) - #--------------------------------------------------------------------------- - # qtmain(d) vs. Qt5AxServer(d) - #--------------------------------------------------------------------------- - # Qt applications have to either link to qtmain(d) or to Qt5AxServer(d), - # never both. See http://doc.qt.io/qt-5/activeqt-server.html for more info. - # - # Create manual-link folders: - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - endif() - # - # Either have users explicitly link against qtmain.lib, qtmaind.lib: - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(COPY ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/qtmain.prl) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/qtmaind.prl) - endif() - - #--------------------------------------------------------------------------- - # Qt5Bootstrap: only used to bootstrap qmake dependencies - #--------------------------------------------------------------------------- - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.lib) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/Qt5Bootstrap.prl) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5Bootstrap.lib ${CURRENT_PACKAGES_DIR}/tools/qt5/Qt5Bootstrap.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/Qt5Bootstrap.prl ${CURRENT_PACKAGES_DIR}/tools/qt5/Qt5Bootstrap.prl) - endif() - #--------------------------------------------------------------------------- -endif() - -file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl") -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib" CMAKE_RELEASE_LIB_PATH) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib" CMAKE_DEBUG_LIB_PATH) -endif() -foreach(PRL_FILE IN LISTS PRL_FILES) - file(READ "${PRL_FILE}" _contents) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - string(REPLACE "${CMAKE_RELEASE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - string(REPLACE "${CMAKE_DEBUG_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") - endif() - file(WRITE "${PRL_FILE}" "${_contents}") -endforeach() - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/plugins) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(COPY ${CMAKE_CURRENT_LIST_DIR}/qtdeploy.ps1 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/plugins) -endif() - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/qt5core) - -file(INSTALL ${SOURCE_PATH}/LICENSE.LGPLv3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -# +if(QT_BUILD_LATEST) + file(COPY + ${CMAKE_CURRENT_LIST_DIR}/cmake/qt_port_hashes_latest.cmake + DESTINATION + ${CURRENT_PACKAGES_DIR}/share/qt5 + ) +endif() \ No newline at end of file diff --git a/ports/qt5-base/qt_debug.conf b/ports/qt5-base/qt_debug.conf deleted file mode 100644 index d0b178661..000000000 --- a/ports/qt5-base/qt_debug.conf +++ /dev/null @@ -1,13 +0,0 @@ -[Paths] -Prefix = ${CURRENT_INSTALLED_DIR} -Documentation = share/qt5/doc -Headers = include -Libraries = debug/lib -Binaries = debug/tools/qt5 -LibraryExecutables = debug/tools/qt5 -Plugins = debug/plugins -Qml2Imports = debug/qml -Data = share/qt5/debug -ArchData = share/qt5/debug -HostData = share/qt5/debug -HostBinaries = tools/qt5 \ No newline at end of file diff --git a/ports/qt5-base/qt_release.conf b/ports/qt5-base/qt_release.conf deleted file mode 100644 index a04aef525..000000000 --- a/ports/qt5-base/qt_release.conf +++ /dev/null @@ -1,13 +0,0 @@ -[Paths] -Prefix = ${CURRENT_INSTALLED_DIR} -Documentation = share/qt5/doc -Headers = include -Libraries = lib -Binaries = tools/qt5 -LibraryExecutables = tools/qt5 -Plugins = plugins -Qml2Imports = qml -Data = share/qt5 -ArchData = share/qt5 -HostData = share/qt5 -HostBinaries = tools/qt5 \ No newline at end of file diff --git a/ports/qt5-base/qtdeploy.ps1 b/ports/qt5-base/qtdeploy.ps1 index c751e891e..117456a14 100644 --- a/ports/qt5-base/qtdeploy.ps1 +++ b/ports/qt5-base/qtdeploy.ps1 @@ -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 8e00aaca7..81a434ffd 100644 --- a/ports/qt5-base/vcpkg-cmake-wrapper.cmake +++ b/ports/qt5-base/vcpkg-cmake-wrapper.cmake @@ -23,11 +23,12 @@ 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 - ${PostgreSQL_LIBRARY} double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto + double-conversion::double-conversion OpenSSL::SSL OpenSSL::Crypto ) add_qt_library(Qt5::Core pcre2-16 + libpq Qt5ThemeSupport Qt5EventDispatcherSupport Qt5PlatformCompositorSupport diff --git a/ports/qt5-charts/CONTROL b/ports/qt5-charts/CONTROL index 672aaf2d1..192c57b41 100644 --- a/ports/qt5-charts/CONTROL +++ b/ports/qt5-charts/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-charts -Version: 5.12.3 -Description: Qt5 Charts Module - UI components for displaying charts, driven by static or dynamic data models -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-charts +Version: 5.12.5-1 +Description: Qt5 Charts Module - UI components for displaying charts, driven by static or dynamic data models +Build-Depends: qt5-base, qt5-declarative, qt5-multimedia diff --git a/ports/qt5-charts/portfile.cmake b/ports/qt5-charts/portfile.cmake index 0d7b7f170..214726759 100644 --- a/ports/qt5-charts/portfile.cmake +++ b/ports/qt5-charts/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtcharts f5940589c7a2dc5fcd3484397613f13ab41311c8ffb70a3484e64dc5bad24e18c94c9ebbe6716c1ec7c81b7863113ebfdb593f2d194608b2e3fb0b0b5c9c9102) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-connectivity/CONTROL b/ports/qt5-connectivity/CONTROL index 741af6767..0bec2a8b4 100644 --- a/ports/qt5-connectivity/CONTROL +++ b/ports/qt5-connectivity/CONTROL @@ -1,4 +1,4 @@ Source: qt5-connectivity -Version: 5.12.3 +Version: 5.12.5-1 Description: Qt5 Connectivity module - Provides access to Bluetooth and NFC hardware -Build-Depends: qt5-modularscripts, qt5-base +Build-Depends: qt5-base, qt5-androidextras (android) diff --git a/ports/qt5-connectivity/portfile.cmake b/ports/qt5-connectivity/portfile.cmake index 5cc8777e5..2cd1cf479 100644 --- a/ports/qt5-connectivity/portfile.cmake +++ b/ports/qt5-connectivity/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtconnectivity 4da406d88c3cf216d53c524d3896f50b19dae124baec904233dbb67163a30a955dee29148b5f5b71c35cb28638912423bb1cf4d38c62aeefa7353bd29e97a269) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-datavis3d/CONTROL b/ports/qt5-datavis3d/CONTROL index 5ef4728df..56b99852d 100644 --- a/ports/qt5-datavis3d/CONTROL +++ b/ports/qt5-datavis3d/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-datavis3d -Version: 5.12.3 -Description: Qt5 Data Visualization 3d Module - UI Components for creating 3D data visualizations -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-datavis3d +Version: 5.12.5-1 +Description: Qt5 Data Visualization 3d Module - UI Components for creating 3D data visualizations +Build-Depends: qt5-base, qt5-declarative, qt5-multimedia diff --git a/ports/qt5-datavis3d/portfile.cmake b/ports/qt5-datavis3d/portfile.cmake index cc9df8c4a..214726759 100644 --- a/ports/qt5-datavis3d/portfile.cmake +++ b/ports/qt5-datavis3d/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtdatavis3d cb295deb9aa33132294d7d7f4daaa53dd9ab4815e2d3a2c916d88e1882e018a49d8d66db9088f69375d8da759a3f3566f251802aaba82d74cad2eb45d9bbbcff) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-declarative/CONTROL b/ports/qt5-declarative/CONTROL index 1e7e6f6e6..636c09042 100644 --- a/ports/qt5-declarative/CONTROL +++ b/ports/qt5-declarative/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-declarative -Version: 5.12.3-1 -Description: Qt5 Declarative (Quick 2) Module. Includes QtQuick, QtQuickParticles, QtQuickWidgets, QtQml, and QtPacketProtocol. -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-declarative +Version: 5.12.5-1 +Description: Qt5 Declarative (Quick 2) Module. Includes QtQuick, QtQuickParticles, QtQuickWidgets, QtQml, and QtPacketProtocol. +Build-Depends: qt5-base, qt5-imageformats, qt5-svg diff --git a/ports/qt5-declarative/portfile.cmake b/ports/qt5-declarative/portfile.cmake index 1056d1b9f..2cd1cf479 100644 --- a/ports/qt5-declarative/portfile.cmake +++ b/ports/qt5-declarative/portfile.cmake @@ -1,14 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtdeclarative 0caddcfee36cbf52bacd3a400d304511255715e2b5a58c1621ca8120610427c57511785457a9e7fa55975b86e7924a3cffddeb7e2e8e6622af85b7ebac35dd20) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-declarative/plugins/platforminputcontexts) - -if (NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(qt5decpath ${CURRENT_PACKAGES_DIR}/share/qt5/debug/mkspecs/modules/qt_lib_qmldevtools_private.pri) - file(READ "${qt5decpath}" _contents) - string(REPLACE [[QT.qmldevtools_private.libs = $$QT_MODULE_HOST_LIB_BASE]] [[QT.qmldevtools_private.libs = $$QT_MODULE_LIB_BASE]] _contents "${_contents}") - file(WRITE "${qt5decpath}" "${_contents}") -endif() \ No newline at end of file +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-gamepad/CONTROL b/ports/qt5-gamepad/CONTROL index 741c249cd..e7b99662b 100644 --- a/ports/qt5-gamepad/CONTROL +++ b/ports/qt5-gamepad/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-gamepad -Version: 5.12.3 -Description: Qt5 Gamepad Module - Enables Qt applications to support the use of gamepad hardware -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-gamepad +Version: 5.12.5-1 +Description: Qt5 Gamepad Module - Enables Qt applications to support the use of gamepad hardware +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-gamepad/portfile.cmake b/ports/qt5-gamepad/portfile.cmake index 71bc35517..214726759 100644 --- a/ports/qt5-gamepad/portfile.cmake +++ b/ports/qt5-gamepad/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtgamepad fd4902b11021eb6b28b5d6e31e9857ddaace6de05106c665fa429223033e28f187ede5deaec6a7e27588c5db4fb1cc250a936f2ee2cadb24f1df31ddfc4b3123) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-graphicaleffects/CONTROL b/ports/qt5-graphicaleffects/CONTROL index 71250701b..12cfc4775 100644 --- a/ports/qt5-graphicaleffects/CONTROL +++ b/ports/qt5-graphicaleffects/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-graphicaleffects -Version: 5.12.3 -Description: Qt5 GraphicalEffects Module. -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Source: qt5-graphicaleffects +Version: 5.12.5 +Description: Qt5 GraphicalEffects Module. +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-graphicaleffects/portfile.cmake b/ports/qt5-graphicaleffects/portfile.cmake index c639e4668..d473c5625 100644 --- a/ports/qt5-graphicaleffects/portfile.cmake +++ b/ports/qt5-graphicaleffects/portfile.cmake @@ -1,7 +1,3 @@ -SET(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) - -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtgraphicaleffects 3c5e6d7dc51a92d48cce8424ab1fe60ee75b71ebe2e6bb22e719a35bdaf2210b03f90ac066569f5c086ed67ed1463510625307328299310fad7c587e9fd8b385) +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-imageformats/CONTROL b/ports/qt5-imageformats/CONTROL index 7033b42c5..1fe00cbdc 100644 --- a/ports/qt5-imageformats/CONTROL +++ b/ports/qt5-imageformats/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-imageformats -Version: 5.12.3 -Description: Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-imageformats +Version: 5.12.5-1 +Description: Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP +Build-Depends: qt5-base, tiff, libwebp diff --git a/ports/qt5-imageformats/portfile.cmake b/ports/qt5-imageformats/portfile.cmake index 1d66c9a23..ad7f37070 100644 --- a/ports/qt5-imageformats/portfile.cmake +++ b/ports/qt5-imageformats/portfile.cmake @@ -1,7 +1,28 @@ -include(vcpkg_common_functions) +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtimageformats 59cc9df597e6ac31b10ff7440b0793af13ee84a1b363db631a7aeea7413e650a99a42e8c3f4633926ec93d4ac4c2532674ea27df325ba98132bea83c81d6e6cc) +list(APPEND CORE_OPTIONS + -system-tiff + -system-webp + -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) -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +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) +find_library(WEBPDEMUX_DEBUG NAMES webpdemuxd webpdemux PATHS "${CURRENT_INSTALLED_DIR}/debug/lib" NO_DEFAULT_PATH) +# Depends on opengl in default build but might depend on giflib, libjpeg-turbo, zlib, libpng, tiff, freeglut (!osx), sdl1 (windows) +# which would require extra libraries to be linked e.g. giflib freeglut sdl1 other ones are already linked + +#Dependent libraries +find_library(LZMA_RELEASE lzma PATHS "${CURRENT_INSTALLED_DIR}/lib" NO_DEFAULT_PATH) +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}") +set(OPT_DBG "TIFF_LIBS=${TIFF_DEBUG} ${LZMA_DEBUG}" + "WEBP_LIBS=${WEBP_DEBUG} ${WEBPDEMUX_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-location/CONTROL b/ports/qt5-location/CONTROL index b881c1fae..05de15d9d 100644 --- a/ports/qt5-location/CONTROL +++ b/ports/qt5-location/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-location -Version: 5.12.3 -Description: Qt5 Location Module - Displays map, navigation, and place content in a QML application. -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Source: qt5-location +Version: 5.12.5-2 +Description: Qt5 Location Module - Displays map, navigation, and place content in a QML application. +Build-Depends: qt5-base, qt5-declarative, qt5-quickcontrols, qt5-quickcontrols2, qt5-serialport diff --git a/ports/qt5-location/clipper.patch b/ports/qt5-location/clipper.patch new file mode 100644 index 000000000..acbeb09d9 --- /dev/null +++ b/ports/qt5-location/clipper.patch @@ -0,0 +1,39 @@ +diff --git a/src/3rdparty/clip2tri/clip2tri.pro b/src/3rdparty/clip2tri/clip2tri.pro +index 802c040..3545025 100644 +--- a/src/3rdparty/clip2tri/clip2tri.pro ++++ b/src/3rdparty/clip2tri/clip2tri.pro +@@ -18,5 +18,5 @@ gcc { + HEADERS += clip2tri.h + SOURCES += clip2tri.cpp + +-LIBS_PRIVATE += -L$$MODULE_BASE_OUTDIR/lib -lpoly2tri$$qtPlatformTargetSuffix() -lclipper$$qtPlatformTargetSuffix() ++LIBS_PRIVATE += -L$$MODULE_BASE_OUTDIR/lib -lpoly2tri$$qtPlatformTargetSuffix() -lqtclipper$$qtPlatformTargetSuffix() + +diff --git a/src/3rdparty/clipper/clipper.pro b/src/3rdparty/clipper/clipper.pro +index 874d55c..5abedf5 100644 +--- a/src/3rdparty/clipper/clipper.pro ++++ b/src/3rdparty/clipper/clipper.pro +@@ -1,4 +1,4 @@ +-TARGET = clipper ++TARGET = qtclipper + + CONFIG += staticlib exceptions warn_off optimize_full + +diff --git a/src/src.pro b/src/src.pro +index 417e227..612748e 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -6,10 +6,10 @@ include($$OUT_PWD/positioning/qtpositioning-config.pri) + + clip2tri.subdir = 3rdparty/clip2tri + poly2tri.subdir = 3rdparty/poly2tri +-clipper.subdir = 3rdparty/clipper ++qtclipper.subdir = 3rdparty/clipper + +-SUBDIRS += clip2tri clipper poly2tri +-clip2tri.depends = clipper poly2tri ++SUBDIRS += clip2tri qtclipper poly2tri ++clip2tri.depends = qtclipper poly2tri + + SUBDIRS += positioning + positioning.depends = clip2tri diff --git a/ports/qt5-location/portfile.cmake b/ports/qt5-location/portfile.cmake index 55e7b23ce..f49813c33 100644 --- a/ports/qt5-location/portfile.cmake +++ b/ports/qt5-location/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtlocation 91b21e5bc78b960f15c60ae02827cd35292ab1a5dd5a47488d25ce6758177f0ce15545aef3ff9bd1456c6fd84f65cb74d385b726239e2f0be66de0f6fb9a7082) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation(PATCHES clipper.patch) \ No newline at end of file diff --git a/ports/qt5-macextras/CONTROL b/ports/qt5-macextras/CONTROL index e0c686414..21b0ad5fa 100644 --- a/ports/qt5-macextras/CONTROL +++ b/ports/qt5-macextras/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-macextras -Version: 5.12.3 -Description: Qt5 Mac Extras Module. Provides platform-specific APIs for mac. -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-macextras +Version: 5.12.5 +Description: Qt5 Mac Extras Module. Provides platform-specific APIs for mac. +Build-Depends: qt5-base diff --git a/ports/qt5-macextras/portfile.cmake b/ports/qt5-macextras/portfile.cmake index a833541d9..9af7a2aac 100644 --- a/ports/qt5-macextras/portfile.cmake +++ b/ports/qt5-macextras/portfile.cmake @@ -1,5 +1,5 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtmacextras 56887c2a2d20c41a133af87aec8975e17c6335ffc51093f23a904e02a78f59a8117c7932827ca5dd33f538360e6fd9cfc9d0091c6f4c1e0b96528b5324c74033) +if (NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + message(FATAL_ERROR "qt5-macextras only support OSX.") +endif() +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-modularscripts/CONTROL b/ports/qt5-modularscripts/CONTROL index 4dc0032f9..cff6939e6 100644 --- a/ports/qt5-modularscripts/CONTROL +++ b/ports/qt5-modularscripts/CONTROL @@ -1,3 +1,3 @@ Source: qt5-modularscripts -Version: 2019-04-30 -Description: Vcpkg helpers to package qt5 modules +Version: deprecated +Description: now part of qt5-base, formerly vcpkg helpers to package qt5 modules \ No newline at end of file diff --git a/ports/qt5-modularscripts/fixcmake.py b/ports/qt5-modularscripts/fixcmake.py deleted file mode 100644 index 83a40ec6c..000000000 --- a/ports/qt5-modularscripts/fixcmake.py +++ /dev/null @@ -1,66 +0,0 @@ -import os -import re -import sys -from glob import glob - -port="qt5" -if len(sys.argv) > 1: - port=sys.argv[1] - -files = [y for x in os.walk('.') for y in glob(os.path.join(x[0], '*.cmake'))] -tooldir="/tools/"+port+"/" - -for f in files: - openedfile = open(f, "r") - builder = "" - dllpattern = re.compile("_install_prefix}/bin/Qt5.*d.dll") - libpattern = re.compile("_install_prefix}/lib/Qt5.*d.lib") - exepattern = re.compile("_install_prefix}/bin/[a-z]+.exe") - toolexepattern = re.compile("_install_prefix}/tools/qt5/[a-z]+.exe") - tooldllpattern = re.compile("_install_prefix}/tools/qt5/Qt5.*d.dll") - 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/") - builder += " else()" - builder += "\n " + line.replace("/tools/qt5/", "/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 += " endif()\n" - elif "_install_prefix}/lib/${LIB_LOCATION}" in line: - builder += " if (${Configuration} STREQUAL \"RELEASE\")" - builder += "\n " + line - builder += " else()" - 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 += "\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 += "\n " + line.replace("/plugins/", "/debug/plugins/") - builder += " endif()\n" - elif dllpattern.search(line) != None: - builder += line.replace("/bin/", "/debug/bin/") - elif libpattern.search(line) != None: - builder += line.replace("/lib/", "/debug/lib/") - elif tooldllpattern.search(line) != None: - builder += line.replace("/tools/qt5/", "/debug/bin/") - elif exepattern.search(line) != None: - builder += line.replace("/bin/", tooldir) - elif toolexepattern.search(line) != None: - builder += line.replace("/tools/qt5/",tooldir) - else: - builder += line - new_file = open(f, "w") - new_file.write(builder) - new_file.close() diff --git a/ports/qt5-modularscripts/portfile.cmake b/ports/qt5-modularscripts/portfile.cmake index e7149adfc..0015715fb 100644 --- a/ports/qt5-modularscripts/portfile.cmake +++ b/ports/qt5-modularscripts/portfile.cmake @@ -1,9 +1 @@ -file(COPY - ${CMAKE_CURRENT_LIST_DIR}/fixcmake.py - ${CMAKE_CURRENT_LIST_DIR}/qt_modular_library.cmake - DESTINATION - ${CURRENT_PACKAGES_DIR}/share/qt5modularscripts -) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/qt5modularscripts/copyright "") - -set(VCPKG_POLICY_EMPTY_PACKAGE enabled) +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/qt5-modularscripts/qt_modular_library.cmake b/ports/qt5-modularscripts/qt_modular_library.cmake deleted file mode 100644 index 206c04002..000000000 --- a/ports/qt5-modularscripts/qt_modular_library.cmake +++ /dev/null @@ -1,161 +0,0 @@ -set(_qt5base_port_dir "${CMAKE_CURRENT_LIST_DIR}") - -function(qt_modular_fetch_library NAME HASH TARGET_SOURCE_PATH) - string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) - if(BUILDTREES_PATH_LENGTH GREATER 45) - message(WARNING "Qt5's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) - endif() - - set(MAJOR_MINOR 5.12) - set(FULL_VERSION ${MAJOR_MINOR}.3) - set(ARCHIVE_NAME "${NAME}-everywhere-src-${FULL_VERSION}.tar.xz") - - vcpkg_download_distfile(ARCHIVE_FILE - URLS "http://download.qt.io/official_releases/qt/${MAJOR_MINOR}/${FULL_VERSION}/submodules/${ARCHIVE_NAME}" - FILENAME ${ARCHIVE_NAME} - SHA512 ${HASH} - ) - vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE "${ARCHIVE_FILE}" - REF ${FULL_VERSION} - ) - - set(${TARGET_SOURCE_PATH} ${SOURCE_PATH} PARENT_SCOPE) -endfunction() - -function(qt_modular_build_library SOURCE_PATH) - # This fixes issues on machines with default codepages that are not ASCII compatible, such as some CJK encodings - set(ENV{_CL_} "/utf-8") - - #Store build paths - set(DEBUG_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - set(RELEASE_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - - #Find Python and add it to the path - vcpkg_find_acquire_program(PYTHON2) - get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) - vcpkg_add_to_path("${PYTHON2_EXE_PATH}") - - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) - file(TO_NATIVE_PATH "${CURRENT_PACKAGES_DIR}" NATIVE_PACKAGES_DIR) - - if(WIN32) - string(SUBSTRING "${NATIVE_INSTALLED_DIR}" 2 -1 INSTALLED_DIR_WITHOUT_DRIVE) - string(SUBSTRING "${NATIVE_PACKAGES_DIR}" 2 -1 PACKAGES_DIR_WITHOUT_DRIVE) - else() - set(INSTALLED_DIR_WITHOUT_DRIVE ${NATIVE_INSTALLED_DIR}) - set(PACKAGES_DIR_WITHOUT_DRIVE ${NATIVE_PACKAGES_DIR}) - endif() - - #Configure debug+release - vcpkg_configure_qmake(SOURCE_PATH ${SOURCE_PATH}) - - vcpkg_build_qmake() - - #Fix the cmake files if they exist - if(EXISTS ${RELEASE_DIR}/lib/cmake) - vcpkg_execute_required_process( - COMMAND ${PYTHON2} ${_qt5base_port_dir}/fixcmake.py ${PORT} - WORKING_DIRECTORY ${RELEASE_DIR}/lib/cmake - LOGNAME fix-cmake - ) - endif() - - file(GLOB_RECURSE MAKEFILES ${DEBUG_DIR}/*Makefile* ${RELEASE_DIR}/*Makefile*) - - foreach(MAKEFILE ${MAKEFILES}) - file(READ "${MAKEFILE}" _contents) - #Set the correct install directory to packages - string(REPLACE "(INSTALL_ROOT)${INSTALLED_DIR_WITHOUT_DRIVE}" "(INSTALL_ROOT)${PACKAGES_DIR_WITHOUT_DRIVE}" _contents "${_contents}") - file(WRITE "${MAKEFILE}" "${_contents}") - endforeach() - - #Install the module files - vcpkg_build_qmake(TARGETS install SKIP_MAKEFILES BUILD_LOGNAME install) - - #Remove extra cmake files - if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake ${CURRENT_PACKAGES_DIR}/share/cmake) - endif() - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) - endif() - - file(GLOB_RECURSE PRL_FILES "${CURRENT_PACKAGES_DIR}/lib/*.prl" "${CURRENT_PACKAGES_DIR}/debug/lib/*.prl") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/lib" CMAKE_RELEASE_LIB_PATH) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(TO_CMAKE_PATH "${CURRENT_INSTALLED_DIR}/debug/lib" CMAKE_DEBUG_LIB_PATH) - endif() - foreach(PRL_FILE IN LISTS PRL_FILES) - file(READ "${PRL_FILE}" _contents) - string(REPLACE "${CMAKE_RELEASE_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") - string(REPLACE "${CMAKE_DEBUG_LIB_PATH}" "\$\$[QT_INSTALL_LIBS]" _contents "${_contents}") - file(WRITE "${PRL_FILE}" "${_contents}") - endforeach() - - file(GLOB RELEASE_LIBS "${CURRENT_PACKAGES_DIR}/lib/*") - if(NOT RELEASE_LIBS) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib) - endif() - file(GLOB DEBUG_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/*") - if(NOT DEBUG_FILES) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib) - endif() - - #Move release and debug dlls to the correct directory - if(EXISTS ${CURRENT_PACKAGES_DIR}/tools/qt5) - file(RENAME ${CURRENT_PACKAGES_DIR}/tools/qt5 ${CURRENT_PACKAGES_DIR}/tools/${PORT}) - endif() - if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/tools/qt5) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/tools/qt5 ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}) - endif() - - file(GLOB RELEASE_DLLS ${CURRENT_PACKAGES_DIR}/tools/${PORT}/*.dll) - file(GLOB DEBUG_DLLS ${CURRENT_PACKAGES_DIR}/debug/tools/${PORT}/*.dll) - if (RELEASE_DLLS) - file(INSTALL ${RELEASE_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(REMOVE ${RELEASE_DLLS}) - #Check if there are any binaries left over; if not - delete the directory - file(GLOB RELEASE_BINS ${CURRENT_PACKAGES_DIR}/tools/${PORT}/*) - if(NOT RELEASE_BINS) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools) - endif() - endif() - if(DEBUG_DLLS) - file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/tools) - endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/qt5/debug/include) - endif() - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) - endif() - - #Find the relevant license file and install it - if(EXISTS "${SOURCE_PATH}/LICENSE.LGPLv3") - set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPLv3") - elseif(EXISTS "${SOURCE_PATH}/LICENSE.LGPL3") - set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.LGPL3") - elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPLv3") - set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPLv3") - elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3") - set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3") - elseif(EXISTS "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT") - set(LICENSE_PATH "${SOURCE_PATH}/LICENSE.GPL3-EXCEPT") - endif() - file(INSTALL ${LICENSE_PATH} DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -endfunction() - -function(qt_modular_library NAME HASH) - qt_modular_fetch_library(${NAME} ${HASH} TARGET_SOURCE_PATH) - qt_modular_build_library(${TARGET_SOURCE_PATH}) -endfunction() diff --git a/ports/qt5-mqtt/CONTROL b/ports/qt5-mqtt/CONTROL index 87da5cd92..1c7cc8740 100644 --- a/ports/qt5-mqtt/CONTROL +++ b/ports/qt5-mqtt/CONTROL @@ -1,4 +1,4 @@ Source: qt5-mqtt -Version: 5.12.3 +Version: 5.12.5 Description: Qt5 MQTT module. -Build-Depends: qt5-modularscripts, qt5-base +Build-Depends: qt5-base diff --git a/ports/qt5-mqtt/portfile.cmake b/ports/qt5-mqtt/portfile.cmake index e9b8c3c75..069860e21 100644 --- a/ports/qt5-mqtt/portfile.cmake +++ b/ports/qt5-mqtt/portfile.cmake @@ -1,21 +1,20 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +#qt_submodule_installation() No binary package for this port. vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO qt/qtmqtt - REF cf41d84738f0ed0c779f75db94d413ad938fb901 - SHA512 e9a818999e4befb0b945d609a1ee28a3e2d7e3b6d8c12ab82ae827fdb8f6bf5e8b82114c1850438d634fa24c9ac608ebae1d461385bd4e088f8cabf7eec0182c - HEAD_REF dev + REF v${QT_MAJOR_MINOR_VER}.${QT_PATCH_VER} + SHA512 ${QT_HASH_${PORT}} ) -# Qt module builds from a git repository require a .git entry to invoke syncqt +# qt module builds from a git repository require a .git entry to invoke syncqt file(WRITE "${SOURCE_PATH}/.git" "repocontent") -# syncqt is a PERL script +# syncqt is a perl script vcpkg_find_acquire_program(PERL) -get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) -set(ENV{PATH} "${PERL_EXE_PATH};$ENV{PATH}") +get_filename_component(perl_exe_path ${PERL} DIRECTORY) +vcpkg_add_to_path("${perl_exe_path}") -qt_modular_build_library(${SOURCE_PATH}) +qt_build_submodule(${SOURCE_PATH}) +qt_install_copyright(${SOURCE_PATH}) diff --git a/ports/qt5-multimedia/CONTROL b/ports/qt5-multimedia/CONTROL index cdc7e20c7..c82238ab3 100644 --- a/ports/qt5-multimedia/CONTROL +++ b/ports/qt5-multimedia/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-multimedia -Version: 5.12.3 -Description: Qt5 Multimedia Module - Classes and widgets for audio, video, radio and camera functionality -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Source: qt5-multimedia +Version: 5.12.5-1 +Description: Qt5 Multimedia Module - Classes and widgets for audio, video, radio and camera functionality +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-multimedia/portfile.cmake b/ports/qt5-multimedia/portfile.cmake index d6292a1ba..214726759 100644 --- a/ports/qt5-multimedia/portfile.cmake +++ b/ports/qt5-multimedia/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtmultimedia 4f10e40aaf73dda2d70502e6a1441149c2b4389e9c7de72245c850d926c3ecb57ca6b09c63d208eff4b9ec63b7f9845eb2740cd0df4e4b7eee8f51746a6d3963) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-networkauth/CONTROL b/ports/qt5-networkauth/CONTROL index 241e52cdc..9115290bf 100644 --- a/ports/qt5-networkauth/CONTROL +++ b/ports/qt5-networkauth/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-networkauth -Version: 5.12.3 -Description: Qt5 Network Authorization Module -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-networkauth +Version: 5.12.5 +Description: Qt5 Network Authorization Module +Build-Depends: qt5-base diff --git a/ports/qt5-networkauth/portfile.cmake b/ports/qt5-networkauth/portfile.cmake index ef4e63989..214726759 100644 --- a/ports/qt5-networkauth/portfile.cmake +++ b/ports/qt5-networkauth/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtnetworkauth 07bf159360fe126c23387c6ed5b955218771ac37848ddb83542733c786b415f9aa5c22fd4a965fff591869d2d819bba420b69718e487df3cce382f411f493142) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-purchasing/CONTROL b/ports/qt5-purchasing/CONTROL index 14a21138a..f970ba418 100644 --- a/ports/qt5-purchasing/CONTROL +++ b/ports/qt5-purchasing/CONTROL @@ -1,4 +1,4 @@ Source: qt5-purchasing -Version: 5.12.3 +Version: 5.12.5-1 Description: Qt5 Purchasing Module - Enables in-app purchase of products in Qt applications. -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Build-Depends: qt5-base, qt5-declarative, qt5-androidextras (android) diff --git a/ports/qt5-purchasing/portfile.cmake b/ports/qt5-purchasing/portfile.cmake index c172817df..2cd1cf479 100644 --- a/ports/qt5-purchasing/portfile.cmake +++ b/ports/qt5-purchasing/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtpurchasing 3069ece2083d0661a3599c631cf0832a80e01262b5858ffd407bc0d80e35711f2f973b2c085b6dd5539f3ec26004c684df99d477e58ab62da63d705a8a5616c9) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-quickcontrols/CONTROL b/ports/qt5-quickcontrols/CONTROL index 287daebe1..11287f68f 100644 --- a/ports/qt5-quickcontrols/CONTROL +++ b/ports/qt5-quickcontrols/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-quickcontrols -Version: 5.12.3 -Description: Qt5 QuickControls Module. -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Source: qt5-quickcontrols +Version: 5.12.5-1 +Description: Qt5 QuickControls Module. +Build-Depends: qt5-base, qt5-declarative, qt5-graphicaleffects diff --git a/ports/qt5-quickcontrols/portfile.cmake b/ports/qt5-quickcontrols/portfile.cmake index bb4aa8a66..d473c5625 100644 --- a/ports/qt5-quickcontrols/portfile.cmake +++ b/ports/qt5-quickcontrols/portfile.cmake @@ -1,7 +1,3 @@ -SET(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) - -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtquickcontrols 23410fb82088591a8bed7e8e4127d13929a03adc0dfd18f7e2f906acdac21f7dcbb15cb2257272b893d937bbb54860992667c11aa0c6157d4a3b871616c4641c) +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-quickcontrols2/CONTROL b/ports/qt5-quickcontrols2/CONTROL index 01f94c4c0..5a9601fa4 100644 --- a/ports/qt5-quickcontrols2/CONTROL +++ b/ports/qt5-quickcontrols2/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-quickcontrols2 -Version: 5.12.3 -Description: Qt5 QuickControls2 Module. -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Source: qt5-quickcontrols2 +Version: 5.12.5-1 +Description: Qt5 QuickControls2 Module. +Build-Depends: qt5-base, qt5-declarative, qt5-imageformats diff --git a/ports/qt5-quickcontrols2/portfile.cmake b/ports/qt5-quickcontrols2/portfile.cmake index 6b65b022f..214726759 100644 --- a/ports/qt5-quickcontrols2/portfile.cmake +++ b/ports/qt5-quickcontrols2/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtquickcontrols2 afc1ae9a5a046845b085d5cf0019b79d99914a2d285676bd4d8966f1302513078c8279b71134281c03b2c1209295bca438b9e255774574520498b0b5385bad27) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-remoteobjects/CONTROL b/ports/qt5-remoteobjects/CONTROL index e1e9df450..def806c79 100644 --- a/ports/qt5-remoteobjects/CONTROL +++ b/ports/qt5-remoteobjects/CONTROL @@ -1,4 +1,4 @@ Source: qt5-remoteobjects -Version: 5.12.3 +Version: 5.12.5-1 Description: Qt5 Remoteobjects module - Provides an easy to use mechanism for sharing a QObject's API (Properties/Signals/Slots) between processes or devices. -Build-Depends: qt5-modularscripts, qt5-base +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-remoteobjects/portfile.cmake b/ports/qt5-remoteobjects/portfile.cmake index 8d2d45a6e..2cd1cf479 100644 --- a/ports/qt5-remoteobjects/portfile.cmake +++ b/ports/qt5-remoteobjects/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtremoteobjects f01b9497dab7e5db24f090d227fca5703a50b5065ad6c0798b78e83b41c374a04eb2857ffaf0225071791c9bb6b8703e37e47d31bf905fa819395b4d69819178) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-script/CONTROL b/ports/qt5-script/CONTROL old mode 100755 new mode 100644 index e27e24b57..040064f60 --- a/ports/qt5-script/CONTROL +++ b/ports/qt5-script/CONTROL @@ -1,4 +1,4 @@ Source: qt5-script -Version: 5.12.3 -Build-Depends: qt5-base, qt5-modularscripts +Version: 5.12.5-1 +Build-Depends: qt5-base, qt5-tools Description:Qt5 Script Module. diff --git a/ports/qt5-script/portfile.cmake b/ports/qt5-script/portfile.cmake old mode 100755 new mode 100644 index 0d2a8418d..2cd1cf479 --- a/ports/qt5-script/portfile.cmake +++ b/ports/qt5-script/portfile.cmake @@ -1,5 +1,2 @@ - -include(vcpkg_common_functions) -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtscript 4c4498acb39536bdc03643fb1717c7a47c82b1734cf67d17d40bc216084f01e837648d261f7f69e317387f9c6efa9aaa6b0df8f5532f55615252c95b1089ca1a) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-scxml/CONTROL b/ports/qt5-scxml/CONTROL index b61ed5922..c2f22a15b 100644 --- a/ports/qt5-scxml/CONTROL +++ b/ports/qt5-scxml/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-scxml -Version: 5.12.3 -Description: Qt5 SCXML Module - Provides classes and tools for creating state machines from SCXML files and embedding them in applications -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Source: qt5-scxml +Version: 5.12.5 +Description: Qt5 SCXML Module - Provides classes and tools for creating state machines from SCXML files and embedding them in applications +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-scxml/portfile.cmake b/ports/qt5-scxml/portfile.cmake index 860e25246..214726759 100644 --- a/ports/qt5-scxml/portfile.cmake +++ b/ports/qt5-scxml/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtscxml d515506d90ace5eedfe8bf3439dad0853dbbdbd36dfb509dfa13e3358838353de66d5f6245afe4eeebd19dd3f0ab0ce5e4c3e6fe5d40e5ab46763c453a562a49) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-sensors/CONTROL b/ports/qt5-sensors/CONTROL index f0bceb31c..1c7218bec 100644 --- a/ports/qt5-sensors/CONTROL +++ b/ports/qt5-sensors/CONTROL @@ -1,4 +1,4 @@ Source: qt5-sensors -Version: 5.12.3 +Version: 5.12.5-1 Description: Qt5 Sensors module - Provides access to sensor hardware and motion gesture recognition. -Build-Depends: qt5-modularscripts, qt5-base +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-sensors/portfile.cmake b/ports/qt5-sensors/portfile.cmake index 3af798117..2cd1cf479 100644 --- a/ports/qt5-sensors/portfile.cmake +++ b/ports/qt5-sensors/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtsensors cf0c8c58bbb84debd6b464bd9b91af7e79a301031613b8a2d0715fa276573dafea0a1c8e472fa2a2d4debd9b26f86a5e6efa9a8d57f7ab9102b1314d609579e5) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-serialport/CONTROL b/ports/qt5-serialport/CONTROL index 8e2572300..732f6a7da 100644 --- a/ports/qt5-serialport/CONTROL +++ b/ports/qt5-serialport/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-serialport -Version: 5.12.3 -Description: Qt5 Serial Port - provides access to hardware and virtual serial ports -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-serialport +Version: 5.12.5 +Description: Qt5 Serial Port - provides access to hardware and virtual serial ports +Build-Depends: qt5-base diff --git a/ports/qt5-serialport/portfile.cmake b/ports/qt5-serialport/portfile.cmake index 0c2a0f116..214726759 100644 --- a/ports/qt5-serialport/portfile.cmake +++ b/ports/qt5-serialport/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtserialport 42551b74abe1fcaa1972fb1134215987d7c1d0fe73874a4c6ad5b9aadad71a2066a1846c297569bb1562f94e54a406e8074d444deca510a566e27cd386b47ecf) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-speech/CONTROL b/ports/qt5-speech/CONTROL index cbc841086..682422a95 100644 --- a/ports/qt5-speech/CONTROL +++ b/ports/qt5-speech/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-speech -Version: 5.12.3 -Description: Qt5 Speech Module -Build-Depends: qt5-modularscripts, qt5-base, atlmfc (windows) +Source: qt5-speech +Version: 5.12.5-1 +Description: Qt5 Speech Module +Build-Depends: qt5-base, atlmfc (windows), qt5-declarative, qt5-multimedia diff --git a/ports/qt5-speech/portfile.cmake b/ports/qt5-speech/portfile.cmake index f4402508d..214726759 100644 --- a/ports/qt5-speech/portfile.cmake +++ b/ports/qt5-speech/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtspeech 9623a83cdfbed07dffcd8f0808c2a514c97fda72b68827d917f1a8ee3072286ef8bce06b114db94d7a0c3fc79425c2540fa5cadc6551367fd4431e5396395932) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-svg/CONTROL b/ports/qt5-svg/CONTROL index 9970a6fc0..cbc01727a 100644 --- a/ports/qt5-svg/CONTROL +++ b/ports/qt5-svg/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-svg -Version: 5.12.3 -Description: Qt5 SVG Module - provides classes for displaying the contents of SVG files -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-svg +Version: 5.12.5 +Description: Qt5 SVG Module - provides classes for displaying the contents of SVG files +Build-Depends: qt5-base diff --git a/ports/qt5-svg/portfile.cmake b/ports/qt5-svg/portfile.cmake index a8379b131..214726759 100644 --- a/ports/qt5-svg/portfile.cmake +++ b/ports/qt5-svg/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtsvg 23517dbdc30d7128fcbeb12a301eeeb300424bb17bc0d156d5e9298c092d3d3afd2cba45768f2512e58977ee2408450f50c385e03a47ccaf3ff6bc7e4fddf61a) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-tools/CONTROL b/ports/qt5-tools/CONTROL index 502635783..ad3c67bc5 100644 --- a/ports/qt5-tools/CONTROL +++ b/ports/qt5-tools/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-tools -Version: 5.12.3 -Description: Qt5 Tools Module; Includes deployment tools and helpers, Qt Designer, Assistant, and other applications -Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative +Source: qt5-tools +Version: 5.12.5-2 +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 a563767da..214726759 100644 --- a/ports/qt5-tools/portfile.cmake +++ b/ports/qt5-tools/portfile.cmake @@ -1,7 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qttools d37c0e11a26a21aa60f29f3b17ddc9895385d848692956e4481e49003cbe9c227daf8fda1c40a2ab70ac8e7e56d3771c1b2964524589eb77ac1f2362c269162e) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-tools/plugins/platforminputcontexts) \ No newline at end of file +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-virtualkeyboard/CONTROL b/ports/qt5-virtualkeyboard/CONTROL index 20b745844..dce415c5a 100644 --- a/ports/qt5-virtualkeyboard/CONTROL +++ b/ports/qt5-virtualkeyboard/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-virtualkeyboard -Version: 5.12.3 -Description: Qt5 Virtual Keyboard Module - A framework for implementing different input methods. Supports localized keyboard layouts and custom visual themes -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-virtualkeyboard +Version: 5.12.5-1 +Description: Qt5 Virtual Keyboard Module - A framework for implementing different input methods. Supports localized keyboard layouts and custom visual themes +Build-Depends: qt5-svg, qt5-quickcontrols, qt5-multimedia, qt5-quickcontrols diff --git a/ports/qt5-virtualkeyboard/portfile.cmake b/ports/qt5-virtualkeyboard/portfile.cmake index 4d8310f7a..214726759 100644 --- a/ports/qt5-virtualkeyboard/portfile.cmake +++ b/ports/qt5-virtualkeyboard/portfile.cmake @@ -1,7 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtvirtualkeyboard 1aa00fec7e333e4fd52891b82c239b532cf41657d9c3f44c6cc1c211a1412dbf5584823511e54f3feb33b3fed9c6e0171b55afde2df9f0a358e2e4885e1b2686) - -set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-webchannel/CONTROL b/ports/qt5-webchannel/CONTROL index 64945edba..e8adae197 100644 --- a/ports/qt5-webchannel/CONTROL +++ b/ports/qt5-webchannel/CONTROL @@ -1,4 +1,4 @@ Source: qt5-webchannel -Version: 5.12.3 +Version: 5.12.5-1 Description: Qt5 Web Channel module - Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients. -Build-Depends: qt5-modularscripts, qt5-base +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-webchannel/portfile.cmake b/ports/qt5-webchannel/portfile.cmake index a453326c5..2cd1cf479 100644 --- a/ports/qt5-webchannel/portfile.cmake +++ b/ports/qt5-webchannel/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtwebchannel 2dda4351f5f3a5895a955d0ee77e55f758233672005a068d3e840a01d379727f99287fc6c8fb96516f23a5a8c4ebcb61098690fd3351e79be608e28657534006) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-websockets/CONTROL b/ports/qt5-websockets/CONTROL index e2cae414c..fbfeba6c4 100644 --- a/ports/qt5-websockets/CONTROL +++ b/ports/qt5-websockets/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-websockets -Version: 5.12.3 -Description: Qt5 Web Sockets Module - provides WebSocket communication compliant with RFC 6455 -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-websockets +Version: 5.12.5 +Description: Qt5 Web Sockets Module - provides WebSocket communication compliant with RFC 6455 +Build-Depends: qt5-base, qt5-declarative diff --git a/ports/qt5-websockets/portfile.cmake b/ports/qt5-websockets/portfile.cmake index 88cc1fd9a..214726759 100644 --- a/ports/qt5-websockets/portfile.cmake +++ b/ports/qt5-websockets/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtwebsockets 212a98d987b4fd16216ac9a1c98e061be6a5bd2e2c4ec8be80424d6f23afeace790fe666abe8a11e2116dc20f17a41ad0c817fceacdfa5f766b93068ac614817) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-webview/CONTROL b/ports/qt5-webview/CONTROL index e0816259a..16aa0bbf6 100644 --- a/ports/qt5-webview/CONTROL +++ b/ports/qt5-webview/CONTROL @@ -1,4 +1,4 @@ Source: qt5-webview -Version: 5.12.3 +Version: 5.12.5-1 Description: Qt5 WebView module - Provides a way to display web content in a QML application without necessarily including a full web browser stack by using native APIs where it makes sense. -Build-Depends: qt5-base, qt5-modularscripts, qt5-declarative +Build-Depends: qt5-declarative diff --git a/ports/qt5-webview/portfile.cmake b/ports/qt5-webview/portfile.cmake index 813c5601b..2cd1cf479 100644 --- a/ports/qt5-webview/portfile.cmake +++ b/ports/qt5-webview/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtwebview 426227b9b4cb61c0e88958dbaab21e842a25989098a0e94a06fe3efc8a2b9d4a5d3216296c8228da977ef52cd5844b66048bcb84019da4f06de1b1009dfdffa5) +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-winextras/CONTROL b/ports/qt5-winextras/CONTROL index 97c443d8c..5d948ee5c 100644 --- a/ports/qt5-winextras/CONTROL +++ b/ports/qt5-winextras/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-winextras -Version: 5.12.3 -Description: Qt5 Windows Extras Module. Provides platform-specific APIs for Windows. -Build-Depends: qt5-modularscripts, qt5-base, atlmfc +Source: qt5-winextras +Version: 5.12.5-1 +Description: Qt5 Windows Extras Module. Provides platform-specific APIs for Windows. +Build-Depends: qt5-base, atlmfc (windows), qt5-declarative, qt5-multimedia diff --git a/ports/qt5-winextras/portfile.cmake b/ports/qt5-winextras/portfile.cmake index f0890bfaf..54153bed7 100644 --- a/ports/qt5-winextras/portfile.cmake +++ b/ports/qt5-winextras/portfile.cmake @@ -1,5 +1,5 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtwinextras e50cb237359ce7a3bde6989ec4349fe67be3b4999092516e891bba12f0fb4acb9954de8e2f0171db0e849b7d3ef94bd80f77f81162afb239e49c6e2e0760343b) +if (NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "qt5-winextras only support Windows.") +endif() +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5-xmlpatterns/CONTROL b/ports/qt5-xmlpatterns/CONTROL index 917615922..6e7b3d711 100644 --- a/ports/qt5-xmlpatterns/CONTROL +++ b/ports/qt5-xmlpatterns/CONTROL @@ -1,4 +1,4 @@ -Source: qt5-xmlpatterns -Version: 5.12.3 -Description: Qt5 XML Patterns Module - Support for XPath, XQuery, XSLT and XML schema validation -Build-Depends: qt5-modularscripts, qt5-base +Source: qt5-xmlpatterns +Version: 5.12.5 +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 c92a6057b..214726759 100644 --- a/ports/qt5-xmlpatterns/portfile.cmake +++ b/ports/qt5-xmlpatterns/portfile.cmake @@ -1,5 +1,2 @@ -include(vcpkg_common_functions) - -include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) - -qt_modular_library(qtxmlpatterns 4e421f0c78ca74f726f758bd95b33915297922f3b5a4fff84dde2600969f54f3914828fdb7903c7171e192f81966680b6c6bb4750de0be72728124470e7c798d) \ No newline at end of file +include(${CURRENT_INSTALLED_DIR}/share/qt5/qt_port_functions.cmake) +qt_submodule_installation() \ No newline at end of file diff --git a/ports/qt5/CONTROL b/ports/qt5/CONTROL index 74b69467a..86e395438 100644 --- a/ports/qt5/CONTROL +++ b/ports/qt5/CONTROL @@ -1,5 +1,9 @@ Source: qt5 -Version: 5.12.3 +Version: 5.12.5 Homepage: https://www.qt.io/ Description: Qt5 Application Framework -Build-Depends: qt5-3d, qt5-activeqt, qt5-base, qt5-charts, qt5-datavis3d, qt5-declarative, qt5-gamepad, qt5-graphicaleffects, qt5-imageformats, qt5-location, qt5-multimedia, qt5-mqtt, qt5-networkauth, qt5-purchasing, qt5-quickcontrols, qt5-quickcontrols2, qt5-script, qt5-scxml, qt5-sensors, qt5-serialport, qt5-speech, qt5-svg, qt5-tools, qt5-virtualkeyboard, qt5-webchannel, qt5-websockets, qt5-winextras (windows), qt5-macextras (osx), qt5-xmlpatterns +Build-Depends: qt5-3d, qt5-activeqt (windows), qt5-base, qt5-charts, qt5-datavis3d, qt5-declarative, qt5-gamepad, qt5-graphicaleffects, qt5-imageformats, qt5-location, qt5-multimedia, qt5-mqtt, qt5-networkauth, qt5-purchasing, qt5-quickcontrols, qt5-quickcontrols2, qt5-script, qt5-scxml, qt5-sensors, qt5-serialport, qt5-speech, qt5-svg, qt5-tools, qt5-virtualkeyboard, qt5-webchannel, qt5-websockets, qt5-winextras (windows), qt5-macextras (osx), qt5-xmlpatterns + +Feature: latest +Build-Depends: qt5-base[latest] +Description: Build latest qt version (5.13.1) instead of LTS \ No newline at end of file diff --git a/ports/qtkeychain/CONTROL b/ports/qtkeychain/CONTROL new file mode 100644 index 000000000..d054322cf --- /dev/null +++ b/ports/qtkeychain/CONTROL @@ -0,0 +1,4 @@ +Source: qtkeychain +Version: v0.9.1 +Description: qtkeychain - Platform-independent Qt API for storing passwords securely +Build-Depends: qt5-base, qt5-tools \ No newline at end of file diff --git a/ports/qtkeychain/portfile.cmake b/ports/qtkeychain/portfile.cmake new file mode 100644 index 000000000..5bbe14d89 --- /dev/null +++ b/ports/qtkeychain/portfile.cmake @@ -0,0 +1,43 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO frankosterfeld/qtkeychain + REF v0.9.1 + SHA512 c80bd25a5b72c175d0d4a985b952924c807bf67be33eeb89e2b83757727e642c10d8d737cea9744d2faad74c50c1b55d82b306135559c35c91a088c3b198b33a + HEAD_REF master +) + +list(APPEND QTKEYCHAIN_OPTIONS -DCMAKE_DEBUG_POSTFIX=d) +list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TEST_APPLICATION:BOOL=OFF) +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + list(APPEND QTKEYCHAIN_OPTIONS -DQTKEYCHAIN_STATIC:BOOL=ON) +else() + list(APPEND QTKEYCHAIN_OPTIONS -DQTKEYCHAIN_STATIC:BOOL=OFF) +endif() + +if (CMAKE_HOST_WIN32) + list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TRANSLATIONS:BOOL=ON) +else() + list(APPEND QTKEYCHAIN_OPTIONS -DBUILD_TRANSLATIONS:BOOL=OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS ${QTKEYCHAIN_OPTIONS} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +# Remove unneeded dirs +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/lib/cmake + ${CURRENT_PACKAGES_DIR}/lib/cmake +) + +# Handle copyright +file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/qtkeychain) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/qtkeychain/COPYING ${CURRENT_PACKAGES_DIR}/share/qtkeychain/copyright) diff --git a/ports/quantlib/CONTROL b/ports/quantlib/CONTROL new file mode 100644 index 000000000..50c006335 --- /dev/null +++ b/ports/quantlib/CONTROL @@ -0,0 +1,5 @@ +Source: quantlib +Version: 2019-09-02 +Description: The QuantLib C++ library +Homepage: https://www.quantlib.org/ +Build-Depends: boost-accumulators, boost-algorithm, boost-any, boost-array, boost-assert, boost-assign, boost-atomic, boost-bind, boost-config, boost-core, boost-date-time, boost-dynamic-bitset, boost-format, boost-function, boost-functional, boost-iterator, boost-lexical-cast, boost-math, boost-multi-array, boost-multiprecision, boost-optional, boost-preprocessor, boost-random, boost-serialization, boost-signals2, boost-smart-ptr, boost-thread, boost-tuple, boost-type-traits, boost-ublas, boost-unordered, boost-utility diff --git a/ports/quantlib/disable-examples-tests.patch b/ports/quantlib/disable-examples-tests.patch new file mode 100644 index 000000000..b42e0bc25 --- /dev/null +++ b/ports/quantlib/disable-examples-tests.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d046251cc..d8201bf6a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,8 +44,6 @@ if (Boost_FOUND) + endif (Boost_FOUND) + + add_subdirectory(ql) +-add_subdirectory(Examples) +-add_subdirectory(test-suite) + + # + # Copy across the ANSI config file into the build directory. Users diff --git a/ports/quantlib/portfile.cmake b/ports/quantlib/portfile.cmake new file mode 100644 index 000000000..7894bbba7 --- /dev/null +++ b/ports/quantlib/portfile.cmake @@ -0,0 +1,41 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lballabio/QuantLib + REF f09141b5cce9134c0bcdbaf36e81359e6ba30705 + SHA512 d4b19d33594a7072a0d90b7eac3d74fb27c526269713a9223b84c0451b1e06a58f0c98350305d68a55086d1971260ff249049112aaadea59397ec195a3291490 + HEAD_REF master + PATCHES + disable-examples-tests.patch +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" USE_BOOST_DYNAMIC_LIBRARIES) + +set(QL_MSVC_RUNTIME ${VCPKG_LIBRARY_LINKAGE}) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +# TODO: Fix it in the upstream +vcpkg_replace_string( + "${SOURCE_PATH}/ql/userconfig.hpp" + "//# define QL_USE_STD_UNIQUE_PTR" + "# define QL_USE_STD_UNIQUE_PTR" +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DUSE_BOOST_DYNAMIC_LIBRARIES=${USE_BOOST_DYNAMIC_LIBRARIES} + -DMSVC_RUNTIME=${QL_MSVC_RUNTIME} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/quickfast/00001-fix-boost-asio.patch b/ports/quickfast/00001-fix-boost-asio.patch new file mode 100644 index 000000000..13a4cfa2a --- /dev/null +++ b/ports/quickfast/00001-fix-boost-asio.patch @@ -0,0 +1,39 @@ +diff --git a/src/Common/QuickFASTPch.h b/src/Common/QuickFASTPch.h +index 3574df8..c4ef4e1 100644 +--- a/src/Common/QuickFASTPch.h ++++ b/src/Common/QuickFASTPch.h +@@ -32,7 +32,7 @@ + #include + + // If building for .NET, must link boost threads dynamically +-#define BOOST_THREAD_USE_DLL ++// #define BOOST_THREAD_USE_DLL + // This reports at compile time which boost libraries will be used + // #define BOOST_LIB_DIAGNOSTIC + +diff --git a/src/Communication/AsioService.h b/src/Communication/AsioService.h +index 4f61915..96f2198 100644 +--- a/src/Communication/AsioService.h ++++ b/src/Communication/AsioService.h +@@ -99,6 +99,7 @@ namespace QuickFAST + { + return ioService_; + } ++ boost::asio::io_service::executor_type get_executor() BOOST_ASIO_NOEXCEPT { return ioService_.get_executor();} + + ///@brief Post a completion handler for later processing (usually in a different thread) + /// @param handler is the handler to be posted +diff --git a/src/Communication/AsioService_fwd.h b/src/Communication/AsioService_fwd.h +index dc2f235..6ad5e68 100644 +--- a/src/Communication/AsioService_fwd.h ++++ b/src/Communication/AsioService_fwd.h +@@ -17,7 +17,8 @@ namespace boost + { + namespace asio + { +- class io_service; ++ class io_context; ++ typedef io_context io_service; + } + } + diff --git a/ports/quickfast/CMakeLists.txt b/ports/quickfast/CMakeLists.txt new file mode 100644 index 000000000..2464b6a25 --- /dev/null +++ b/ports/quickfast/CMakeLists.txt @@ -0,0 +1,54 @@ +cmake_minimum_required(VERSION 3.13) +project(quickfast CXX) + +option(BUILD_SHARED_LIBS "Build shared instead of static library" ON) + +find_package(Boost REQUIRED COMPONENTS thread) +find_package(XercesC REQUIRED) + +file(GLOB SOURCES + quickfast/Application/*.cpp + quickfast/Common/*.cpp + quickfast/Codecs/*.cpp + quickfast/Communication/*.cpp + quickfast/Messages/*.cpp +) + +file(GLOB HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + quickfast/Application/*.h + quickfast/Common/*.h + quickfast/Codecs/*.h + quickfast/Communication/*.h + quickfast/Messages/*.h +) + +if(BUILD_SHARED_LIBS) + add_library(quickfast SHARED ${HEADERS} ${SOURCES}) + target_compile_definitions(quickfast PRIVATE -DQUICKFAST_BUILD_DLL) +else() + add_library(quickfast STATIC ${HEADERS} ${SOURCES}) + target_compile_definitions(quickfast PUBLIC -DQUICKFAST_HAS_DLL=0) +endif() + +target_include_directories(quickfast PUBLIC + $ + $ + $ +) + +target_link_libraries(quickfast PRIVATE + ${Boost_LIBRARIES} + XercesC::XercesC +) + +install(TARGETS quickfast EXPORT quickfast-config + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) +install(EXPORT quickfast-config DESTINATION share/cmake/quickfast) + +foreach (HEADER ${HEADERS} ) + get_filename_component(HEADER_DIR ${HEADER} DIRECTORY) + install(FILES ${HEADER} DESTINATION include/${HEADER_DIR}) +endforeach() diff --git a/ports/quickfast/CONTROL b/ports/quickfast/CONTROL new file mode 100644 index 000000000..6f0ff5277 --- /dev/null +++ b/ports/quickfast/CONTROL @@ -0,0 +1,5 @@ +Source: quickfast +Version: 1.5 +Build-Depends: boost-asio, xerces-c +Homepage: https://github.com/objectcomputing/quickfast +Description: QuickFAST is an Open Source native C++ implementation of the FAST Protocol [SM]. diff --git a/ports/quickfast/portfile.cmake b/ports/quickfast/portfile.cmake new file mode 100644 index 000000000..7f3f6b8f4 --- /dev/null +++ b/ports/quickfast/portfile.cmake @@ -0,0 +1,50 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO objectcomputing/quickfast + REF V1_5 + SHA512 f224ffbe0ee1b84616b46d536d27da01346103cf9ed135a87543da51e8e979ec3735e08ece8525ee1316ea323d41dcacc4d44eabe2e033d68f93432ea43d1ce9 + HEAD_REF master + PATCHES 00001-fix-boost-asio.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +if(NOT EXISTS "${SOURCE_PATH}/quickfast") + file(RENAME ${SOURCE_PATH}/src ${SOURCE_PATH}/quickfast) +endif() + +file(GLOB_RECURSE SRC_FILES "${SOURCE_PATH}/quickfast/*.cpp" "${SOURCE_PATH}/quickfast/*.h") +foreach(SRC_FILE IN LISTS SRC_FILES) + file(READ "${SRC_FILE}" _contents) + string(REPLACE "#include ) + + set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${quickfix_VERSION} SOVERSION ${quickfix_VERSION_MAJOR} ) ++target_compile_definitions(${PROJECT_NAME} PUBLIC HAVE_STD_UNIQUE_PTR HAVE_STD_SHARED_PTR HAVE_SSL=1) + +-install(TARGETS ${PROJECT_NAME} DESTINATION lib) ++install(TARGETS ${PROJECT_NAME} EXPORT quickfix-config DESTINATION lib) + install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/C++/ DESTINATION include/quickfix + FILES_MATCHING PATTERN "*.h" + PATTERN double-conversion EXCLUDE + PATTERN test EXCLUDE) ++install(EXPORT quickfix-config DESTINATION share/cmake/quickfix) +diff --git a/src/C++/Utility.h b/src/C++/Utility.h +index 0aa2cd3e..2829e110 100644 +--- a/src/C++/Utility.h ++++ b/src/C++/Utility.h +@@ -242,4 +242,10 @@ using std::strtol; + using std::strerror; + #endif + ++#ifdef __cpp_noexcept_function_type ++#define QUICKFIX_THROW(...) noexcept(false) ++#else ++#define QUICKFIX_THROW(...) throw(__VA_ARGS__) ++#endif ++ + #endif +diff --git a/src/C++/UtilitySSL.cpp b/src/C++/UtilitySSL.cpp +index a01606ac..aee41bbf 100644 +--- a/src/C++/UtilitySSL.cpp ++++ b/src/C++/UtilitySSL.cpp +@@ -498,7 +498,11 @@ static void ssl_rand_seed(void) + /* + * seed in the current process id (usually just 4 bytes) + */ ++#ifdef _MSC_VER ++ pid = GetCurrentProcessId(); ++#else + pid = getpid(); ++#endif + l = sizeof(pid); + RAND_seed((unsigned char *)&pid, l); + /* +diff --git a/src/C++/double-conversion/utils.h b/src/C++/double-conversion/utils.h +index aef2f166..779b8ab7 100644 +--- a/src/C++/double-conversion/utils.h ++++ b/src/C++/double-conversion/utils.h +@@ -61,7 +61,7 @@ + // disabled.) + // On Linux,x86 89255e-22 != Div_double(89255.0/1e22) + #if defined(_M_X64) || defined(__x86_64__) || \ +- defined(__ARMEL__) || defined(__avr32__) || \ ++ defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \ + defined(__hppa__) || defined(__ia64__) || \ + defined(__mips__) || \ + defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \ diff --git a/ports/quickfix/CONTROL b/ports/quickfix/CONTROL new file mode 100644 index 000000000..243a18fee --- /dev/null +++ b/ports/quickfix/CONTROL @@ -0,0 +1,5 @@ +Source: quickfix +Version: 1.15.1-1 +Build-Depends: openssl +Homepage: https://github.com/quickfix/quickfix +Description: QuickFIX is a free and open source implementation of the FIX protocol. diff --git a/ports/quickfix/portfile.cmake b/ports/quickfix/portfile.cmake new file mode 100644 index 000000000..e560bed94 --- /dev/null +++ b/ports/quickfix/portfile.cmake @@ -0,0 +1,50 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO quickfix/quickfix + REF v1.15.1 + SHA512 6c3dc53f25932c9b7516ab9228f634511ae0f399719f87f0ec2b38c380c0a7d1c808f0f9a14a70a063e1956118550d1121222283a9139f23cd4f8f038f595f70 + HEAD_REF master + PATCHES 00001-fix-build.patch +) + +file(GLOB_RECURSE SRC_FILES RELATIVE ${SOURCE_PATH} + "${SOURCE_PATH}/src/*.cpp" + "${SOURCE_PATH}/src/*.h" +) + +list(REMOVE_ITEM SRC_FILES "src/C++/Utility.h") +list(REMOVE_ITEM SRC_FILES "src/C++/pugixml.cpp") + +foreach(SRC_FILE IN LISTS SRC_FILES) + file(READ "${SOURCE_PATH}/${SRC_FILE}" _contents) + string(REPLACE "throw(" "QUICKFIX_THROW(" _contents "${_contents}") + string(REPLACE "throw (" "QUICKFIX_THROW(" _contents "${_contents}") + file(WRITE "${SOURCE_PATH}/${SRC_FILE}" "${_contents}") +endforeach() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DHAVE_EMX=OFF + -DHAVE_MYSQL=OFF + -DHAVE_POSTGRESQL=OFF + -DHAVE_PYTHON=OFF + -DHAVE_PYTHON2=OFF + -DHAVE_PYTHON3=OFF + -DHAVE_SSL=ON + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/quickfix) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/quickfix/copyright COPYONLY) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/quickfix) diff --git a/ports/quickfix/usage b/ports/quickfix/usage new file mode 100644 index 000000000..2bed80460 --- /dev/null +++ b/ports/quickfix/usage @@ -0,0 +1,4 @@ +The package quickfix provides CMake targets: + + find_package(quickfix CONFIG REQUIRED) + target_link_libraries(main PRIVATE quickfix) diff --git a/ports/quirc/CONTROL b/ports/quirc/CONTROL index 0fedf24c2..039269055 100644 --- a/ports/quirc/CONTROL +++ b/ports/quirc/CONTROL @@ -1,3 +1,3 @@ Source: quirc -Version: 1.0-3 +Version: 1.0-4 Description: quirc is one of the C library available for scanning QR Codes diff --git a/ports/quirc/portfile.cmake b/ports/quirc/portfile.cmake index d45b283b4..5305f0835 100644 --- a/ports/quirc/portfile.cmake +++ b/ports/quirc/portfile.cmake @@ -8,16 +8,12 @@ vcpkg_from_github( REF v1.0 SHA512 a556b08f2e2c710648b342fd06a855aa577b2b8c047c45a1c47cf54cde9963faf612978afba80bfd60a6f4f63156566f549ea303f09ed6e5348c1c30f5d77c13 HEAD_REF master + PATCHES + patch-for-msvc.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/patch-for-msvc.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/qwt/CONTROL b/ports/qwt/CONTROL index 230203b34..62235f3c3 100644 --- a/ports/qwt/CONTROL +++ b/ports/qwt/CONTROL @@ -1,5 +1,5 @@ Source: qwt -Version: 6.1.3-6 +Version: 6.1.3-8 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/build-shared-lib.patch b/ports/qwt/build-shared-lib.patch deleted file mode 100644 index 2a8447d52..000000000 --- a/ports/qwt/build-shared-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/qwtconfig.pri b/qwtconfig.pri -index 756231a..2dc3715 100644 ---- a/qwtconfig.pri -+++ b/qwtconfig.pri -@@ -72,7 +72,7 @@ QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features - # it will be a static library. - ###################################################################### - --# QWT_CONFIG += QwtDll -+QWT_CONFIG += QwtDll - - ###################################################################### - # QwtPlot enables all classes, that are needed to use the QwtPlot diff --git a/ports/qwt/build-static-lib.patch b/ports/qwt/build-static-lib.patch deleted file mode 100644 index 3e1b462ac..000000000 --- a/ports/qwt/build-static-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/qwtconfig.pri b/qwtconfig.pri -index 2dc3715..756231a 100644 ---- a/qwtconfig.pri -+++ b/qwtconfig.pri -@@ -72,7 +72,7 @@ QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features - # it will be a static library. - ###################################################################### - --QWT_CONFIG += QwtDll -+# QWT_CONFIG += QwtDll - - ###################################################################### - # QwtPlot enables all classes, that are needed to use the QwtPlot diff --git a/ports/qwt/fix-dynamic-static.patch b/ports/qwt/fix-dynamic-static.patch new file mode 100644 index 000000000..b608681f2 --- /dev/null +++ b/ports/qwt/fix-dynamic-static.patch @@ -0,0 +1,15 @@ +diff --git a/qwtconfig.pri b/qwtconfig.pri +index 1fe6055..441c69b 100644 +--- a/qwtconfig.pri ++++ b/qwtconfig.pri +@@ -72,7 +72,10 @@ QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features + # it will be a static library. + ###################################################################### + ++CONFIG(dynamic, dynamic|static) { ++ + QWT_CONFIG += QwtDll ++} + + ###################################################################### + # QwtPlot enables all classes, that are needed to use the QwtPlot diff --git a/ports/qwt/portfile.cmake b/ports/qwt/portfile.cmake index 918914a01..ca5762d42 100644 --- a/ports/qwt/portfile.cmake +++ b/ports/qwt/portfile.cmake @@ -1,36 +1,38 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/qwt-6.1.3) + vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/qwt/files/qwt/6.1.3/qwt-6.1.3.zip" FILENAME "qwt-6.1.3.zip" SHA512 8f249e23d50f71d14fca37776ea40d8d6931db14d9602e03a343bfb7a9bf55502202103135b77f583c3890a7924220e8a142a01c448dbde311860d89a3b10fc8 ) -vcpkg_extract_source_archive(${ARCHIVE}) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/build-shared-lib.patch" - QUIET - ) -else() - vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/build-static-lib.patch" - QUIET - ) -endif() +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH + 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}) - -vcpkg_build_qmake( - RELEASE_TARGETS sub-src-release_ordered - DEBUG_TARGETS sub-src-debug_ordered +vcpkg_configure_qmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + CONFIG+=${VCPKG_LIBRARY_LINKAGE} ) +if (CMAKE_HOST_WIN32) + vcpkg_build_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( + 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}") @@ -41,30 +43,21 @@ file(GLOB HEADER_FILES ${SOURCE_PATH}/src/*.h) file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/qwt) #Install the module files -file(INSTALL - ${RELEASE_DIR}/lib/qwt.lib - DESTINATION ${CURRENT_PACKAGES_DIR}/lib -) +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) -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 - ) + 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() -vcpkg_copy_pdbs() # 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) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/qwt/COPYING ${CURRENT_PACKAGES_DIR}/share/qwt/copyright) \ No newline at end of file diff --git a/ports/rabit/CONTROL b/ports/rabit/CONTROL new file mode 100644 index 000000000..7b07cba7b --- /dev/null +++ b/ports/rabit/CONTROL @@ -0,0 +1,6 @@ +Source: rabit +Version: 0.1-2 +Homepage: https://github.com/dmlc/rabit +Description: rabit is a light weight library that provides a fault tolerant interface of Allreduce and Broadcast. It is designed to support easy implementations of distributed machine learning programs, many of which fall naturally under the Allreduce abstraction. +Build-Depends: dmlc + diff --git a/ports/rabit/fix-file-conflict.patch b/ports/rabit/fix-file-conflict.patch new file mode 100644 index 000000000..665695305 --- /dev/null +++ b/ports/rabit/fix-file-conflict.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 08330d9..a58d669 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,10 +5,16 @@ project(rabit VERSION 0.0.0) + option(RABIT_BUILD_TESTS "Build rabit tests" OFF) + option(RABIT_BUILD_MPI "Build MPI" OFF) + ++find_package(dmlc CONFIG REQUIRED) ++ + add_library(rabit src/allreduce_base.cc src/allreduce_robust.cc src/engine.cc src/c_api.cc) + add_library(rabit_base src/allreduce_base.cc src/engine_base.cc src/c_api.cc) + add_library(rabit_empty src/engine_empty.cc src/c_api.cc) + ++target_link_libraries(rabit dmlc::dmlc) ++target_link_libraries(rabit_base dmlc::dmlc) ++target_link_libraries(rabit_empty dmlc::dmlc) ++ + set(rabit_libs rabit rabit_base rabit_empty) + if(RABIT_BUILD_MPI) + find_package(MPI REQUIRED) +@@ -22,7 +28,6 @@ if(RABIT_BUILD_TESTS) + add_library(rabit_mock STATIC src/allreduce_base.cc src/allreduce_robust.cc src/engine_mock.cc src/c_api.cc) + list(APPEND rabit_libs rabit_mock) # add to list to apply build settings, then remove + endif() +- + foreach(lib ${rabit_libs}) + #include "./internal/utils.h" + target_include_directories(${lib} PUBLIC +@@ -42,7 +47,8 @@ if(RABIT_BUILD_TESTS) + if(RABIT_BUILD_MPI) + add_executable(speed_test_mpi test/speed_test.cc) + target_link_libraries(speed_test_mpi rabit_mpi) +- install(TARGETS speed_test_mpi DESTINATION bin) ++ install(TARGETS speed_test_mpi DESTINATION bin) ++ message("IN MPI ") + endif() + endif() + +diff --git a/include/rabit/serializable.h b/include/rabit/serializable.h +index 4a3c2a1..0fd4154 100644 +--- a/include/rabit/serializable.h ++++ b/include/rabit/serializable.h +@@ -9,7 +9,7 @@ + #include + #include + #include "./internal/utils.h" +-#include "../dmlc/io.h" ++#include + + namespace rabit { + /*! diff --git a/ports/rabit/portfile.cmake b/ports/rabit/portfile.cmake new file mode 100644 index 000000000..80ad0554c --- /dev/null +++ b/ports/rabit/portfile.cmake @@ -0,0 +1,36 @@ +include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} does not currently support UWP.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dmlc/rabit + REF v0.1 + SHA512 145fd839898cb95eaab9a88ad3301a0ccac0c8b672419ee2b8eb6ba273cc9a26e069e5ecbc37a3078e46dc64d11efb3e5ab10e5f8fed714e7add85b9e6ac2ec7 + HEAD_REF master + PATCHES fix-file-conflict.patch +) + +file(REMOVE_RECURSE ${SOURCE_PATH}/include/dmlc) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DRABIT_BUILD_TESTS=OFF + -DRABIT_BUILD_MPI=OFF +) + +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(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/ragel/0001-Remove-unistd.h-include-1.patch b/ports/ragel/0001-Remove-unistd.h-include-1.patch deleted file mode 100644 index 2cdc39b72..000000000 --- a/ports/ragel/0001-Remove-unistd.h-include-1.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 4a337ce9475c75497f4221cadd9d2dd8126835c7 Mon Sep 17 00:00:00 2001 -From: vlj -Date: Tue, 4 Oct 2016 17:54:22 +0200 -Subject: [PATCH 1/2] Remove unistd.h include 1 - ---- - ragel-6.10/ragel/main.cpp | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/ragel-6.10/ragel/main.cpp b/ragel-6.10/ragel/main.cpp -index f5fbd7b..e3bcc18 100644 ---- a/ragel-6.10/ragel/main.cpp -+++ b/ragel-6.10/ragel/main.cpp -@@ -24,7 +24,6 @@ - #include - #include - #include --#include - #include - #include - #include --- -2.10.0.windows.1 - diff --git a/ports/ragel/0001-remove-unistd-h.patch b/ports/ragel/0001-remove-unistd-h.patch new file mode 100644 index 000000000..fba598e0c --- /dev/null +++ b/ports/ragel/0001-remove-unistd-h.patch @@ -0,0 +1,14 @@ +diff --git a/ragel/main.cpp b/ragel/main.cpp +index f5fbd7b..947b1c8 100644 +--- a/ragel/main.cpp ++++ b/ragel/main.cpp +@@ -24,9 +24,7 @@ + #include + #include + #include +-#include + #include +-#include + #include + #include + #include diff --git a/ports/ragel/0002-Remove-unistd.h-include-2.patch b/ports/ragel/0002-Remove-unistd.h-include-2.patch deleted file mode 100644 index b2c0e497a..000000000 --- a/ports/ragel/0002-Remove-unistd.h-include-2.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 259bb8be3f66e32063652cb4f1a456b7327ca513 Mon Sep 17 00:00:00 2001 -From: vlj -Date: Tue, 4 Oct 2016 17:54:38 +0200 -Subject: [PATCH 2/2] Remove unistd.h include 2 - ---- - ragel-6.10/ragel/main.cpp | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/ragel-6.10/ragel/main.cpp b/ragel-6.10/ragel/main.cpp -index e3bcc18..947b1c8 100644 ---- a/ragel-6.10/ragel/main.cpp -+++ b/ragel-6.10/ragel/main.cpp -@@ -25,7 +25,6 @@ - #include - #include - #include --#include - #include - #include - #include --- -2.10.0.windows.1 - diff --git a/ports/ragel/CONTROL b/ports/ragel/CONTROL index 112128a52..abec9f49a 100644 --- a/ports/ragel/CONTROL +++ b/ports/ragel/CONTROL @@ -1,4 +1,4 @@ Source: ragel -Version: 6.10-1 +Version: 6.10-3 Homepage: https://www.colm.net/files/ragel Description: Ragel State Machine Compiler diff --git a/ports/ragel/portfile.cmake b/ports/ragel/portfile.cmake index 00082e4bd..037f34289 100644 --- a/ports/ragel/portfile.cmake +++ b/ports/ragel/portfile.cmake @@ -1,24 +1,24 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ragel-6.10) + vcpkg_download_distfile(ARCHIVE URLS "http://www.colm.net/files/ragel/ragel-6.10.tar.gz" FILENAME "ragel-6.10.tar.gz" SHA512 6c1fe4f6fa8546ae28b92ccfbae94355ff0d3cea346b9ae8ce4cf6c2bdbeb823e0ccd355332643ea72d3befd533a8b3030ddbf82be7ffa811c2c58cbb01aaa38 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + 0001-remove-unistd-h.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/ragel) -vcpkg_apply_patches( - SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/0001-Remove-unistd.h-include-1.patch" - "${CMAKE_CURRENT_LIST_DIR}/0002-Remove-unistd.h-include-2.patch" -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/range-v3-vs2015/CONTROL b/ports/range-v3-vs2015/CONTROL index 62c9f63ce..34ce349e1 100644 --- a/ports/range-v3-vs2015/CONTROL +++ b/ports/range-v3-vs2015/CONTROL @@ -1,3 +1,4 @@ Source: range-v3-vs2015 Version: 20151130-vcpkg5 +Homepage: https://github.com/Microsoft/Range-V3-VS2015 Description: Range library for C++11/14/17. diff --git a/ports/range-v3/CONTROL b/ports/range-v3/CONTROL index fb534ac29..53a919192 100644 --- a/ports/range-v3/CONTROL +++ b/ports/range-v3/CONTROL @@ -1,4 +1,4 @@ Source: range-v3 -Version: 0.5.0 -Homepage: https://github.com/Microsoft/Range-V3-VS2015 +Version: 0.9.1 +Homepage: https://github.com/ericniebler/range-v3 Description: Range library for C++11/14/17. diff --git a/ports/range-v3/portfile.cmake b/ports/range-v3/portfile.cmake index 625d6dd48..9fb05fbcf 100644 --- a/ports/range-v3/portfile.cmake +++ b/ports/range-v3/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ericniebler/range-v3 - REF 0.5.0 - SHA512 076be03b0f4113acb5fb4db83ed5e755bed60ff8df9a7b982b144949cce40f0bb0579ecca38c1f33643b63037b8d311afa6d613b50811e1191b63e2c42a0d4bf + REF 8a732ee6736af8af024b5b2032580b85a9be8239 + SHA512 a052d29fd0164d8a0ad2c70da0fe4e771c98bac3fb5ccdde4819f1b9b865504f9e649736a2adf996e62b08f2499feeaedf19dc47a0ff846d3482b79ef2946ead HEAD_REF master ) diff --git a/ports/rapidjson/CONTROL b/ports/rapidjson/CONTROL index 02f7b5107..b0b944f01 100644 --- a/ports/rapidjson/CONTROL +++ b/ports/rapidjson/CONTROL @@ -1,4 +1,4 @@ Source: rapidjson -Version: 1.1.0-3 -Description: A fast JSON parser/generator for C++ with both SAX/DOM style API -Homepage: http://rapidjson.org/ +Version: 2019-06-28 +Description: A fast JSON parser/generator for C++ with both SAX/DOM style API +Homepage: http://rapidjson.org/ \ No newline at end of file diff --git a/ports/rapidjson/arm64-endian.patch b/ports/rapidjson/arm64-endian.patch deleted file mode 100644 index 81fd92132..000000000 --- a/ports/rapidjson/arm64-endian.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/rapidjson/rapidjson.h b/include/rapidjson/rapidjson.h -index 053b2ce..1e0b8f3 100644 ---- a/include/rapidjson/rapidjson.h -+++ b/include/rapidjson/rapidjson.h -@@ -236,7 +236,7 @@ - # define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN - # elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) - # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN --# elif defined(_MSC_VER) && defined(_M_ARM) -+# elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64)) - # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN - # elif defined(RAPIDJSON_DOXYGEN_RUNNING) - # define RAPIDJSON_ENDIAN diff --git a/ports/rapidjson/portfile.cmake b/ports/rapidjson/portfile.cmake index 2e3787857..da251429d 100644 --- a/ports/rapidjson/portfile.cmake +++ b/ports/rapidjson/portfile.cmake @@ -4,10 +4,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Tencent/rapidjson - REF v1.1.0 - SHA512 2e82a4bddcd6c4669541f5945c2d240fb1b4fdd6e239200246d3dd50ce98733f0a4f6d3daa56f865d8c88779c036099c52a9ae85d47ad263686b68a88d832dff + REF d87b698d0fcc10a5f632ecbc80a9cb2a8fa094a5 + SHA512 1770668c954e1bfa40da3956ccf2252703d2addb058bb8c0bf579abac585262452d0e15dcfed9ac2fa358c0da305d706226fdab8310b584017aba98e4f31db4f HEAD_REF master - PATCHES arm64-endian.patch ) # Use RapidJSON's own build process, skipping examples and tests @@ -22,19 +21,14 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -# Move CMake config files to the right place vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -# Delete redundant directories file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/share/doc) -# Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/license.txt ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/rapidjson) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/rapidjson/license.txt ${CURRENT_PACKAGES_DIR}/share/rapidjson/copyright) +file(READ "${CURRENT_PACKAGES_DIR}/share/rapidjson/RapidJSONConfig.cmake" _contents) +string(REPLACE "\${RapidJSON_SOURCE_DIR}" "\${RapidJSON_CMAKE_DIR}/../.." _contents "${_contents}") +file(WRITE "${CURRENT_PACKAGES_DIR}/share/rapidjson/RapidJSONConfig.cmake" "${_contents}\nset(RAPIDJSON_INCLUDE_DIRS \"\${RapidJSON_INCLUDE_DIRS}\")\n") + +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}) -if(VCPKG_USE_HEAD_VERSION) - file(READ "${CURRENT_PACKAGES_DIR}/share/rapidjson/RapidJSONConfig.cmake" _contents) - string(REPLACE "\${RapidJSON_SOURCE_DIR}" "\${RapidJSON_CMAKE_DIR}/../.." _contents "${_contents}") - file(WRITE "${CURRENT_PACKAGES_DIR}/share/rapidjson/RapidJSONConfig.cmake" "${_contents}\nset(RAPIDJSON_INCLUDE_DIRS \"\${RapidJSON_INCLUDE_DIRS}\")\n") - # Note: adding this extra setting for RAPIDJSON_INCLUDE_DIRS maintains compatibility with previous rapidjson versions -endif() diff --git a/ports/rapidxml/CONTROL b/ports/rapidxml/CONTROL index bfc1eb77b..672fe47d2 100644 --- a/ports/rapidxml/CONTROL +++ b/ports/rapidxml/CONTROL @@ -1,4 +1,4 @@ Source: rapidxml -Version: 1.13 +Version: 1.13-1 Homepage: https://sourceforge.net/projects/rapidxml Description: RapidXml is an attempt to create the fastest XML parser possible, while retaining useability, portability and reasonable W3C compatibility. diff --git a/ports/rapidxml/portfile.cmake b/ports/rapidxml/portfile.cmake index dd8f0d4c2..ef0cd959a 100644 --- a/ports/rapidxml/portfile.cmake +++ b/ports/rapidxml/portfile.cmake @@ -1,12 +1,16 @@ #header-only library include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/rapidxml-1.13) + vcpkg_download_distfile(ARCHIVE URLS "https://sourceforge.net/projects/rapidxml/files/rapidxml/rapidxml%201.13/rapidxml-1.13.zip/download" FILENAME "rapidxml-1.13.zip" SHA512 6c10583e6631ccdb0217d0a5381172cb4c1046226de6ef1acf398d85e81d145228e14c3016aefcd7b70a1db8631505b048d8b4f5d4b0dbf1811d2482eefdd265 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) # Handle copyright file(COPY ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rapidxml) diff --git a/ports/raylib/CONTROL b/ports/raylib/CONTROL index 3be7c5eac..8d50803e6 100644 --- a/ports/raylib/CONTROL +++ b/ports/raylib/CONTROL @@ -1,5 +1,5 @@ Source: raylib -Version: 2019-04-27-2 +Version: 2.5.0 Description: A simple and easy-to-use library to enjoy videogames programming #Build-Depends: glfw3 diff --git a/ports/raylib/portfile.cmake b/ports/raylib/portfile.cmake index 82c79a44c..523cbb2b7 100644 --- a/ports/raylib/portfile.cmake +++ b/ports/raylib/portfile.cmake @@ -20,8 +20,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO raysan5/raylib - REF f37e55a77bd6177dbaea4d7f484961c09104e104 - SHA512 57146ebc7ab22a4e60c1d9eecd4c7a8f1930d6709f45761af809da9ea4f161e9fd450fa1042252a80bd7952ed9571a5d8dee4d454c8903a778e3e1328300b2bd + REF a9f33c9a8962735fed5dd1857709d159bc4056fc # 2.5.0 + SHA512 36ee474d5f1791385a6841e20632e078c0d3a591076faed0a648533513a3218e2817b0bbf7a921cc003c9aaf6a07024fd48830697d9d85eba307be27bd884ad8 HEAD_REF master ) diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL index 32a1726ab..a9a8a2fee 100644 --- a/ports/re2/CONTROL +++ b/ports/re2/CONTROL @@ -1,4 +1,4 @@ Source: re2 -Version: 2019-05-07 +Version: 2019-09-01 Homepage: https://github.com/google/re2 -Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. \ No newline at end of file +Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake index 3cb43876a..0b1ba3536 100644 --- a/ports/re2/portfile.cmake +++ b/ports/re2/portfile.cmake @@ -3,18 +3,19 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/re2 - REF cd23be77c716bf75ebb3ddc07fa3ef0c943da6d2 - SHA512 c307fc9294497dc3b4ae95db117f310e0db8f91a90c32bb316fe7e32414b2ade48264471e7a7bb0860aa9b0afe7dd460dadc552b1173ac35235ad3624c6f2ed5 + REF 2019-09-01 + SHA512 df446a7a00f3e8cd3f09c746ad41a6f58af3da88ab31cf8e2498d26e240bbe1f557f462fb6b10a818c3e00e02ec19dc60ce29eb6c4d61781aeb9b96b4c4e5af9 HEAD_REF master ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DRE2_BUILD_TESTING=OFF ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/re2 TARGET_PATH share/re2) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/re2) vcpkg_copy_pdbs() diff --git a/ports/readline-win32/portfile.cmake b/ports/readline-win32/portfile.cmake index 51ad377e7..b7c60e073 100644 --- a/ports/readline-win32/portfile.cmake +++ b/ports/readline-win32/portfile.cmake @@ -8,13 +8,11 @@ vcpkg_from_github( HEAD_REF master ) -set(SOURCE_PATH "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src") - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src/readline/5.0/readline-5.0-src) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/src/readline/5.0/readline-5.0-src) vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH}/src/readline/5.0/readline-5.0-src PREFER_NINJA ) @@ -22,10 +20,9 @@ vcpkg_install_cmake() # Copy headers file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/include/readline) -file(GLOB headers "${SOURCE_PATH}/*.h") +file(GLOB headers "${SOURCE_PATH}/src/readline/5.0/readline-5.0-src/*.h") file(COPY ${headers} DESTINATION ${CURRENT_PACKAGES_DIR}/include/readline) vcpkg_copy_pdbs() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL ${SOURCE_PATH}/src/readline/5.0/readline-5.0-src/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/readosm/CONTROL b/ports/readosm/CONTROL index caf32bf4b..104ef3b5c 100644 --- a/ports/readosm/CONTROL +++ b/ports/readosm/CONTROL @@ -1,5 +1,5 @@ Source: readosm -Version: 1.1.0-1 +Version: 1.1.0-2 Homepage: https://www.gaia-gis.it/gaia-sins/readosm-sources Description: ReadOSM is an open source library to extract valid data from within an Open Street Map input file (.osm or .osm.pbf) Build-Depends: expat, zlib diff --git a/ports/readosm/portfile.cmake b/ports/readosm/portfile.cmake index 5bd5a134f..8059a6ffa 100644 --- a/ports/readosm/portfile.cmake +++ b/ports/readosm/portfile.cmake @@ -1,17 +1,17 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/readosm-1.1.0) + vcpkg_download_distfile(ARCHIVE URLS "http://www.gaia-gis.it/gaia-sins/readosm-sources/readosm-1.1.0.tar.gz" FILENAME "readosm-1.1.0.tar.gz" SHA512 d3581f564c4461c6a1a3d5fd7d18a262c884b2ac935530064bfaebd6c05d692fb92cc600fb40e87e03f7160ebf0eeeb05f51a0e257935d056b233fe28fc01a11 ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch - ${CMAKE_CURRENT_LIST_DIR}/fix-version-macro.patch + fix-makefiles.patch + fix-version-macro.patch ) find_program(NMAKE nmake) diff --git a/ports/realsense2/CONTROL b/ports/realsense2/CONTROL index 40341f080..a1be471fb 100644 --- a/ports/realsense2/CONTROL +++ b/ports/realsense2/CONTROL @@ -1,10 +1,10 @@ Source: realsense2 -Version: 2.22.0-1 +Version: 2.22.0-2 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). Feature: tools -Build-Depends: opengl +Build-Depends: opengl, glfw3 Description: Build Intel® RealSense™ examples and tools Feature: openni2 diff --git a/ports/realsense2/fix-dependency-glfw3.patch b/ports/realsense2/fix-dependency-glfw3.patch new file mode 100644 index 000000000..3d6ff52b9 --- /dev/null +++ b/ports/realsense2/fix-dependency-glfw3.patch @@ -0,0 +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/ports/realsense2/portfile.cmake b/ports/realsense2/portfile.cmake index decc9b504..560a2a52e 100644 --- a/ports/realsense2/portfile.cmake +++ b/ports/realsense2/portfile.cmake @@ -7,7 +7,8 @@ vcpkg_from_github( SHA512 7595780c1955a2d4a91df5b70ab6366c672f389bc3d2dcb9f2e78a2ea1fc875c65f878103df483205e17f62dfd024ee5f7ccb15afc5d18978d3c25aa071652ab HEAD_REF development PATCHES - "fix_openni2.patch" + fix_openni2.patch + fix-dependency-glfw3.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_CRT_LINKAGE) @@ -68,6 +69,11 @@ if(BUILD_TOOLS) if(NOT BINS) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() + + # Issue#7109, remove mismatched dlls and libs when build with tools, this workaround should be removed when the post-build checks related feature implemented. + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/realsense2-gl.lib) + file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/realsense2-gl.dll) + file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/realsense2-gl.pdb) endif() @@ -76,5 +82,4 @@ if(BUILD_OPENNI2_BINDINGS) DESTINATION ${CURRENT_PACKAGES_DIR}/tools/openni2/OpenNI2/Drivers) endif() -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/realsense2) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/realsense2/LICENSE ${CURRENT_PACKAGES_DIR}/share/realsense2/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/recast/CONTROL b/ports/recast/CONTROL index e19df38c8..3726b99d5 100644 --- a/ports/recast/CONTROL +++ b/ports/recast/CONTROL @@ -1,4 +1,4 @@ Source: recast -Version: 1.5.1-2 +Version: 1.5.1-3 Homepage: https://github.com/recastnavigation/recastnavigation Description: Navigation-mesh Toolset for Games diff --git a/ports/recast/portfile.cmake b/ports/recast/portfile.cmake index a544971d8..a84d06e3c 100644 --- a/ports/recast/portfile.cmake +++ b/ports/recast/portfile.cmake @@ -14,6 +14,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() 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 d55102f55..4ae48295e 100644 --- a/ports/reproc/CONTROL +++ b/ports/reproc/CONTROL @@ -1,3 +1,3 @@ Source: reproc -Version: 6.0.0-1 -Description: Cross-platform library that simplifies working with external CLI applications from C and C++ +Version: 9.0.0 +Description: Cross-platform (C99/C++11) process library diff --git a/ports/reproc/portfile.cmake b/ports/reproc/portfile.cmake index e263c194c..0d6aefced 100644 --- a/ports/reproc/portfile.cmake +++ b/ports/reproc/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DaanDeMeyer/reproc - REF v6.0.0 - SHA512 482eb7b52961878877d1e4a4f1e1a5a867ff5b83f0df3ce47c0eb68f43eabcde720ea7ccb2eeb960dbc29fc61c888db62751984425e9b27c7498dfa4441aa801 + REF v9.0.0 + SHA512 c9ab8c459f4cdf2b740edd461eefa2972a068078999ab97efff4473f1fae4dd774d00ea56cb33bdf883f78eb8d8b73aa721d35dd77e016b047cf4c9dadfee72b HEAD_REF master ) @@ -13,15 +13,14 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DREPROC++=ON - -DREPROC++_INSTALL=ON - -DREPROC_INSTALL=ON + -DREPROC_INSTALL_PKGCONFIG=OFF ) vcpkg_install_cmake() file(GLOB REPROC_CMAKE_FILES ${CURRENT_PACKAGES_DIR}/lib/cmake/reproc++/*) -file(COPY ${REPROC_CMAKE_FILES} DESTINATION ${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 diff --git a/ports/restbed/CONTROL b/ports/restbed/CONTROL index d0eab13ce..7259f92c6 100644 --- a/ports/restbed/CONTROL +++ b/ports/restbed/CONTROL @@ -1,4 +1,8 @@ Source: restbed -Version: 4.16-07-28-2018 +Version: 4.16-07-28-2018-2 Description: Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++11 applications. -Build-Depends: asio \ No newline at end of file +Build-Depends: asio + +Feature: openssl +Build-Depends: openssl +Description: Secure over the wire communication allowing you to transmit private data online. diff --git a/ports/restbed/add_openssl_support.patch b/ports/restbed/add_openssl_support.patch new file mode 100644 index 000000000..72d4dc406 --- /dev/null +++ b/ports/restbed/add_openssl_support.patch @@ -0,0 +1,37 @@ +diff --git a/cmake/Findopenssl.cmake b/cmake/Findopenssl.cmake +index 8db9799..626ff55 100644 +--- a/cmake/Findopenssl.cmake ++++ b/cmake/Findopenssl.cmake +@@ -1,24 +1,7 @@ +-find_library( ssl_LIBRARY_STATIC libssl.a ssleay32.lib HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib" ) +-find_library( crypto_LIBRARY_STATIC libcrypto.a libeay32.lib HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib" ) +- +-find_library( ssl_LIBRARY_SHARED libssl.so libssl.dylib ssleay32.dll HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib" ) +-find_library( crypto_LIBRARY_SHARED libcrypto.so libcrypto.dylib libeay32.dll HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/out32dll" "${PROJECT_SOURCE_DIR}/dependency/openssl" "/usr/local/opt/openssl/lib" "/usr/lib" "/usr/local/lib" "/opt/local/lib" ) +- +-find_path( ssl_INCLUDE openssl/ssl.h HINTS "${PROJECT_SOURCE_DIR}/dependency/openssl/inc32" "${PROJECT_SOURCE_DIR}/dependency/openssl/include" "/usr/local/opt/openssl/include" "/usr/include" "/usr/local/include" "/opt/local/include" ) +- +-if ( ssl_LIBRARY_STATIC AND ssl_LIBRARY_SHARED AND crypto_LIBRARY_STATIC AND crypto_LIBRARY_SHARED ) +- set( OPENSSL_FOUND TRUE ) +- add_definitions( -DBUILD_SSL=TRUE ) +- +- if ( APPLE AND BUILD_SSL ) +- set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations" ) +- endif( ) +- +- message( STATUS "Found OpenSSL include at: ${ssl_INCLUDE}" ) +- message( STATUS "Found OpenSSL library at: ${ssl_LIBRARY_STATIC}" ) +- message( STATUS "Found OpenSSL library at: ${ssl_LIBRARY_SHARED}" ) +- message( STATUS "Found Crypto library at: ${crypto_LIBRARY_STATIC}" ) +- message( STATUS "Found Crypto library at: ${crypto_LIBRARY_SHARED}" ) +-else ( ) +- message( FATAL_ERROR "Failed to locate OpenSSL dependency. see restbed/dependency/openssl; ./config shared; make all" ) +-endif ( ) ++if (BUILD_SSL) ++ set( OPENSSL_FOUND TRUE ) ++ add_definitions( -DBUILD_SSL=TRUE ) ++ if ( APPLE AND BUILD_SSL ) ++ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations" ) ++ endif( ) ++endif() +\ No newline at end of file diff --git a/ports/restbed/portfile.cmake b/ports/restbed/portfile.cmake index 60f1247d8..5c653bd4f 100644 --- a/ports/restbed/portfile.cmake +++ b/ports/restbed/portfile.cmake @@ -2,20 +2,28 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +set(USE_OPENSSL OFF) +if("openssl" IN_LIST FEATURES) + set(ADDITIONAL_PATCH "add_openssl_support.patch") + set(USE_OPENSSL ON) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Corvusoft/restbed REF 0f8af8d8ed183a88e208adeb22da0080d5d74d1e SHA512 f0175a10c88f1ad4f16c8e4cff7ceea7b80c56b0724b59791c23e91f1ecf146dfdbda9e9238d31a35f21d8cdcc413b586cc633725dd0ba87de6b599a7087916f HEAD_REF master - PATCHES cmake.patch + PATCHES + cmake.patch + ${ADDITIONAL_PATCH} ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DBUILD_SSL=OFF + -DBUILD_SSL=${USE_OPENSSL} -DDISABLE_TESTS=ON ) diff --git a/ports/restclient-cpp/CONTROL b/ports/restclient-cpp/CONTROL index 5cb43b1d4..2aac1bbaf 100644 --- a/ports/restclient-cpp/CONTROL +++ b/ports/restclient-cpp/CONTROL @@ -1,4 +1,4 @@ Source: restclient-cpp -Version: 0.5.1 +Version: 0.5.1-2 Build-Depends: curl Description: Binn is a binary data serialization format designed to be compact, fast and easy to use. diff --git a/ports/restclient-cpp/portfile.cmake b/ports/restclient-cpp/portfile.cmake index 116e60920..6ad2fa7cf 100644 --- a/ports/restclient-cpp/portfile.cmake +++ b/ports/restclient-cpp/portfile.cmake @@ -13,6 +13,9 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DCMAKE_DISABLE_FIND_PACKAGE_GTest=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_jsoncpp=TRUE ) vcpkg_install_cmake() diff --git a/ports/restinio/CONTROL b/ports/restinio/CONTROL index b608f12b5..6c2a342ab 100644 --- a/ports/restinio/CONTROL +++ b/ports/restinio/CONTROL @@ -1,4 +1,4 @@ -Source: restinio -Version: 0.5.1 -Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. -Build-Depends: asio, fmt, http-parser +Source: restinio +Version: 0.6.1 +Description: A header-only C++14 library that gives you an embedded HTTP/Websocket server targeted primarily for asynchronous processing of HTTP-requests. +Build-Depends: asio, fmt, http-parser diff --git a/ports/restinio/portfile.cmake b/ports/restinio/portfile.cmake index 9ab82bc4a..0e3d02324 100644 --- a/ports/restinio/portfile.cmake +++ b/ports/restinio/portfile.cmake @@ -1,10 +1,10 @@ include(vcpkg_common_functions) -vcpkg_from_bitbucket( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO sobjectizerteam/restinio - REF v.0.5.1 - SHA512 e8d1f9ac6dcb87012a656ba9f80412db93280b436199013ed36aa31398f0c0e65b634e2e714b9709afae717e2bc432891d5125f4af01b0d3a0ce79169de40870 + REPO stiffstream/restinio + REF v.0.6.1 + SHA512 83a92797a08aef36e8c933568a54cdb0de7d6a864ed8fced50c0c22933fab718eb9a5cf17fb2b0ebd0667c9b07961d2ea3ddf8b40abbc201eaf6660b6204381e ) vcpkg_configure_cmake( @@ -13,8 +13,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/restinio") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/restinio) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/riffcpp/CONTROL b/ports/riffcpp/CONTROL new file mode 100644 index 000000000..2a872faa5 --- /dev/null +++ b/ports/riffcpp/CONTROL @@ -0,0 +1,4 @@ +Source: riffcpp +Version: 2.2.4 +Homepage: https://github.com/libdmusic/riffcpp +Description: Simple library for reading RIFF files diff --git a/ports/riffcpp/portfile.cmake b/ports/riffcpp/portfile.cmake new file mode 100644 index 000000000..057fe2092 --- /dev/null +++ b/ports/riffcpp/portfile.cmake @@ -0,0 +1,26 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libdmusic/riffcpp + REF v2.2.4 + SHA512 abceba02441305267c444ed724ca769fa08369302eb74b7729b700883b9354f3db95d8c68ee15f25844a75f1609edd2bcf7482fc639b9e2d3ee3b8caf5e9585f + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DRIFFCPP_INSTALL_EXAMPLE=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/riffcpp) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/riffcpp/LICENSE ${CURRENT_PACKAGES_DIR}/share/riffcpp/copyright) +vcpkg_test_cmake(PACKAGE_NAME riffcpp) \ No newline at end of file diff --git a/ports/robin-hood-hashing/CONTROL b/ports/robin-hood-hashing/CONTROL index d30871519..785b6f791 100644 --- a/ports/robin-hood-hashing/CONTROL +++ b/ports/robin-hood-hashing/CONTROL @@ -1,3 +1,3 @@ Source: robin-hood-hashing -Version: 3.2.13 +Version: 3.4.0 Description: Fast & memory efficient hashtable based on robin hood hashing for C++14 diff --git a/ports/robin-hood-hashing/portfile.cmake b/ports/robin-hood-hashing/portfile.cmake index 890d6f86a..d3386f01f 100644 --- a/ports/robin-hood-hashing/portfile.cmake +++ b/ports/robin-hood-hashing/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO martinus/robin-hood-hashing - REF 3.2.13 - SHA512 5c508a1f43d2ca86c89b9aac3b17493a23b8ee3c7485438afc8e5eb4e697d663588e1945001ba3ba95dd1480b3c1b846079fadec5972e5ac4462117379052433 + REF 3.4.0 + SHA512 7985d64063af7d28b9404639df48645d2d72b0bc752fde23c7e3bf431adbd8eb4ffbc439e5a8513a39eb54481ce875fb044fafc86c36046995e3193284a594dd HEAD_REF master ) diff --git a/ports/rocksdb/CONTROL b/ports/rocksdb/CONTROL index 6e35d8a9b..1d37c85ca 100644 --- a/ports/rocksdb/CONTROL +++ b/ports/rocksdb/CONTROL @@ -1,5 +1,5 @@ Source: rocksdb -Version: 6.0.2 +Version: 6.1.2-1 Homepage: https://github.com/facebook/rocksdb Description: A library that provides an embeddable, persistent key-value store for fast storage Default-Features: zlib @@ -19,3 +19,7 @@ Description: zlib support in rocksdb Feature: tbb Build-Depends: tbb Description: tbb support in rocksdb + +Feature: zstd +Build-Depends: zstd +Description: zstd support in rocksdb diff --git a/ports/rocksdb/Findzstd.cmake b/ports/rocksdb/Findzstd.cmake new file mode 100644 index 000000000..f047fc2a9 --- /dev/null +++ b/ports/rocksdb/Findzstd.cmake @@ -0,0 +1,13 @@ +find_path(ZSTD_INCLUDE_DIR zstd.h) + +find_library(ZSTD_LIBRARY_DEBUG NAMES zstd) +find_library(ZSTD_LIBRARY_RELEASE NAMES zstd) + +include(SelectLibraryConfigurations) +select_library_configurations(ZSTD) + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS( + ZSTD DEFAULT_MSG + ZSTD_LIBRARY ZSTD_INCLUDE_DIR +) diff --git a/ports/rocksdb/portfile.cmake b/ports/rocksdb/portfile.cmake index 27a9d70d5..b7eb5c78f 100644 --- a/ports/rocksdb/portfile.cmake +++ b/ports/rocksdb/portfile.cmake @@ -1,10 +1,12 @@ include(vcpkg_common_functions) +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/rocksdb - REF v6.0.2 - SHA512 6659f04c9823750b9b635e2a247b59dbda4975458615392df82bdbeb4ac7ac783e6de86a32fcc318aae1bb27880557390c544c99caa3db3885f9c3d836cc1df8 + REF 2b38e2dd6602a17a2010308580fd5d8c91dea650 + SHA512 82e9c2417bd0325b2402a64a56cfff25346e277a8174a33727517ada59502fee4bdeea40b0d20f9c6a86c52b66d57340b898096e39ad91bccc4f3a2245bd49b0 HEAD_REF master PATCHES 0001-disable-gtest.patch @@ -18,6 +20,7 @@ file(REMOVE "${SOURCE_PATH}/cmake/modules/Findzlib.cmake") file(COPY "${CMAKE_CURRENT_LIST_DIR}/Findlz4.cmake" "${CMAKE_CURRENT_LIST_DIR}/Findsnappy.cmake" + "${CMAKE_CURRENT_LIST_DIR}/Findzstd.cmake" DESTINATION "${SOURCE_PATH}/cmake/modules" ) @@ -25,38 +28,22 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" WITH_MD_LIBRARY) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ROCKSDB_DISABLE_INSTALL_SHARED_LIB) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ROCKSDB_DISABLE_INSTALL_STATIC_LIB) -set(WITH_LZ4 OFF) -if("lz4" IN_LIST FEATURES) - set(WITH_LZ4 ON) -endif() - -set(WITH_SNAPPY OFF) -if("snappy" IN_LIST FEATURES) - set(WITH_SNAPPY ON) -endif() - -set(WITH_ZLIB OFF) -if("zlib" IN_LIST FEATURES) - set(WITH_ZLIB ON) -endif() - -set(WITH_TBB OFF) -set(ROCKSDB_IGNORE_PACKAGE_TBB TRUE) -if("tbb" IN_LIST FEATURES) - set(WITH_TBB ON) - set(ROCKSDB_IGNORE_PACKAGE_TBB FALSE) -endif() - +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "lz4" WITH_LZ4 + "snappy" WITH_SNAPPY + "zlib" WITH_ZLIB + "zstd" WITH_ZSTD + "tbb" WITH_TBB + INVERTED_FEATURES + "tbb" CMAKE_DISABLE_FIND_PACKAGE_TBB +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DWITH_GFLAGS=0 - -DWITH_SNAPPY=${WITH_SNAPPY} - -DWITH_LZ4=${WITH_LZ4} - -DWITH_ZLIB=${WITH_ZLIB} - -DWITH_TBB=${WITH_TBB} -DWITH_TESTS=OFF -DUSE_RTTI=1 -DROCKSDB_INSTALL_ON_WINDOWS=ON @@ -66,10 +53,10 @@ vcpkg_configure_cmake( -DCMAKE_DEBUG_POSTFIX=d -DROCKSDB_DISABLE_INSTALL_SHARED_LIB=${ROCKSDB_DISABLE_INSTALL_SHARED_LIB} -DROCKSDB_DISABLE_INSTALL_STATIC_LIB=${ROCKSDB_DISABLE_INSTALL_STATIC_LIB} - -DCMAKE_DISABLE_FIND_PACKAGE_TBB=${ROCKSDB_IGNORE_PACKAGE_TBB} -DCMAKE_DISABLE_FIND_PACKAGE_NUMA=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_gtest=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Git=TRUE + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/rs-core-lib/CONTROL b/ports/rs-core-lib/CONTROL index 1a766286b..c633c0bcf 100644 --- a/ports/rs-core-lib/CONTROL +++ b/ports/rs-core-lib/CONTROL @@ -1,5 +1,5 @@ Source: rs-core-lib -Version: 2019-05-07 +Version: 2019-07-11 Homepage: https://github.com/CaptainCrowbar/rs-core-lib Description: Minimal common utilities by Ross Smith diff --git a/ports/rs-core-lib/portfile.cmake b/ports/rs-core-lib/portfile.cmake index 239d61126..718b9961f 100644 --- a/ports/rs-core-lib/portfile.cmake +++ b/ports/rs-core-lib/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CaptainCrowbar/rs-core-lib - REF 4828e0dc8b7e7ed76935865cfe99181da0da211b - SHA512 97298d94c1cc4cd4cb580bde6c1413a2f429544dc80cae58bc436aad25e385d9ced611a2512a45f1e3d10fd613f26958fc5d3a03ea9bfaefd5170a4b2d1ac124 + REF fda88535dff2193e75bb9d306e4aa38a957b2c91 + SHA512 e1842e2d92b5e935a8d867797d26f998cec628b3030077b8694cc3932546efeac81634e7f6d14189248a945fceb329e24aa39cf830384c04c0d67d2aa6255e57 HEAD_REF master ) diff --git a/ports/rttr/portfile.cmake b/ports/rttr/portfile.cmake index a85a2b157..cb3bfe68c 100644 --- a/ports/rttr/portfile.cmake +++ b/ports/rttr/portfile.cmake @@ -1,7 +1,5 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rttrorg/rttr @@ -10,15 +8,23 @@ vcpkg_from_github( HEAD_REF master PATCHES fix-directory-output.patch - remove-owner-read-perms.patch + remove-owner-read-perms.patch ) +#Handle static lib +set(BUILD_STATIC_LIB OFF) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(BUILD_STATIC_LIB ON) +else() + set(BUILD_STATIC_LIB OFF) +endif() vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DBUILD_BENCHMARKS=OFF - -DBUILD_UNIT_TESTS=OFF + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_BENCHMARKS=OFF + -DBUILD_UNIT_TESTS=OFF + -DBUILD_STATIC=${BUILD_STATIC_LIB} ) vcpkg_install_cmake() @@ -31,6 +37,11 @@ else() message(FATAL_ERROR "RTTR does not support this platform") endif() +#Handle static lib +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}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/rttr) file(RENAME ${CURRENT_PACKAGES_DIR}/share/rttr/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/rttr/copyright) diff --git a/ports/rxcpp/CONTROL b/ports/rxcpp/CONTROL index 2ada65d3b..b34395f12 100644 --- a/ports/rxcpp/CONTROL +++ b/ports/rxcpp/CONTROL @@ -1,4 +1,4 @@ Source: rxcpp -Version: 4.1.0 +Version: 4.1.0-1 Homepage: https://github.com/Reactive-Extensions/RxCpp -Description: Reactive Extensions for C++ \ No newline at end of file +Description: Reactive Extensions for C++ diff --git a/ports/rxcpp/portfile.cmake b/ports/rxcpp/portfile.cmake index 5844f469b..b98701132 100644 --- a/ports/rxcpp/portfile.cmake +++ b/ports/rxcpp/portfile.cmake @@ -1,25 +1,22 @@ -#header-only library -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/RxCpp-4.0.0) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO Reactive-Extensions/RxCpp + REPO ReactiveX/RxCpp REF v4.1.0 SHA512 a92e817ecbdf6f235cae724ada2615af9fa0c243249625d0f2c2f09ff5dd7f53fdabd03a0278fe2995fe27528c5511d71f87b7a6b3d54f73b49b65aef56e32fd HEAD_REF master + PATCHES support_find_package.patch ) -file(INSTALL - ${SOURCE_PATH}/Rx/v2/src/rxcpp - DESTINATION ${CURRENT_PACKAGES_DIR}/include +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF ) -file(INSTALL - ${SOURCE_PATH}/Ix/CPP/src/cpplinq - DESTINATION ${CURRENT_PACKAGES_DIR}/include -) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT}/cmake/) -file(INSTALL - ${SOURCE_PATH}/license.md - DESTINATION ${CURRENT_PACKAGES_DIR}/share/rxcpp RENAME copyright) \ No newline at end of file +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(COPY ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/license.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) diff --git a/ports/rxcpp/support_find_package.patch b/ports/rxcpp/support_find_package.patch new file mode 100644 index 000000000..bb1da2d2d --- /dev/null +++ b/ports/rxcpp/support_find_package.patch @@ -0,0 +1,32 @@ +diff --git a/projects/CMake/CMakeLists.txt b/projects/CMake/CMakeLists.txt +index 3d0744740..293f187c5 100644 +--- a/projects/CMake/CMakeLists.txt ++++ b/projects/CMake/CMakeLists.txt +@@ -146,3 +146,27 @@ set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY TRUE CACHE BOOL "Don't require all project + + install(DIRECTORY ${RXCPP_DIR}/Rx/v2/src/rxcpp/ DESTINATION include/rxcpp + FILES_MATCHING PATTERN "*.hpp") ++ ++# Here we are exporting TARGETS so that other projects can import rxcpp ++# just with find_package(rxcpp CONFIG) after rxcpp is installed into system by "make install". ++add_library(rxcpp INTERFACE) ++ ++target_include_directories(rxcpp INTERFACE ++ $ ++ $ ++) ++ ++install(TARGETS rxcpp EXPORT rxcppConfig) ++install(EXPORT rxcppConfig DESTINATION share/rxcpp/cmake) ++ ++# When find_package(rxcpp SOME_VERSION REQUIRED) will be used in third party project ++# where SOME_VERSION is any version incompatible with ${PROJECT_VERSION} then cmake will generate the error. ++# It means you don't need track versions manually. ++include(CMakePackageConfigHelpers) ++write_basic_package_version_file("${PROJECT_BINARY_DIR}/rxcppConfigVersion.cmake" ++ VERSION ++ ${PROJECT_VERSION} ++ COMPATIBILITY ++ AnyNewerVersion ++) ++install(FILES "${PROJECT_BINARY_DIR}/rxcppConfigVersion.cmake" DESTINATION share/rxcpp/cmake) diff --git a/ports/safeint/CONTROL b/ports/safeint/CONTROL index 6ac85d36b..02676e9e9 100644 --- a/ports/safeint/CONTROL +++ b/ports/safeint/CONTROL @@ -1,3 +1,3 @@ Source: safeint -Version: 3.20.0 +Version: 3.21 Description: SafeInt is a class library for C++ that manages integer overflows diff --git a/ports/safeint/portfile.cmake b/ports/safeint/portfile.cmake index bacd54541..697cdcbb2 100644 --- a/ports/safeint/portfile.cmake +++ b/ports/safeint/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dcleblanc/SafeInt - REF 3.20.0 - SHA512 ebd10ac2578b4ab7968b2f89b7c8114a55bfd1967d625498a555b5354acf5a8c6b145b38429eb0dc853e7a0a33728a2a5acb505888bc983e7b0de81d09f50918 + REF 3.21 + SHA512 211885bccd768ccb175b1f672a4156642f9d75074059cf537b5e2f751a19e37983e6acf7c4bf936ddc8828e0c6510165722f02f76ec943e3c03ca486a48d3340 HEAD_REF master ) diff --git a/ports/sais/CONTROL b/ports/sais/CONTROL index 3c6262c6b..a889a827f 100644 --- a/ports/sais/CONTROL +++ b/ports/sais/CONTROL @@ -1,3 +1,3 @@ Source: sais -Version: 2.4.1 +Version: 2.4.1-1 Description: An implementation of the induced sorting algorithm diff --git a/ports/sais/portfile.cmake b/ports/sais/portfile.cmake index 0387f1313..0e68fccc1 100644 --- a/ports/sais/portfile.cmake +++ b/ports/sais/portfile.cmake @@ -1,12 +1,16 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sais-2.4.1) + vcpkg_download_distfile(ARCHIVE URLS "https://sites.google.com/site/yuta256/sais-2.4.1.zip" FILENAME "sais-2.4.1.zip" SHA512 6f6dd11f842f680bebc1d9b7f6b75752c9589c600fdd5e6373bb7290a686f1de35d4cc3226347e717f89a295363f7fee0ae8b1aa05ad341f4c2ea056fb5b1425 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -20,7 +24,4 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/sais RENAME copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/sciter/CONTROL b/ports/sciter/CONTROL index 0cd3bb219..10beb200a 100644 --- a/ports/sciter/CONTROL +++ b/ports/sciter/CONTROL @@ -1,5 +1,4 @@ Source: sciter -Version: 4.2.6.9-1 +Version: 4.2.6.9-2 Homepage: https://github.com/c-smile/sciter-sdk Description: Sciter is an embeddable HTML/CSS/scripting engine. -Maintainer: andrew.fedoniouk@gmail.com, ehysta@gmail.com diff --git a/ports/sciter/portfile.cmake b/ports/sciter/portfile.cmake index d94cc5469..05fb42408 100644 --- a/ports/sciter/portfile.cmake +++ b/ports/sciter/portfile.cmake @@ -6,7 +6,6 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") message(FATAL_ERROR "Sciter only supports Windows Desktop") endif() - # header-only library set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) @@ -19,20 +18,13 @@ elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) set(SCITER_ARCH 32) endif() - -# check out the `https://github.com/c-smile/sciter-sdk/archive/${SCITER_REVISION}.tar.gz` -# hash checksum can be obtained with `curl -L -o tmp.tgz ${URL} && vcpkg hash tmp.tgz` vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO c-smile/sciter-sdk REF ${SCITER_REVISION} SHA512 ${SCITER_SHA} -) - -# disable stdafx.h -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001_patch_stdafx.patch + PATCHES + 0001_patch_stdafx.patch ) # install include directory diff --git a/ports/scnlib/CONTROL b/ports/scnlib/CONTROL new file mode 100644 index 000000000..5b589084a --- /dev/null +++ b/ports/scnlib/CONTROL @@ -0,0 +1,4 @@ +Source: scnlib +Version: 0.1.2 +Description: scnlib is a modern C++ library for replacing scanf and std::istream +Homepage: https://scnlib.dev/ diff --git a/ports/scnlib/portfile.cmake b/ports/scnlib/portfile.cmake new file mode 100644 index 000000000..08343fc43 --- /dev/null +++ b/ports/scnlib/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 eliaskosunen/scnlib + REF v0.1.2 + SHA512 bb2aa176517d6547d62800839b7e9d86821a4006f7d09a8b3731b67f6fd7130f5cf8d73e7c8331c7c50f1dd5ca19bd3759bb0e181fcaed2f0bfb7fd8276ef141 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DSCN_TESTS=OFF + -DSCN_EXAMPLES=OFF + -DSCN_BENCHMARKS=OFF + -DSCN_DOCS=OFF + -DSCN_RANGES=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/scn) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/scn) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/scnlib RENAME copyright) + + +vcpkg_test_cmake(PACKAGE_NAME scn) diff --git a/ports/sdformat6/CONTROL b/ports/sdformat6/CONTROL new file mode 100644 index 000000000..5733c129d --- /dev/null +++ b/ports/sdformat6/CONTROL @@ -0,0 +1,5 @@ +Source: sdformat6 +Version: 6.2.0 +Homepage: http://sdformat.org/ +Build-Depends: boost-any, boost-variant, ignition-math4, urdfdom, tinyxml +Description: Simulation Description Format (SDF) parser and description files. diff --git a/ports/sdformat6/portfile.cmake b/ports/sdformat6/portfile.cmake new file mode 100644 index 000000000..39e4e5bb0 --- /dev/null +++ b/ports/sdformat6/portfile.cmake @@ -0,0 +1,55 @@ +include(vcpkg_common_functions) + +vcpkg_from_bitbucket( + OUT_SOURCE_PATH SOURCE_PATH + REPO osrf/sdformat + REF sdformat6_6.2.0 + SHA512 3e3934010438bffbf10c1df29bd486c098e3c1bdf2b0349b69a53fb6f4d2bd3b3c8c4b4a8dfb413da13a638c0794f41c1bff4adb11a889b1552d90ba8b94c495 + HEAD_REF sdf6 +) + +# Ruby is required by the sdformat build process +vcpkg_find_acquire_program(RUBY) +get_filename_component(RUBY_PATH ${RUBY} DIRECTORY) +set(_path $ENV{PATH}) +vcpkg_add_to_path(${RUBY_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DBUILD_TESTING=OFF + -DUSE_EXTERNAL_URDF=ON + -DUSE_EXTERNAL_TINYXML=ON +) + +vcpkg_install_cmake() + +# Restore original path +set(ENV{PATH} ${_path}) + +# Move location of sdformat.dll from lib to bin +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/sdformat.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/sdformat.dll + ${CURRENT_PACKAGES_DIR}/bin/sdformat.dll) +endif() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/sdformat.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/sdformat.dll + ${CURRENT_PACKAGES_DIR}/debug/bin/sdformat.dll) +endif() + +# Fix cmake targets location +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/sdformat") + +# Remove debug files +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/lib/cmake + ${CURRENT_PACKAGES_DIR}/debug/share) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdformat6 RENAME copyright) + +# Post-build test for cmake libraries +vcpkg_test_cmake(PACKAGE_NAME SDFormat) diff --git a/ports/sdl1-net/portfile.cmake b/ports/sdl1-net/portfile.cmake index 8bdf4bd3c..0c1d0e130 100644 --- a/ports/sdl1-net/portfile.cmake +++ b/ports/sdl1-net/portfile.cmake @@ -1,12 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL_net-1.2.8) + vcpkg_download_distfile(ARCHIVE URLS "https://www.libsdl.org/projects/SDL_net/release/SDL_net-1.2.8.tar.gz" FILENAME "SDL_net-1.2.8.tar.gz" SHA512 2766ca55343127c619958ab3a3ae3052a27a676839f10a158f7dfc071b8db38c2f1fc853e8add32b9fef94ab07eaa986f46a68e264e8087b57c990af30ea9a0b ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/sdl1/CONTROL b/ports/sdl1/CONTROL index ce37bc05d..071725f3e 100644 --- a/ports/sdl1/CONTROL +++ b/ports/sdl1/CONTROL @@ -1,3 +1,3 @@ Source: sdl1 -Version: 1.2.15-5 +Version: 1.2.15-8 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/SDL.vcxproj b/ports/sdl1/SDL.vcxproj deleted file mode 100644 index 1db10bb76..000000000 --- a/ports/sdl1/SDL.vcxproj +++ /dev/null @@ -1,354 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} - SDL - - - - DynamicLibrary - v141 - false - - - DynamicLibrary - v141 - false - - - DynamicLibrary - v141 - false - - - DynamicLibrary - v141 - false - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>15.0.27924.0 - - - $(SolutionDir)$(Configuration)\ - $(Configuration)\ - true - - - $(SolutionDir)$(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - true - - - $(SolutionDir)$(Configuration)\ - $(Configuration)\ - false - - - $(SolutionDir)$(Platform)\$(Configuration)\ - $(Platform)\$(Configuration)\ - false - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Debug/SDL.tlb - - - Disabled - $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;%(PreprocessorDefinitions) - MultiThreadedDLL - false - - .\Debug/SDL.pch - Level3 - true - EditAndContinue - Default - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - /MACHINE:I386 %(AdditionalOptions) - winmm.lib;dxguid.lib;%(AdditionalDependencies) - .\Debug/SDL.dll - true - false - true - .\Debug/SDL.pdb - Windows - false - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Debug/SDL.tlb - - - Disabled - $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;%(PreprocessorDefinitions) - MultiThreadedDLL - false - - .\Debug/SDL.pch - Level3 - true - ProgramDatabase - Default - - - _DEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;dxguid.lib;%(AdditionalDependencies) - .\Debug/SDL.dll - true - false - true - .\Debug/SDL.pdb - Windows - MachineX64 - false - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - .\Release/SDL.tlb - - - OnlyExplicitInline - false - $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0400;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - - .\Release/SDL.pch - Level3 - true - Default - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - /MACHINE:I386 %(AdditionalOptions) - winmm.lib;dxguid.lib;%(AdditionalDependencies) - .\Release/SDL.dll - true - false - .\Release/SDL.pdb - Windows - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - .\Release/SDL.tlb - - - OnlyExplicitInline - false - $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) - _CRT_SECURE_NO_DEPRECATE;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0400;%(PreprocessorDefinitions) - true - MultiThreadedDLL - false - true - - .\Release/SDL.pch - Level3 - true - Default - - - NDEBUG;%(PreprocessorDefinitions) - 0x0409 - - - winmm.lib;dxguid.lib;%(AdditionalDependencies) - .\Release/SDL.dll - true - false - .\Release/SDL.pdb - Windows - MachineX64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ports/sdl1/SDL_dynamic.vcxproj b/ports/sdl1/SDL_dynamic.vcxproj new file mode 100644 index 000000000..a1ba60760 --- /dev/null +++ b/ports/sdl1/SDL_dynamic.vcxproj @@ -0,0 +1,354 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} + SDL + + + + DynamicLibrary + v141 + false + + + DynamicLibrary + v141 + false + + + DynamicLibrary + v141 + false + + + DynamicLibrary + v141 + false + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.27924.0 + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/SDL.tlb + + + Disabled + $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + MultiThreadedDLL + false + + .\Debug/SDL.pch + Level3 + true + EditAndContinue + Default + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 %(AdditionalOptions) + winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Debug/SDL.dll + true + false + true + .\Debug/SDL.pdb + Windows + false + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/SDL.tlb + + + Disabled + $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + MultiThreadedDLL + false + + .\Debug/SDL.pch + Level3 + true + ProgramDatabase + Default + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Debug/SDL.dll + true + false + true + .\Debug/SDL.pdb + Windows + MachineX64 + false + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/SDL.tlb + + + OnlyExplicitInline + false + $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + + .\Release/SDL.pch + Level3 + true + Default + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 %(AdditionalOptions) + winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Release/SDL.dll + true + false + .\Release/SDL.pdb + Windows + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/SDL.tlb + + + OnlyExplicitInline + false + $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + true + + .\Release/SDL.pch + Level3 + true + Default + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Release/SDL.dll + true + false + .\Release/SDL.pdb + Windows + MachineX64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ports/sdl1/SDL_static.vcxproj b/ports/sdl1/SDL_static.vcxproj new file mode 100644 index 000000000..dfe46bba3 --- /dev/null +++ b/ports/sdl1/SDL_static.vcxproj @@ -0,0 +1,354 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} + SDL + + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.27924.0 + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Debug/SDL.tlb + + + Disabled + $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + MultiThreadedDebug + false + + .\Debug/SDL.pch + Level3 + true + EditAndContinue + Default + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 %(AdditionalOptions) + winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Debug/SDL.dll + true + false + true + .\Debug/SDL.pdb + Windows + false + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Debug/SDL.tlb + + + Disabled + $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + MultiThreadedDebug + false + + .\Debug/SDL.pch + Level3 + true + ProgramDatabase + Default + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Debug/SDL.dll + true + false + true + .\Debug/SDL.pdb + Windows + MachineX64 + false + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + .\Release/SDL.tlb + + + OnlyExplicitInline + false + $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + + .\Release/SDL.pch + Level3 + true + Default + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 %(AdditionalOptions) + winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Release/SDL.dll + true + false + .\Release/SDL.pdb + Windows + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + .\Release/SDL.tlb + + + OnlyExplicitInline + false + $(ProjectDir)\..\..\include;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;NDEBUG;_WINDOWS;_WIN32_WINNT=0x0400;WINDOWS_IGNORE_PACKING_MISMATCH;%(PreprocessorDefinitions) + true + MultiThreaded + false + true + + .\Release/SDL.pch + Level3 + true + Default + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + winmm.lib;dxguid.lib;%(AdditionalDependencies) + .\Release/SDL.dll + true + false + .\Release/SDL.pdb + Windows + MachineX64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ports/sdl1/SDLmain.vcxproj b/ports/sdl1/SDLmain_dynamic.vcxproj similarity index 100% rename from ports/sdl1/SDLmain.vcxproj rename to ports/sdl1/SDLmain_dynamic.vcxproj diff --git a/ports/sdl1/SDLmain_static.vcxproj b/ports/sdl1/SDLmain_static.vcxproj new file mode 100644 index 000000000..3f3b6ca01 --- /dev/null +++ b/ports/sdl1/SDLmain_static.vcxproj @@ -0,0 +1,215 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release_NoSTDIO + Win32 + + + Release_NoSTDIO + x64 + + + Release + Win32 + + + Release + x64 + + + + {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} + + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + StaticLibrary + v141 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>15.0.27924.0 + + + .\Release\ + .\Release\ + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + .\Release_NOSTDIO\ + .\Release_NOSTDIO\ + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + .\Debug\ + .\Debug\ + + + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + + OnlyExplicitInline + ..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + + .\Release/SDLmain.pch + Level3 + Default + + + + + X64 + + + OnlyExplicitInline + ..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + MultiThreaded + true + + .\Release/SDLmain.pch + Level3 + Default + + + + + OnlyExplicitInline + ..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;NO_STDIO_REDIRECT;%(PreprocessorDefinitions) + true + MultiThreaded + true + + .\Release_NOSTDIO/SDLmain.pch + Level3 + Default + + + + + X64 + + + OnlyExplicitInline + ..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_WINDOWS;NO_STDIO_REDIRECT;%(PreprocessorDefinitions) + true + MultiThreaded + true + + .\Release_NOSTDIO/SDLmain.pch + Level3 + Default + + + + + Disabled + ..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDebug + + .\Debug/SDLmain.pch + Level3 + OldStyle + Default + + + + + X64 + + + Disabled + ..\..\include;..\..\include\SDL;%(AdditionalIncludeDirectories) + _CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + MultiThreadedDebug + + .\Debug/SDLmain.pch + Level3 + OldStyle + Default + + + + + + + + + \ No newline at end of file diff --git a/ports/sdl1/fix-linux-build.patch b/ports/sdl1/fix-linux-build.patch new file mode 100644 index 000000000..f6ad36c2d --- /dev/null +++ b/ports/sdl1/fix-linux-build.patch @@ -0,0 +1,13 @@ +diff --git a/src/video/x11/SDL_x11sym.h b/src/video/x11/SDL_x11sym.h +index 4875b98..10bf365 100644 +--- a/src/video/x11/SDL_x11sym.h ++++ b/src/video/x11/SDL_x11sym.h +@@ -165,7 +165,7 @@ SDL_X11_SYM(Bool,XShmQueryExtension,(Display* a),(a),return) + */ + #ifdef LONG64 + SDL_X11_MODULE(IO_32BIT) +-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return) ++SDL_X11_SYM(int,_XData32,(Display *dpy,_Xconst register long *data,unsigned len),(dpy,data,len),return) + SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) + #endif + diff --git a/ports/sdl1/portfile.cmake b/ports/sdl1/portfile.cmake index 2cbdfc42c..e68e00e6d 100644 --- a/ports/sdl1/portfile.cmake +++ b/ports/sdl1/portfile.cmake @@ -6,47 +6,109 @@ vcpkg_from_github( REF release-1.2.15 SHA512 38b94a650ec205377ae1503d0ec8a5254ef6d50ed0acac8d985b57b64bc16ea042cfa41e19e5ef8317980c4afb83186829f5bc3da9433d0a649dfd10554801b5 HEAD_REF master - PATCHES export-symbols-only-in-shared-build.patch + PATCHES + export-symbols-only-in-shared-build.patch + fix-linux-build.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/SDL1_2017.sln DESTINATION ${SOURCE_PATH}/VisualC/ ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/SDL.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDL ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/SDLmain.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDLmain ) - configure_file(${SOURCE_PATH}/include/SDL_config.h.default ${SOURCE_PATH}/include/SDL_config.h COPYONLY) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - vcpkg_apply_patches( + +if (VCPKG_TARGET_IS_WINDOWS) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/SDL1_2017.sln DESTINATION ${SOURCE_PATH}/VisualC/ ) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDL_static.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDL RENAME SDL.vcxproj) + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDLmain_static.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDLmain RENAME SDLmain.vcxproj) + else() + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDL_dynamic.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDL RENAME SDL.vcxproj) + file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/SDLmain_dynamic.vcxproj DESTINATION ${SOURCE_PATH}/VisualC/SDLmain RENAME SDLmain.vcxproj) + endif() + + # This text file gets copied as a library, and included as one in the package + file(REMOVE_RECURSE ${SOURCE_PATH}/src/hermes/COPYING.LIB) + + vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/static-build.patch + PROJECT_SUBPATH VisualC/SDL1_2017.sln + INCLUDES_SUBPATH include + LICENSE_SUBPATH COPYING + ALLOW_ROOT_INCLUDES ) -endif() + + #Take all the fils into include/SDL to sovle conflict with SDL2 port + file(GLOB files ${CURRENT_PACKAGES_DIR}/include/*) + foreach(file ${files}) + file(COPY ${file} DESTINATION ${CURRENT_PACKAGES_DIR}/include/SDL) + file(REMOVE ${file}) + endforeach() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/SDL/doxyfile) + + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/SDLmain.lib) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/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() + + find_program(MAKE make) + if (NOT MAKE) + message(FATAL_ERROR "MAKE not found") + endif() -# This text file gets copied as a library, and included as one in the package -file(REMOVE_RECURSE ${SOURCE_PATH}/src/hermes/COPYING.LIB) - -vcpkg_install_msbuild( - SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH VisualC/SDL1_2017.sln - INCLUDES_SUBPATH include - LICENSE_SUBPATH COPYING - ALLOW_ROOT_INCLUDES -) - -#Take all the fils into include/SDL to sovle conflict with SDL2 port -file(GLOB files ${CURRENT_PACKAGES_DIR}/include/*) -foreach(file ${files}) - file(COPY ${file} DESTINATION ${CURRENT_PACKAGES_DIR}/include/SDL) - file(REMOVE ${file}) -endforeach() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/SDL/doxyfile) - -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/SDLmain.lib) -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/SDLmain.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDLmaind.lib) -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" + ) + + 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}) + + 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(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +endif() \ No newline at end of file diff --git a/ports/sdl1/static-build.patch b/ports/sdl1/static-build.patch deleted file mode 100644 index 89bc39ddc..000000000 --- a/ports/sdl1/static-build.patch +++ /dev/null @@ -1,74 +0,0 @@ ---- a/VisualC/SDL/SDL.vcxproj Sun Mar 31 11:28:40 2019 -+++ b/VisualC/SDL/SDL.vcxproj Sun Mar 31 19:00:00 2019 -@@ -26,3 +26,3 @@ - -- DynamicLibrary -+ StaticLibrary - v141 -@@ -31,3 +31,3 @@ - -- DynamicLibrary -+ StaticLibrary - v141 -@@ -36,3 +36,3 @@ - -- DynamicLibrary -+ StaticLibrary - v141 -@@ -41,3 +41,3 @@ - -- DynamicLibrary -+ StaticLibrary - v141 -@@ -100,3 +100,3 @@ - _CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;%(PreprocessorDefinitions) -- MultiThreadedDLL -+ MultiThreadedDebug - false -@@ -137,3 +137,3 @@ - _CRT_SECURE_NO_DEPRECATE;_DEBUG;_WINDOWS;_WIN32_WINNT=0x0400;%(PreprocessorDefinitions) -- MultiThreadedDLL -+ MultiThreadedDebug - false -@@ -176,3 +176,3 @@ - true -- MultiThreadedDLL -+ MultiThreaded - false -@@ -213,3 +213,3 @@ - true -- MultiThreadedDLL -+ MultiThreaded - false ---- a/VisualC/SDLmain/SDLmain.vcxproj Sun Mar 31 11:28:40 2019 -+++ b/VisualC/SDLmain/SDLmain.vcxproj Sun Mar 31 19:00:00 2019 -@@ -123,3 +123,3 @@ - true -- MultiThreadedDLL -+ MultiThreaded - true -@@ -140,3 +140,3 @@ - true -- MultiThreadedDLL -+ MultiThreaded - true -@@ -154,3 +154,3 @@ - true -- MultiThreadedDLL -+ MultiThreaded - true -@@ -171,3 +171,3 @@ - true -- MultiThreadedDLL -+ MultiThreaded - true -@@ -184,3 +184,3 @@ - _CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) -- MultiThreadedDLL -+ MultiThreadedDebug - -@@ -200,3 +200,3 @@ - _CRT_SECURE_NO_DEPRECATE;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) -- MultiThreadedDLL -+ MultiThreadedDebug - diff --git a/ports/sdl2-gfx/CONTROL b/ports/sdl2-gfx/CONTROL index 96a4d2776..8b4af0e61 100644 --- a/ports/sdl2-gfx/CONTROL +++ b/ports/sdl2-gfx/CONTROL @@ -1,4 +1,4 @@ Source: sdl2-gfx -Version: 1.0.4-1 +Version: 1.0.4-2 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 9cc6a6ca8..ce83fd21e 100644 --- a/ports/sdl2-gfx/portfile.cmake +++ b/ports/sdl2-gfx/portfile.cmake @@ -18,6 +18,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DSDL_GFX_SKIP_HEADERS=1 ) diff --git a/ports/sdl2-image/CONTROL b/ports/sdl2-image/CONTROL index 388e08d5a..19218ef3e 100644 --- a/ports/sdl2-image/CONTROL +++ b/ports/sdl2-image/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-image -Version: 2.0.4-2 +Version: 2.0.5 Build-Depends: sdl2, libpng Homepage: https://www.libsdl.org/projects/SDL_image Description: SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV diff --git a/ports/sdl2-image/portfile.cmake b/ports/sdl2-image/portfile.cmake index 4d02e93f4..ea4744148 100644 --- a/ports/sdl2-image/portfile.cmake +++ b/ports/sdl2-image/portfile.cmake @@ -1,17 +1,17 @@ include(vcpkg_common_functions) -set(SDL2_IMAGE_VERSION "2.0.4") +set(SDL2_IMAGE_VERSION "2.0.5") vcpkg_download_distfile(ARCHIVE URLS "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-${SDL2_IMAGE_VERSION}.zip" FILENAME "SDL2_image-${SDL2_IMAGE_VERSION}.zip" - SHA512 b26ef2546718754481385ddad800ee61c84c58a9e141127c0a12215362d41c23603bfb21d556803396c0cb17bd7f48a45dd1b2e66573a1b2e32f590cc3fa48d0 + SHA512 c10e28a0d50fb7a6c985ffe8904370ab4faeb9bbed6f2ffbc81536422e8f8bb66eddbf69b12423082216c2bcfcb617cba4c5970f63fe75bfacccd9f99f02a6a2 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} - REF ${SDL2_IMAGE_VERSION} + REF ${SDL2_IMAGE_VERSION} ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -43,12 +43,12 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/sdl2-image") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) # Handle copyright file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-image) file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl2-image/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/sdl2-image/copyright) -vcpkg_copy_pdbs() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/sdl2-mixer/CMakeLists.txt b/ports/sdl2-mixer/CMakeLists.txt index 1265145fa..08190988e 100644 --- a/ports/sdl2-mixer/CMakeLists.txt +++ b/ports/sdl2-mixer/CMakeLists.txt @@ -15,8 +15,9 @@ if(SDL_MIXER_ENABLE_MP3) find_path(MPG123_INCLUDE_DIR mpg123.h) find_library(MPG123_LIBRARY NAMES libmpg123 mpg123) list(APPEND SDL_MIXER_INCLUDES ${MPG123_INCLUDE_DIR}) - list(APPEND SDL_MIXER_LIBRARIES ${MPG123_LIBRARY}) list(APPEND SDL_MIXER_DEFINES MUSIC_MP3_MPG123) + get_filename_component(MPG123_LIBRARY_NAME "${MPG123_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DMPG123_DYNAMIC="${MPG123_LIBRARY_NAME}${LIBRARY_SUFFIX}") endif() # FLAC support @@ -24,8 +25,9 @@ if(SDL_MIXER_ENABLE_FLAC) find_path(FLAC_INCLUDE_DIR FLAC/all.h) find_library(FLAC_LIBRARY FLAC) list(APPEND SDL_MIXER_INCLUDES ${FLAC_INCLUDE_DIR}) - list(APPEND SDL_MIXER_LIBRARIES ${FLAC_LIBRARY}) list(APPEND SDL_MIXER_DEFINES MUSIC_FLAC) + get_filename_component(FLAC_LIBRARY_NAME "${FLAC_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DFLAC_DYNAMIC="${FLAC_LIBRARY_NAME}${LIBRARY_SUFFIX}") endif() # MOD support @@ -33,8 +35,9 @@ if(SDL_MIXER_ENABLE_MOD) find_path(MODPLUG_INCLUDE_DIR libmodplug/modplug.h) find_library(MODPLUG_LIBRARY modplug) list(APPEND SDL_MIXER_INCLUDES ${MODPLUG_INCLUDE_DIR}) - list(APPEND SDL_MIXER_LIBRARIES ${MODPLUG_LIBRARY}) list(APPEND SDL_MIXER_DEFINES MUSIC_MOD_MODPLUG) + get_filename_component(MODPLUG_LIBRARY_NAME "${MODPLUG_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DMODPLUG_DYNAMIC="${MODPLUG_LIBRARY_NAME}${LIBRARY_SUFFIX}") endif() # Ogg-Vorbis support @@ -42,19 +45,19 @@ if(SDL_MIXER_ENABLE_OGGVORBIS) find_path(VORBIS_INCLUDE_DIR vorbis/codec.h) find_library(VORBISFILE_LIBRARY vorbisfile) list(APPEND SDL_MIXER_INCLUDES ${VORBIS_INCLUDE_DIR}) - list(APPEND SDL_MIXER_LIBRARIES ${VORBISFILE_LIBRARY}) list(APPEND SDL_MIXER_DEFINES MUSIC_OGG) + get_filename_component(VORBISFILE_LIBRARY_NAME "${VORBISFILE_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DOGG_DYNAMIC="${VORBISFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}") endif() # Opus support if(SDL_MIXER_ENABLE_OPUS) find_path(OPUS_INCLUDE_DIR opus/opusfile.h) - find_package(ogg CONFIG REQUIRED) - find_package(Opus CONFIG REQUIRED) find_library(OPUSFILE_LIBRARY opusfile) list(APPEND SDL_MIXER_INCLUDES ${OPUS_INCLUDE_DIR}) - list(APPEND SDL_MIXER_LIBRARIES ${OPUSFILE_LIBRARY} Ogg::ogg Opus::opus) list(APPEND SDL_MIXER_DEFINES MUSIC_OPUS) + get_filename_component(OPUSFILE_LIBRARY_NAME "${OPUSFILE_LIBRARY}" NAME_WE) + list(APPEND SDL_MIXER_LOAD_DEFINES -DOPUS_DYNAMIC="${OPUSFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}") endif() add_library(SDL2_mixer @@ -85,7 +88,7 @@ if(WIN32) endif() set_target_properties(SDL2_mixer PROPERTIES DEFINE_SYMBOL SDL2_EXPORTS) -target_compile_definitions(SDL2_mixer PRIVATE ${SDL_MIXER_DEFINES}) +target_compile_definitions(SDL2_mixer PRIVATE ${SDL_MIXER_DEFINES} ${SDL_MIXER_LOAD_DEFINES}) target_include_directories(SDL2_mixer PRIVATE ${SDL_MIXER_INCLUDES} ./native_midi) install(TARGETS SDL2_mixer diff --git a/ports/sdl2-mixer/CONTROL b/ports/sdl2-mixer/CONTROL index 2c76639dc..b2f731152 100644 --- a/ports/sdl2-mixer/CONTROL +++ b/ports/sdl2-mixer/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-mixer -Version: 2.0.4-3 +Version: 2.0.4-7 Homepage: https://www.libsdl.org/projects/SDL_mixer Description: Multi-channel audio mixer library for SDL. Build-Depends: sdl2 diff --git a/ports/sdl2-mixer/portfile.cmake b/ports/sdl2-mixer/portfile.cmake index 0b1b6dcea..9777f0b90 100644 --- a/ports/sdl2-mixer/portfile.cmake +++ b/ports/sdl2-mixer/portfile.cmake @@ -13,49 +13,34 @@ vcpkg_extract_source_archive_ex( ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -set(USE_MP3 OFF) -if("mpg123" IN_LIST FEATURES) - set(USE_MP3 ON) +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(LIBRARY_SUFFIX ${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}) +else() + set(LIBRARY_SUFFIX ${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}) endif() -set(USE_FLAC OFF) -if("libflac" IN_LIST FEATURES) - set(USE_FLAC ON) -endif() - -set(USE_MOD OFF) -if("libmodplug" IN_LIST FEATURES) - set(USE_MOD ON) -endif() - -set(USE_OGGVORBIS OFF) -if("libvorbis" IN_LIST FEATURES) - set(USE_OGGVORBIS ON) -endif() - -set(USE_OPUS OFF) -if("opusfile" IN_LIST FEATURES) - set(USE_OPUS ON) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + mpg123 SDL_MIXER_ENABLE_MP3 + libflac SDL_MIXER_ENABLE_FLAC + libmodplug SDL_MIXER_ENABLE_MOD + libvorbis SDL_MIXER_ENABLE_OGGVORBIS + opusfile SDL_MIXER_ENABLE_OPUS +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DSDL_MIXER_ENABLE_MP3=${USE_MP3} # mpg123 - -DSDL_MIXER_ENABLE_FLAC=${USE_FLAC} # libflac - -DSDL_MIXER_ENABLE_MOD=${USE_MOD} # libmodplug - -DSDL_MIXER_ENABLE_OGGVORBIS=${USE_OGGVORBIS} # libvorbis - -DSDL_MIXER_ENABLE_OPUS=${USE_OPUS} # opusfile + ${FEATURE_OPTIONS} + -DLIBRARY_SUFFIX=${LIBRARY_SUFFIX} OPTIONS_DEBUG -DSDL_MIXER_SKIP_HEADERS=ON ) vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/sdl2-mixer") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-mixer) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl2-mixer/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/sdl2-mixer/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/sdl2-net/CONTROL b/ports/sdl2-net/CONTROL index 848691145..6b4d33ead 100644 --- a/ports/sdl2-net/CONTROL +++ b/ports/sdl2-net/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-net -Version: 2.0.1-6 +Version: 2.0.1-8 Homepage: https://www.libsdl.org/projects/SDL_net Description: Networking library for SDL Build-Depends: sdl2 diff --git a/ports/sdl2-net/portfile.cmake b/ports/sdl2-net/portfile.cmake index 2a8928e16..70cea05c8 100644 --- a/ports/sdl2-net/portfile.cmake +++ b/ports/sdl2-net/portfile.cmake @@ -1,11 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/SDL2_net-2.0.1) + vcpkg_download_distfile(ARCHIVE URLS "https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.0.1.tar.gz" FILENAME "SDL2_net-2.0.1.tar.gz" - SHA512 d27faee3cddc3592dae38947e6c1df0cbaa95f82fde9c87db6d11f6312d868cea74f6830ad07ceeb3d0d75e9424cebf39e54fddf9a1147e8d9e664609de92b7a) + SHA512 d27faee3cddc3592dae38947e6c1df0cbaa95f82fde9c87db6d11f6312d868cea74f6830ad07ceeb3d0d75e9424cebf39e54fddf9a1147e8d9e664609de92b7a +) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -17,9 +21,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/sdl2-net") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-net) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/sdl2-net/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/sdl2-net/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/sdl2-ttf/CONTROL b/ports/sdl2-ttf/CONTROL index 9154c52da..34d12bafd 100644 --- a/ports/sdl2-ttf/CONTROL +++ b/ports/sdl2-ttf/CONTROL @@ -1,5 +1,5 @@ Source: sdl2-ttf -Version: 2.0.15-2 +Version: 2.0.15-3 Homepage: https://www.libsdl.org/projects/SDL_ttf/ Description: A library for rendering TrueType fonts with SDL Build-Depends: sdl2, freetype diff --git a/ports/sdl2-ttf/portfile.cmake b/ports/sdl2-ttf/portfile.cmake index 55451dcf1..eb623e13e 100644 --- a/ports/sdl2-ttf/portfile.cmake +++ b/ports/sdl2-ttf/portfile.cmake @@ -24,8 +24,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/sdl2-ttf") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2-ttf) diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL index bfda1f10b..3f96bc71f 100644 --- a/ports/sdl2/CONTROL +++ b/ports/sdl2/CONTROL @@ -1,5 +1,5 @@ Source: sdl2 -Version: 2.0.9-3 +Version: 2.0.10-2 Homepage: https://github.com/SDL-Mirror/SDL 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/sdl2/disable-hidapi-for-uwp.patch b/ports/sdl2/disable-hidapi-for-uwp.patch new file mode 100644 index 000000000..13d1ca8d1 --- /dev/null +++ b/ports/sdl2/disable-hidapi-for-uwp.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -172,7 +172,7 @@ + # requires root permissions to open devices, so that's not generally + # useful, and we'll disable this by default on Unix. Windows and macOS + # can use it without root access, though, so enable by default there. +-if(WINDOWS OR APPLE OR ANDROID) ++if((WINDOWS AND NOT WINDOWS_STORE) OR APPLE OR ANDROID) + set(HIDAPI_SKIP_LIBUSB TRUE) + else() + set(HIDAPI_SKIP_LIBUSB FALSE) diff --git a/ports/sdl2/enable-winrt-cmake.patch b/ports/sdl2/enable-winrt-cmake.patch index 1d1356fba..836ffcdd7 100644 --- a/ports/sdl2/enable-winrt-cmake.patch +++ b/ports/sdl2/enable-winrt-cmake.patch @@ -4,7 +4,7 @@ index 0128c7a..bd534e4 100644 +++ b/CMakeLists.txt @@ -5,6 +5,18 @@ endif() cmake_minimum_required(VERSION 2.8.11) - project(SDL2 C) + project(SDL2 C CXX) +if(WINDOWS_STORE) + enable_language(CXX) @@ -21,7 +21,7 @@ index 0128c7a..bd534e4 100644 # !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property # !!! FIXME: for the SDL2 shared library (so you get an # !!! FIXME: install_name ("soname") of "@rpath/libSDL-whatever.dylib" -@@ -1166,6 +1178,11 @@ elseif(WINDOWS) +@@ -1209,6 +1221,11 @@ elseif(WINDOWS) file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) @@ -33,7 +33,7 @@ index 0128c7a..bd534e4 100644 if(MSVC) # Prevent codegen that would use the VC runtime libraries. set_property(DIRECTORY . APPEND PROPERTY COMPILE_OPTIONS "/GS-") -@@ -1211,6 +1228,9 @@ elseif(WINDOWS) +@@ -1254,6 +1271,9 @@ elseif(WINDOWS) check_include_file(ddraw.h HAVE_DDRAW_H) check_include_file(dsound.h HAVE_DSOUND_H) check_include_file(dinput.h HAVE_DINPUT_H) @@ -43,7 +43,7 @@ index 0128c7a..bd534e4 100644 check_include_file(dxgi.h HAVE_DXGI_H) if(HAVE_D3D_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H) set(HAVE_DIRECTX TRUE) -@@ -1229,18 +1249,20 @@ elseif(WINDOWS) +@@ -1272,18 +1292,20 @@ elseif(WINDOWS) check_include_file(endpointvolume.h HAVE_ENDPOINTVOLUME_H) if(SDL_AUDIO) @@ -66,7 +66,7 @@ index 0128c7a..bd534e4 100644 set(SDL_AUDIO_DRIVER_WASAPI 1) file(GLOB WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/*.c) set(SOURCE_FILES ${SOURCE_FILES} ${WASAPI_AUDIO_SOURCES}) -@@ -1252,11 +1274,20 @@ elseif(WINDOWS) +@@ -1295,11 +1317,20 @@ elseif(WINDOWS) if(NOT SDL_LOADSO) message_error("SDL_VIDEO requires SDL_LOADSO, which is not enabled") endif() @@ -88,7 +88,7 @@ index 0128c7a..bd534e4 100644 set(SDL_VIDEO_RENDER_D3D 1) set(HAVE_RENDER_D3D TRUE) endif() -@@ -1279,20 +1310,31 @@ elseif(WINDOWS) +@@ -1322,20 +1353,31 @@ elseif(WINDOWS) endif() if(SDL_POWER) @@ -115,12 +115,12 @@ index 0128c7a..bd534e4 100644 # Libraries for Win32 native and MinGW + if(NOT WINDOWS_STORE) - list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 shell32) + list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32) + endif() - # TODO: in configure.in the check for timers is set on + # TODO: in configure.ac the check for timers is set on # cygwin | mingw32* - does this include mingw32CE? -@@ -1314,7 +1356,7 @@ elseif(WINDOWS) +@@ -1357,7 +1399,7 @@ elseif(WINDOWS) set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) if(SDL_VIDEO) @@ -129,7 +129,7 @@ index 0128c7a..bd534e4 100644 set(SDL_VIDEO_OPENGL 1) set(SDL_VIDEO_OPENGL_WGL 1) set(SDL_VIDEO_RENDER_OGL 1) -@@ -1731,12 +1773,14 @@ endif() +@@ -1788,12 +1830,14 @@ endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") # Always build SDLmain @@ -148,7 +148,7 @@ diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake index 48dd2d4..0c4fa28 100644 --- a/include/SDL_config.h.cmake +++ b/include/SDL_config.h.cmake -@@ -324,6 +324,7 @@ +@@ -326,6 +326,7 @@ #cmakedefine SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC @SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC@ #cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@ #cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@ @@ -156,7 +156,7 @@ index 48dd2d4..0c4fa28 100644 #cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@ #cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@ #cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@ -@@ -392,6 +393,7 @@ +@@ -391,6 +392,7 @@ #cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@ #cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@ #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@ @@ -164,7 +164,7 @@ index 48dd2d4..0c4fa28 100644 #cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@ #cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@ #cmakedefine SDL_POWER_EMSCRIPTEN @SDL_POWER_EMSCRIPTEN@ -@@ -414,7 +416,7 @@ +@@ -413,7 +415,7 @@ #cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@ /* Platform specific definitions */ diff --git a/ports/sdl2/fix-arm64-headers.patch b/ports/sdl2/fix-arm64-headers.patch new file mode 100644 index 000000000..862b65f0b --- /dev/null +++ b/ports/sdl2/fix-arm64-headers.patch @@ -0,0 +1,14 @@ +--- a/include/SDL_cpuinfo.h Tue Jul 23 21:41:00 2019 -0400 ++++ b/include/SDL_cpuinfo.h Tue Aug 13 20:26:27 2019 -0700 +@@ -73,8 +73,8 @@ + # define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */ + # endif + # if defined (_M_ARM64) +-# include +-# include ++# include ++# include + # define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */ + # endif + # endif + \ No newline at end of file diff --git a/ports/sdl2/fix-space-in-path.patch b/ports/sdl2/fix-space-in-path.patch new file mode 100644 index 000000000..ed7a1e712 --- /dev/null +++ b/ports/sdl2/fix-space-in-path.patch @@ -0,0 +1,24 @@ +diff -ur a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt 2019-07-23 21:41:00.000000000 +0200 ++++ b/CMakeLists.txt 2019-10-27 20:26:38.000000000 +0100 +@@ -257,7 +257,7 @@ + # General includes + include_directories(${SDL2_BINARY_DIR}/include ${SDL2_SOURCE_DIR}/include) + if(USE_GCC OR USE_CLANG) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter ${SDL2_SOURCE_DIR}/src/video/khronos") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter \"${SDL2_SOURCE_DIR}/src/video/khronos\"") + else() + include_directories(${SDL2_SOURCE_DIR}/src/video/khronos) + endif() +diff -ur a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake +--- a/cmake/sdlchecks.cmake 2019-07-23 21:41:00.000000000 +0200 ++++ b/cmake/sdlchecks.cmake 2019-10-27 20:27:10.000000000 +0100 +@@ -1086,7 +1086,7 @@ + set(HAVE_SDL_JOYSTICK TRUE) + file(GLOB HIDAPI_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/hidapi/*.c) + set(SOURCE_FILES ${SOURCE_FILES} ${HIDAPI_SOURCES}) +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} -I${SDL2_SOURCE_DIR}/src/hidapi/hidapi") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} \"-I${SDL2_SOURCE_DIR}/src/hidapi/hidapi\"") + if(NOT HIDAPI_SKIP_LIBUSB) + set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/libusb/hid.c) + list(APPEND EXTRA_LIBS ${LIBUSB_LIBS}) diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake index 468560575..39ae73302 100644 --- a/ports/sdl2/portfile.cmake +++ b/ports/sdl2/portfile.cmake @@ -3,14 +3,15 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SDL-Mirror/SDL - REF release-2.0.9 - SHA512 444c906c0baa720c86ca72d1b4cd66fdf6f516d5d2a9836169081a2997a5aebaaf9caa687ec060fa02292d79cfa4a62442333e00f90a0239edd1601529f6b056 + REF release-2.0.10 + SHA512 c5fe59eed7ba9c6a82cceaf513623480793727fceec84b01d819e7cbefc8229a84be93067d7539f12d5811c49d3d54fd407272786aef3e419f439d0105c34b21 HEAD_REF master PATCHES export-symbols-only-in-shared-build.patch - fix-x86-windows.patch enable-winrt-cmake.patch - SDL-2.0.9-bug-4391-fix.patch # See: https://bugzilla.libsdl.org/show_bug.cgi?id=4391 # Can be removed once SDL 2.0.10 is released + fix-arm64-headers.patch + disable-hidapi-for-uwp.patch + fix-space-in-path.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC) @@ -36,11 +37,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake") - vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/SDL2") - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/SDL2") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SDL2) elseif(EXISTS "${CURRENT_PACKAGES_DIR}/SDL2.framework/Resources") - vcpkg_fixup_cmake_targets(CONFIG_PATH "SDL2.framework/Resources") + vcpkg_fixup_cmake_targets(CONFIG_PATH SDL2.framework/Resources) endif() file(REMOVE_RECURSE @@ -78,6 +79,6 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME) endforeach() endif() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2) -configure_file(${SOURCE_PATH}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/sdl2/copyright COPYONLY) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +configure_file(${SOURCE_PATH}/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/selene/CONTROL b/ports/selene/CONTROL index ce266e859..0dcfbc290 100644 --- a/ports/selene/CONTROL +++ b/ports/selene/CONTROL @@ -1,4 +1,5 @@ Source: selene -Version: 0.3.1 +Version: 0.3.1-1 +Homepage: https://github.com/kmhofmann/selene Description: A C++17 image representation, processing and I/O library. Build-Depends: zlib, libpng, libjpeg-turbo, tiff diff --git a/ports/selene/portfile.cmake b/ports/selene/portfile.cmake index f45c84460..11a2e89eb 100644 --- a/ports/selene/portfile.cmake +++ b/ports/selene/portfile.cmake @@ -18,7 +18,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/selene") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/selene) vcpkg_copy_pdbs() # Include files should not be duplicated into the /debug/include directory. diff --git a/ports/septag-sx/CONTROL b/ports/septag-sx/CONTROL new file mode 100644 index 000000000..ee9917e66 --- /dev/null +++ b/ports/septag-sx/CONTROL @@ -0,0 +1,3 @@ +Source: septag-sx +Version: 2019-05-07-2 +Description: Portable base library for C programmers, designed for performance and simplicity. diff --git a/ports/septag-sx/portfile.cmake b/ports/septag-sx/portfile.cmake new file mode 100644 index 000000000..4fb87a250 --- /dev/null +++ b/ports/septag-sx/portfile.cmake @@ -0,0 +1,44 @@ +include(vcpkg_common_functions) + +if(TARGET_TRIPLET MATCHES "(uwp|arm)") + message(FATAL_ERROR "septag-sx doesn't support ${TARGET_TRIPLET} currently.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO septag/sx + REF b70567a52636f9ecfdb904c586a957a806efc990 + SHA512 8945476b428418d3c7845afd831503f43fd44672a9b3506576c5baf50f55739327275a8be97a323f3ae146f84b76bbe266ac7b5df1b85cb05a826ed5e30b9547 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SX_SHARED_LIB) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DSX_BUILD_TESTS=OFF + -DSX_SHARED_LIB=${SX_SHARED_LIB} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sx TARGET_PATH share/sx) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/sx/config.h + "define SX_CONFIG_SHARED_LIB 0" + "define SX_CONFIG_SHARED_LIB 1" + ) +endif() + +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 sx) diff --git a/ports/seqan/CONTROL b/ports/seqan/CONTROL index 09185ccf4..82b7aae89 100644 --- a/ports/seqan/CONTROL +++ b/ports/seqan/CONTROL @@ -1,3 +1,3 @@ Source: seqan -Version: 2.4.0 +Version: 2.4.0-1 Description: SeqAn is an open source C++ library of efficient algorithms and data structures for the analysis of sequences with the focus on biological data. diff --git a/ports/seqan/portfile.cmake b/ports/seqan/portfile.cmake index 8741a7090..1fef42f0a 100644 --- a/ports/seqan/portfile.cmake +++ b/ports/seqan/portfile.cmake @@ -1,14 +1,16 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/seqan-library-2.4.0) + vcpkg_download_distfile(ARCHIVE URLS "http://packages.seqan.de/seqan-library/seqan-library-2.4.0.zip" FILENAME "seqan-library-2.4.0.zip" SHA512 9a1b4fe9dff9ad49a8761798a6a6eaeebce683ccb5e2dd78ea4b8829093918606830a16ea458d67bf3f652531ddc55b550c12cb257be913bb187c8940d96a575 ) -vcpkg_extract_source_archive(${ARCHIVE}) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/share/doc/seqan/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/seqan RENAME copyright) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) -# Copy the seqan header files file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.h") + +file(INSTALL ${SOURCE_PATH}/share/doc/seqan/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/seqan RENAME copyright) diff --git a/ports/sf2cute/CONTROL b/ports/sf2cute/CONTROL index 7d850c694..bdba56cc7 100644 --- a/ports/sf2cute/CONTROL +++ b/ports/sf2cute/CONTROL @@ -1,6 +1,6 @@ Source: sf2cute -Version: 0.2.0 +Version: 0.2.0-1 Description: C++14 Library for SoundFont 2 Feature: example -Description: Installs an example application \ No newline at end of file +Description: Installs an example application diff --git a/ports/sf2cute/portfile.cmake b/ports/sf2cute/portfile.cmake index 5a99ca11b..e46222396 100644 --- a/ports/sf2cute/portfile.cmake +++ b/ports/sf2cute/portfile.cmake @@ -26,12 +26,10 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# move the .cmake files from the given directory to the expected directory by vcpkg -vcpkg_fixup_cmake_targets(CONFIG_PATH share/sf2cute) - # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sf2cute RENAME copyright) diff --git a/ports/sfgui/CONTROL b/ports/sfgui/CONTROL index cd9f17ab9..944b8df2c 100644 --- a/ports/sfgui/CONTROL +++ b/ports/sfgui/CONTROL @@ -1,5 +1,5 @@ Source: sfgui -Version: 0.4.0 +Version: 0.4.0-2 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 16eeb5618..9ab01a19e 100644 --- a/ports/sfgui/portfile.cmake +++ b/ports/sfgui/portfile.cmake @@ -6,7 +6,6 @@ vcpkg_from_github( REF 0.4.0 SHA512 15456c6080b7095bcdcec08489b2b91b5cfc36cdf3c0b645b305072e7e835837eb4f95b59371ff176630b2b7ae51da475d8ea0bde5ff7fc0ba74c463bf5f54cf HEAD_REF master - PATCHES "${CMAKE_CURRENT_LIST_DIR}/use-sfml-targets.patch" ) file(REMOVE ${SOURCE_PATH}/cmake/Modules/FindSFML.cmake) @@ -16,7 +15,7 @@ string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SFGUI_BUILD_SHARED_LIB vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS -DSFGUI_BUILD_DOC=OFF -DSFGUI_BUILD_EXAMPLES=OFF -DSFGUI_BUILD_SHARED_LIBS=${SFGUI_BUILD_SHARED_LIBS} @@ -24,13 +23,16 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfgui RENAME copyright) +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) + file(GLOB_RECURSE SFGUI_DOC_RELEASE ${CURRENT_PACKAGES_DIR}/*.md) + file(GLOB_RECURSE SFGUI_DOC_DEBUG ${CURRENT_PACKAGES_DIR}/debug/*.md) + file(REMOVE ${SFGUI_DOC_RELEASE} ${SFGUI_DOC_DEBUG}) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH share/SFGUI/cmake) +endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -file(GLOB_RECURSE SFGUI_DOC_RELEASE ${CURRENT_PACKAGES_DIR}/*.md) -file(GLOB_RECURSE SFGUI_DOC_DEBUG ${CURRENT_PACKAGES_DIR}/debug/*.md) -file(REMOVE ${SFGUI_DOC_RELEASE} ${SFGUI_DOC_DEBUG}) +file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfgui RENAME copyright) diff --git a/ports/sfgui/use-sfml-targets.patch b/ports/sfgui/use-sfml-targets.patch deleted file mode 100644 index 337949f5a..000000000 --- a/ports/sfgui/use-sfml-targets.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index abc9be0..eb999f5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -190,7 +190,6 @@ endif() - - include_directories( "${INCLUDE_PATH}" ) - include_directories( "${SOURCE_PATH}" ) --include_directories( SYSTEM "${SFML_INCLUDE_DIR}" ) - include_directories( SYSTEM "${PROJECT_SOURCE_DIR}/extlibs/libELL/include" ) - - # Set the library output directory -@@ -244,7 +243,7 @@ if( WIN32 ) - endif() - - add_definitions( -DWIN32 ) -- target_link_libraries( sfgui ${SFML_LIBRARIES} ${SFML_DEPENDENCIES} ${OPENGL_gl_LIBRARY} ) -+ target_link_libraries( sfgui sfml-graphics sfml-window sfml-system ${OPENGL_gl_LIBRARY} ) - - if( CMAKE_COMPILER_IS_GNUCXX ) - if( SFGUI_BUILD_SHARED_LIBS ) -@@ -261,11 +260,11 @@ elseif( APPLE ) - mark_as_advanced( COREFOUNDATION_LIBRARY ) - - include_directories( SYSTEM /System/Library/Frameworks/CoreFoundation.framework/Headers ) -- target_link_libraries( sfgui ${SFML_LIBRARIES} ${SFML_DEPENDENCIES} ${OPENGL_gl_LIBRARY} ${COREFOUNDATION_LIBRARY} ) -+ target_link_libraries( sfgui sfml-graphics sfml-window sfml-system ${OPENGL_gl_LIBRARY} ${COREFOUNDATION_LIBRARY} ) - set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/SFGUI" ) - set( LIB_PATH "lib" ) - elseif( "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" ) -- target_link_libraries( sfgui ${SFML_LIBRARIES} ${SFML_DEPENDENCIES} ${OPENGL_gl_LIBRARY} ${X11_LIBRARIES} ) -+ target_link_libraries( sfgui sfml-graphics sfml-window sfml-system ${OPENGL_gl_LIBRARY} ${X11_LIBRARIES} ) - set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/SFGUI" ) - - if( LIB_SUFFIX ) -@@ -274,7 +273,7 @@ elseif( "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" ) - set( LIB_PATH "lib" ) - endif() - else() -- target_link_libraries( sfgui ${SFML_LIBRARIES} ${SFML_DEPENDENCIES} ${OPENGL_gl_LIBRARY} ) -+ target_link_libraries( sfgui sfml-graphics sfml-window sfml-system ${OPENGL_gl_LIBRARY} ) - set( SHARE_PATH "${CMAKE_INSTALL_PREFIX}/share/SFGUI" ) - set( LIB_PATH "lib" ) - endif() diff --git a/ports/sfml/CONTROL b/ports/sfml/CONTROL index d23645a30..ab574561c 100644 --- a/ports/sfml/CONTROL +++ b/ports/sfml/CONTROL @@ -1,5 +1,5 @@ -Source: sfml -Version: 2.5.1-1 -Homepage: https://github.com/sfml/sfml -Description: Simple and fast multimedia library -Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb +Source: sfml +Version: 2.5.1-4 +Homepage: https://github.com/sfml/sfml +Description: Simple and fast multimedia library +Build-Depends: freetype, libflac, libogg, libvorbis, openal-soft, stb diff --git a/ports/sfml/portfile.cmake b/ports/sfml/portfile.cmake index a25c5628b..793489b97 100644 --- a/ports/sfml/portfile.cmake +++ b/ports/sfml/portfile.cmake @@ -1,56 +1,57 @@ - -include(vcpkg_common_functions) -vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH - REPO SFML/SFML - REF 2.5.1 - HEAD_REF master - SHA512 7aed2fc29d1da98e6c4d598d5c86cf536cb4eb5c2079cdc23bb8e502288833c052579dadbe0ce13ad6461792d959bf6d9660229f54c54cf90a541c88c6b03d59 - PATCHES use-system-freetype.patch -) - -file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs) -# Without this, we get error: list sub-command REMOVE_DUPLICATES requires list to be present. -file(MAKE_DIRECTORY ${SOURCE_PATH}/extlibs/libs) -file(WRITE ${SOURCE_PATH}/extlibs/libs/x "") -# The embedded FindFreetype doesn't properly handle debug libraries -file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/Modules/FindFreetype.cmake) - -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - message("SFML currently requires the following libraries from the system package manager:\n libudev\n libx11\n libxrandr\n opengl\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libxrandr-dev libxi-dev libudev-dev mesa-common-dev") -endif() - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DSFML_BUILD_FRAMEWORKS=OFF - -DSFML_USE_SYSTEM_DEPS=ON - -DSFML_MISC_INSTALL_PREFIX=share/sfml - -DSFML_GENERATE_PDB=OFF -) - -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SFML) -vcpkg_copy_pdbs() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - FILE(READ ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake SFML_CONFIG) - FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake "set(SFML_STATIC_LIBRARIES true)\ninclude(CMakeFindDependencyMacro)\nfind_dependency(Freetype)\n${SFML_CONFIG}") -endif() - -# move sfml-main to manual link dir -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib) - file(COPY ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib) - file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib) - file(GLOB FILES "${CURRENT_PACKAGES_DIR}/share/sfml/SFML*Targets-*.cmake") - foreach(FILE ${FILES}) - file(READ "${FILE}" _contents) - string(REPLACE "/lib/sfml-main" "/lib/manual-link/sfml-main" _contents "${_contents}") - file(WRITE "${FILE}" "${_contents}") - endforeach() -endif() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) - -file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright) + +include(vcpkg_common_functions) +vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH + REPO SFML/SFML + REF 2.5.1 + HEAD_REF master + SHA512 7aed2fc29d1da98e6c4d598d5c86cf536cb4eb5c2079cdc23bb8e502288833c052579dadbe0ce13ad6461792d959bf6d9660229f54c54cf90a541c88c6b03d59 + PATCHES use-system-freetype.patch +) + +file(REMOVE_RECURSE ${SOURCE_PATH}/extlibs) +# Without this, we get error: list sub-command REMOVE_DUPLICATES requires list to be present. +file(MAKE_DIRECTORY ${SOURCE_PATH}/extlibs/libs) +file(WRITE ${SOURCE_PATH}/extlibs/libs/x "") +# The embedded FindFreetype doesn't properly handle debug libraries +file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/Modules/FindFreetype.cmake) + +if(VCPKG_TARGET_IS_LINUX) + message(STATUS "SFML currently requires the following libraries from the system package manager:\n libudev\n libx11\n libxrandr\n opengl\n\nThese can be installed on Ubuntu systems via apt-get install libx11-dev libxrandr-dev libxi-dev libudev-dev libgl1-mesa-dev") +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DSFML_BUILD_FRAMEWORKS=OFF + -DSFML_USE_SYSTEM_DEPS=ON + -DSFML_MISC_INSTALL_PREFIX=share/sfml + -DSFML_GENERATE_PDB=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SFML) +vcpkg_copy_pdbs() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + FILE(READ ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake SFML_CONFIG) + FILE(WRITE ${CURRENT_PACKAGES_DIR}/share/sfml/SFMLConfig.cmake "set(SFML_STATIC_LIBRARIES true)\ninclude(CMakeFindDependencyMacro)\nfind_dependency(Freetype)\n${SFML_CONFIG}") +endif() + +# move sfml-main to manual link dir +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib) + file(COPY ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/sfml-main.lib) + file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) + file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/sfml-main-d.lib) + file(GLOB FILES "${CURRENT_PACKAGES_DIR}/share/sfml/SFML*Targets-*.cmake") + foreach(FILE ${FILES}) + file(READ "${FILE}" _contents) + string(REPLACE "/lib/sfml-main" "/lib/manual-link/sfml-main" _contents "${_contents}") + file(WRITE "${FILE}" "${_contents}") + endforeach() +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/license.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/sfml RENAME copyright) diff --git a/ports/sfml/usage b/ports/sfml/usage new file mode 100644 index 000000000..5b0f68d1a --- /dev/null +++ b/ports/sfml/usage @@ -0,0 +1,7 @@ +The package sfml provides CMake targets: + + find_package(SFML COMPONENTS system window graphics CONFIG REQUIRED) + # Windows + target_link_libraries(main PRIVATE FLAC OpenAL OpenGL Vorbis) + # Linux/MacOS + target_link_libraries(main PRIVATE X11 FLAC UDev OpenAL) diff --git a/ports/sfml/use-system-freetype.patch b/ports/sfml/use-system-freetype.patch index c58fc1b95..4d895b741 100644 --- a/ports/sfml/use-system-freetype.patch +++ b/ports/sfml/use-system-freetype.patch @@ -1,13 +1,11 @@ -diff --git a/src/sfml/Graphics/CMakeLists.txt b/src/sfml/Graphics/CMakeLists.txt -index 883c758..76f3b6f 100644 ---- a/src/sfml/Graphics/CMakeLists.txt -+++ b/src/sfml/Graphics/CMakeLists.txt -@@ -135,7 +135,7 @@ if(SFML_OS_ANDROID) - endif() - - sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY") --target_link_libraries(sfml-graphics PRIVATE Freetype) -+target_link_libraries(sfml-graphics PRIVATE Freetype::Freetype) - - # add preprocessor symbols - target_compile_definitions(sfml-graphics PRIVATE "STBI_FAILURE_USERMSG") +--- a/src/SFML/Graphics/CMakeLists.txt ++++ b/src/SFML/Graphics/CMakeLists.txt +@@ -135,7 +135,7 @@ if(SFML_OS_ANDROID) + endif() + + sfml_find_package(Freetype INCLUDE "FREETYPE_INCLUDE_DIRS" LINK "FREETYPE_LIBRARY") +-target_link_libraries(sfml-graphics PRIVATE Freetype) ++target_link_libraries(sfml-graphics PRIVATE Freetype::Freetype) + + # add preprocessor symbols + target_compile_definitions(sfml-graphics PRIVATE "STBI_FAILURE_USERMSG") diff --git a/ports/shaderc/0001-Add-a-virtual-destructor.patch b/ports/shaderc/0001-Add-a-virtual-destructor.patch deleted file mode 100644 index 0fa695036..000000000 --- a/ports/shaderc/0001-Add-a-virtual-destructor.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 563bc6e87a43c38b5495469307922c768edbd191 Mon Sep 17 00:00:00 2001 -From: neil -Date: Thu, 1 Feb 2018 06:49:44 +0000 -Subject: [PATCH] Add a virtual destructor, otherwise Clang 6.0complains about - delete being called on an abstract class. - ---- - libshaderc/include/shaderc/shaderc.hpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libshaderc/include/shaderc/shaderc.hpp b/libshaderc/include/shaderc/shaderc.hpp -index 1c557431..335f0df9 100644 ---- a/libshaderc/include/shaderc/shaderc.hpp -+++ b/libshaderc/include/shaderc/shaderc.hpp -@@ -180,6 +180,8 @@ class CompileOptions { - - // Handles shaderc_include_result_release_fn callbacks. - virtual void ReleaseInclude(shaderc_include_result* data) = 0; -+ -+ virtual ~IncluderInterface() = default; - }; - - // Sets the includer instance for libshaderc to call during compilation, as diff --git a/ports/shaderc/0001-Do-not-generate-build-version.inc.patch b/ports/shaderc/0001-Do-not-generate-build-version.inc.patch deleted file mode 100644 index 41cc81220..000000000 --- a/ports/shaderc/0001-Do-not-generate-build-version.inc.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e8e12e856cbc41f9bdcc83bc87eb5013df199ee1 Mon Sep 17 00:00:00 2001 -From: vlj -Date: Fri, 2 Dec 2016 16:36:25 +0100 -Subject: [PATCH] Do not generate build-version.inc - ---- - CMakeLists.txt | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a4c2fac..5544a2d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -53,8 +53,8 @@ add_subdirectory(libshaderc) - add_subdirectory(glslc) - add_subdirectory(examples) - --add_custom_target(build-version -- ${PYTHON_EXE} -- ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py -- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} -- COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") -+#add_custom_target(build-version -+# ${PYTHON_EXE} -+# ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py -+# ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} -+# COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") --- -2.10.2.windows.1 - diff --git a/ports/shaderc/CONTROL b/ports/shaderc/CONTROL index 36f82852a..0878b17be 100644 --- a/ports/shaderc/CONTROL +++ b/ports/shaderc/CONTROL @@ -1,5 +1,5 @@ Source: shaderc -Version: 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da-2 +Version: 2019-06-26-1 Homepage: https://github.com/google/shaderc Description: A collection of tools, libraries and tests for shader compilation. -Build-Depends: glslang, spirv-tools +Build-Depends: glslang, spirv-tools \ No newline at end of file diff --git a/ports/shaderc/build-version.inc b/ports/shaderc/build-version.inc index 853e89916..00c140577 100644 --- a/ports/shaderc/build-version.inc +++ b/ports/shaderc/build-version.inc @@ -1,3 +1,5 @@ -"shaderc v2016.2-dev unknown hash, 2016-12-02\n" -"spirv-tools v2016.6-dev unknown hash, 2016-12-02\n" -"glslang unknown hash, 2016-12-02\n" +"shaderc v2019.0-dev unknown hash, 2019-05-08\n" +"spirv-tools v2019.3-dev unknown hash, 2019-04-03\n" +"glslang unknown hash, 2019-03-05\n" + + diff --git a/ports/shaderc/disable-update-version.patch b/ports/shaderc/disable-update-version.patch new file mode 100644 index 000000000..5ee016bcb --- /dev/null +++ b/ports/shaderc/disable-update-version.patch @@ -0,0 +1,41 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a4e779b..dc5f1a9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,12 +81,6 @@ add_subdirectory(libshaderc) + add_subdirectory(glslc) + add_subdirectory(examples) + +-add_custom_target(build-version +- ${PYTHON_EXECUTABLE} +- ${CMAKE_CURRENT_SOURCE_DIR}/utils/update_build_version.py +- ${shaderc_SOURCE_DIR} ${spirv-tools_SOURCE_DIR} ${glslang_SOURCE_DIR} +- COMMENT "Update build-version.inc in the Shaderc build directory (if necessary).") +- + function(define_pkg_config_file NAME LIBS) + add_custom_target(${NAME}-pkg-config ALL + COMMAND ${CMAKE_COMMAND} +diff --git a/glslc/CMakeLists.txt b/glslc/CMakeLists.txt +index acf6fb0..d0df7db 100644 +--- a/glslc/CMakeLists.txt ++++ b/glslc/CMakeLists.txt +@@ -26,7 +26,6 @@ shaderc_default_compile_options(glslc_exe) + target_include_directories(glslc_exe PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/.. ${spirv-tools_SOURCE_DIR}/include) + set_target_properties(glslc_exe PROPERTIES OUTPUT_NAME glslc) + target_link_libraries(glslc_exe PRIVATE glslc shaderc_util shaderc) +-add_dependencies(glslc_exe build-version) + + shaderc_add_tests( + TEST_PREFIX glslc +diff --git a/spvc/CMakeLists.txt b/spvc/CMakeLists.txt +index f465972..76f8c2e 100644 +--- a/spvc/CMakeLists.txt ++++ b/spvc/CMakeLists.txt +@@ -3,7 +3,6 @@ shaderc_default_compile_options(spvc_exe) + target_include_directories(spvc_exe PRIVATE ${shaderc_SOURCE_DIR}/libshaderc/include ${spirv-tools_SOURCE_DIR}/include) + set_target_properties(spvc_exe PROPERTIES OUTPUT_NAME spvc) + target_link_libraries(spvc_exe PRIVATE shaderc_spvc shaderc_util) +-add_dependencies(spvc_exe build-version) + + shaderc_add_asciidoc(spvc_doc_README README) + diff --git a/ports/shaderc/fix-install.patch b/ports/shaderc/fix-install.patch new file mode 100644 index 000000000..1857ed8fe --- /dev/null +++ b/ports/shaderc/fix-install.patch @@ -0,0 +1,26 @@ +diff --git a/libshaderc/CMakeLists.txt b/libshaderc/CMakeLists.txt +index 9d07136..0ffa06f 100644 +--- a/libshaderc/CMakeLists.txt ++++ b/libshaderc/CMakeLists.txt +@@ -84,7 +84,7 @@ if(SHADERC_ENABLE_INSTALL) + # around this problem by manually substitution. + string(REPLACE "$(Configuration)" "\${CMAKE_INSTALL_CONFIG_NAME}" + install_location "${generated_location}") +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${install_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(FILES ${install_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + else() + install(FILES ${generated_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() +diff --git a/libshaderc_spvc/CMakeLists.txt b/libshaderc_spvc/CMakeLists.txt +index fae235e..b503e70 100644 +--- a/libshaderc_spvc/CMakeLists.txt ++++ b/libshaderc_spvc/CMakeLists.txt +@@ -84,7 +84,7 @@ if(SHADERC_ENABLE_INSTALL) + # around this problem by manually substitution. + string(REPLACE "$(Configuration)" "\${CMAKE_INSTALL_CONFIG_NAME}" + install_location "${generated_location}") +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${install_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(FILES ${install_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + else() + install(FILES ${generated_location} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() diff --git a/ports/shaderc/portfile.cmake b/ports/shaderc/portfile.cmake index 5f1f70572..297842296 100644 --- a/ports/shaderc/portfile.cmake +++ b/ports/shaderc/portfile.cmake @@ -3,17 +3,19 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/shaderc - REF 12fb656ab20ea9aa06e7084a74e5ff832b7ce2da - SHA512 6fb45a0b01e6709c44a11658648b9271fe06bd94023dcc5042c47b5f2a04889c2efb0ab4c166f18728594ac9b9aa9f8b354af46d88eb7f7c39c7246f52f5a933 + REF 05c766a1f4615ee37d37d09271aaabca30ffd293 + SHA512 329697e8e23d619313440d57ef740a94c49d13533e1b8734fc8ff72fd5092c2addabb306f64cb69160fa5fee373a05ba39a5ee6d92d95e5e2e9c7ec96a51aadc HEAD_REF master - PATCHES - 0001-Do-not-generate-build-version.inc.patch - 0001-Add-a-virtual-destructor.patch + PATCHES + "disable-update-version.patch" + "fix-install.patch" ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/third_party/glslang) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists_spirv.txt DESTINATION ${SOURCE_PATH}/third_party/spirv-tools) file(RENAME ${SOURCE_PATH}/third_party/spirv-tools/CMakeLists_spirv.txt ${SOURCE_PATH}/third_party/spirv-tools/CMakeLists.txt) + file(COPY ${CMAKE_CURRENT_LIST_DIR}/build-version.inc DESTINATION ${SOURCE_PATH}/glslc/src) #Note: glslang and spir tools doesn't export symbol and need to be build as static lib for cmake to work @@ -30,7 +32,8 @@ vcpkg_add_to_path(PREPEND "${PYTHON3_EXE_PATH}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS -DSHADERC_SKIP_TESTS=true ${OPTIONS} -Dglslang_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include + PREFER_NINJA + OPTIONS -DSHADERC_SKIP_TESTS=true ${OPTIONS} -Dglslang_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include -Dspirv-tools_SOURCE_DIR=${CURRENT_INSTALLED_DIR}/include OPTIONS_DEBUG -DSUFFIX_D=true OPTIONS_RELEASE -DSUFFIX_D=false ) diff --git a/ports/shapelib/CONTROL b/ports/shapelib/CONTROL index 338be3ebe..283b66b44 100644 --- a/ports/shapelib/CONTROL +++ b/ports/shapelib/CONTROL @@ -1,4 +1,4 @@ Source: shapelib -Version: 1.4.1-1 +Version: 1.4.1-2 Homepage: https://download.osgeo.org/shapelib Description: Shapefile C Library is simple C API for reading and writing ESRI Shapefiles diff --git a/ports/shapelib/portfile.cmake b/ports/shapelib/portfile.cmake index eed76736f..788e21e2e 100644 --- a/ports/shapelib/portfile.cmake +++ b/ports/shapelib/portfile.cmake @@ -2,18 +2,18 @@ include(vcpkg_common_functions) set(SHAPELIB_VERSION 1.4.1) set(SHAPELIB_HASH e3e02dde8006773fed25d630896e79fd79d2008a029cc86b157fe0d92c143a9fab930fdb93d9700d4e1397c3b23ae4b86e91db1dbaca1c5388d4e3aea0309341) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/shapelib-${SHAPELIB_VERSION}) vcpkg_download_distfile(ARCHIVE URLS "http://download.osgeo.org/shapelib/shapelib-${SHAPELIB_VERSION}.zip" FILENAME "shapelib-${SHAPELIB_VERSION}.zip" SHA512 ${SHAPELIB_HASH} ) -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/option-build-test.patch +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + option-build-test.patch ) vcpkg_configure_cmake( diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL index 69b7968db..b9f99fbb0 100644 --- a/ports/shogun/CONTROL +++ b/ports/shogun/CONTROL @@ -1,4 +1,4 @@ Source: shogun -Version: 6.1.3-4 +Version: 6.1.4 Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas (x64&!osx), nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent Description: Unified and efficient Machine Learning diff --git a/ports/shogun/portfile.cmake b/ports/shogun/portfile.cmake index 1f46e6ba7..d77ef5cf9 100644 --- a/ports/shogun/portfile.cmake +++ b/ports/shogun/portfile.cmake @@ -2,11 +2,17 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 0) +else() + set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 1) +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO shogun-toolbox/shogun - REF shogun_6.1.3 - SHA512 11aeed456b13720099ca820ab9742c90ce4af2dc049602a425f8c44d2fa155327c7f1d3af2ec840666f600a91e75902d914ffe784d76ed35810da4f3a5815673 + REF ab274e7ab6bf24dd598c1daf1e626cb686d6e1cc + SHA512 fb90e5bf802c6fd59bf35ab7bbde5e8cfcdc5d46c69c52097140b30c6b29e28b8341dd1ece7f8a1f9d9123f4bc06d44d288584ce7dfddccf3d33fe05106884ae HEAD_REF master PATCHES cmake.patch @@ -16,12 +22,6 @@ file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/external) file(MAKE_DIRECTORY ${SOURCE_PATH}/cmake/external) file(COPY ${CMAKE_CURRENT_LIST_DIR}/MSDirent.cmake DESTINATION ${SOURCE_PATH}/cmake/external) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 0) -else() - set(CMAKE_DISABLE_FIND_PACKAGE_BLAS 1) -endif() - vcpkg_find_acquire_program(PYTHON3) get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) vcpkg_add_to_path(${PYTHON3_DIR}) @@ -36,9 +36,6 @@ vcpkg_configure_cmake( -DENABLE_TESTING=OFF -DLICENSE_GPL_SHOGUN=OFF -DLIBSHOGUN_BUILD_STATIC=ON - # Conflicting definitions in OpenBLAS and Eigen - -DENABLE_EIGEN_LAPACK=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_JSON=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_ViennaCL=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_TFLogger=TRUE @@ -53,13 +50,13 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_CCache=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_LAPACK=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE + -DCMAKE_DISABLE_FIND_PACKAGE_CURL=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_BLAS=${CMAKE_DISABLE_FIND_PACKAGE_BLAS} -DINSTALL_TARGETS=shogun-static ) vcpkg_install_cmake() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/shogun) file(REMOVE_RECURSE diff --git a/ports/signalrclient/CONTROL b/ports/signalrclient/CONTROL index e64b920ba..85e4427d5 100644 --- a/ports/signalrclient/CONTROL +++ b/ports/signalrclient/CONTROL @@ -1,5 +1,5 @@ Source: signalrclient -Version: 1.0.0-beta1-6 +Version: 1.0.0-beta1-7 Build-Depends: cpprestsdk, openssl Homepage: https://github.com/aspnet/SignalR-Client-Cpp Description: C++ client for SignalR. diff --git a/ports/signalrclient/portfile.cmake b/ports/signalrclient/portfile.cmake index e3b6e7c4d..39f1992b8 100644 --- a/ports/signalrclient/portfile.cmake +++ b/ports/signalrclient/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS_DEBUG -DCPPREST_SO=${CURRENT_INSTALLED_DIR}/debug/lib/cpprest_2_10d.lib OPTIONS_RELEASE diff --git a/ports/sigslot/CONTROL b/ports/sigslot/CONTROL new file mode 100644 index 000000000..9b3e16b37 --- /dev/null +++ b/ports/sigslot/CONTROL @@ -0,0 +1,3 @@ +Source: sigslot +Version: 1.0.0 +Description: Portable C++ type-safe, thread-safe signal/slot library for ISO C++, Unix/BSD/Linux and Win32. Sigslot allows C++ code to use the signal/slot paradigm made popular by, for example, Qt. diff --git a/ports/sigslot/LICENSE b/ports/sigslot/LICENSE new file mode 100644 index 000000000..d706712aa --- /dev/null +++ b/ports/sigslot/LICENSE @@ -0,0 +1,8 @@ +License +The sigslot library has been placed in the public domain. This means that you are free to use it however you like. + +The author takes no responsibility or liability of any kind for any use that you may make of this library. + +If you screw up, it's your fault. + +If the library screws up, you got it for free, so you should have tested it better - it's still your responsibility. \ No newline at end of file diff --git a/ports/sigslot/portfile.cmake b/ports/sigslot/portfile.cmake new file mode 100644 index 000000000..4993bf9e0 --- /dev/null +++ b/ports/sigslot/portfile.cmake @@ -0,0 +1,20 @@ +include(vcpkg_common_functions) + +vcpkg_download_distfile( + ARCHIVE + URLS + "https://downloads.sourceforge.net/project/sigslot/sigslot/1.0.0/sigslot-1-0-0.tar.gz" + FILENAME + "sigslot-1-0-0.tar.gz" + SHA512 + 3f16f94a653e49934ec1d695eac02234d15b203f42e9fa88723ee582a84670a645a89e5b87afe2378fa7a9eaef054049255bf3bd531ab1d6825a042641ba8906 + ) + +vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}) + +file(INSTALL ${CURRENT_BUILDTREES_DIR}/sigslot/sigslot.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(INSTALL ${CURRENT_PORT_DIR}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/sigslot + RENAME copyright) diff --git a/ports/simdjson/CONTROL b/ports/simdjson/CONTROL index 8c71eeee5..df8c5deba 100644 --- a/ports/simdjson/CONTROL +++ b/ports/simdjson/CONTROL @@ -1,3 +1,4 @@ Source: simdjson -Version: 2019-03-09 +Version: 2019-08-05 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/portfile.cmake b/ports/simdjson/portfile.cmake index f6b2f347a..a5eea7b68 100644 --- a/ports/simdjson/portfile.cmake +++ b/ports/simdjson/portfile.cmake @@ -10,8 +10,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO lemire/simdjson - REF d2fa086198b77df44e7fa48b25200e118fa81eb0 - SHA512 fe92b65e44502381d286b6a7c949055d185e56e7c244a5ab3086b2fe7da76ce81a966daa2d8459794ff0a911b426b1c77e1fc9ef0d616e20868621b1bb30cf67 + REF d9a0e2b8f441c20ad46276fdb8ce24f2aebdc07b + SHA512 05523c59b95485b93646370ac1ef9f80a72351a5bfe76797c5bbbf249bedd81b962dad19040a7eaac80744aaec18be9bec1120da44a9a1e4328e68b3d671bdaf HEAD_REF master ) @@ -22,6 +22,8 @@ vcpkg_configure_cmake( PREFER_NINJA OPTIONS -DSIMDJSON_BUILD_STATIC=${SIMDJSON_BUILD_STATIC} + OPTIONS_DEBUG + -DSIMDJSON_SANITIZE=ON ) vcpkg_install_cmake() @@ -38,4 +40,4 @@ file(REMOVE_RECURSE configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) # CMake integration test -#vcpkg_test_cmake(PACKAGE_NAME ${PORT}) +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/simpleini/CONTROL b/ports/simpleini/CONTROL index b0c70335f..589928579 100644 --- a/ports/simpleini/CONTROL +++ b/ports/simpleini/CONTROL @@ -1,3 +1,3 @@ Source: simpleini -Version: 2018-08-31-1 +Version: 2018-08-31-2 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 508043cd1..806729908 100644 --- a/ports/simpleini/portfile.cmake +++ b/ports/simpleini/portfile.cmake @@ -9,6 +9,6 @@ vcpkg_from_github( HEAD_REF master ) -file(COPY ${SOURCE_PATH}/simpleini.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${SOURCE_PATH}/Simpleini.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) file(INSTALL ${SOURCE_PATH}/LICENCE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/simpleini RENAME copyright) diff --git a/ports/slikenet/CONTROL b/ports/slikenet/CONTROL new file mode 100644 index 000000000..f43c31256 --- /dev/null +++ b/ports/slikenet/CONTROL @@ -0,0 +1,5 @@ +Source: slikenet +Version: 2019-10-22 +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/fix-install.patch b/ports/slikenet/fix-install.patch new file mode 100644 index 000000000..418b5e048 --- /dev/null +++ b/ports/slikenet/fix-install.patch @@ -0,0 +1,49 @@ +diff --git a/Lib/DLL/CMakeLists.txt b/Lib/DLL/CMakeLists.txt +index 2d1e078..7e705cf 100644 +--- a/Lib/DLL/CMakeLists.txt ++++ b/Lib/DLL/CMakeLists.txt +@@ -50,13 +50,13 @@ ELSE(WIN32 AND NOT UNIX) + ENDIF(WIN32 AND NOT UNIX) + + target_link_libraries(SLikeNetDLL ${SLIKENET_LIBRARY_LIBS}) +-IF(NOT WIN32 OR UNIX) +- configure_file(../../slikenet-config-version.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/slikenet-config-version.cmake @ONLY) +- +- install(TARGETS SLikeNetDLL EXPORT SLikeNetDLL DESTINATION lib/slikenet-${SLikeNet_VERSION}) ++IF(1) ++ install(TARGETS SLikeNetDLL ++ EXPORT SLikeNetDLL ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + INSTALL(FILES ${ALL_COMPATIBILITY_HEADER_SRC} DESTINATION include/slikenet-${SLikeNet_VERSION}) + INSTALL(FILES ${ALL_COMPATIBILITY_HEADER_SRC_2} DESTINATION include/slikenet-${SLikeNet_VERSION}/slikenet/slikenet) + INSTALL(FILES ${ALL_HEADER_SRCS} DESTINATION include/slikenet-${SLikeNet_VERSION}/slikenet/include/slikenet) +- INSTALL(FILES ../../slikenet-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/slikenet-config-version.cmake DESTINATION lib/slikenet-${SLikeNet_VERSION}) +- INSTALL(EXPORT SLikeNetDLL DESTINATION lib/slikenet-${SLikeNet_VERSION}) +-ENDIF(NOT WIN32 OR UNIX) ++ENDIF(1) +diff --git a/Lib/LibStatic/CMakeLists.txt b/Lib/LibStatic/CMakeLists.txt +index 955a99d..9211c45 100644 +--- a/Lib/LibStatic/CMakeLists.txt ++++ b/Lib/LibStatic/CMakeLists.txt +@@ -54,13 +54,14 @@ IF(WIN32 AND NOT UNIX) + IF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles") + set_target_properties(SLikeNetLibStatic PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB:\"LIBCD.lib LIBCMTD.lib MSVCRT.lib\"" ) + ENDIF(NOT ${CMAKE_GENERATOR} STREQUAL "MSYS Makefiles") +-ELSE(WIN32 AND NOT UNIX) +- configure_file(../../slikenet-config-version.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/slikenet-config-version.cmake @ONLY) ++ENDIF(WIN32 AND NOT UNIX) + + INSTALL(TARGETS SLikeNetLibStatic EXPORT SLikeNetLibStatic DESTINATION lib/slikenet-${SLikeNet_VERSION}) ++ INSTALL(TARGETS SLikeNetLibStatic ++ EXPORT SLikeNetLibStatic ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION share/slikenet) + INSTALL(FILES ${ALL_COMPATIBILITY_HEADER_SRC} DESTINATION include/slikenet-${SLikeNet_VERSION}) + INSTALL(FILES ${ALL_COMPATIBILITY_HEADER_SRC_2} DESTINATION include/slikenet-${SLikeNet_VERSION}/slikenet) + INSTALL(FILES ${ALL_HEADER_SRCS} DESTINATION include/slikenet-${SLikeNet_VERSION}/include/slikenet) +- INSTALL(FILES ../../slikenet-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/slikenet-config-version.cmake DESTINATION lib/slikenet-${SLikeNet_VERSION}) +- INSTALL(EXPORT SLikeNetLibStatic FILE slikenet.cmake DESTINATION lib/slikenet-${SLikeNet_VERSION}) +-ENDIF(WIN32 AND NOT UNIX) diff --git a/ports/slikenet/portfile.cmake b/ports/slikenet/portfile.cmake new file mode 100644 index 000000000..da57e055d --- /dev/null +++ b/ports/slikenet/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_fail_port_install(ON_TARGET "UWP") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO SLikeSoft/SLikeNet + REF cca394f05e9e9e3e315a85539e648f267d3f2fcc + SHA512 410954bda5a7be309eb71c3078f8ea67ff21aae2ce923f01db77b09265969f1350afb45b90194118bfad274f0a36a2d3bbc38d86a15507fdfc4bc8edc4a0204c + HEAD_REF master + PATCHES + fix-install.patch +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(SLIKENET_ENABLE_STATIC TRUE) + set(SLIKENET_ENABLE_DLL FALSE) +else() + set(SLIKENET_ENABLE_STATIC FALSE) + set(SLIKENET_ENABLE_DLL TRUE) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DSLIKENET_ENABLE_DLL=${SLIKENET_ENABLE_DLL} + -DSLIKENET_ENABLE_STATIC=${SLIKENET_ENABLE_STATIC} + -DSLIKENET_ENABLE_SAMPLES=FALSE +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/sndfile/CONTROL b/ports/sndfile/CONTROL index 8c020a5f9..fb01b6408 100644 --- a/ports/sndfile/CONTROL +++ b/ports/sndfile/CONTROL @@ -1,9 +1,9 @@ Source: sndfile -Version: deprecated -Description: Deprecated port, use libsndfile instead +Version: 0 +Description:x Library to read, write and manipulate many soundfile types. Build-Depends: libsndfile Default-Features: external-libs Feature: external-libs -Description: Deprecated port, use libsndfile[external-libs] instead +Description: Support Ogg Vorbis and FLAC audio files Build-Depends: libsndfile[external-libs] diff --git a/ports/sndfile/portfile.cmake b/ports/sndfile/portfile.cmake index 47fe8ca23..d3910bb2c 100644 --- a/ports/sndfile/portfile.cmake +++ b/ports/sndfile/portfile.cmake @@ -1,3 +1,3 @@ set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -message(WARNING "The sndfile port is deprecated, use libsndfile instead") +message(WARNING "The sndfile port is deprecated, using libsndfile instead") diff --git a/ports/snowhouse/CONTROL b/ports/snowhouse/CONTROL index ebd1a6192..3d6592901 100644 --- a/ports/snowhouse/CONTROL +++ b/ports/snowhouse/CONTROL @@ -1,3 +1,3 @@ Source: snowhouse -Version: 3.1.0 +Version: 3.1.1 Description: An assertion library for C++ diff --git a/ports/snowhouse/portfile.cmake b/ports/snowhouse/portfile.cmake index de5fd57e5..459b086d0 100644 --- a/ports/snowhouse/portfile.cmake +++ b/ports/snowhouse/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO banditcpp/snowhouse - REF 5a612c248524a3b1bdd388bc0ef5a9ea0d2fa684 - SHA512 fd737b0f433093246883975ec70a407a62547e768f538e0540ac0634db1578f0ea46979b7055ae428f146499a0df3b1d6292b8d38c22d346476211757a271d21 + REF v3.1.1 + SHA512 4547893c77eb7ddf7c1dac222ebd2456c518c38a12001b8a27b64d876ece93591ff624b911cb4f1ea3d7b635e92cc3ace536ca12e476bdfbce9789293b95b08f HEAD_REF master ) diff --git a/ports/so5extra/CONTROL b/ports/so5extra/CONTROL index af3be50a0..3a0ef2cb0 100644 --- a/ports/so5extra/CONTROL +++ b/ports/so5extra/CONTROL @@ -1,4 +1,4 @@ Source: so5extra -Version: 1.2.3 +Version: 1.3.1.1 Description: A set of additional tools for SObjectizer framework. Build-Depends: sobjectizer diff --git a/ports/so5extra/portfile.cmake b/ports/so5extra/portfile.cmake index 4bd7e0787..c096b4795 100644 --- a/ports/so5extra/portfile.cmake +++ b/ports/so5extra/portfile.cmake @@ -1,28 +1,24 @@ include(vcpkg_common_functions) -set(VERSION 1.2.3) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/so_5_extra-${VERSION}/dev/so_5_extra) +set(VERSION 1.3.1.1) -vcpkg_download_distfile(ARCHIVE - URLS "https://sourceforge.net/projects/sobjectizer/files/sobjectizer/so_5_extra/so_5_extra-${VERSION}.zip/download" - FILENAME "so_5_extra-${VERSION}.zip" - SHA512 ed12cdae9d23d652cbedd12e37b7faa935ace4c951eb5cb3881306c1384973ac0a90bd59244471a671ec734f6319f0a3144f7a727342c94cec6330eb4195bae9 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO stiffstream/so5extra + REF v.${VERSION} + SHA512 aaf0d6bf86819a5c8c4e2c07318b46e34f22f0b4c2183690d8f21b8789a3c8c2533304998432397b8192193e32915ba4742eaff3481949add1a25602fb7347f1 ) -vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH}/dev/so_5_extra + PREFER_NINJA OPTIONS -DSO5EXTRA_INSTALL=ON ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/so5extra) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/so5extra") - -# Remove unnecessary stuff. -# These paths are empty and should be removed too. file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib ${CURRENT_PACKAGES_DIR}/debug) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/../../LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/so5extra RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/so5extra RENAME copyright) diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL index 12b0968d9..538cf7fdb 100644 --- a/ports/sobjectizer/CONTROL +++ b/ports/sobjectizer/CONTROL @@ -1,4 +1,4 @@ Source: sobjectizer -Version: 5.5.24.4 -Homepage: https://sourceforge.net/projects/sobjectizer +Version: 5.6.1-1 +Homepage: https://github.com/Stiffstream/sobjectizer Description: SObjectizer is a C++ in-process message dispatching framework with implementation of Actor Model, Publish-Subscribe Model and CSP-like channels. diff --git a/ports/sobjectizer/portfile.cmake b/ports/sobjectizer/portfile.cmake index 659e1192a..6eb634fa8 100644 --- a/ports/sobjectizer/portfile.cmake +++ b/ports/sobjectizer/portfile.cmake @@ -1,14 +1,17 @@ include(vcpkg_common_functions) -set(VERSION 5.5.24.4) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/so-${VERSION}/dev) +set(VERSION 5.6.1) vcpkg_download_distfile(ARCHIVE - URLS "https://sourceforge.net/projects/sobjectizer/files/sobjectizer/SObjectizer%20Core%20v.5.5/so-${VERSION}.zip" - FILENAME "so-${VERSION}.zip" - SHA512 83f20091b9aa9ecec08b72a97c9190da7bfbe7cc69076dd70074f814208a2712ec722a8c9e7367ab8a416a5c0d488edebb6066371f7cec5dd566f51ef297b382 + URLS "https://sourceforge.net/projects/sobjectizer/files/sobjectizer/SObjectizer%20Core%20v.5.6/so-${VERSION}.tar.bz2" + FILENAME "so-${VERSION}.tar.bz2" + SHA512 f043a2d9025fe98d407023291100a79c2fbbd9d61e7c24602311e7383607b0fc1ec6108bfaea5f98021ebb942b3494f0380a2357bcaed01f92ede5dba0ab9cf0 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} ) -vcpkg_extract_source_archive(${ARCHIVE}) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) set(SOBJECTIZER_BUILD_STATIC ON) @@ -19,7 +22,7 @@ else() endif() vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} + SOURCE_PATH ${SOURCE_PATH}/dev PREFER_NINJA OPTIONS -DSOBJECTIZER_BUILD_STATIC=${SOBJECTIZER_BUILD_STATIC} @@ -29,8 +32,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/sobjectizer") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sobjectizer) -# Handle copyright -file(COPY ${SOURCE_PATH}/../LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sobjectizer) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/sobjectizer/LICENSE ${CURRENT_PACKAGES_DIR}/share/sobjectizer/copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) 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 -Date: Sun, 5 May 2019 19:52:01 +0300 -Subject: [PATCH] Deduce reference in boost::fusion::for_each - -Signed-off-by: Andrei Lebedev ---- - 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 - # include -+# include -+ -+# if BOOST_VERSION >= 106800 -+# define SOCI_BOOST_FUSION_FOREACH_REFERENCE & -+# else -+# define SOCI_BOOST_FUSION_FOREACH_REFERENCE -+# endif - #endif // SOCI_HAVE_BOOST - #include - -@@ -83,13 +90,19 @@ private: - template - void exchange_(use_container const &uc, boost::mpl::true_ * /* fusion sequence */) - { -- boost::fusion::for_each(uc.t, use_sequence(*this, uc.ind)); -+ use_sequence f(*this, uc.ind); -+ boost::fusion::for_each -+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(uc.t, f); - } - - template - void exchange_(use_container const &uc, boost::mpl::true_ * /* fusion sequence */) - { -- boost::fusion::for_each(uc.t, use_sequence(*this)); -+ use_sequence f(*this); -+ boost::fusion::for_each -+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(uc.t, f); - } - - #endif // SOCI_HAVE_BOOST -@@ -173,13 +186,19 @@ private: - template - void exchange_(into_container const &ic, boost::mpl::true_ * /* fusion sequence */) - { -- boost::fusion::for_each(ic.t, into_sequence(*this, ic.ind)); -+ into_sequence f(*this, ic.ind); -+ boost::fusion::for_each -+ SOCI_BOOST_FUSION_FOREACH_REFERENCE>(ic.t, f); - } - - template - void exchange_(into_container const &ic, boost::mpl::true_ * /* fusion sequence */) - { -- boost::fusion::for_each(ic.t, into_sequence(*this)); -+ into_sequence f(*this); -+ boost::fusion::for_each -+ 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 -Date: Sun, 5 May 2019 21:22:49 +0300 -Subject: [PATCH] Find PostgreSQL debug library - -Signed-off-by: Andrei Lebedev ---- - 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/soil/CONTROL b/ports/soil/CONTROL index 412857025..156582b38 100644 --- a/ports/soil/CONTROL +++ b/ports/soil/CONTROL @@ -1,3 +1,3 @@ Source: soil -Version: 2008.07.07-1 +Version: 2008.07.07-2 Description: Simple OpenGL Image Library diff --git a/ports/soil/portfile.cmake b/ports/soil/portfile.cmake index 69073e22d..f97be5259 100644 --- a/ports/soil/portfile.cmake +++ b/ports/soil/portfile.cmake @@ -1,13 +1,15 @@ include(vcpkg_common_functions) -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/Simple OpenGL Image Library") vcpkg_download_distfile(ARCHIVE URLS "http://www.lonesock.net/files/soil.zip" FILENAME "soil-2008.07.07.zip" SHA512 a575a84aa65b7556320779d635561341f5cf156418d0462473e5d1eb082829be3bcb30600b4887af75aeddd3715de16bdb3ca1668ebaa93eea62bacf22b79548 ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt @@ -25,5 +27,4 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/soil RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/sokol/CONTROL b/ports/sokol/CONTROL new file mode 100644 index 000000000..4caa796cc --- /dev/null +++ b/ports/sokol/CONTROL @@ -0,0 +1,4 @@ +Source: sokol +Version: 2019-09-09 +Description: Minimal cross-platform standalone C headers +Homepage: https://github.com/floooh/sokol diff --git a/ports/sokol/portfile.cmake b/ports/sokol/portfile.cmake new file mode 100644 index 000000000..92eee036d --- /dev/null +++ b/ports/sokol/portfile.cmake @@ -0,0 +1,20 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO floooh/sokol + REF 425e906d2af8c976c30f7e925a303fea9f0bf879 + SHA512 4606735b9466637f3b676402cc2d7ef96e4152836c901d7a84039c52951aec27922726de21a537e0fef2d2218f48e3a9a3c32c3bc67076c10d199f067f50dad9 + HEAD_REF master +) + +file(GLOB SOKOL_INCLUDE_FILES ${SOURCE_PATH}/*.h) +file(COPY ${SOKOL_INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(GLOB SOKOL_UTIL_INCLUDE_FILES ${SOURCE_PATH}/util/*.h) +file(COPY ${SOKOL_UTIL_INCLUDE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/util) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/sol2/CONTROL b/ports/sol2/CONTROL index a43b1c7b4..42c2c736e 100644 --- a/ports/sol2/CONTROL +++ b/ports/sol2/CONTROL @@ -1,5 +1,5 @@ Source: sol2 -Version: 3.0.2 +Version: 3.0.3-2 Homepage: https://github.com/ThePhD/sol2 Description: Sol v2.0 - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great Build-Depends: lua (windows) \ No newline at end of file diff --git a/ports/sol2/fix-namespace.patch b/ports/sol2/fix-namespace.patch new file mode 100644 index 000000000..bcce158db --- /dev/null +++ b/ports/sol2/fix-namespace.patch @@ -0,0 +1,19 @@ +diff --git a/cmake/sol2-config.cmake.in b/cmake/sol2-config.cmake.in +index 70c448d..7965bc6 100644 +--- a/cmake/sol2-config.cmake.in ++++ b/cmake/sol2-config.cmake.in +@@ -26,11 +26,11 @@ include("${CMAKE_CURRENT_LIST_DIR}/sol2-targets.cmake") + + MESSAGE(STATUS ${CMAKE_CURRENT_LIST_DIR}) + +-if (TARGET sol2) ++if (TARGET sol2::sol2) + get_target_property(SOL2_INCLUDE_DIRS +- sol2 INTERFACE_INCLUDE_DIRECTORIES) ++ sol2::sol2 INTERFACE_INCLUDE_DIRECTORIES) + set_and_check(SOL2_INCLUDE_DIRS "${SOL2_INCLUDE_DIRS}") +- set(SOL2_LIBRARIES sol2) ++ set(SOL2_LIBRARIES sol2::sol2) + endif() + + if(TARGET sol2_single) diff --git a/ports/sol2/portfile.cmake b/ports/sol2/portfile.cmake index ee89b9f54..872f21839 100644 --- a/ports/sol2/portfile.cmake +++ b/ports/sol2/portfile.cmake @@ -3,9 +3,10 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ThePhD/sol2 - REF 5a4d7dca7f77e65aed15c0fb8f8acf1570677335 - SHA512 5fc88a000d7a8379c3c8d8ee2dc3371514c4a58dcc3340b700565278ec69b7be0f108d599e3fe3b3ca347ef7c5b25ac01d83b1a988ac0189c8517b6ae66e96d6 + REF v3.0.3 + SHA512 8c8f36eaedb76863106ecd24543b82c76a2fac15e86bfaf0e724b726e89d4238adf9eea8abefe0add5ee17e45b1a73ee24496f691b79c15dca85e2cfde8762b4 HEAD_REF develop + PATCHES fix-namespace.patch ) vcpkg_configure_cmake( @@ -16,7 +17,13 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sol2) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file( + REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug + ${CURRENT_PACKAGES_DIR}/lib + ${CURRENT_PACKAGES_DIR}/include +) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sol2 RENAME copyright) +file(INSTALL ${SOURCE_PATH}/single/include/sol DESTINATION ${CURRENT_PACKAGES_DIR}/include/) + +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/sophus/CONTROL b/ports/sophus/CONTROL index 91e97c90b..d3c81de77 100644 --- a/ports/sophus/CONTROL +++ b/ports/sophus/CONTROL @@ -1,5 +1,5 @@ Source: sophus -Version: 1.0.0-3 +Version: 1.0.0-6 Build-Depends: eigen3, ceres, suitesparse Homepage: https://github.com/strasdat/Sophus Description: Lie group library for C++ diff --git a/ports/sophus/portfile.cmake b/ports/sophus/portfile.cmake index f33260c4d..c7480b904 100644 --- a/ports/sophus/portfile.cmake +++ b/ports/sophus/portfile.cmake @@ -16,7 +16,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Sophus") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Sophus) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) diff --git a/ports/soundtouch/CMakeLists.txt b/ports/soundtouch/CMakeLists.txt index a15daefe4..075c8ee2d 100644 --- a/ports/soundtouch/CMakeLists.txt +++ b/ports/soundtouch/CMakeLists.txt @@ -13,15 +13,18 @@ else() set(TYPE_SUFFIX $<$:D>) endif() -file(GLOB SOUNDTOUCH_SOURCES source/SoundTouch/*.cpp) +configure_file("${CMAKE_CURRENT_LIST_DIR}/include/soundtouch_config.h.in" ${CMAKE_CURRENT_BINARY_DIR}/include/soundtouch_config.h) + +file(GLOB SOUNDTOUCH_SOURCES "${CMAKE_CURRENT_LIST_DIR}/source/SoundTouch/*.cpp") add_library(libsoundtouch ${SOUNDTOUCH_SOURCES}) -target_include_directories(libsoundtouch PUBLIC include) +target_include_directories(libsoundtouch PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include") +target_include_directories(libsoundtouch PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/include") set_target_properties(libsoundtouch PROPERTIES OUTPUT_NAME SoundTouch${TYPE_SUFFIX}${ARCH_SUFFIX}) -if(BUILD_SHARED_LIBS) +if(WIN32 AND BUILD_SHARED_LIBS) target_compile_definitions(libsoundtouch PRIVATE -DDLL_EXPORTS) target_sources(libsoundtouch PRIVATE - source/SoundTouchDLL/SoundTouchDLL.cpp - source/SoundTouchDLL/SoundTouchDLL.rc + "${CMAKE_CURRENT_LIST_DIR}/source/SoundTouchDLL/SoundTouchDLL.cpp" + "${CMAKE_CURRENT_LIST_DIR}/source/SoundTouchDLL/SoundTouchDLL.rc" ) endif() diff --git a/ports/soundtouch/CONTROL b/ports/soundtouch/CONTROL index 2e358f55e..7ce1c2ba6 100644 --- a/ports/soundtouch/CONTROL +++ b/ports/soundtouch/CONTROL @@ -1,5 +1,5 @@ Source: soundtouch -Version: 2.0.0-2 +Version: 2.0.0-4 Homepage: https://www.surina.net/soundtouch Description: SoundTouch is an open-source audio processing library for changing the Tempo, Pitch and Playback Rates of audio streams or audio files. -Build-Depends: atlmfc +Build-Depends: atlmfc (windows) diff --git a/ports/soundtouch/portfile.cmake b/ports/soundtouch/portfile.cmake index c9fbd3623..5f77e2a63 100644 --- a/ports/soundtouch/portfile.cmake +++ b/ports/soundtouch/portfile.cmake @@ -7,14 +7,17 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") endif() set(VERSION 2.0.0) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/soundtouch) vcpkg_download_distfile(ARCHIVE URLS "https://www.surina.net/soundtouch/soundtouch-${VERSION}.zip" FILENAME "soundtouch-${VERSION}.zip" SHA512 50ef36b6cd21c16e235b908c5518e29b159b11f658a014c47fe767d3d8acebaefefec0ce253b4ed322cbd26387c69c0ed464ddace0c098e61d56d55c198117a5 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -27,5 +30,4 @@ vcpkg_install_cmake() file(INSTALL ${SOURCE_PATH}/source/SoundTouchDLL/SoundTouchDLL.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${SOURCE_PATH}/COPYING.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/soundtouch) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/soundtouch/COPYING.TXT ${CURRENT_PACKAGES_DIR}/share/soundtouch/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/soxr/001_initialize-resampler.patch b/ports/soxr/001_initialize-resampler.patch new file mode 100644 index 000000000..6be5f29bd --- /dev/null +++ b/ports/soxr/001_initialize-resampler.patch @@ -0,0 +1,13 @@ +diff --git a/src/soxr.c b/src/soxr.c +index c2861ac..c95cfd4 100644 +--- a/src/soxr.c ++++ b/src/soxr.c +@@ -815,7 +815,7 @@ soxr_error_t soxr_oneshot( + soxr_quality_spec_t const * q_spec, + soxr_runtime_spec_t const * runtime_spec) + { +- soxr_t resampler; ++ soxr_t resampler = NULL; + soxr_error_t error = q_spec? q_spec->e : 0; + if (!error) { + soxr_quality_spec_t q_spec1; diff --git a/ports/soxr/002_disable_warning.patch b/ports/soxr/002_disable_warning.patch new file mode 100644 index 000000000..fc8550187 --- /dev/null +++ b/ports/soxr/002_disable_warning.patch @@ -0,0 +1,12 @@ +diff --git a/src/pffft.c b/src/pffft.c +index 46c841e..0686bef 100644 +--- a/src/pffft.c ++++ b/src/pffft.c +@@ -182,7 +182,6 @@ typedef float32x4_t v4sf; + # define VALIGNED(ptr) ((((long)(ptr)) & 0x3) == 0) + #else + # if !defined(PFFFT_SIMD_DISABLE) +-# warning "building with simd disabled !\n"; + # define PFFFT_SIMD_DISABLE /* fallback to scalar code */ + # endif + #endif diff --git a/ports/soxr/003_detect_arm_on_windows.patch b/ports/soxr/003_detect_arm_on_windows.patch new file mode 100644 index 000000000..f1643fb63 --- /dev/null +++ b/ports/soxr/003_detect_arm_on_windows.patch @@ -0,0 +1,13 @@ +diff --git a/src/pffft.c b/src/pffft.c +index 0686bef..e4cb094 100644 +--- a/src/pffft.c ++++ b/src/pffft.c +@@ -157,7 +157,7 @@ typedef __m128 v4sf; + /* + ARM NEON support macros + */ +-#elif !defined(PFFFT_SIMD_DISABLE) && defined(__arm__) ++#elif !defined(PFFFT_SIMD_DISABLE) && (defined(__arm__) || defined(_M_ARM)) + # include + typedef float32x4_t v4sf; + # define SIMD_SZ 4 diff --git a/ports/soxr/CONTROL b/ports/soxr/CONTROL new file mode 100644 index 000000000..ebf120c06 --- /dev/null +++ b/ports/soxr/CONTROL @@ -0,0 +1,3 @@ +Source: soxr +Version: 0.1.3. +Description: High quality audio resampling diff --git a/ports/soxr/portfile.cmake b/ports/soxr/portfile.cmake new file mode 100644 index 000000000..3a2e23c30 --- /dev/null +++ b/ports/soxr/portfile.cmake @@ -0,0 +1,33 @@ +include(vcpkg_common_functions) + +vcpkg_download_distfile(ARCHIVE + URLS "https://netcologne.dl.sourceforge.net/project/soxr/soxr-0.1.3-Source.tar.xz" + FILENAME "soxr-0.1.3-Source.tar.xz" + SHA512 f4883ed298d5650399283238aac3dbe78d605b988246bea51fa343d4a8ce5ce97c6e143f6c3f50a3ff81795d9c19e7a07217c586d4020f6ced102aceac46aaa8 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + 001_initialize-resampler.patch + 002_disable_warning.patch + 003_detect_arm_on_windows.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF + -DBUILD_EXAMPLES=OFF + -DWITH_OPENMP=OFF + -DWITH_LSR_BINDINGS=OFF +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/LICENCE DESTINATION ${CURRENT_PACKAGES_DIR}/share/soxr RENAME copyright) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/spaceland/CONTROL b/ports/spaceland/CONTROL index 4f885e6eb..183d9392c 100644 --- a/ports/spaceland/CONTROL +++ b/ports/spaceland/CONTROL @@ -1,4 +1,4 @@ Source: spaceland -Version: 7.8.2-2 +Version: 7.8.2-4 Description: Spaceland Lib (sl) is a suite for geometric computation, specifically adapted to OpenGL. Build-Depends: zlib diff --git a/ports/spaceland/portfile.cmake b/ports/spaceland/portfile.cmake index d90ceafd7..861af9db3 100644 --- a/ports/spaceland/portfile.cmake +++ b/ports/spaceland/portfile.cmake @@ -2,18 +2,20 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sl-7.8.2-Source) - vcpkg_download_distfile(ARCHIVE URLS "http://vic.crs4.it/vic/download/pkgs/sl-7.8.2-Source.tar.gz" FILENAME "sl-7.8.2-Source.tar.gz" SHA512 1391dac1474ddb47d0cf0eb7baeb7db68d6356c2116f732dd57b8a050739523282ded0643cc466640f2b22f25dd6bfced00ede4e041b7ff83754a99ae6725d7d ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA DISABLE_PARALLEL_CONFIGURE OPTIONS -DSL_TEST=OFF @@ -26,10 +28,4 @@ vcpkg_configure_cmake( vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle license -file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/spaceland) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/spaceland/COPYING ${CURRENT_PACKAGES_DIR}/share/spaceland/license) - -# Handle copyright -file(COPY ${SOURCE_PATH}/copyright.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/spaceland) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/spaceland/copyright.txt ${CURRENT_PACKAGES_DIR}/share/spaceland/copyright) +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/sparsehash/00001-windows-use-std.patch b/ports/sparsehash/00001-windows-use-std.patch new file mode 100644 index 000000000..69d1966f8 --- /dev/null +++ b/ports/sparsehash/00001-windows-use-std.patch @@ -0,0 +1,17 @@ +diff --git a/src/windows/sparsehash/internal/sparseconfig.h b/src/windows/sparsehash/internal/sparseconfig.h +index 3091559..f96e08c 100644 +--- a/src/windows/sparsehash/internal/sparseconfig.h ++++ b/src/windows/sparsehash/internal/sparseconfig.h +@@ -7,10 +7,10 @@ + #define GOOGLE_NAMESPACE ::google + + /* the location of the header defining hash functions */ +-#define HASH_FUN_H ++#define HASH_FUN_H + + /* the namespace of the hash<> function */ +-#define HASH_NAMESPACE stdext ++#define HASH_NAMESPACE std + + /* Define to 1 if you have the header file. */ + #undef HAVE_INTTYPES_H diff --git a/ports/sparsehash/CONTROL b/ports/sparsehash/CONTROL new file mode 100644 index 000000000..04c1d756b --- /dev/null +++ b/ports/sparsehash/CONTROL @@ -0,0 +1,4 @@ +Source: sparsehash +Version: 2.0.3 +Homepage: https://github.com/sparsehash/sparsehash +Description: The sparsehash package consists of two hashtable implementations: sparse, which is designed to be very space efficient, and dense, which is designed to be very time efficient. diff --git a/ports/sparsehash/Config.cmake.in b/ports/sparsehash/Config.cmake.in new file mode 100644 index 000000000..07739ddb6 --- /dev/null +++ b/ports/sparsehash/Config.cmake.in @@ -0,0 +1,10 @@ + +get_filename_component(_sparsehash_root "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_sparsehash_root "${_sparsehash_root}" PATH) +get_filename_component(_sparsehash_root "${_sparsehash_root}" PATH) + +add_library(sparsehash::sparsehash INTERFACE IMPORTED) +set_target_properties(sparsehash::sparsehash + PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_sparsehash_root}/include") + +unset(_sparsehash_root) diff --git a/ports/sparsehash/portfile.cmake b/ports/sparsehash/portfile.cmake new file mode 100644 index 000000000..1dcccda82 --- /dev/null +++ b/ports/sparsehash/portfile.cmake @@ -0,0 +1,41 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sparsehash/sparsehash + REF sparsehash-2.0.3 + SHA512 bb00d0acb8eba65f7da8015ea4f6bebf8bba36ed6777881960ee215f22b7be17b069c59838d210551ce67a34baccfc7b2fed603677ec53c0c32714d8e76f5d6c + HEAD_REF master + PATCHES 00001-windows-use-std.patch +) + +if(VCPKG_TARGET_IS_WINDOWS) + + file(COPY ${SOURCE_PATH}/src/google DESTINATION ${CURRENT_PACKAGES_DIR}/include) + file(COPY ${SOURCE_PATH}/src/sparsehash DESTINATION ${CURRENT_PACKAGES_DIR}/include) + file(COPY ${SOURCE_PATH}/src/windows/sparsehash/internal/sparseconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include/sparsehash/internal) + +else() + + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure ${OPTIONS} --prefix=${CURRENT_PACKAGES_DIR} + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME configure-${TARGET_TRIPLET} + ) + + vcpkg_execute_required_process( + COMMAND make -j ${VCPKG_CONCURRENCY} install + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME install-${TARGET_TRIPLET} + ) + +endif() + +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in + ${CURRENT_PACKAGES_DIR}/share/sparsehash/sparsehash-config.cmake + @ONLY +) + +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/sparsehash/copyright COPYONLY) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/sparsehash) diff --git a/ports/sparsehash/usage b/ports/sparsehash/usage new file mode 100644 index 000000000..5222b2402 --- /dev/null +++ b/ports/sparsehash/usage @@ -0,0 +1,4 @@ +The package sparsehash provides CMake targets: + + find_package(sparsehash CONFIG REQUIRED) + target_link_libraries(main PRIVATE sparsehash::sparsehash) diff --git a/ports/spatialite-tools/CONTROL b/ports/spatialite-tools/CONTROL index 3ba32121c..73a698dee 100644 --- a/ports/spatialite-tools/CONTROL +++ b/ports/spatialite-tools/CONTROL @@ -1,5 +1,5 @@ Source: spatialite-tools -Version: 4.3.0-1 +Version: 4.3.0-2 Homepage: https://www.gaia-gis.it/fossil/spatialite-tools/index Description: Contains spatialite.exe and other command line tools to work with SpatiaLite databases (import, export, SQL queries) Build-Depends: sqlite3, libspatialite, geos, readosm, proj4, zlib, libiconv, expat diff --git a/ports/spatialite-tools/portfile.cmake b/ports/spatialite-tools/portfile.cmake index 25de070ee..7a731fd3f 100644 --- a/ports/spatialite-tools/portfile.cmake +++ b/ports/spatialite-tools/portfile.cmake @@ -2,26 +2,26 @@ include(vcpkg_common_functions) option(BUILD_DEBUG_TOOLS "Build debug version of tools" OFF) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/spatialite-tools-4.3.0) vcpkg_download_distfile(ARCHIVE URLS "http://www.gaia-gis.it/gaia-sins/spatialite-tools-sources/spatialite-tools-4.3.0.tar.gz" FILENAME "spatialite-tools-4.3.0.tar.gz" SHA512 e1de27c1c65ff2ff0b08583113517bea74edf33fff59ad6e9c77492ea3ae87d9c0f17d7670ee6602b32eea73ad3678bb5410ef2c6fac6e213bf2e341a907db88 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + fix-makefiles.patch +) find_program(NMAKE nmake) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-makefiles.patch -) - set(LDIR "\"${CURRENT_INSTALLED_DIR}\"") if(VCPKG_CRT_LINKAGE STREQUAL dynamic) - set(CL_FLAGS_DBG "/MDd /Zi") - set(CL_FLAGS_REL "/MD /Ox") + set(CL_FLAGS_DBG "/MDd /Zi /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H") + set(CL_FLAGS_REL "/MD /Ox /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H") set(GEOS_LIBS_REL "${LDIR}/lib/geos_c.lib") set(GEOS_LIBS_DBG "${LDIR}/debug/lib/geos_cd.lib") set(LIBXML2_LIBS_REL "${LDIR}/lib/libxml2.lib") @@ -31,8 +31,8 @@ if(VCPKG_CRT_LINKAGE STREQUAL dynamic) set(ICONV_LIBS_REL "${LDIR}/lib/libiconv.lib") set(ICONV_LIBS_DBG "${LDIR}/debug/lib/libiconv.lib") else() - set(CL_FLAGS_DBG "/MTd /Zi") - set(CL_FLAGS_REL "/MT /Ox") + set(CL_FLAGS_DBG "/MTd /Zi /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H") + set(CL_FLAGS_REL "/MT /Ox /DACCEPT_USE_OF_DEPRECATED_PROJ_API_H") set(GEOS_LIBS_REL "${LDIR}/lib/libgeos_c.lib ${LDIR}/lib/libgeos.lib") set(GEOS_LIBS_DBG "${LDIR}/debug/lib/libgeos_c.lib ${LDIR}/debug/lib/libgeos.lib") set(LIBXML2_LIBS_REL "${LDIR}/lib/libxml2.lib ${LDIR}/lib/lzma.lib ws2_32.lib") @@ -52,7 +52,7 @@ set(LIBS_ALL_DBG ${LDIR}/debug/lib/readosm.lib \ ${LDIR}/debug/lib/expat.lib \ ${LDIR}/debug/lib/zlibd.lib \ - ${LDIR}/debug/lib/projd.lib" + ${LDIR}/debug/lib/proj_d.lib" ) set(LIBS_ALL_REL "${ICONV_LIBS_REL} \ diff --git a/ports/spdlog/CONTROL b/ports/spdlog/CONTROL index aa5474709..0864d7858 100644 --- a/ports/spdlog/CONTROL +++ b/ports/spdlog/CONTROL @@ -1,5 +1,5 @@ Source: spdlog -Version: 1.3.1-1 +Version: 1.3.1-2 Homepage: https://github.com/gabime/spdlog Description: Very fast, header only, C++ logging library Build-Depends: fmt diff --git a/ports/spdlog/portfile.cmake b/ports/spdlog/portfile.cmake index 37cd8644f..d25f78712 100644 --- a/ports/spdlog/portfile.cmake +++ b/ports/spdlog/portfile.cmake @@ -27,7 +27,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/spdlog) +if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/${PORT}") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) +elseif(EXISTS "${CURRENT_PACKAGES_DIR}/lib/${PORT}/cmake") + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/${PORT}/cmake) +endif() vcpkg_copy_pdbs() diff --git a/ports/spectra/CONTROL b/ports/spectra/CONTROL index 6aa712afd..ce5656bb0 100644 --- a/ports/spectra/CONTROL +++ b/ports/spectra/CONTROL @@ -1,5 +1,5 @@ Source: spectra -Version: 0.8.0 +Version: 0.8.1 Description: A header-only C++ library for large scale eigenvalue problems Homepage: https://spectralib.org Build-Depends: eigen3 diff --git a/ports/spectra/portfile.cmake b/ports/spectra/portfile.cmake index 94ac9b4d7..4af8133a4 100644 --- a/ports/spectra/portfile.cmake +++ b/ports/spectra/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO yixuan/spectra - REF v0.8.0 - SHA512 186bcd8efd5dc6cf0aa81b909184e056d1df1e55870c700f0ca060f504fa997e3ce27c3d15d7b4c74422e4d18bcbd471558392a89e307693b89cc1f480fecc71 + REF v0.8.1 + SHA512 7cd2699234f7b15216e616323ef298124a7333b6efe4185299f8b326856ae515f904a47eeee5631292037567e5c1559b83e17aae503fccd94225c3947db3e90d HEAD_REF master ) diff --git a/ports/speexdsp/CMakeLists.txt b/ports/speexdsp/CMakeLists.txt index 0708faa2d..a1dec7f3b 100644 --- a/ports/speexdsp/CMakeLists.txt +++ b/ports/speexdsp/CMakeLists.txt @@ -1,20 +1,15 @@ -# CMAKE project for libspeexdsp cmake_minimum_required(VERSION 3.1) -option(SOURCE_PATH "Root directory.") -option(USE_SSE "Use SSE") +option(USE_SSE "Use SSE" ON) project (libspeexdsp) -file(GLOB_RECURSE LIBSPEEXDSP_SOURCES "${SOURCE_PATH}/libspeexdsp/*.c") -list(REMOVE_ITEM LIBSPEEXDSP_SOURCES "${SOURCE_PATH}/libspeexdsp/testdenoise.c" - "${SOURCE_PATH}/libspeexdsp/testecho.c" - "${SOURCE_PATH}/libspeexdsp/testjitter.c" - "${SOURCE_PATH}/libspeexdsp/testresample.c") -file(GLOB_RECURSE LIBSPEEXDSP_HEADERS "${SOURCE_PATH}/libspeexdsp/*.h") -file(GLOB_RECURSE LIBSPEEXDSP_HEADERS_PUBLIC "${SOURCE_PATH}/include/**/*.h") +file(GLOB_RECURSE LIBSPEEXDSP_SOURCES "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/*.c") +list(FILTER LIBSPEEXDSP_SOURCES EXCLUDE REGEX "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/test.*\\.c") +file(GLOB_RECURSE LIBSPEEXDSP_HEADERS "${CMAKE_CURRENT_LIST_DIR}/libspeexdsp/*.h") +file(GLOB_RECURSE LIBSPEEXDSP_HEADERS_PUBLIC "${CMAKE_CURRENT_LIST_DIR}/include/**/*.h") if (BUILD_SHARED_LIBS) add_definitions(-D_WINDOWS -D_USRDLL) - list(APPEND LIBSPEEXDSP_SOURCES "${SOURCE_PATH}/win32/libspeexdsp.def") + list(APPEND LIBSPEEXDSP_SOURCES "${CMAKE_CURRENT_LIST_DIR}/win32/libspeexdsp.def") else () add_definitions(-D_LIB) endif () @@ -25,8 +20,8 @@ if (USE_SSE) add_definitions(-D_USE_SSE -D_USE_SSE2) endif() -include_directories("${SOURCE_PATH}/include" - "${SOURCE_PATH}/win32") +include_directories("${CMAKE_CURRENT_LIST_DIR}/include" + "${CMAKE_CURRENT_LIST_DIR}/win32") add_library(libspeexdsp ${LIBSPEEXDSP_SOURCES} ${LIBSPEEXDSP_HEADERS}) set_target_properties(libspeexdsp PROPERTIES PUBLIC_HEADER "${LIBSPEEXDSP_HEADERS_PUBLIC}") diff --git a/ports/speexdsp/CONTROL b/ports/speexdsp/CONTROL index d96eb11c1..749633995 100644 --- a/ports/speexdsp/CONTROL +++ b/ports/speexdsp/CONTROL @@ -1,5 +1,5 @@ Source: speexdsp -Version: 1.2rc3-2 +Version: 1.2.0-1 Homepage: https://ftp.osuosl.org/pub/xiph/releases/speex/ Description: A patent-free, Open Source/Free Software DSP library. Build-Depends: diff --git a/ports/speexdsp/portfile.cmake b/ports/speexdsp/portfile.cmake index 72bc313d7..4e4bc5742 100644 --- a/ports/speexdsp/portfile.cmake +++ b/ports/speexdsp/portfile.cmake @@ -1,30 +1,33 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/speexdsp-1.2rc3) -set(CMAKE_PATH ${CMAKE_CURRENT_LIST_DIR}) -vcpkg_download_distfile(ARCHIVE_FILE - URLS "http://downloads.xiph.org/releases/speex/speexdsp-1.2rc3.tar.gz" - FILENAME "speexdsp-1.2rc3.tar.xz" - SHA512 29dfa8345df025eeb076561648a9b5c0485692be699b6da3c2a3734b4329187a1c2eb181252f4df12b21f1309ecdf59797437dfb123d160fd723491ab216e858 + +vcpkg_download_distfile(ARCHIVE + URLS "http://downloads.xiph.org/releases/speex/speexdsp-1.2.0.tar.gz" + FILENAME "speexdsp-1.2.0.tar.gz" + SHA512 e357cd5377415ea66c862302c7cf8bf6a10063cacd903f0846478975b87974cf5bdf00e2c6759d8f4f453c4c869cf284e9dc948a84a83d7b2ab96bd5405c05ec ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) set(USE_SSE OFF) -set(USE_NEON OFF) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") set(USE_SSE ON) endif() vcpkg_configure_cmake( - SOURCE_PATH ${CMAKE_PATH} - OPTIONS -DSOURCE_PATH=${SOURCE_PATH} -DUSE_SSE=${USE_SSE} + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DUSE_SSE=${USE_SSE} ) vcpkg_install_cmake() +vcpkg_copy_pdbs() -# Remove debug include file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Copy copright information -file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/speexdsp" RENAME "copyright") - -vcpkg_copy_pdbs() +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright") diff --git a/ports/spirv-cross/CONTROL b/ports/spirv-cross/CONTROL index 665637d43..ec4531b12 100644 --- a/ports/spirv-cross/CONTROL +++ b/ports/spirv-cross/CONTROL @@ -1,3 +1,3 @@ Source: spirv-cross -Version: 2019-05-09 +Version: 2019-07-26 Description: SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages. diff --git a/ports/spirv-cross/portfile.cmake b/ports/spirv-cross/portfile.cmake index f40c6b2de..fdee41233 100644 --- a/ports/spirv-cross/portfile.cmake +++ b/ports/spirv-cross/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Cross - REF fce83b7e8b0f6599efd4481992b2eb30f69f21de - SHA512 24bdb965f0248b57081d314f078a522ef8da842ee5480e1276da7bc70cae002cfe7a58903f99d13bcdee1e3863f77dfcd5a74e084e63a9c20edf42a833b2a874 + REF 2019-07-26 + SHA512 25bc0e5e7f313d01f70a4f106b9b42bc1975473e3f2fdcd7a48bf83b7865386366ebd5994efd2ae5f8d95c9abcbdefb46725b52ddb8dfb15169d621ff258a8ba HEAD_REF master ) diff --git a/ports/spirv-headers/CONTROL b/ports/spirv-headers/CONTROL index f1b0f7908..be9ef4392 100644 --- a/ports/spirv-headers/CONTROL +++ b/ports/spirv-headers/CONTROL @@ -1,3 +1,3 @@ Source: spirv-headers -Version: 2019-03-05 +Version: 2019-05-05 Description: Machine-readable files for the SPIR-V Registry diff --git a/ports/spirv-headers/portfile.cmake b/ports/spirv-headers/portfile.cmake index f2c55280d..e5191639d 100644 --- a/ports/spirv-headers/portfile.cmake +++ b/ports/spirv-headers/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Headers - REF 03a081524afabdde274d885880c2fef213e46a59 - SHA512 27f0a4b5efbe2931c0ff5d50e5fb5bd78fe0a735ad48a08db72c8914f2de05f5d5c507134e0a090bb5a7d88e2f8c1a0bdbf51a0bc4b9fe3bf372da7000ca0b98 + REF c4f8f65792d4bf2657ca751904c511bbcf2ac77b + SHA512 750af53a70f6f890657735ab0e2db5ae3dd8d612480efc2247753993752f687e22a0bdd65296c5751daf284604fe3dc9ee0a94feae88761a0e64adc64e6d17a4 HEAD_REF master ) diff --git a/ports/spirv-tools/CMake-targets.patch b/ports/spirv-tools/CMake-targets.patch index 6b754e16b..d3870f8c8 100644 --- a/ports/spirv-tools/CMake-targets.patch +++ b/ports/spirv-tools/CMake-targets.patch @@ -1,8 +1,8 @@ diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt -index 2d7d7ca..bf77be7 100644 +index 1f96018..c9a3758 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt -@@ -327,31 +327,41 @@ set_source_files_properties( +@@ -337,7 +337,7 @@ spvtools_pch(SPIRV_SOURCES pch_source) add_library(${SPIRV_TOOLS} ${SPIRV_SOURCES}) spvtools_default_compile_options(${SPIRV_TOOLS}) target_include_directories(${SPIRV_TOOLS} @@ -11,37 +11,8 @@ index 2d7d7ca..bf77be7 100644 PRIVATE ${spirv-tools_BINARY_DIR} PRIVATE ${SPIRV_HEADER_INCLUDE_DIR} ) - set_property(TARGET ${SPIRV_TOOLS} PROPERTY FOLDER "SPIRV-Tools libraries") - spvtools_check_symbol_exports(${SPIRV_TOOLS}) - --add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES}) --spvtools_default_compile_options(${SPIRV_TOOLS}-shared) --target_include_directories(${SPIRV_TOOLS}-shared -- PUBLIC ${spirv-tools_SOURCE_DIR}/include -- PRIVATE ${spirv-tools_BINARY_DIR} -- PRIVATE ${SPIRV_HEADER_INCLUDE_DIR} -- ) --set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden) --set_property(TARGET ${SPIRV_TOOLS}-shared PROPERTY FOLDER "SPIRV-Tools libraries") --spvtools_check_symbol_exports(${SPIRV_TOOLS}-shared) --target_compile_definitions(${SPIRV_TOOLS}-shared -- PRIVATE SPIRV_TOOLS_IMPLEMENTATION -- PUBLIC SPIRV_TOOLS_SHAREDLIB --) -+# add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES}) -+# spvtools_default_compile_options(${SPIRV_TOOLS}-shared) -+# target_include_directories(${SPIRV_TOOLS}-shared -+# PUBLIC ${spirv-tools_SOURCE_DIR}/include -+# PRIVATE ${spirv-tools_BINARY_DIR} -+# PRIVATE ${SPIRV_HEADER_INCLUDE_DIR} -+# ) -+# set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden) -+# set_property(TARGET ${SPIRV_TOOLS}-shared PROPERTY FOLDER "SPIRV-Tools libraries") -+# spvtools_check_symbol_exports(${SPIRV_TOOLS}-shared) -+# target_compile_definitions(${SPIRV_TOOLS}-shared -+# PRIVATE SPIRV_TOOLS_IMPLEMENTATION -+# PUBLIC SPIRV_TOOLS_SHAREDLIB -+# ) +@@ -370,10 +370,20 @@ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + endif() if(ENABLE_SPIRV_TOOLS_INSTALL) - install(TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared @@ -60,6 +31,8 @@ index 2d7d7ca..bf77be7 100644 + NAMESPACE spirv-tools:: + ) endif(ENABLE_SPIRV_TOOLS_INSTALL) + + if(MSVC) diff --git a/source/link/CMakeLists.txt b/source/link/CMakeLists.txt index 8ca4df3..ac0aa62 100644 --- a/source/link/CMakeLists.txt @@ -89,10 +62,10 @@ index 8ca4df3..ac0aa62 100644 + ) endif(ENABLE_SPIRV_TOOLS_INSTALL) diff --git a/source/opt/CMakeLists.txt b/source/opt/CMakeLists.txt -index 854c950..fc91539 100644 +index b02485a..111ce3c 100644 --- a/source/opt/CMakeLists.txt +++ b/source/opt/CMakeLists.txt -@@ -159,7 +159,7 @@ add_library(SPIRV-Tools-opt +@@ -221,7 +221,7 @@ add_library(SPIRV-Tools-opt ${SPIRV_TOOLS_OPT_SOURCES}) spvtools_default_compile_options(SPIRV-Tools-opt) target_include_directories(SPIRV-Tools-opt @@ -101,7 +74,7 @@ index 854c950..fc91539 100644 PUBLIC ${SPIRV_HEADER_INCLUDE_DIR} PRIVATE ${spirv-tools_BINARY_DIR} ) -@@ -171,9 +171,14 @@ set_property(TARGET SPIRV-Tools-opt PROPERTY FOLDER "SPIRV-Tools libraries") +@@ -233,8 +233,13 @@ set_property(TARGET SPIRV-Tools-opt PROPERTY FOLDER "SPIRV-Tools libraries") spvtools_check_symbol_exports(SPIRV-Tools-opt) if(ENABLE_SPIRV_TOOLS_INSTALL) @@ -116,4 +89,3 @@ index 854c950..fc91539 100644 + FILE "${CMAKE_CURRENT_BINARY_DIR}/spirv-tools-opt-config.cmake" + ) endif(ENABLE_SPIRV_TOOLS_INSTALL) - diff --git a/ports/spirv-tools/CONTROL b/ports/spirv-tools/CONTROL index b5f0c536a..154783ca2 100644 --- a/ports/spirv-tools/CONTROL +++ b/ports/spirv-tools/CONTROL @@ -1,5 +1,5 @@ Source: spirv-tools -Version: 2018.1-2 +Version: 2019.3-dev-1 Homepage: https://github.com/KhronosGroup/SPIRV-Tools Description: API and commands for processing SPIR-V modules -Build-Depends: spirv-headers +Build-Depends: spirv-headers \ No newline at end of file diff --git a/ports/spirv-tools/comment-distutils.patch b/ports/spirv-tools/comment-distutils.patch new file mode 100644 index 000000000..2426f82ba --- /dev/null +++ b/ports/spirv-tools/comment-distutils.patch @@ -0,0 +1,22 @@ +diff --git a/utils/generate_registry_tables.py b/utils/generate_registry_tables.py +index 8b1c3572..6ab28fe6 100644 +--- a/utils/generate_registry_tables.py ++++ b/utils/generate_registry_tables.py +@@ -16,7 +16,7 @@ + + from __future__ import print_function + +-import distutils.dir_util ++#import distutils.dir_util + import os.path + import xml.etree.ElementTree + +@@ -64,7 +64,7 @@ def main(): + with open(args.xml) as xml_in: + registry = xml.etree.ElementTree.fromstring(xml_in.read()) + +- distutils.dir_util.mkpath(os.path.dirname(args.generator_output)) ++ #distutils.dir_util.mkpath(os.path.dirname(args.generator_output)) + print(generate_vendor_table(registry), file=open(args.generator_output, 'w')) + + diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake index 3011aa396..59cf97591 100644 --- a/ports/spirv-tools/portfile.cmake +++ b/ports/spirv-tools/portfile.cmake @@ -5,10 +5,10 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KhronosGroup/SPIRV-Tools - REF v2018.1 - SHA512 0637c413dafd931e8222f9bf70a024f8b64116f0300c7732b86bcaff321188a0e746f79c1385ae23a7692e83194586b57692960d5be607fb2d7960731b6cd63f - HEAD_REF master + REF d0a1f5a05a2b0f8315e5b3f17b8e34c730861b31 + SHA512 7179751b0216368b4a4bf8c9b0c1c1e3b17d6aa4788b4aeaa7fbb2b6d9d50b34cf209082f3531a2e0994b5fc02416373666d4d12cee282cec2c3d02c13a640a8 PATCHES + comment-distutils.patch CMake-targets.patch ) diff --git a/ports/sprout/CONTROL b/ports/sprout/CONTROL new file mode 100644 index 000000000..67240a5e1 --- /dev/null +++ b/ports/sprout/CONTROL @@ -0,0 +1,5 @@ +Source: sprout +Version: 2019-06-20 +Homepage: https://github.com/bolero-MURAKAMI/Sprout +Description: C++11/14 constexpr based Containers, Algorithms, Random numbers, Parsing, Ray tracing, Synthesizer, and others +Build-Depends: boost-array, boost-mpl diff --git a/ports/sprout/portfile.cmake b/ports/sprout/portfile.cmake new file mode 100644 index 000000000..7be1c1985 --- /dev/null +++ b/ports/sprout/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO bolero-MURAKAMI/Sprout + REF 6b5addba9face0a6403e66e7db2aa94d87387f61 + SHA512 b81c299842c48626a7fbedb5b70932623ddb128bd5c71115269253b2c82a331d4f5d5adeab24529be2c886d293de96c15c9641280b4eb31bd60379b284556900 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/sprout DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/spscqueue/CONTROL b/ports/spscqueue/CONTROL new file mode 100644 index 000000000..e8330caaa --- /dev/null +++ b/ports/spscqueue/CONTROL @@ -0,0 +1,4 @@ +Source: spscqueue +Version: 2019-07-26 +Description: A bounded single-producer single-consumer wait-free and lock-free queue written in C++11 +Homepage: https://github.com/rigtorp/SPSCQueue diff --git a/ports/spscqueue/portfile.cmake b/ports/spscqueue/portfile.cmake new file mode 100644 index 000000000..5bc0628bc --- /dev/null +++ b/ports/spscqueue/portfile.cmake @@ -0,0 +1,19 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO rigtorp/SPSCQueue + REF 5165a08ac4474c77c636050332eca6ebfdd53533 + SHA512 30cd60711f816e6003a5b114c48bd12da449cb7b0f19aa58dd57e3abc3e5200847c3eb492627b4013f57eec11d5d6f0a11fedbcb21dd8dd5c44682c49456e4e1 + HEAD_REF master +) + +file(COPY + ${SOURCE_PATH}/include/rigtorp/SPSCQueue.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include/rigtorp +) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/sqlite-orm/CONTROL b/ports/sqlite-orm/CONTROL index 6382eeca0..d4693ed46 100644 --- a/ports/sqlite-orm/CONTROL +++ b/ports/sqlite-orm/CONTROL @@ -1,4 +1,4 @@ Source: sqlite-orm -Version: 1.3-1 +Version: 1.4 Build-Depends: sqlite3 Description: SQLite ORM light header only library for modern C++ diff --git a/ports/sqlite-orm/portfile.cmake b/ports/sqlite-orm/portfile.cmake index 6df00f77f..8d757bb4c 100644 --- a/ports/sqlite-orm/portfile.cmake +++ b/ports/sqlite-orm/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO fnc12/sqlite_orm - REF v1.3 - SHA512 43adcd28bdca5d0165ca0313c5ff90e048144e4841541704f49e443deaf0d8e027655a3bb88677f3f3c62c5764fdda8b1e472d74e68f3a32cad052f3b4ed63a7 + REF v1.4 + SHA512 b9ff600af568c2de982467cec9ef057e7cb687dc9123e84596590d2e4e51bf41db02a2e6386ef264b832530d4d05c2c18455c8c7d85498b15a9d76601ec81e75 HEAD_REF master ) diff --git a/ports/sqlite3/CMakeLists.txt b/ports/sqlite3/CMakeLists.txt index a2f0aeb03..64ff00262 100644 --- a/ports/sqlite3/CMakeLists.txt +++ b/ports/sqlite3/CMakeLists.txt @@ -3,7 +3,13 @@ project(sqlite3 C) include_directories(.) if(BUILD_SHARED_LIBS) - set(API "-DSQLITE_API=__declspec(dllexport)") + if(CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "Darwin") + set(API "-DSQLITE_API=__attribute__((visibility(\"default\")))") + elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") + set(API "-DSQLITE_API=__declspec(dllexport)") + else() + message(FATAL_ERROR "Unsupported platform: ${CMAKE_SYSTEM_NAME}") + endif() else() set(API "-DSQLITE_API=extern") endif() @@ -30,7 +36,6 @@ endif() if(NOT SQLITE3_SKIP_TOOLS) add_executable(sqlite3-bin shell.c) - set_target_properties(sqlite3-bin PROPERTIES OUTPUT_NAME sqlite3) target_link_libraries(sqlite3-bin PRIVATE sqlite3) install(TARGETS sqlite3-bin sqlite3 RUNTIME DESTINATION tools diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL index 7bba4d78c..3418b867e 100644 --- a/ports/sqlite3/CONTROL +++ b/ports/sqlite3/CONTROL @@ -1,5 +1,5 @@ Source: sqlite3 -Version: 3.28.0 +Version: 3.30.1-1 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/fix-arm-uwp.patch b/ports/sqlite3/fix-arm-uwp.patch new file mode 100644 index 000000000..03e092965 --- /dev/null +++ b/ports/sqlite3/fix-arm-uwp.patch @@ -0,0 +1,33 @@ +diff --git a/shell.c b/shell.c +index 10d8cc1..99f37a5 100644 +--- a/shell.c ++++ b/shell.c +@@ -316,7 +316,11 @@ static int hasTimer(void){ + */ + hProcess = GetCurrentProcess(); + if( hProcess ){ ++#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) + HINSTANCE hinstLib = LoadLibrary(TEXT("Kernel32.dll")); ++#else ++ HINSTANCE hinstLib = LoadPackagedLibrary(TEXT("Kernel32.dll"), 0); ++#endif + if( NULL != hinstLib ){ + getProcessTimesAddr = + (GETPROCTIMES) GetProcAddress(hinstLib, "GetProcessTimes"); +@@ -2437,10 +2441,16 @@ static int writeFile( + if( zUnicodeName==0 ){ + return 1; + } ++#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) + hFile = CreateFileW( + zUnicodeName, FILE_WRITE_ATTRIBUTES, 0, NULL, OPEN_EXISTING, + FILE_FLAG_BACKUP_SEMANTICS, NULL + ); ++#else ++ hFile = CreateFile2( ++ zUnicodeName, FILE_WRITE_ATTRIBUTES, 0, OPEN_EXISTING, NULL ++ ); ++#endif + sqlite3_free(zUnicodeName); + if( hFile!=INVALID_HANDLE_VALUE ){ + BOOL bResult = SetFileTime(hFile, NULL, &lastAccess, &lastWrite); diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake index 131469c12..2cb778aad 100644 --- a/ports/sqlite3/portfile.cmake +++ b/ports/sqlite3/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) -set(SQLITE_VERSION 3280000) -set(SQLITE_HASH 6a2b9c0accd286b09d7e077393a627e22112ef11c76ff6a5896f5ff1a11eb62a8b2700f5a99eebda82df63b3968814ca460582aa4619852f96a899d2f59b9f8d) +set(SQLITE_VERSION 3300100) +set(SQLITE_HASH 030b53fe684e0fb8e9747b1f160e5e875807eabb0763caff66fe949ee6aa92f26f409b9b25034d8d1f5cee554a99e56a2bb92129287b0fe0671409babe9d18ea ) vcpkg_download_distfile(ARCHIVE URLS "https://sqlite.org/2019/sqlite-amalgamation-${SQLITE_VERSION}.zip" @@ -13,6 +13,7 @@ vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${SQLITE_VERSION} + PATCHES fix-arm-uwp.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/sqlitecpp/CONTROL b/ports/sqlitecpp/CONTROL index 8d0fb047e..8f6017a29 100644 --- a/ports/sqlitecpp/CONTROL +++ b/ports/sqlitecpp/CONTROL @@ -1,5 +1,5 @@ Source: sqlitecpp -Version: 2.3.0 +Version: 2.3.0-1 Build-Depends: sqlite3 Homepage: https://github.com/SRombauts/SQLiteCpp Description: SQLiteC++ (SQLiteCpp) is a smart and easy to use C++ SQLite3 wrapper. diff --git a/ports/sqlitecpp/portfile.cmake b/ports/sqlitecpp/portfile.cmake index b57573d73..210ca3dd6 100644 --- a/ports/sqlitecpp/portfile.cmake +++ b/ports/sqlitecpp/portfile.cmake @@ -7,12 +7,9 @@ vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REF 09dd10886c560ab5af41cfe694567f34c88cd101 HEAD_REF master SHA512 d0a440e2e96fca9aac7fe73d46bb6508825a82547dca1e9c93d8c3ca46878fa137e7a2a7a865bcfa641d0236e26307a3342d55fc83578552a37eec7565642d91 -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-Find-external-sqlite3.patch) + 0001-Find-external-sqlite3.patch +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/sqlpp11-connector-mysql/CONTROL b/ports/sqlpp11-connector-mysql/CONTROL index e56275137..78817eae7 100644 --- a/ports/sqlpp11-connector-mysql/CONTROL +++ b/ports/sqlpp11-connector-mysql/CONTROL @@ -1,4 +1,4 @@ Source: sqlpp11-connector-mysql -Version: 0.25-1 +Version: 0.25-2 Description: A C++ wrapper for MySQL meant to be used in combination with sqlpp11. Build-Depends: date, libmariadb, sqlpp11 diff --git a/ports/sqlpp11-connector-mysql/portfile.cmake b/ports/sqlpp11-connector-mysql/portfile.cmake index fbaaebaf1..9f93058a4 100644 --- a/ports/sqlpp11-connector-mysql/portfile.cmake +++ b/ports/sqlpp11-connector-mysql/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( # Use sqlpp11-connector-mysql's own build process, skipping tests vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DENABLE_TESTS:BOOL=OFF -DDATE_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include diff --git a/ports/sqlpp11-connector-sqlite3/CONTROL b/ports/sqlpp11-connector-sqlite3/CONTROL index 25e680eda..564a9a9a4 100644 --- a/ports/sqlpp11-connector-sqlite3/CONTROL +++ b/ports/sqlpp11-connector-sqlite3/CONTROL @@ -1,4 +1,4 @@ Source: sqlpp11-connector-sqlite3 -Version: 0.29-1 +Version: 0.29-2 Description: A C++ wrapper for sqlite3 meant to be used in combination with sqlpp11. Build-Depends: date, sqlite3, sqlpp11 diff --git a/ports/sqlpp11-connector-sqlite3/portfile.cmake b/ports/sqlpp11-connector-sqlite3/portfile.cmake index 735912a86..6587df313 100644 --- a/ports/sqlpp11-connector-sqlite3/portfile.cmake +++ b/ports/sqlpp11-connector-sqlite3/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_from_github( # Use sqlpp11-connector-sqlite3's own build process, skipping tests vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DENABLE_TESTS:BOOL=OFF -DSQLPP11_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include diff --git a/ports/sqlpp11/CONTROL b/ports/sqlpp11/CONTROL index 282598dc5..0d4e6ae9c 100644 --- a/ports/sqlpp11/CONTROL +++ b/ports/sqlpp11/CONTROL @@ -1,4 +1,4 @@ Source: sqlpp11 -Version: 0.58 +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/FixForMSVC.patch b/ports/sqlpp11/FixForMSVC.patch deleted file mode 100644 index 753590707..000000000 --- a/ports/sqlpp11/FixForMSVC.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/include/sqlpp11/char_sequence.h b/include/sqlpp11/char_sequence.h -index 5759525..96cdbd0 100644 ---- a/include/sqlpp11/char_sequence.h -+++ b/include/sqlpp11/char_sequence.h -@@ -54,16 +54,16 @@ namespace sqlpp - } - }; - -- template -+ template - struct make_char_sequence_impl; - -- template -+ template - struct make_char_sequence_impl> - { - using type = char_sequence; - }; - -- template -+ template - using make_char_sequence = - typename make_char_sequence_impl>::type; - } // namespace sqlpp 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 a11d563d9..596df3977 100644 --- a/ports/sqlpp11/portfile.cmake +++ b/ports/sqlpp11/portfile.cmake @@ -3,23 +3,25 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rbock/sqlpp11 - REF 0.58 + REF 0.58 SHA512 c391e72638a748e0e25b53176dc371ba468bc14bdcb6dda2f2418c4ab4d620ebc5507ee284ff81c3104888d0d959703c6c91b55ccd69a8641b07dcb20cd56209 HEAD_REF master - PATCHES FixForMSVC.patch + PATCHES ddl2cpp_path.patch ) # Use sqlpp11's own build process, skipping tests vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA 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/status-value-lite/CONTROL b/ports/status-value-lite/CONTROL new file mode 100644 index 000000000..bc7fa02cd --- /dev/null +++ b/ports/status-value-lite/CONTROL @@ -0,0 +1,7 @@ +Source: status-value-lite +Version: 1.1.0 +Homepage: https://github.com/martinmoene/status-value-lite +Description: status_value is a single-file header-only library for objects that represent a status and an optional value. It is intended for use with C++11 and later. + +Feature: test +Description: Build with test diff --git a/ports/status-value-lite/portfile.cmake b/ports/status-value-lite/portfile.cmake new file mode 100644 index 000000000..d3b1dc899 --- /dev/null +++ b/ports/status-value-lite/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/status-value-lite + REF v1.1.0 + SHA512 09cad9f40f2b1592316b374e0d1a206e3a79a1c560a2ae3be3bdae9045fa026435cc29f1eee08e26e29a5499f8dc60e485adc50517a827977678d3a5a6e220d2 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test BUILD_TESTS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DNSSV_OPT_BUILD_TESTS=${BUILD_TESTS} + -DNSSV_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/status_value-lite) + +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) diff --git a/ports/stb/CONTROL b/ports/stb/CONTROL index ff7778020..6a6a18823 100644 --- a/ports/stb/CONTROL +++ b/ports/stb/CONTROL @@ -1,4 +1,4 @@ Source: stb -Version: 2019-05-07 +Version: 2019-08-17 Homepage: https://github.com/nothings/stb -Description: stb single-file public domain libraries for C/C++ +Description: public domain header-only libraries diff --git a/ports/stb/FindStb.cmake b/ports/stb/FindStb.cmake new file mode 100644 index 000000000..4ffa8b1ff --- /dev/null +++ b/ports/stb/FindStb.cmake @@ -0,0 +1,29 @@ +# Distributed under the OSI-approved BSD 3-Clause License. + +#.rst: +# FindStb +# ------------ +# +# Find the Stb include headers. +# +# Result Variables +# ^^^^^^^^^^^^^^^^ +# +# This module defines the following variables: +# +# ``Stb_FOUND`` +# True if Stb library found +# +# ``Stb_INCLUDE_DIR`` +# Location of Stb headers +# + +include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) + +if(NOT Stb_INCLUDE_DIR) + find_path(Stb_INCLUDE_DIR NAMES stb_image.h PATHS ${Stb_DIR} PATH_SUFFIXES include) +endif() + +find_package_handle_standard_args(Stb DEFAULT_MSG Stb_INCLUDE_DIR) +mark_as_advanced(Stb_INCLUDE_DIR) diff --git a/ports/stb/portfile.cmake b/ports/stb/portfile.cmake index 0a0f2397b..20d7ddc14 100644 --- a/ports/stb/portfile.cmake +++ b/ports/stb/portfile.cmake @@ -1,17 +1,14 @@ -#header-only library -include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nothings/stb - REF 1034f5e5c4809ea0a7f4387e0cd37c5184de3cdd - SHA512 efc3deedd687615a6706b0d315ded8d76edb28fcd6726531956fde9bba81cc62f25df0a1f998b56e16ab0c62989687c7d5b58875789470c2bf7fd457b1ff6535 + REF 052dce117ed989848a950308bd99eef55525dfb1 + SHA512 490be1e727ff77385ce6050c03774ee6819fb194ac38076be98635091ce5271851a9e5ac9763bea961758837735ed6fc680f4fee645acf419457460c403c9f20 HEAD_REF master ) -# Put the licence file where vcpkg expects it -file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/stb/README.md) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/stb/README.md ${CURRENT_PACKAGES_DIR}/share/stb/copyright) - -# Copy the stb header files file(GLOB HEADER_FILES ${SOURCE_PATH}/*.h) file(COPY ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindStb.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/ports/stb/vcpkg-cmake-wrapper.cmake b/ports/stb/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..e13d523be --- /dev/null +++ b/ports/stb/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +set(STB_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) + +if(NOT Stb_INCLUDE_DIR) + _find_package(${ARGS}) +endif() + +set(CMAKE_MODULE_PATH ${STB_PREV_MODULE_PATH}) diff --git a/ports/stlab/CONTROL b/ports/stlab/CONTROL index 01651f59b..86d31f6c7 100644 --- a/ports/stlab/CONTROL +++ b/ports/stlab/CONTROL @@ -1,6 +1,6 @@ Source: stlab -Version: 1.4.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 7c8925d93..84dbdd8ad 100644 --- a/ports/stlab/portfile.cmake +++ b/ports/stlab/portfile.cmake @@ -1,25 +1,24 @@ -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( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBUILD_TESTING=OFF ) 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/stormlib/CMakeLists.txt b/ports/stormlib/CMakeLists.txt new file mode 100644 index 000000000..6b0e2a66c --- /dev/null +++ b/ports/stormlib/CMakeLists.txt @@ -0,0 +1,279 @@ +cmake_minimum_required(VERSION 3.9) +project(stormlib) + +set(SRC_FILES + stormlib_dll/StormLib.def + src/adpcm/adpcm.cpp + src/huffman/huff.cpp + src/jenkins/lookup3.c + src/lzma/C/LzFind.c + src/lzma/C/LzmaDec.c + src/lzma/C/LzmaEnc.c + src/pklib/explode.c + src/pklib/implode.c + src/sparse/sparse.cpp + src/FileStream.cpp + src/SBaseCommon.cpp + src/SBaseDumpData.cpp + src/SBaseFileTable.cpp + src/SBaseSubTypes.cpp + src/SCompression.cpp + src/SFileAddFile.cpp + src/SFileAttributes.cpp + src/SFileCompactArchive.cpp + src/SFileCreateArchive.cpp + src/SFileExtractFile.cpp + src/SFileFindFile.cpp + src/SFileGetFileInfo.cpp + src/SFileListFile.cpp + src/SFileOpenArchive.cpp + src/SFileOpenFileEx.cpp + src/SFilePatchArchives.cpp + src/SFileReadFile.cpp + src/SFileVerify.cpp + src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c + src/libtomcrypt/src/misc/crypt_libc.c +) + +if(MSVC) + # This file is used to create a DLL on windows + # Use BUILD_SHARED_LIBS to create StormLib.dll + set(STORM_DEF_FILES + stormlib_dll/StormLib.def + ) +endif() + +set(TOMCRYPT_FILES + src/libtomcrypt/src/hashes/hash_memory.c + src/libtomcrypt/src/hashes/md5.c + src/libtomcrypt/src/hashes/sha1.c + src/libtomcrypt/src/math/ltm_desc.c + src/libtomcrypt/src/math/multi.c + src/libtomcrypt/src/math/rand_prime.c + src/libtomcrypt/src/misc/base64_decode.c + src/libtomcrypt/src/misc/crypt_argchk.c + src/libtomcrypt/src/misc/crypt_find_hash.c + src/libtomcrypt/src/misc/crypt_find_prng.c + src/libtomcrypt/src/misc/crypt_hash_descriptor.c + src/libtomcrypt/src/misc/crypt_hash_is_valid.c + src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c + src/libtomcrypt/src/misc/crypt_prng_descriptor.c + src/libtomcrypt/src/misc/crypt_prng_is_valid.c + src/libtomcrypt/src/misc/crypt_register_hash.c + src/libtomcrypt/src/misc/crypt_register_prng.c + src/libtomcrypt/src/misc/zeromem.c + src/libtomcrypt/src/pk/asn1/der_decode_bit_string.c + src/libtomcrypt/src/pk/asn1/der_decode_boolean.c + src/libtomcrypt/src/pk/asn1/der_decode_choice.c + src/libtomcrypt/src/pk/asn1/der_decode_ia5_string.c + src/libtomcrypt/src/pk/asn1/der_decode_integer.c + src/libtomcrypt/src/pk/asn1/der_decode_object_identifier.c + src/libtomcrypt/src/pk/asn1/der_decode_octet_string.c + src/libtomcrypt/src/pk/asn1/der_decode_printable_string.c + src/libtomcrypt/src/pk/asn1/der_decode_sequence_ex.c + src/libtomcrypt/src/pk/asn1/der_decode_sequence_flexi.c + src/libtomcrypt/src/pk/asn1/der_decode_sequence_multi.c + src/libtomcrypt/src/pk/asn1/der_decode_short_integer.c + src/libtomcrypt/src/pk/asn1/der_decode_utctime.c + src/libtomcrypt/src/pk/asn1/der_decode_utf8_string.c + src/libtomcrypt/src/pk/asn1/der_encode_bit_string.c + src/libtomcrypt/src/pk/asn1/der_encode_boolean.c + src/libtomcrypt/src/pk/asn1/der_encode_ia5_string.c + src/libtomcrypt/src/pk/asn1/der_encode_integer.c + src/libtomcrypt/src/pk/asn1/der_encode_object_identifier.c + src/libtomcrypt/src/pk/asn1/der_encode_octet_string.c + src/libtomcrypt/src/pk/asn1/der_encode_printable_string.c + src/libtomcrypt/src/pk/asn1/der_encode_sequence_ex.c + src/libtomcrypt/src/pk/asn1/der_encode_sequence_multi.c + src/libtomcrypt/src/pk/asn1/der_encode_set.c + src/libtomcrypt/src/pk/asn1/der_encode_setof.c + src/libtomcrypt/src/pk/asn1/der_encode_short_integer.c + src/libtomcrypt/src/pk/asn1/der_encode_utctime.c + src/libtomcrypt/src/pk/asn1/der_encode_utf8_string.c + src/libtomcrypt/src/pk/asn1/der_length_bit_string.c + src/libtomcrypt/src/pk/asn1/der_length_boolean.c + src/libtomcrypt/src/pk/asn1/der_length_ia5_string.c + src/libtomcrypt/src/pk/asn1/der_length_integer.c + src/libtomcrypt/src/pk/asn1/der_length_object_identifier.c + src/libtomcrypt/src/pk/asn1/der_length_octet_string.c + src/libtomcrypt/src/pk/asn1/der_length_printable_string.c + src/libtomcrypt/src/pk/asn1/der_length_sequence.c + src/libtomcrypt/src/pk/asn1/der_length_utctime.c + src/libtomcrypt/src/pk/asn1/der_sequence_free.c + src/libtomcrypt/src/pk/asn1/der_length_utf8_string.c + src/libtomcrypt/src/pk/asn1/der_length_short_integer.c + src/libtomcrypt/src/pk/ecc/ltc_ecc_map.c + src/libtomcrypt/src/pk/ecc/ltc_ecc_mul2add.c + src/libtomcrypt/src/pk/ecc/ltc_ecc_mulmod.c + src/libtomcrypt/src/pk/ecc/ltc_ecc_points.c + src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_add_point.c + src/libtomcrypt/src/pk/ecc/ltc_ecc_projective_dbl_point.c + src/libtomcrypt/src/pk/pkcs1/pkcs_1_mgf1.c + src/libtomcrypt/src/pk/pkcs1/pkcs_1_oaep_decode.c + src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_decode.c + src/libtomcrypt/src/pk/pkcs1/pkcs_1_pss_encode.c + src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_decode.c + src/libtomcrypt/src/pk/pkcs1/pkcs_1_v1_5_encode.c + src/libtomcrypt/src/pk/rsa/rsa_exptmod.c + src/libtomcrypt/src/pk/rsa/rsa_free.c + src/libtomcrypt/src/pk/rsa/rsa_import.c + src/libtomcrypt/src/pk/rsa/rsa_make_key.c + src/libtomcrypt/src/pk/rsa/rsa_sign_hash.c + src/libtomcrypt/src/pk/rsa/rsa_verify_hash.c +) + +set(TOMMATH_FILES + src/libtommath/bncore.c + src/libtommath/bn_fast_mp_invmod.c + src/libtommath/bn_fast_mp_montgomery_reduce.c + src/libtommath/bn_fast_s_mp_mul_digs.c + src/libtommath/bn_fast_s_mp_mul_high_digs.c + src/libtommath/bn_fast_s_mp_sqr.c + src/libtommath/bn_mp_2expt.c + src/libtommath/bn_mp_abs.c + src/libtommath/bn_mp_add.c + src/libtommath/bn_mp_addmod.c + src/libtommath/bn_mp_add_d.c + src/libtommath/bn_mp_and.c + src/libtommath/bn_mp_clamp.c + src/libtommath/bn_mp_clear.c + src/libtommath/bn_mp_clear_multi.c + src/libtommath/bn_mp_cmp.c + src/libtommath/bn_mp_cmp_d.c + src/libtommath/bn_mp_cmp_mag.c + src/libtommath/bn_mp_cnt_lsb.c + src/libtommath/bn_mp_copy.c + src/libtommath/bn_mp_count_bits.c + src/libtommath/bn_mp_div.c + src/libtommath/bn_mp_div_2.c + src/libtommath/bn_mp_div_2d.c + src/libtommath/bn_mp_div_3.c + src/libtommath/bn_mp_div_d.c + src/libtommath/bn_mp_dr_is_modulus.c + src/libtommath/bn_mp_dr_reduce.c + src/libtommath/bn_mp_dr_setup.c + src/libtommath/bn_mp_exch.c + src/libtommath/bn_mp_exptmod.c + src/libtommath/bn_mp_exptmod_fast.c + src/libtommath/bn_mp_expt_d.c + src/libtommath/bn_mp_exteuclid.c + src/libtommath/bn_mp_fread.c + src/libtommath/bn_mp_fwrite.c + src/libtommath/bn_mp_gcd.c + src/libtommath/bn_mp_get_int.c + src/libtommath/bn_mp_grow.c + src/libtommath/bn_mp_init.c + src/libtommath/bn_mp_init_copy.c + src/libtommath/bn_mp_init_multi.c + src/libtommath/bn_mp_init_set.c + src/libtommath/bn_mp_init_set_int.c + src/libtommath/bn_mp_init_size.c + src/libtommath/bn_mp_invmod.c + src/libtommath/bn_mp_invmod_slow.c + src/libtommath/bn_mp_is_square.c + src/libtommath/bn_mp_jacobi.c + src/libtommath/bn_mp_karatsuba_mul.c + src/libtommath/bn_mp_karatsuba_sqr.c + src/libtommath/bn_mp_lcm.c + src/libtommath/bn_mp_lshd.c + src/libtommath/bn_mp_mod.c + src/libtommath/bn_mp_mod_2d.c + src/libtommath/bn_mp_mod_d.c + src/libtommath/bn_mp_montgomery_calc_normalization.c + src/libtommath/bn_mp_montgomery_reduce.c + src/libtommath/bn_mp_montgomery_setup.c + src/libtommath/bn_mp_mul.c + src/libtommath/bn_mp_mulmod.c + src/libtommath/bn_mp_mul_2.c + src/libtommath/bn_mp_mul_2d.c + src/libtommath/bn_mp_mul_d.c + src/libtommath/bn_mp_neg.c + src/libtommath/bn_mp_n_root.c + src/libtommath/bn_mp_or.c + src/libtommath/bn_mp_prime_fermat.c + src/libtommath/bn_mp_prime_is_divisible.c + src/libtommath/bn_mp_prime_is_prime.c + src/libtommath/bn_mp_prime_miller_rabin.c + src/libtommath/bn_mp_prime_next_prime.c + src/libtommath/bn_mp_prime_rabin_miller_trials.c + src/libtommath/bn_mp_prime_random_ex.c + src/libtommath/bn_mp_radix_size.c + src/libtommath/bn_mp_radix_smap.c + src/libtommath/bn_mp_rand.c + src/libtommath/bn_mp_read_radix.c + src/libtommath/bn_mp_read_signed_bin.c + src/libtommath/bn_mp_read_unsigned_bin.c + src/libtommath/bn_mp_reduce.c + src/libtommath/bn_mp_reduce_2k.c + src/libtommath/bn_mp_reduce_2k_l.c + src/libtommath/bn_mp_reduce_2k_setup.c + src/libtommath/bn_mp_reduce_2k_setup_l.c + src/libtommath/bn_mp_reduce_is_2k.c + src/libtommath/bn_mp_reduce_is_2k_l.c + src/libtommath/bn_mp_reduce_setup.c + src/libtommath/bn_mp_rshd.c + src/libtommath/bn_mp_set.c + src/libtommath/bn_mp_set_int.c + src/libtommath/bn_mp_shrink.c + src/libtommath/bn_mp_signed_bin_size.c + src/libtommath/bn_mp_sqr.c + src/libtommath/bn_mp_sqrmod.c + src/libtommath/bn_mp_sqrt.c + src/libtommath/bn_mp_sub.c + src/libtommath/bn_mp_submod.c + src/libtommath/bn_mp_sub_d.c + src/libtommath/bn_mp_toom_mul.c + src/libtommath/bn_mp_toom_sqr.c + src/libtommath/bn_mp_toradix.c + src/libtommath/bn_mp_toradix_n.c + src/libtommath/bn_mp_to_signed_bin.c + src/libtommath/bn_mp_to_signed_bin_n.c + src/libtommath/bn_mp_to_unsigned_bin.c + src/libtommath/bn_mp_to_unsigned_bin_n.c + src/libtommath/bn_mp_unsigned_bin_size.c + src/libtommath/bn_mp_xor.c + src/libtommath/bn_mp_zero.c + src/libtommath/bn_prime_tab.c + src/libtommath/bn_reverse.c + src/libtommath/bn_s_mp_add.c + src/libtommath/bn_s_mp_exptmod.c + src/libtommath/bn_s_mp_mul_digs.c + src/libtommath/bn_s_mp_mul_high_digs.c + src/libtommath/bn_s_mp_sqr.c + src/libtommath/bn_s_mp_sub.c +) + +find_package(ZLIB REQUIRED) +find_package(BZip2 REQUIRED) + +if(WIN32) + set(LINK_LIBS wininet) +endif() + +list(APPEND LINK_LIBS ZLIB::ZLIB BZip2::BZip2) + +if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + message(STATUS "Using FreeBSD port") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DO_LARGEFILE=0 -Dstat64=stat -Dlstat64=lstat -Dlseek64=lseek -Doff64_t=off_t -Dfstat64=fstat -Dftruncate64=ftruncate") +endif() + +add_library(stormlib ${LIB_TYPE} ${SRC_FILES} ${TOMCRYPT_FILES} ${TOMMATH_FILES} ${STORM_DEF_FILES}) +add_definitions(-D__SYS_ZLIB -D__SYS_BZLIB) + +target_link_libraries(stormlib PRIVATE ${LINK_LIBS}) + +target_compile_definitions(stormlib PRIVATE _7ZIP_ST BZ_STRICT_ANSI) + +if(WIN32) + target_compile_definitions(stormlib PRIVATE UNICODE _UNICODE) +endif() + +set_target_properties(stormlib PROPERTIES PUBLIC_HEADER "src/StormLib.h;src/StormPort.h") + +install(TARGETS stormlib EXPORT stormlibConfig + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib +) + +install(EXPORT stormlibConfig NAMESPACE stormlib:: DESTINATION share/stormlib) \ No newline at end of file diff --git a/ports/stormlib/CONTROL b/ports/stormlib/CONTROL index 348e09616..beb6fd3c1 100644 --- a/ports/stormlib/CONTROL +++ b/ports/stormlib/CONTROL @@ -1,4 +1,4 @@ Source: stormlib -Version: 9.22 +Version: 2019-05-10 Build-Depends: zlib, bzip2 Description: StormLib is a library for opening and manipulating Blizzard MPQ files diff --git a/ports/stormlib/disable-building-tests.patch b/ports/stormlib/disable-building-tests.patch deleted file mode 100644 index fe0d7f70c..000000000 --- a/ports/stormlib/disable-building-tests.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f5211b1..4025ea1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -358,10 +358,4 @@ install(TARGETS ${LIBRARY_NAME} - - INCLUDE(CPack) - --if(STORM_BUILD_TESTS) -- target_link_libraries(storm_test ${LIBRARY_NAME}) -- install(TARGETS storm_test DESTINATION bin) --endif() - --add_executable(storm_test ${SRC_FILES} ${TOMCRYPT_FILES} ${TOMMATH_FILES} ${ZLIB_BZIP2_FILES} ${TEST_SRC_FILES}) --install(TARGETS storm_test RUNTIME DESTINATION bin) diff --git a/ports/stormlib/portfile.cmake b/ports/stormlib/portfile.cmake index 82e0aedf9..d0e9e36a4 100644 --- a/ports/stormlib/portfile.cmake +++ b/ports/stormlib/portfile.cmake @@ -3,15 +3,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ladislav-zezula/StormLib - REF v9.22 - SHA512 e08571fca21be2e853d390b8feda32001df810b8f4b60d36822a9de2a877f2be9d3dadacfeec181a2eb80e00b8fed66d0dc9a0d8d9e043e2959478a41ed4d13a + REF 2f0e0e69e6b3739d7c450ac3d38816aee45ac3c2 + SHA512 54cbe4270963944edf3d75b845047add2b004e0d95b20b75a4c4790c2a12a41bf19cc4f55aaeaec697a0a913827e11cfabde2123b2b13730556310dd89eef1e9 HEAD_REF master ) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/disable-building-tests.patch +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt + DESTINATION ${SOURCE_PATH} ) vcpkg_configure_cmake( @@ -20,5 +19,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() + file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/stormlib RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +vcpkg_fixup_cmake_targets() \ No newline at end of file diff --git a/ports/string-theory/CONTROL b/ports/string-theory/CONTROL index e1c0c8af0..e2a64330e 100644 --- a/ports/string-theory/CONTROL +++ b/ports/string-theory/CONTROL @@ -1,4 +1,4 @@ Source: string-theory -Version: 2.1 +Version: 2.3 Homepage: https://github.com/zrax/string_theory -Description: Flexible C++11 string library with type-safe formatting. +Description: Flexible modern C++ string library with type-safe formatting. diff --git a/ports/string-theory/portfile.cmake b/ports/string-theory/portfile.cmake index 3cfb24c92..596f77b92 100644 --- a/ports/string-theory/portfile.cmake +++ b/ports/string-theory/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zrax/string_theory - REF 2.1 - SHA512 c20f481ba1bd3f1add2d7ee085db7dfa387e3675df5551e64bf294a96f4902551635e83faf2580fb0d6a55fd5ed1c906510d6cb39580a07234e5638e6c747fe0 + REF 2.3 + SHA512 2e0bae7aeeedf81343ee88482a3d9afc99cc2e8bede375cb191782bcd53044cfd4a16a79efd463b657914a5ddca8209210815a6549fe527d9cc60e9048d3c672 HEAD_REF master ) @@ -22,8 +22,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() - -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/string_theory") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/string_theory) file(RENAME ${CURRENT_PACKAGES_DIR}/share/string-theory ${CURRENT_PACKAGES_DIR}/share/string_theory) diff --git a/ports/stxxl/0001-fix-visual-studio.patch b/ports/stxxl/0001-fix-visual-studio.patch new file mode 100644 index 000000000..3506c51ab --- /dev/null +++ b/ports/stxxl/0001-fix-visual-studio.patch @@ -0,0 +1,272 @@ +diff --git a/include/stxxl/bits/algo/ksort.h b/include/stxxl/bits/algo/ksort.h +index 33ec8cf..4079a57 100644 +--- a/include/stxxl/bits/algo/ksort.h ++++ b/include/stxxl/bits/algo/ksort.h +@@ -299,11 +299,7 @@ create_runs( + template +-struct run_cursor2_cmp : public std::binary_function< +- run_cursor2, +- run_cursor2, +- bool +- > ++struct run_cursor2_cmp + { + typedef run_cursor2 cursor_type; + KeyExtractor keyobj; +@@ -327,7 +323,7 @@ private: + }; + + template +-class key_comparison : public std::binary_function ++class key_comparison + { + KeyExtractor ke; + +diff --git a/include/stxxl/bits/algo/sort_helper.h b/include/stxxl/bits/algo/sort_helper.h +index 524e40d..69234c4 100644 +--- a/include/stxxl/bits/algo/sort_helper.h ++++ b/include/stxxl/bits/algo/sort_helper.h +@@ -51,7 +51,6 @@ struct trigger_entry + + template + struct trigger_entry_cmp +- : public std::binary_function + { + typedef TriggerEntryType trigger_entry_type; + ValueCmp cmp; +@@ -67,11 +66,6 @@ template + struct run_cursor2_cmp +- : public std::binary_function< +- run_cursor2, +- run_cursor2, +- bool +- > + { + typedef BlockType block_type; + typedef PrefetcherType prefetcher_type; +diff --git a/include/stxxl/bits/compat/unique_ptr.h b/include/stxxl/bits/compat/unique_ptr.h +index 9df12ff..7110246 100644 +--- a/include/stxxl/bits/compat/unique_ptr.h ++++ b/include/stxxl/bits/compat/unique_ptr.h +@@ -22,12 +22,7 @@ STXXL_BEGIN_NAMESPACE + + template + struct compat_unique_ptr { +-#if __cplusplus >= 201103L && ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100) >= 40400) + typedef std::unique_ptr result; +-#else +- // auto_ptr is inherently broken and is deprecated by unique_ptr in c++0x +- typedef std::auto_ptr result; +-#endif + }; + + STXXL_END_NAMESPACE +diff --git a/include/stxxl/bits/containers/btree/leaf.h b/include/stxxl/bits/containers/btree/leaf.h +index d7c619f..c6b2fcc 100644 +--- a/include/stxxl/bits/containers/btree/leaf.h ++++ b/include/stxxl/bits/containers/btree/leaf.h +@@ -66,7 +66,7 @@ public: + typedef node_cache leaf_cache_type; + + public: +- struct value_compare : public std::binary_function ++ struct value_compare + { + key_compare comp; + +diff --git a/include/stxxl/bits/containers/btree/node.h b/include/stxxl/bits/containers/btree/node.h +index 13dec7b..a4c47d8 100644 +--- a/include/stxxl/bits/containers/btree/node.h ++++ b/include/stxxl/bits/containers/btree/node.h +@@ -71,7 +71,7 @@ public: + typedef node_cache node_cache_type; + + private: +- struct value_compare : public std::binary_function ++ struct value_compare + { + key_compare comp; + +diff --git a/include/stxxl/bits/containers/hash_map/hash_map.h b/include/stxxl/bits/containers/hash_map/hash_map.h +index 0759bd2..ecf19cd 100644 +--- a/include/stxxl/bits/containers/hash_map/hash_map.h ++++ b/include/stxxl/bits/containers/hash_map/hash_map.h +@@ -1258,10 +1258,7 @@ protected: + * lexicographically by Note: the hash-value has already + * been computed. + */ +- struct Cmp : public std::binary_function< +- std::pair, +- std::pair, bool +- > ++ struct Cmp + { + self_type& map_; + Cmp(self_type& map) : map_(map) { } +@@ -1520,7 +1517,7 @@ protected: + + public: + //! Construct an equality predicate from the comparison operator +- struct equal_to : public std::binary_function ++ struct equal_to + { + //! reference to hash_map + const self_type& m_map; +diff --git a/include/stxxl/bits/io/wbtl_file.h b/include/stxxl/bits/io/wbtl_file.h +index 933a216..30828a0 100644 +--- a/include/stxxl/bits/io/wbtl_file.h ++++ b/include/stxxl/bits/io/wbtl_file.h +@@ -65,7 +65,7 @@ class wbtl_file : public disk_queued_file + size_type curpos; + request_ptr backend_request; + +- struct FirstFit : public std::binary_function ++ struct FirstFit + { + bool operator () ( + const place& entry, +diff --git a/include/stxxl/bits/mng/block_alloc.h b/include/stxxl/bits/mng/block_alloc.h +index 19ade8b..887f0e6 100644 +--- a/include/stxxl/bits/mng/block_alloc.h ++++ b/include/stxxl/bits/mng/block_alloc.h +@@ -138,7 +138,7 @@ private: + perm[i] = i; + + stxxl::random_number rnd; +- std::random_shuffle(perm.begin(), perm.end(), rnd _STXXL_FORCE_SEQUENTIAL); ++ std::shuffle(perm.begin(), perm.end(), std::mt19937(std::random_device()())); + } + + public: +diff --git a/include/stxxl/bits/mng/block_alloc_interleaved.h b/include/stxxl/bits/mng/block_alloc_interleaved.h +index a82ee34..5aba23a 100644 +--- a/include/stxxl/bits/mng/block_alloc_interleaved.h ++++ b/include/stxxl/bits/mng/block_alloc_interleaved.h +@@ -93,7 +93,7 @@ struct interleaved_RC : public interleaved_striping + perms[i][j] = j; + + random_number rnd; +- std::random_shuffle(perms[i].begin(), perms[i].end(), rnd _STXXL_FORCE_SEQUENTIAL); ++ std::shuffle(perms[i].begin(), perms[i].end(), std::mt19937(std::random_device()())); + } + } + +diff --git a/include/stxxl/bits/mng/disk_allocator.h b/include/stxxl/bits/mng/disk_allocator.h +index 59ad085..c1e0f83 100644 +--- a/include/stxxl/bits/mng/disk_allocator.h ++++ b/include/stxxl/bits/mng/disk_allocator.h +@@ -44,7 +44,7 @@ class disk_allocator : private noncopyable + { + typedef std::pair place; + +- struct first_fit : public std::binary_function ++ struct first_fit + { + bool operator () ( + const place& entry, +@@ -189,7 +189,7 @@ void disk_allocator::new_blocks(BID* begin, BID* end) + + sortseq::iterator space; + space = std::find_if(free_space.begin(), free_space.end(), +- bind2nd(first_fit(), requested_size) _STXXL_FORCE_SEQUENTIAL); ++ std::bind(first_fit(), std::placeholders::_1, requested_size) _STXXL_FORCE_SEQUENTIAL); + + if (space == free_space.end() && requested_size == BlockSize) + { +@@ -207,7 +207,7 @@ void disk_allocator::new_blocks(BID* begin, BID* end) + grow_file(BlockSize); + + space = std::find_if(free_space.begin(), free_space.end(), +- bind2nd(first_fit(), requested_size) _STXXL_FORCE_SEQUENTIAL); ++ std::bind(first_fit(), std::placeholders::_1, requested_size) _STXXL_FORCE_SEQUENTIAL); + } + + if (space != free_space.end()) +diff --git a/include/stxxl/bits/parallel.h b/include/stxxl/bits/parallel.h +index d973861..c858d87 100644 +--- a/include/stxxl/bits/parallel.h ++++ b/include/stxxl/bits/parallel.h +@@ -121,7 +121,6 @@ using __gnu_parallel::random_shuffle; + #elif STXXL_PARALLEL + + using std::sort; +-using std::random_shuffle; + + #else + +diff --git a/include/stxxl/bits/parallel/base.h b/include/stxxl/bits/parallel/base.h +index 141d515..7dae74f 100644 +--- a/include/stxxl/bits/parallel/base.h ++++ b/include/stxxl/bits/parallel/base.h +@@ -33,7 +33,6 @@ namespace parallel { + */ + template + class binary_negate +- : public std::binary_function + { + protected: + Predicate pred; +@@ -80,7 +79,7 @@ static inline void decode2(lcas_t x, int& a, int& b) + * Constructs predicate for equality from strict weak ordering predicate + */ + template +-class equal_from_less : public std::binary_function ++class equal_from_less + { + private: + Comparator& comp; +@@ -126,7 +125,7 @@ median_of_three_iterators(RandomAccessIterator a, RandomAccessIterator b, + + /** Similar to std::equal_to, but allows two different types. */ + template +-struct equal_to : std::binary_function ++struct equal_to + { + bool operator () (const T1& t1, const T2& t2) const + { +@@ -136,7 +135,7 @@ struct equal_to : std::binary_function + + /** Similar to std::less, but allows two different types. */ + template +-struct less : std::binary_function ++struct less + { + bool operator () (const T1& t1, const T2& t2) const + { +diff --git a/include/stxxl/bits/parallel/multiseq_selection.h b/include/stxxl/bits/parallel/multiseq_selection.h +index 57e7599..f41d9aa 100644 +--- a/include/stxxl/bits/parallel/multiseq_selection.h ++++ b/include/stxxl/bits/parallel/multiseq_selection.h +@@ -35,7 +35,6 @@ namespace parallel { + //! Compare a pair of types lexcigraphically, ascending. + template + class lexicographic +- : public std::binary_function, std::pair, bool> + { + protected: + Comparator& m_comp; +@@ -60,7 +59,6 @@ public: + //! Compare a pair of types lexcigraphically, descending. + template + class lexicographic_rev +- : public std::binary_function, std::pair, bool> + { + protected: + Comparator& m_comp; +diff --git a/lib/io/wbtl_file.cpp b/lib/io/wbtl_file.cpp +index 310d76a..6d52e2e 100644 +--- a/lib/io/wbtl_file.cpp ++++ b/lib/io/wbtl_file.cpp +@@ -304,7 +304,7 @@ wbtl_file::offset_type wbtl_file::get_next_write_block() + // mapping_lock has to be aquired by caller + sortseq::iterator space = + std::find_if(free_space.begin(), free_space.end(), +- bind2nd(FirstFit(), write_block_size) _STXXL_FORCE_SEQUENTIAL); ++ std::bind(FirstFit(), std::placeholders::_1, write_block_size) _STXXL_FORCE_SEQUENTIAL); + + if (space != free_space.end()) + { diff --git a/ports/stxxl/CONTROL b/ports/stxxl/CONTROL index 847a31067..42609d34f 100644 --- a/ports/stxxl/CONTROL +++ b/ports/stxxl/CONTROL @@ -1,3 +1,3 @@ Source: stxxl -Version: 2018-11-15-1 +Version: 2018-11-15-2 Description: Standard Template Library for Extra Large Data Sets diff --git a/ports/stxxl/portfile.cmake b/ports/stxxl/portfile.cmake index 41665c4cd..01d072d09 100644 --- a/ports/stxxl/portfile.cmake +++ b/ports/stxxl/portfile.cmake @@ -11,10 +11,12 @@ vcpkg_from_github( PATCHES # This patch can be removed when stxxl/stxxl/#95 is accepted fix-include-dir.patch + 0001-fix-visual-studio.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DBUILD_STATIC_LIBS=ON -DBUILD_EXAMPLES=OFF @@ -31,7 +33,7 @@ vcpkg_configure_cmake( OPTIONS_DEBUG -DSTXXL_DEBUG_ASSERTIONS=ON OPTIONS_RELEASE - -DSTXXL_DEBUG_ASSERTIONS=OFF + -DSTXXL_DEBUG_ASSERTIONS=OFF ) vcpkg_install_cmake() diff --git a/ports/suitesparse/CONTROL b/ports/suitesparse/CONTROL index 352a28a6d..fa269b668 100644 --- a/ports/suitesparse/CONTROL +++ b/ports/suitesparse/CONTROL @@ -1,5 +1,5 @@ Source: suitesparse -Version: 5.4.0-1 +Version: 5.4.0-4 Build-Depends: clapack (!osx) Homepage: http://faculty.cse.tamu.edu/davis/SuiteSparse Description: algebra library diff --git a/ports/suitesparse/add-find-package-metis.patch b/ports/suitesparse/add-find-package-metis.patch new file mode 100644 index 000000000..297309ea0 --- /dev/null +++ b/ports/suitesparse/add-find-package-metis.patch @@ -0,0 +1,46 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b8c2e63..d443390 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -199,12 +199,15 @@ if(LAPACK_FOUND AND BLAS_FOUND) + endif() # LAPACK is not found + + IF(BUILD_METIS OR USE_VCPKG_METIS) ++ find_package(metis REQUIRED) + set(SuiteSparse_LINKER_METIS_LIBS "metis") + ## namespaced library target for config +- set(SuiteSparse_EXPORTED_METIS_LIBS "SuiteSparse::metis") ++ set(SuiteSparse_EXPORTED_METIS_LIBS "metis") ++ set(SuiteSparse_FIND_PACKAGE_METIS "find_package(metis REQUIRED)") + else() + set(SuiteSparse_LINKER_METIS_LIBS "") + set(SuiteSparse_EXPORTED_METIS_LIBS "") ++ set(SuiteSparse_FIND_PACKAGE_METIS "") + ENDIF() + + add_subdirectory(SuiteSparse) +diff --git a/SuiteSparse/CMakeLists.txt b/SuiteSparse/CMakeLists.txt +index 5ef08a6..6c7abfd 100644 +--- a/SuiteSparse/CMakeLists.txt ++++ b/SuiteSparse/CMakeLists.txt +@@ -13,7 +13,7 @@ ENDIF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_BUILD_TYPE MATCHES "Debug") + + # Global flags: + IF (BUILD_METIS OR USE_VCPKG_METIS) +- INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include") ++ #INCLUDE_DIRECTORIES("${METIS_SOURCE_DIR}/include") + ELSE () + ADD_DEFINITIONS(-DNPARTITION) + ENDIF () +diff --git a/cmake/SuiteSparse-config-install.cmake.in b/cmake/SuiteSparse-config-install.cmake.in +index 49387b8..553d9c7 100644 +--- a/cmake/SuiteSparse-config-install.cmake.in ++++ b/cmake/SuiteSparse-config-install.cmake.in +@@ -5,6 +5,7 @@ get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_PREFIX}" PATH) + get_filename_component(_SuiteSparse_PREFIX "${_SuiteSparse_PREFIX}" PATH) + + find_package(LAPACK REQUIRED) ++@SuiteSparse_FIND_PACKAGE_METIS@ + + # Load targets from the install tree. + include(${_SuiteSparse_SELF_DIR}/suitesparse-targets.cmake) diff --git a/ports/suitesparse/portfile.cmake b/ports/suitesparse/portfile.cmake index a527f8825..6dcf20239 100644 --- a/ports/suitesparse/portfile.cmake +++ b/ports/suitesparse/portfile.cmake @@ -24,6 +24,7 @@ vcpkg_from_github( HEAD_REF master PATCHES suitesparse.patch + add-find-package-metis.patch ) # Copy suitesparse sources. @@ -34,6 +35,10 @@ foreach(SOURCE_FILE ${SUITESPARSE_SOURCE_FILES}) file(COPY ${SOURCE_FILE} DESTINATION "${SUITESPARSEWIN_SOURCE_PATH}/SuiteSparse") endforeach() message(STATUS "Copying SuiteSparse source files... done") +message(STATUS "Removing integrated lapack and metis libs...") +file(REMOVE_RECURSE ${SUITESPARSEWIN_SOURCE_PATH}/lapack_windows) +file(REMOVE_RECURSE ${SUITESPARSEWIN_SOURCE_PATH}/metis) +message(STATUS "Removing integrated lapack and metis libs... done") set(USE_VCPKG_METIS OFF) if("metis" IN_LIST FEATURES) @@ -56,14 +61,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/suitesparse-${SUITESPARSE_VER}" TARGET_PATH "share/suitesparse") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/suitesparse-${SUITESPARSE_VER}) -#clean folders file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright of suitesparse and suitesparse-metis-for-windows -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/suitesparse/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/suitesparse/copyright) - -file(COPY ${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/suitesparse/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/suitesparse/copyright_suitesparse-metis-for-windows) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse RENAME copyright) +file(INSTALL ${SUITESPARSEWIN_SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/suitesparse RENAME copyright_suitesparse-metis-for-windows) diff --git a/ports/suitesparse/suitesparse.patch b/ports/suitesparse/suitesparse.patch index 394355606..e26a5b8cb 100644 --- a/ports/suitesparse/suitesparse.patch +++ b/ports/suitesparse/suitesparse.patch @@ -1,17 +1,82 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3486f05..98badb6 100644 +index 3486f05..b8c2e63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -252,7 +252,7 @@ if(SuiteSparse_LAPACK_BLAS_LIB_DIR) # "Export" the imported targets in config.cm - set_property(TARGET lapack PROPERTY IMPORTED_IMPLIB \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/liblapack.lib)") +@@ -191,68 +191,14 @@ if(WITH_CUDA) + ENDIF(${CUDA_FOUND}) endif() +-find_package(BLAS) +-find_package(LAPACK) +-if (LAPACK_FOUND AND BLAS_FOUND) ++find_package(BLAS REQUIRED) ++find_package(LAPACK REQUIRED) ++if(LAPACK_FOUND AND BLAS_FOUND) + message(STATUS "found lapack and blas config file. Linking targets lapack and blas") + set(SuiteSparse_LINKER_LAPACK_BLAS_LIBS ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) +-else () # LAPACK is not found +- +-## Need to use SuiteSparse_LINKER_LAPACK_BLAS_LIBS in our subproject in case of SHARED flag is set to ON +-SET(SUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS OFF CACHE BOOL "Check if you have custom LAPACK/BLAS libraries (AMD,...)") +-IF (SUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS) +- SET(SUITESPARSE_CUSTOM_BLAS_LIB "" CACHE FILE "Path to custom library file for BLAS") +- SET(SUITESPARSE_CUSTOM_LAPACK_LIB "" CACHE FILE "Path to custom library file for LAPACK") +- IF (NOT EXISTS "${SUITESPARSE_CUSTOM_BLAS_LIB}" OR NOT EXISTS "${SUITESPARSE_CUSTOM_LAPACK_LIB}") +- MESSAGE("*Error*: Correctly set SUITESPARSE_CUSTOM_BLAS_LIB and SUITESPARSE_CUSTOM_LAPACK_LIB or uncheck SUITESPARSE_USE_CUSTOM_BLAS_LAPACK_LIBS") +- ELSE() +- SET(SuiteSparse_LINKER_LAPACK_BLAS_LIBS ${SUITESPARSE_CUSTOM_BLAS_LIB} ${SUITESPARSE_CUSTOM_LAPACK_LIB}) +- ENDIF() +-ELSE() +- IF (UNIX) +- SET(SuiteSparse_LINKER_LAPACK_BLAS_LIBS lapack blas rt) +- ELSE() +- IF(CMAKE_SIZEOF_VOID_P EQUAL 8) # Size in bytes! +- set(PATH_WORD_SIZE "x64") +- ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8) # Size in bytes! +- set(PATH_WORD_SIZE "x32") +- ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8) +- +- add_library(blas SHARED IMPORTED) +- set_property(TARGET blas PROPERTY IMPORTED_LOCATION ${SuiteSparseProject_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/libblas.dll) +- set_property(TARGET blas PROPERTY IMPORTED_IMPLIB ${SuiteSparseProject_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/libblas.lib) +- +- add_library(lapack SHARED IMPORTED) +- set_property(TARGET lapack PROPERTY IMPORTED_LOCATION ${SuiteSparseProject_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/liblapack.dll) +- set_property(TARGET lapack PROPERTY IMPORTED_IMPLIB ${SuiteSparseProject_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/liblapack.lib) +- +- SET(SuiteSparse_LINKER_LAPACK_BLAS_LIBS blas lapack) +- +- ## install lapack and blas dependencies +- file(GLOB lapack_blas_windows_libs "${CMAKE_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/*.lib") +- file(GLOB lapack_blas_windows_dll "${CMAKE_SOURCE_DIR}/lapack_windows/${PATH_WORD_SIZE}/*.dll") +- if(lapack_blas_windows_dll AND lapack_blas_windows_libs) +- set(SuiteSparse_LAPACK_BLAS_LIB_DIR "lib${LIB_POSTFIX}/lapack_blas_windows") +- install(FILES ${lapack_blas_windows_libs} +- ${lapack_blas_windows_dll} +- DESTINATION ${SuiteSparse_LAPACK_BLAS_LIB_DIR} +- ) +- endif() +- ENDIF() +-ENDIF() +-ENDIF() # LAPACK found +- +-if(SuiteSparse_LAPACK_BLAS_LIB_DIR) # "Export" the imported targets in config.cmake manually +- set(ExternConfig "add_library(blas SHARED IMPORTED) +- set_property(TARGET blas PROPERTY IMPORTED_LOCATION \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/libblas.dll) +- set_property(TARGET blas PROPERTY IMPORTED_IMPLIB \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/libblas.lib) +- +- add_library(lapack SHARED IMPORTED) +- set_property(TARGET lapack PROPERTY IMPORTED_LOCATION \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/liblapack.dll) +- set_property(TARGET lapack PROPERTY IMPORTED_IMPLIB \${_SuiteSparse_PREFIX}/${SuiteSparse_LAPACK_BLAS_LIB_DIR}/liblapack.lib)") +-endif() ++endif() # LAPACK is not found + -IF(BUILD_METIS) +IF(BUILD_METIS OR USE_VCPKG_METIS) set(SuiteSparse_LINKER_METIS_LIBS "metis") ## namespaced library target for config set(SuiteSparse_EXPORTED_METIS_LIBS "SuiteSparse::metis") -@@ -311,7 +311,7 @@ configure_file(cmake/SuiteSparse-config-install.cmake.in +@@ -311,7 +257,7 @@ configure_file(cmake/SuiteSparse-config-install.cmake.in ## do the EXPORT for allowing other project to easily use suitesparse with cmake install(EXPORT SuiteSparseTargets FILE @@ -20,6 +85,18 @@ index 3486f05..98badb6 100644 NAMESPACE SuiteSparse:: DESTINATION +diff --git a/SuiteSparse/CHOLMOD/Include/cholmod_blas.h b/SuiteSparse/CHOLMOD/Include/cholmod_blas.h +index aef3e63..907512b 100644 +--- a/SuiteSparse/CHOLMOD/Include/cholmod_blas.h ++++ b/SuiteSparse/CHOLMOD/Include/cholmod_blas.h +@@ -27,6 +27,7 @@ + #elif defined (__linux) || defined (MGLNX86) || defined (ARCH_GLNX86) + #define CHOLMOD_LINUX + #define CHOLMOD_ARCHITECTURE "Linux" ++#define BLAS_NO_UNDERSCORE + + #elif defined (__APPLE__) + #define CHOLMOD_MAC diff --git a/SuiteSparse/CMakeLists.txt b/SuiteSparse/CMakeLists.txt index c6e2834..5ef08a6 100644 --- a/SuiteSparse/CMakeLists.txt diff --git a/ports/sundials/CONTROL b/ports/sundials/CONTROL index dc6955d40..ae45b9d88 100644 --- a/ports/sundials/CONTROL +++ b/ports/sundials/CONTROL @@ -1,4 +1,4 @@ Source: sundials -Version: 3.1.1 +Version: 3.1.1-2 Homepage: https://computation.llnl.gov/projects/sundials Description: SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers) diff --git a/ports/sundials/portfile.cmake b/ports/sundials/portfile.cmake index 6798f0272..a76728659 100644 --- a/ports/sundials/portfile.cmake +++ b/ports/sundials/portfile.cmake @@ -1,23 +1,23 @@ include(vcpkg_common_functions) set(ARCHIVE_NAME "sundials-3.1.1") -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${ARCHIVE_NAME}") -vcpkg_download_distfile(ARCHIVE_FILE +vcpkg_download_distfile(ARCHIVE URLS "https://computation.llnl.gov/projects/sundials/download/${ARCHIVE_NAME}.tar.gz" FILENAME "${ARCHIVE_NAME}.tar.gz" SHA512 3e8fc7183c5503943f1ba00c73b04c1614a48b6e6cb90559ec5481f9acffaa19acd97bd961611b251ebdc032f1a13f0919b0ab0cdfe9d9b4ddc99d40bef5719f ) -vcpkg_extract_source_archive(${ARCHIVE_FILE}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/uwp-c4703-warning.patch + uwp-c4703-warning.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DEXAMPLES_ENABLE=OFF ) @@ -46,7 +46,7 @@ if(DEBUG_DLLS) file(INSTALL ${DEBUG_DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sundials RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(REMOVE "${CURRENT_PACKAGES_DIR}/LICENSE") file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/LICENSE") diff --git a/ports/systemc/CONTROL b/ports/systemc/CONTROL index 488a06338..c62d20c76 100644 --- a/ports/systemc/CONTROL +++ b/ports/systemc/CONTROL @@ -1,3 +1,3 @@ Source: systemc -Version: 2.3.3-2 +Version: 2.3.3-4 Description: A set of C++ classes and macros which provide an event-driven simulation kernel in C++ diff --git a/ports/systemc/install.patch b/ports/systemc/install.patch index d335a8b18..ef133a14f 100644 --- a/ports/systemc/install.patch +++ b/ports/systemc/install.patch @@ -1,23 +1,31 @@ ---- CMakeLists.txt Sat Oct 13 00:19:07 2018 -+++ CMakeLists.txt.fixed Mon Jan 28 15:51:38 2019 -@@ -555,7 +555,7 @@ - endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - - # Set the installation paths for headers, libraries, and documentation. --set (CMAKE_INSTALL_DOCDIR "share/doc/systemc" CACHE PATH -+set (CMAKE_INSTALL_DOCDIR "share/systemc" CACHE PATH - "Documentation installation directory") # otherwise mixed-case - if (INSTALL_TO_LIB_BUILD_TYPE_DIR) - # Install libraries to lib-${CMAKE_BUILD_TYPE} so that different build variants -@@ -589,9 +589,9 @@ - set (SystemCTLM_INSTALL_CMAKEDIR share/cmake/SystemCTLM CACHE PATH - "CMake package configuration installation directory" FORCE) - else (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) -- set (SystemCLanguage_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCLanguage CACHE PATH -+ set (SystemCLanguage_INSTALL_CMAKEDIR share/SystemCLanguage CACHE PATH - "CMake package configuration installation directory for the SystemCLanguage package.") -- set (SystemCTLM_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCTLM CACHE PATH -+ set (SystemCTLM_INSTALL_CMAKEDIR share/SystemCTLM CACHE PATH - "CMake package configuration installation directory for the SystemCTLM package.") - endif (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) - mark_as_advanced(SystemCLanguage_INSTALL_CMAKEDIR SystemCTLM_INSTALL_CMAKEDIR) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b7815ae..86d79d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -555,7 +555,7 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + + # Set the installation paths for headers, libraries, and documentation. +-set (CMAKE_INSTALL_DOCDIR "share/doc/systemc" CACHE PATH ++set (CMAKE_INSTALL_DOCDIR "share/systemc/doc" CACHE PATH + "Documentation installation directory") # otherwise mixed-case + if (INSTALL_TO_LIB_BUILD_TYPE_DIR) + # Install libraries to lib-${CMAKE_BUILD_TYPE} so that different build variants +@@ -584,14 +584,14 @@ if (INSTALL_LIB_TARGET_ARCH_SYMLINK AND CMAKE_HOST_UNIX) + endif (INSTALL_LIB_TARGET_ARCH_SYMLINK AND CMAKE_HOST_UNIX) + + if (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) +- set (SystemCLanguage_INSTALL_CMAKEDIR share/cmake/SystemCLanguage CACHE PATH ++ set (SystemCLanguage_INSTALL_CMAKEDIR lib/cmake/SystemCLanguage CACHE PATH + "CMake package configuration installation directory" FORCE) + set (SystemCTLM_INSTALL_CMAKEDIR share/cmake/SystemCTLM CACHE PATH + "CMake package configuration installation directory" FORCE) + else (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) +- set (SystemCLanguage_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCLanguage CACHE PATH ++ set (SystemCLanguage_INSTALL_CMAKEDIR lib/cmake/SystemCLanguage CACHE PATH + "CMake package configuration installation directory for the SystemCLanguage package.") +- set (SystemCTLM_INSTALL_CMAKEDIR ${CMAKE_INSTALL_LIBDIR}/cmake/SystemCTLM CACHE PATH ++ set (SystemCTLM_INSTALL_CMAKEDIR share/cmake/SystemCTLM CACHE PATH + "CMake package configuration installation directory for the SystemCTLM package.") + endif (INSTALL_TO_LIB_BUILD_TYPE_DIR OR INSTALL_TO_LIB_TARGET_ARCH_DIR) + mark_as_advanced(SystemCLanguage_INSTALL_CMAKEDIR SystemCTLM_INSTALL_CMAKEDIR) diff --git a/ports/systemc/portfile.cmake b/ports/systemc/portfile.cmake index 0165b8270..b7fb57b1f 100644 --- a/ports/systemc/portfile.cmake +++ b/ports/systemc/portfile.cmake @@ -14,7 +14,6 @@ vcpkg_extract_source_archive_ex( REF ${SYSTEMC_VERSION} PATCHES install.patch - tlm_correct_dependency.patch ) vcpkg_configure_cmake( @@ -26,16 +25,11 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/SystemCLanguage TARGET_PATH share/systemclanguage) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/SystemCTLM TARGET_PATH share/systemctlm) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/SystemCLanguage TARGET_PATH share/SystemCLanguage) -vcpkg_fixup_cmake_targets(CONFIG_PATH share/SystemCTLM TARGET_PATH share/SystemCTLM) - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/systemc RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/sysc/packages/qt/time) -# Post-build test for cmake libraries (disabled for now due to issues with vcpkg_test_cmake) -#vcpkg_test_cmake(PACKAGE_NAME SystemCLanguage) -#vcpkg_test_cmake(PACKAGE_NAME SystemCTLM) +file(INSTALL ${SOURCE_PATH}/NOTICE DESTINATION ${CURRENT_PACKAGES_DIR}/share/systemc RENAME copyright) diff --git a/ports/szip/CONTROL b/ports/szip/CONTROL index a2ea5f275..54ebf9b7b 100644 --- a/ports/szip/CONTROL +++ b/ports/szip/CONTROL @@ -1,4 +1,4 @@ Source: szip -Version: 2.1.1-3 +Version: 2.1.1-6 Homepage: https://support.hdfgroup.org/ftp/lib-external/szip Description: Szip compression software, providing lossless compression of scientific data diff --git a/ports/szip/portfile.cmake b/ports/szip/portfile.cmake index fa10d58a2..ab669cebc 100644 --- a/ports/szip/portfile.cmake +++ b/ports/szip/portfile.cmake @@ -1,6 +1,5 @@ include(vcpkg_common_functions) -#set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/szip-2.1.1) vcpkg_download_distfile(ARCHIVE URLS "https://support.hdfgroup.org/ftp/lib-external/szip/2.1.1/src/szip-2.1.1.tar.gz" FILENAME "szip-2.1.1.tar.gz" @@ -17,6 +16,7 @@ vcpkg_extract_source_archive_ex( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DSZIP_INSTALL_DATA_DIR=share/szip/data -DSZIP_INSTALL_CMAKE_DIR=share/szip @@ -24,8 +24,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/szip) +vcpkg_fixup_cmake_targets() file(RENAME ${CURRENT_PACKAGES_DIR}/share/szip/data/COPYING ${CURRENT_PACKAGES_DIR}/share/szip/copyright) diff --git a/ports/tacopie/CONTROL b/ports/tacopie/CONTROL index a800a26be..1707cc9ef 100644 --- a/ports/tacopie/CONTROL +++ b/ports/tacopie/CONTROL @@ -1,4 +1,4 @@ Source: tacopie -Version: 3.2.0-1 -Homepage: https://github.com/Cylix/tacopie +Version: 3.2.0-2 +Homepage: https://github.com/cpp-redis/tacopie Description: Tacopie is a TCP Client & Server C++11 library diff --git a/ports/tacopie/portfile.cmake b/ports/tacopie/portfile.cmake index e814418d4..25ba4cf16 100644 --- a/ports/tacopie/portfile.cmake +++ b/ports/tacopie/portfile.cmake @@ -4,7 +4,7 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - REPO Cylix/tacopie + REPO cpp-redis/tacopie REF 3.2.0 SHA512 079b294b537aaffe3bcf43a485c3be5b15f633c3f7c70140032d60cb010d35b76e76ef4ddd7596f6bfaf3f7edca7cb086c67552efffbf65846e725d7be54ce72 HEAD_REF master @@ -40,6 +40,6 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tacopie RENAME copyright) - vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/taocpp-json/CONTROL b/ports/taocpp-json/CONTROL index e3f90f461..267dfa01e 100644 --- a/ports/taocpp-json/CONTROL +++ b/ports/taocpp-json/CONTROL @@ -1,3 +1,3 @@ Source: taocpp-json -Version: 2019-05-08 +Version: 2019-07-11 Description: C++ header-only JSON library diff --git a/ports/taocpp-json/portfile.cmake b/ports/taocpp-json/portfile.cmake index 3e6c19f1e..1050b419b 100644 --- a/ports/taocpp-json/portfile.cmake +++ b/ports/taocpp-json/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO taocpp/json - REF 6adce3b8e55c16e25b22ec0e33348eefa6aa4533 - SHA512 078af33eed0bae7671f31a010ba19088d07ac4f78b834bc7565562ee75199e90338dfd450a1d592c4f4ae58eddb3a26018b571381099d22dfc7d3c4143911390 + REF 2ce7f742f8c47e8871f3052c56f13b237b68b18d + SHA512 22492cf87a008ae37fb46490ed5b688b195099a932c2dffaca029927fd9f9dff813ad21135edadf3c11bb0af75f78d00cfb92d875fe5579966e76d2039085eae HEAD_REF master ) diff --git a/ports/tbb/CMakeLists.txt b/ports/tbb/CMakeLists.txt index cc1dd3933..6d41b1555 100644 --- a/ports/tbb/CMakeLists.txt +++ b/ports/tbb/CMakeLists.txt @@ -4,7 +4,14 @@ file(GLOB SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*) file(COPY ${SOURCES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/src) include(${CMAKE_CURRENT_BINARY_DIR}/src/cmake/TBBBuild.cmake REQUIRED) -tbb_build(TBB_ROOT ${CMAKE_CURRENT_BINARY_DIR}/src MAKE_ARGS extra_inc=big_iron.inc) +if(NOT BUILD_SHARED_LIBS) + set(TBB_STATIC_INCLUDE extra_inc=big_iron.inc) +endif() +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 e3ae78936..a51904261 100644 --- a/ports/tbb/CONTROL +++ b/ports/tbb/CONTROL @@ -1,4 +1,4 @@ Source: tbb -Version: 2019_U7 +Version: 2019_U8-2 Homepage: https://github.com/01org/tbb Description: Intel's Threading Building Blocks. diff --git a/ports/tbb/fix-static-build.patch b/ports/tbb/fix-static-build.patch new file mode 100644 index 000000000..18f3e2b49 --- /dev/null +++ b/ports/tbb/fix-static-build.patch @@ -0,0 +1,13 @@ +diff --git a/src/tbb/cilk-tbb-interop.h b/src/tbb/cilk-tbb-interop.h +index 295734b..f35531e 100644 +--- a/src/tbb/cilk-tbb-interop.h ++++ b/src/tbb/cilk-tbb-interop.h +@@ -29,6 +29,8 @@ + #else + #ifdef IN_CILK_RUNTIME + #define CILK_EXPORT __declspec(dllexport) ++#elif defined(IN_CILK_STATIC) ++#define CILK_EXPORT /* nothing */ + #else + #define CILK_EXPORT __declspec(dllimport) + #endif // IN_CILK_RUNTIME diff --git a/ports/tbb/portfile.cmake b/ports/tbb/portfile.cmake index 119916757..1d543b317 100644 --- a/ports/tbb/portfile.cmake +++ b/ports/tbb/portfile.cmake @@ -1,20 +1,17 @@ include(vcpkg_common_functions) -if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO intel/tbb - REF 4233fef583b4f8cbf9f781311717600feaaa0694 - SHA512 6eb239f16e0ecacb825264869aafad7fb39aa1b1f8a3c03c92344c4255d1c1a34ca0a47a366c471fd2da808f3be14262c7e2305294677f2f490c1a48f6f76ec3 + REF 4bdba61bafc6ba2d636f31564f1de5702d365cf7 + SHA512 0b00c9deefdac5dc1f4fbae314e91eb3513b54b47ff6dec08ed2460486fc7d211ab36d6130e5787bfd50523cb613c65f03f9217d967292ca9056e2d3f5010bf8 HEAD_REF tbb_2019 + PATCHES fix-static-build.patch ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") +if (NOT VCPKG_TARGET_IS_WINDOWS) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -33,6 +30,32 @@ else() set(RELEASE_CONFIGURATION Release) set(DEBUG_CONFIGURATION Debug) endif() + + macro(CONFIGURE_PROJ_FILE arg) + set(CONFIGURE_FILE_NAME ${arg}) + set(CONFIGURE_BAK_FILE_NAME ${arg}.bak) + if (NOT EXISTS ${CONFIGURE_BAK_FILE_NAME}) + configure_file(${CONFIGURE_FILE_NAME} ${CONFIGURE_BAK_FILE_NAME} COPYONLY) + endif() + configure_file(${CONFIGURE_BAK_FILE_NAME} ${CONFIGURE_FILE_NAME} COPYONLY) + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE) + string(REPLACE "DynamicLibrary<\/ConfigurationType>" + "StaticLibrary<\/ConfigurationType>" SLN_CONFIGURE "${SLN_CONFIGURE}") + string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE" + "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_STATIC" SLN_CONFIGURE "${SLN_CONFIGURE}") + file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}") + else() + file(READ ${CONFIGURE_FILE_NAME} SLN_CONFIGURE) + string(REPLACE "\/D_CRT_SECURE_NO_DEPRECATE" + "\/D_CRT_SECURE_NO_DEPRECATE \/DIN_CILK_RUNTIME" SLN_CONFIGURE "${SLN_CONFIGURE}") + file(WRITE ${CONFIGURE_FILE_NAME} "${SLN_CONFIGURE}") + endif() + endmacro() + + CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbb.vcxproj) + CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc.vcxproj) + CONFIGURE_PROJ_FILE(${SOURCE_PATH}/build/vs2013/tbbmalloc_proxy.vcxproj) vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} @@ -78,14 +101,14 @@ string(REPLACE "${_contents}" ) string(REPLACE - "set(_tbb_release_lib \"/${TBB_LIB_PREFIX}\${_tbb_component}.${TBB_LIB_EXT}\")" - "set(_tbb_release_lib \"\${_tbb_root}/lib/${TBB_LIB_PREFIX}\${_tbb_component}.${TBB_LIB_EXT}\")" + "set(_tbb_release_lib \"/${TBB_LIB_PREFIX}" + "set(_tbb_release_lib \"\${_tbb_root}/lib/${TBB_LIB_PREFIX}" _contents "${_contents}" ) string(REPLACE - "set(_tbb_debug_lib \"/${TBB_LIB_PREFIX}\${_tbb_component}_debug.${TBB_LIB_EXT}\")" - "set(_tbb_debug_lib \"\${_tbb_root}/debug/lib/${TBB_LIB_PREFIX}\${_tbb_component}_debug.${TBB_LIB_EXT}\")" + "set(_tbb_debug_lib \"/${TBB_LIB_PREFIX}" + "set(_tbb_debug_lib \"\${_tbb_root}/debug/lib/${TBB_LIB_PREFIX}" _contents "${_contents}" ) diff --git a/ports/tcl/CONTROL b/ports/tcl/CONTROL new file mode 100644 index 000000000..f9aa4762a --- /dev/null +++ b/ports/tcl/CONTROL @@ -0,0 +1,16 @@ +Source: tcl +Version: 8.6.10-2 +Homepage: https://github.com/tcltk/tcl +Description: Tcl provides a powerful platform for creating integration applications that tie together diverse applications, protocols, devices, and frameworks. When paired with the Tk toolkit, Tcl provides the fastest and most powerful way to create GUI applications that run on PCs, Unix, and Mac OS X. Tcl can also be used for a variety of web-related tasks and for creating powerful command languages for applications. + +Feature: thrdalloc +Description: Use the thread allocator (shared global free pool). + +Feature: profile +Description: Adds profiling hooks. Map file is assumed. + +Feature: unchecked +Description: Allows a symbols build to not use the debug enabled runtime (msvcrt.dll not msvcrtd.dll or libcmt.lib not libcmtd.lib). + +Feature: utfmax +Description: Forces Tcl_UniChar to be a 32-bit quantity in stead of 16-bits \ No newline at end of file diff --git a/ports/tcl/portfile.cmake b/ports/tcl/portfile.cmake new file mode 100644 index 000000000..834d7dee0 --- /dev/null +++ b/ports/tcl/portfile.cmake @@ -0,0 +1,109 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tcltk/tcl + REF 2abfa2c03ddc0419e6525f86c2c0323b2ba1932e + SHA512 d9bc83c389cf3b95ab64b75c57eb9a2b23b957503d2dadc2d3f6854e9e784d87d9b2059a82f35accb419693bfe675b523c4751af91efac700644e118ff689fd7) + +if (VCPKG_TARGET_IS_WINDOWS) + if(VCPKG_TARGET_ARCHITECTURE MATCHES "x64") + set(TCL_BUILD_MACHINE_STR MACHINE=AMD64) + else() + set(TCL_BUILD_MACHINE_STR MACHINE=IX86) + endif() + + # Handle features + set(TCL_BUILD_OPTS OPTS=pdbs) + set(TCL_BUILD_STATS STATS=none) + set(TCL_BUILD_CHECKS CHECKS=none) + if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(TCL_BUILD_OPTS ${TCL_BUILD_OPTS},static,staticpkg) + endif() + if (VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(TCL_BUILD_OPTS ${TCL_BUILD_OPTS},msvcrt) + endif() + + if ("thrdalloc" IN_LIST FEATURES) + set(TCL_BUILD_OPTS ${TCL_BUILD_OPTS},thrdalloc) + endif() + if ("profile" IN_LIST FEATURES) + set(TCL_BUILD_OPTS ${TCL_BUILD_OPTS},profile) + endif() + if ("unchecked" IN_LIST FEATURES) + set(TCL_BUILD_OPTS ${TCL_BUILD_OPTS},unchecked) + endif() + if ("utfmax" IN_LIST FEATURES) + set(TCL_BUILD_OPTS ${TCL_BUILD_OPTS},time64bit) + endif() + + vcpkg_install_nmake( + SOURCE_PATH ${SOURCE_PATH} + PROJECT_SUBPATH win + OPTIONS + ${TCL_BUILD_MACHINE_STR} + ${TCL_BUILD_STATS} + ${TCL_BUILD_CHECKS} + OPTIONS_DEBUG + ${TCL_BUILD_OPTS},symbols + INSTALLDIR=${CURRENT_PACKAGES_DIR}/debug + SCRIPT_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/tools/tcl/debug/lib/tcl9.0 + OPTIONS_RELEASE + ${TCL_BUILD_OPTS} + release + INSTALLDIR=${CURRENT_PACKAGES_DIR} + SCRIPT_INSTALL_DIR=${CURRENT_PACKAGES_DIR}/tools/tcl/lib/tcl9.0 + ) + # Install + if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL release) + file(GLOB_RECURSE TOOLS + ${CURRENT_PACKAGES_DIR}/lib/dde1.4/* + ${CURRENT_PACKAGES_DIR}/lib/nmake/* + ${CURRENT_PACKAGES_DIR}/lib/reg1.3/* + ${CURRENT_PACKAGES_DIR}/lib/tcl8/* + ${CURRENT_PACKAGES_DIR}/lib/tcl8.6/* + ${CURRENT_PACKAGES_DIR}/lib/tdbcsqlite31.1.0/* + ) + + foreach(TOOL ${TOOLS}) + get_filename_component(DST_DIR ${TOOL} PATH) + file(COPY ${TOOL} DESTINATION ${DST_DIR}) + endforeach() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/dde1.4 + ${CURRENT_PACKAGES_DIR}/lib/nmake + ${CURRENT_PACKAGES_DIR}/lib/reg1.3 + ${CURRENT_PACKAGES_DIR}/lib/tcl8 + ${CURRENT_PACKAGES_DIR}/lib/tcl8.6 + ${CURRENT_PACKAGES_DIR}/lib/tdbcsqlite31.1.0 + ) + endif() + if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL debug) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/dde1.4 + ${CURRENT_PACKAGES_DIR}/debug/lib/nmake + ${CURRENT_PACKAGES_DIR}/debug/lib/reg1.3 + ${CURRENT_PACKAGES_DIR}/debug/lib/tcl8 + ${CURRENT_PACKAGES_DIR}/debug/lib/tcl8.6 + ${CURRENT_PACKAGES_DIR}/debug/lib/tdbcsqlite31.1.0 + ) + endif() + + 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) + +else() + vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + NO_DEBUG + PROJECT_SUBPATH unix + ) + + 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 ${CURRENT_PACKAGES_DIR}/debug/share) +endif() + +file(INSTALL ${SOURCE_PATH}/license.terms DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/tclap/CONTROL b/ports/tclap/CONTROL index 652593d40..e6a1d9ff7 100644 --- a/ports/tclap/CONTROL +++ b/ports/tclap/CONTROL @@ -1,4 +1,4 @@ Source: tclap -Version: 1.2.2 +Version: 1.2.2-1 Homepage: https://sourceforge.net/projects/tclap/ Description: Templatized command-line argument parser for C++ diff --git a/ports/tclap/portfile.cmake b/ports/tclap/portfile.cmake index 96337418a..7e1fb4460 100644 --- a/ports/tclap/portfile.cmake +++ b/ports/tclap/portfile.cmake @@ -1,18 +1,18 @@ -#header-only library include(vcpkg_common_functions) -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/tclap-1.2.2") + vcpkg_download_distfile(ARCHIVE URLS "http://downloads.sourceforge.net/project/tclap/tclap-1.2.2.tar.gz" FILENAME "tclap-1.2.2.tar.gz" SHA512 516ec17f82a61277922bc8c0ed66973300bf42a738847fbbd2912c6405c34f94a13e47dc964854a5b26a9a9f1f518cce682ca54e769d6016851656c647866107 ) -vcpkg_extract_source_archive(${ARCHIVE}) -# Copy all header files +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} +) + file(COPY "${SOURCE_PATH}/include/tclap" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.h") -# Handle copyright -file(COPY "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/tclap") -file(RENAME "${CURRENT_PACKAGES_DIR}/share/tclap/COPYING" "${CURRENT_PACKAGES_DIR}/share/tclap/copyright") +file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/telnetpp/CONTROL b/ports/telnetpp/CONTROL index 563a12f56..049fb9c5a 100644 --- a/ports/telnetpp/CONTROL +++ b/ports/telnetpp/CONTROL @@ -1,5 +1,10 @@ Source: telnetpp -Version: 1.2.4-1 +Version: 2.0-2 Homepage: https://github.com/KazDragon/telnetpp -Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14 -Build-Depends: boost, gtest, zlib +Description: Telnet++ is an implementation of the Telnet Session Layer protocol using C++14 +Build-Depends: boost-container, boost-signals2, boost-variant, gtest, gsl-lite, boost-exception +Default-Features: zlib + +Feature: zlib +Description: Zlib support +Build-Depends: zlib \ No newline at end of file diff --git a/ports/telnetpp/fix-build-error.patch b/ports/telnetpp/fix-build-error.patch new file mode 100644 index 000000000..92ad5bd29 --- /dev/null +++ b/ports/telnetpp/fix-build-error.patch @@ -0,0 +1,152 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 09b4f9b..feb3746 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,9 +22,6 @@ message("Building Telnet++ with zlib: ${TELNETPP_WITH_ZLIB}") + message("Building Telnet++ with code coverage: ${TELNETPP_COVERAGE}") + message("Building Telnet++ with sanitizers: ${TELNETPP_SANITIZE}") + +-include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +-conan_basic_setup(TARGETS NO_OUTPUT_DIRS) +- + # The required C++ Standard for Telnet++ is C++14. + set(CMAKE_CXX_STANDARD 14) + +@@ -154,18 +151,24 @@ add_library(telnetpp + ${TELNETPP_PRIVATE_INCLUDE_FILES} + ) + ++if (BUILD_SHARED_LIBS) ++ add_definitions(-Dtelnetpp_EXPORTS) ++else() ++ add_definitions(-DTELNETPP_STATIC_DEFINE) ++endif() ++ + target_link_libraries(telnetpp + PUBLIC +- CONAN_PKG::gsl-lite +- CONAN_PKG::boost_container +- CONAN_PKG::boost_signals2 +- CONAN_PKG::boost_variant ++ ${BOOST_CONTAINER_LIBRARY} ++ ${BOOST_SIGNALS2_LIBRARY} ++ ${BOOST_VARIANT_LIBRARY} + ) + + if (TELNETPP_WITH_ZLIB) ++ find_package(ZLIB REQUIRED) + target_link_libraries(telnetpp + PRIVATE +- CONAN_PKG::zlib ++ ${ZLIB_LIBRARIES} + ) + endif() + +@@ -180,7 +183,8 @@ target_include_directories(telnetpp + PUBLIC + $ + $ +- "${Boost_INCLUDE_DIRS}" ++ $ ++ $ + ) + + generate_export_header(telnetpp +@@ -197,17 +201,19 @@ install( + telnetpp + EXPORT + telnetpp-config ++ RUNTIME DESTINATION ++ bin + ARCHIVE DESTINATION +- lib/telnetpp-${TELNETPP_VERSION} ++ lib + LIBRARY DESTINATION +- lib/telnetpp-${TELNETPP_VERSION} ++ lib + ) + + install( + DIRECTORY + include/ + DESTINATION +- include/telnetpp-${TELNETPP_VERSION} ++ include + ) + + export( +@@ -221,7 +227,7 @@ install( + EXPORT + telnetpp-config + DESTINATION +- lib/telnetpp-${TELNETPP_VERSION} ++ share/telnetpp + ) + + include(CMakePackageConfigHelpers) +@@ -236,7 +242,7 @@ install( + FILES + "${CMAKE_CURRENT_BINARY_DIR}/telnetpp-config-version.cmake" + DESTINATION +- lib/telnetpp-${TELNETPP_VERSION} ++ share/telnetpp + ) + + if (TELNETPP_WITH_TESTS) +@@ -299,13 +305,13 @@ if (TELNETPP_WITH_TESTS) + target_link_libraries(telnetpp_tester + PRIVATE + telnetpp +- CONAN_PKG::gtest ++ GTest::GTest GTest::Main + ) + + if (TELNETPP_WITH_ZLIB) + target_link_libraries(telnetpp_tester + PRIVATE +- CONAN_PKG::zlib ++ ${ZLIB_LIBRARIES} + ) + endif() + +diff --git a/include/telnetpp/core.hpp b/include/telnetpp/core.hpp +index 2362fac..48d340e 100644 +--- a/include/telnetpp/core.hpp ++++ b/include/telnetpp/core.hpp +@@ -1,7 +1,7 @@ + #pragma once + + #include "telnetpp/detail/export.hpp" +-#include ++#include + #include + #include + +diff --git a/include/telnetpp/subnegotiation.hpp b/include/telnetpp/subnegotiation.hpp +index a209b72..1f24fc9 100644 +--- a/include/telnetpp/subnegotiation.hpp ++++ b/include/telnetpp/subnegotiation.hpp +@@ -15,7 +15,11 @@ public: + //* ===================================================================== + /// \brief Constructor + //* ===================================================================== ++#if _WIN32 ++ const subnegotiation(option_type option, bytes content) noexcept ++#else + constexpr subnegotiation(option_type option, bytes content) noexcept ++#endif + : option_(std::move(option)), + content_(std::move(content)) + { +@@ -32,7 +36,11 @@ public: + //* ===================================================================== + /// \brief Returns the content for this subnegotiation. + //* ===================================================================== ++#if _WIN32 ++ const bytes content() const noexcept ++#else + constexpr bytes content() const noexcept ++#endif + { + return content_; + } diff --git a/ports/telnetpp/portfile.cmake b/ports/telnetpp/portfile.cmake index 7af2342e1..11edf5e05 100644 --- a/ports/telnetpp/portfile.cmake +++ b/ports/telnetpp/portfile.cmake @@ -7,41 +7,35 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KazDragon/telnetpp - REF v1.2.4 - SHA512 16879fd377a7d13aac497bc9989c026acc1ed5b4eb9338d151d3d827c7c4c44fab84dd06c5fe55be4efe49a98ea46e62e80bbc51c8503d6ba1bf5534fee16c84 + REF 8dc780579293153ad2ae9ad6943815c050d4c659 + SHA512 280a8e6c0392f5822b05968520d176d1510f00c12a2502f6039f4f1f78a558e61f825a231fb70b7de6fd21a18b24734eea3ba36a24b29f2a7e9856b1f4de5217 HEAD_REF master + PATCHES fix-build-error.patch ) +set(USE_ZLIB OFF) +if("zlib" IN_LIST FEATURES) + set(USE_ZLIB ON) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + DISABLE_PARALLEL_CONFIGURE PREFER_NINJA + OPTIONS + -DGSL_INCLUDE_PATH=${CURRENT_INSTALLED_DIR}/include + -DTELNETPP_WITH_ZLIB=${USE_ZLIB} + -DTELNETPP_WITH_TESTS=OFF ) vcpkg_install_cmake() -# Remove duplicate header files and CMake input file -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE ${CURRENT_PACKAGES_DIR}/include/telnetpp/version.hpp.in) - -# The install target in the upstream package does not install the binary output -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/telnetpp.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) - file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/telnetpp.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) -endif() - -# Move CMake installed configuration files and adjust for vcpkg debug location -file(COPY ${CURRENT_PACKAGES_DIR}/lib/telnetpp/telnetpp-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp) -file(COPY ${CURRENT_PACKAGES_DIR}/lib/telnetpp/telnetpp-config-release.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp) -file(COPY ${CURRENT_PACKAGES_DIR}/debug/lib/telnetpp/telnetpp-config-debug.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/telnetpp) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/telnetpp) - -file(READ ${CURRENT_PACKAGES_DIR}/share/telnetpp/telnetpp-config-debug.cmake DEBUG_CONFIG) -string(REPLACE "\${_IMPORT_PREFIX}/lib/telnetpp.lib" - "\${_IMPORT_PREFIX}/debug/lib/telnetpp.lib" DEBUG_CONFIG ${DEBUG_CONFIG}) -file(WRITE ${CURRENT_PACKAGES_DIR}/share/telnetpp/telnetpp-config-debug.cmake "${DEBUG_CONFIG}") +vcpkg_fixup_cmake_targets(CONFIG_PATH share/telnetpp) vcpkg_copy_pdbs() +# Remove duplicate header files and CMake input file +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE ${CURRENT_PACKAGES_DIR}/include/telnetpp/version.hpp.in) # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/telnetpp RENAME copyright) diff --git a/ports/tensorflow-cc/CONTROL b/ports/tensorflow-cc/CONTROL new file mode 100644 index 000000000..29f15a376 --- /dev/null +++ b/ports/tensorflow-cc/CONTROL @@ -0,0 +1,4 @@ +Source: tensorflow-cc +Version: 1.14-1 +Description: Library for computation using data flow graphs for scalable machine learning +Build-Depends: c-ares diff --git a/ports/tensorflow-cc/TensorflowCCConfig.cmake b/ports/tensorflow-cc/TensorflowCCConfig.cmake new file mode 100644 index 000000000..db12811d5 --- /dev/null +++ b/ports/tensorflow-cc/TensorflowCCConfig.cmake @@ -0,0 +1,28 @@ +set(tensorflow_cc_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../include") + +message(WARNING "Tensorflow has vendored dependencies. You may need to manually include files from tensorflow-external") +set(tensorflow_cc_INCLUDE_DIRS + ${tensorflow_cc_INCLUDE_DIR} + ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/ + ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/tensorflow/ + ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/external/com_google_absl + ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/bazel-out/k8-opt/bin/ + ${tensorflow_cc_INCLUDE_DIR}/tensorflow-external/external/protobuf_archive/src/ +) + +add_library(tensorflow_cc::tensorflow_framework SHARED IMPORTED) +set_target_properties(tensorflow_cc::tensorflow_framework + PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/../../lib/libtensorflow_framework.so.1.14.0 + INTERFACE_INCLUDE_DIRECTORIES "${tensorflow_cc_INCLUDE_DIRS}" +) + +add_library(tensorflow_cc::tensorflow_cc SHARED IMPORTED) +set_target_properties(tensorflow_cc::tensorflow_cc + PROPERTIES + IMPORTED_LOCATION ${CMAKE_CURRENT_LIST_DIR}/../../lib/libtensorflow_cc.so.1.14.0 + INTERFACE_INCLUDE_DIRECTORIES "${tensorflow_cc_INCLUDE_DIRS}" +) + +set(tensorflow_cc_FOUND TRUE) +set(tensorflow_framework_FOUND TRUE) \ No newline at end of file diff --git a/ports/tensorflow-cc/file-exists.patch b/ports/tensorflow-cc/file-exists.patch new file mode 100644 index 000000000..8cefb4828 --- /dev/null +++ b/ports/tensorflow-cc/file-exists.patch @@ -0,0 +1,13 @@ +diff --git a/configure.py b/configure.py +index 43af22d..7989b1f 100644 +--- a/configure.py ++++ b/configure.py +@@ -183,7 +183,7 @@ def get_python_path(environ_cp, python_bin_path): + + paths = [] + for path in all_paths: +- if os.path.isdir(path): ++ if os.path.isdir(path) or True: + paths.append(path) + return paths + diff --git a/ports/tensorflow-cc/fix-build-error.patch b/ports/tensorflow-cc/fix-build-error.patch new file mode 100644 index 000000000..89a15f17a --- /dev/null +++ b/ports/tensorflow-cc/fix-build-error.patch @@ -0,0 +1,22 @@ +diff --git a/tensorflow/core/platform/default/logging.h b/tensorflow/core/platform/default/logging.h +index 99dd6de..3cbe8ed 100644 +--- a/tensorflow/core/platform/default/logging.h ++++ b/tensorflow/core/platform/default/logging.h +@@ -82,13 +82,13 @@ class LogMessageFatal : public LogMessage { + }; + + #define _TF_LOG_INFO \ +- ::tensorflow::internal::LogMessage(__FILE__, __LINE__, ::tensorflow::INFO) ++ tensorflow::internal::LogMessage(__FILE__, __LINE__, tensorflow::INFO) + #define _TF_LOG_WARNING \ +- ::tensorflow::internal::LogMessage(__FILE__, __LINE__, ::tensorflow::WARNING) ++ tensorflow::internal::LogMessage(__FILE__, __LINE__, tensorflow::WARNING) + #define _TF_LOG_ERROR \ +- ::tensorflow::internal::LogMessage(__FILE__, __LINE__, ::tensorflow::ERROR) ++ tensorflow::internal::LogMessage(__FILE__, __LINE__, tensorflow::ERROR) + #define _TF_LOG_FATAL \ +- ::tensorflow::internal::LogMessageFatal(__FILE__, __LINE__) ++ tensorflow::internal::LogMessageFatal(__FILE__, __LINE__) + + #define _TF_LOG_QFATAL _TF_LOG_FATAL + diff --git a/ports/tensorflow-cc/portfile.cmake b/ports/tensorflow-cc/portfile.cmake new file mode 100644 index 000000000..aebdf8d65 --- /dev/null +++ b/ports/tensorflow-cc/portfile.cmake @@ -0,0 +1,121 @@ +include(vcpkg_common_functions) + +message(WARNING "This tensorflow port currently is experimental on Windows and Linux platforms.") + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + message(FATAL_ERROR "TensorFlow does not support 32bit system.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tensorflow/tensorflow + REF v1.14.0 + SHA512 ac9ea5a2d1c761aaafbdc335259e29c128127b8d069ec5b206067935180490aa95e93c7e13de57f7f54ce4ba4f34a822face22b4a028f60185edb380e5cd4787 + HEAD_REF master + PATCHES + file-exists.patch # required or otherwise it cant find python lib path on windows + fix-build-error.patch # Fix namespace error +) + +# due to https://github.com/bazelbuild/bazel/issues/8028, bazel must be version 25.0 or higher +vcpkg_find_acquire_program(BAZEL) +get_filename_component(BAZEL_DIR "${BAZEL}" DIRECTORY) +vcpkg_add_to_path(PREPEND ${BAZEL_DIR}) +set(ENV{BAZEL_BIN_PATH} "${BAZEL}") + +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_DIR "${PYTHON3}" DIRECTORY) +vcpkg_add_to_path(PREPEND ${PYTHON3_DIR}) +set(ENV{PYTHON_BIN_PATH} "${PYTHON3}") + +function(tensorflow_try_remove_recurse_wait PATH_TO_REMOVE) + file(REMOVE_RECURSE ${PATH_TO_REMOVE}) + if (EXISTS "${PATH_TO_REMOVE}") + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 5) + file(REMOVE_RECURSE ${PATH_TO_REMOVE}) + endif() +endfunction() + +# we currently only support the release version +tensorflow_try_remove_recurse_wait(${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) +file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) +file(GLOB SOURCES ${SOURCE_PATH}/*) +file(COPY ${SOURCES} DESTINATION ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + +if(CMAKE_HOST_WIN32) + vcpkg_acquire_msys(MSYS_ROOT PACKAGES unzip patch diffutils git) + set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) + set(ENV{BAZEL_SH} ${MSYS_ROOT}/usr/bin/bash.exe) + + set(ENV{BAZEL_VS} $ENV{VSInstallDir}) + set(ENV{BAZEL_VC} $ENV{VCInstallDir}) +endif() + +# tensorflow has long file names, which will not work on windows +set(ENV{TEST_TMPDIR} ${CURRENT_BUILDTREES_DIR}/../.bzl) + +set(ENV{USE_DEFAULT_PYTHON_LIB_PATH} 1) +set(ENV{TF_NEED_KAFKA} 0) +set(ENV{TF_NEED_OPENCL_SYCL} 0) +set(ENV{TF_NEED_AWS} 0) +set(ENV{TF_NEED_GCP} 0) +set(ENV{TF_NEED_HDFS} 0) +set(ENV{TF_NEED_S3} 0) +set(ENV{TF_ENABLE_XLA} 0) +set(ENV{TF_NEED_GDR} 0) +set(ENV{TF_NEED_VERBS} 0) +set(ENV{TF_NEED_OPENCL} 0) +set(ENV{TF_NEED_MPI} 0) +set(ENV{TF_NEED_TENSORRT} 0) +set(ENV{TF_NEED_NGRAPH} 0) +set(ENV{TF_NEED_IGNITE} 0) +set(ENV{TF_NEED_ROCM} 0) +set(ENV{TF_SET_ANDROID_WORKSPACE} 0) +set(ENV{TF_DOWNLOAD_CLANG} 0) +set(ENV{TF_NCCL_VERSION} 2.3) +set(ENV{NCCL_INSTALL_PATH} "") +set(ENV{CC_OPT_FLAGS} "/arch:AVX") +set(ENV{TF_NEED_CUDA} 0) + +message(STATUS "Configuring TensorFlow") + +vcpkg_execute_required_process( + COMMAND ${PYTHON3} ${SOURCE_PATH}/configure.py + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME config-${TARGET_TRIPLET}-rel +) +message(STATUS "Warning: Building TensorFlow can take an hour or more.") + +if(CMAKE_HOST_WIN32) + vcpkg_execute_build_process( + COMMAND ${BASH} --noprofile --norc -c "${BAZEL} build --verbose_failures -c opt --python_path=${PYTHON3} --incompatible_disable_deprecated_attr_params=false --define=no_tensorflow_py_deps=true ///tensorflow:libtensorflow_cc.so ///tensorflow:install_headers" + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME build-${TARGET_TRIPLET}-rel + ) +else() + vcpkg_execute_build_process( + COMMAND ${BAZEL} build --verbose_failures -c opt --python_path=${PYTHON3} --incompatible_disable_deprecated_attr_params=false --define=no_tensorflow_py_deps=true //tensorflow:libtensorflow_cc.so //tensorflow:install_headers + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME build-${TARGET_TRIPLET}-rel + ) +endif() + +file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-genfiles/tensorflow/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/tensorflow-external) + +if(CMAKE_HOST_WIN32) + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0.if.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0.if.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +else() + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_framework.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_cc.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bazel-bin/tensorflow/libtensorflow_framework.so.1.14.0 DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) +endif() + +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tensorflow-cc) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/tensorflow-cc/LICENSE ${CURRENT_PACKAGES_DIR}/share/tensorflow-cc/copyright) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/TensorflowCCConfig.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/unofficial-tensorflow-cc) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/unofficial-tensorflow-cc/TensorflowCCConfig.cmake ${CURRENT_PACKAGES_DIR}/share/unofficial-tensorflow-cc/unofficial-tensorflow-cc-config.cmake) \ No newline at end of file diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL index 85e76cc03..775452089 100644 --- a/ports/tesseract/CONTROL +++ b/ports/tesseract/CONTROL @@ -1,5 +1,12 @@ -Source: tesseract -Version: 4.0.0-2 -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, icu +Source: tesseract +Version: 4.1.0-3 +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 + +Feature: training_tools +Description: build training tools +Build-Depends: icu, pango, cairo, fontconfig + +Feature: cpu_independed +Description: build on any cpu extension commands support diff --git a/ports/tesseract/fix-text2image.patch b/ports/tesseract/fix-text2image.patch new file mode 100644 index 000000000..a4ff21d6b --- /dev/null +++ b/ports/tesseract/fix-text2image.patch @@ -0,0 +1,64 @@ +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/ports/tesseract/fix-tiff-linkage.patch b/ports/tesseract/fix-tiff-linkage.patch new file mode 100644 index 000000000..f4720c022 --- /dev/null +++ b/ports/tesseract/fix-tiff-linkage.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f154663..c07b827 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -431,7 +431,7 @@ endif() + add_executable (tesseract ${tesseractmain_src} ${tesseractmain_rsc}) + target_link_libraries (tesseract libtesseract) + if (HAVE_TIFFIO_H) +- target_link_libraries(tesseract tiff) ++ target_link_libraries(tesseract TIFF::TIFF) + endif() + + if (OPENMP_BUILD AND UNIX) diff --git a/ports/tesseract/leptonica.patch b/ports/tesseract/leptonica.patch deleted file mode 100644 index 507721d9d..000000000 --- a/ports/tesseract/leptonica.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/templates/TesseractConfig.cmake.in b/cmake/templates/TesseractConfig.cmake.in -index 13838361..245ca2bc 100644 ---- a/cmake/templates/TesseractConfig.cmake.in -+++ b/cmake/templates/TesseractConfig.cmake.in -@@ -21,6 +21,8 @@ - - include(${CMAKE_CURRENT_LIST_DIR}/TesseractTargets.cmake) - -+find_package(Leptonica REQUIRED) -+ - # ====================================================== - # Version variables: - # ====================================================== diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake index d21908b19..08f581cfe 100644 --- a/ports/tesseract/portfile.cmake +++ b/ports/tesseract/portfile.cmake @@ -5,33 +5,76 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tesseract-ocr/tesseract - REF 4.0.0 - SHA512 69e57d4ba1fc43d212fd0fff69a2b5d48a3b37cfee7054fdc083cbb7e04d92317609a32e457229661d70ce8d9b16c9d25e81bfc3861db660dd2c8f292202d447 - HEAD_REF master + REF 4.1.0 + SHA512 d617f5c5b826640b2871dbe3d7973bcc5e66fafd837921a20e009d683806ed50f0f258aa455019d99fc54f5cb65c2fa0380e3a3c92b39ab0684b8799c730b09d PATCHES - use-vcpkg-icu.patch - ws2-32.patch - leptonica.patch + fix-tiff-linkage.patch + fix-text2image.patch ) # The built-in cmake FindICU is better file(REMOVE ${SOURCE_PATH}/cmake/FindICU.cmake) +# Handle Static Library Output +if(VCPKG_LIBRARY_LINKAGE EQUAL "static") + list(APPEND OPTIONS_LIST -DSTATIC=ON) +endif() + +# Handle CONTROL +if("training_tools" IN_LIST FEATURES) + list(APPEND OPTIONS_LIST -DBUILD_TRAINING_TOOLS=ON) +else() + list(APPEND OPTIONS_LIST -DBUILD_TRAINING_TOOLS=OFF) +endif() +if("independed_architecture" IN_LIST FEATURES) + list(APPEND OPTIONS_LIST -DTARGET_ARCHITECTURE=none) +else() + list(APPEND OPTIONS_LIST -DTARGET_ARCHITECTURE=auto) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DSTATIC=ON -DUSE_SYSTEM_ICU=True + -DCMAKE_DISABLE_FIND_PACKAGE_LibArchive=ON + -DCMAKE_DISABLE_FIND_PACKAGE_OpenCL=ON + -DLeptonica_DIR=YES + ${OPTIONS_LIST} ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) # Install tool file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/tesseract) -file(COPY ${CURRENT_PACKAGES_DIR}/bin/tesseract.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/tesseract) +set(EXTENSION) +if(WIN32) + set(EXTENSION ".exe") +endif() + +# copy training tools +set(TRAINING_TOOLS_DIR ${CURRENT_PACKAGES_DIR}/tools/tesseract/training) +if("training_tools" IN_LIST FEATURES) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/ambiguous_words${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/classifier_tester${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/combine_tessdata${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/cntraining${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/dawg2wordlist${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/mftraining${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/shapeclustering${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/wordlist2dawg${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/combine_lang_model${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/lstmeval${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/lstmtraining${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/set_unicharset_properties${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/unicharset_extractor${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/text2image${EXTENSION} DESTINATION ${TRAINING_TOOLS_DIR}) +endif() + +file(COPY ${CURRENT_PACKAGES_DIR}/bin/tesseract${EXTENSION} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/tesseract) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/tesseract) vcpkg_copy_pdbs() diff --git a/ports/tesseract/use-vcpkg-icu.patch b/ports/tesseract/use-vcpkg-icu.patch deleted file mode 100644 index 9c75726e1..000000000 --- a/ports/tesseract/use-vcpkg-icu.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/training/CMakeLists.txt Thu Aug 17 02:46:15 2017 -+++ b/training/CMakeLists.txt Thu Aug 17 02:46:15 2017 -@@ -11,7 +11,7 @@ - endif() - - # experimental --if (MSVC AND NOT CPPAN_BUILD) -+if (MSVC AND NOT CPPAN_BUILD AND NOT USE_SYSTEM_ICU) - - include(CheckTypeSize) - check_type_size("void *" SIZEOF_VOID_P) diff --git a/ports/tesseract/ws2-32.patch b/ports/tesseract/ws2-32.patch deleted file mode 100644 index 1d3be8189..000000000 --- a/ports/tesseract/ws2-32.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/viewer/svutil.cpp b/viewer/svutil.cpp -index 34a2286..bc2a7e1 100644 ---- a/viewer/svutil.cpp -+++ b/viewer/svutil.cpp -@@ -23,6 +23,7 @@ - #include - #ifdef _WIN32 - #include -+#pragma comment(lib, "Ws2_32.lib") - struct addrinfo { - struct sockaddr* ai_addr; - int ai_addrlen; diff --git a/ports/tgc/CMakeLists.txt b/ports/tgc/CMakeLists.txt new file mode 100644 index 000000000..20f5f0a1a --- /dev/null +++ b/ports/tgc/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.14) + +project(tgc LANGUAGES C) + +include(GNUInstallDirs) + +add_library(tgc tgc.c) + +target_include_directories( + tgc + PUBLIC + $ + $ +) + +set_target_properties(tgc PROPERTIES PUBLIC_HEADER tgc.h) + +install(TARGETS tgc EXPORT unofficial-tgc-config) + +install( + EXPORT unofficial-tgc-config + NAMESPACE unofficial::tgc:: + DESTINATION share/unofficial-tgc + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/tgc/CONTROL b/ports/tgc/CONTROL new file mode 100644 index 000000000..7961312cb --- /dev/null +++ b/ports/tgc/CONTROL @@ -0,0 +1,4 @@ +Source: tgc +Version: 2019-08-11-1 +Description: A tiny garbage collector for C +Homepage: https://github.com/orangeduck/tgc diff --git a/ports/tgc/portfile.cmake b/ports/tgc/portfile.cmake new file mode 100644 index 000000000..4efe63c21 --- /dev/null +++ b/ports/tgc/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO orangeduck/tgc + REF 35207051557c79ea25942c021fb18856c72af8e3 + SHA512 d56153cfb00ad4941c7c88e6cc54b54812466e95b61581e9f71e41b6200746e2143344f0d292032e92f7c90eaa60d0df91120b36e3aad0e354836df6d28e2c35 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT}) 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/think-cell-range/CONTROL b/ports/think-cell-range/CONTROL index 985f07175..907280cf5 100644 --- a/ports/think-cell-range/CONTROL +++ b/ports/think-cell-range/CONTROL @@ -1,5 +1,4 @@ Source: think-cell-range -Maintainer: jfrederich@gmail.com Version: 498839d-1 Description: think-cell's range library Homepage: https://github.com/think-cell/range diff --git a/ports/thor/CONTROL b/ports/thor/CONTROL index afdc2aafb..5391f5d62 100644 --- a/ports/thor/CONTROL +++ b/ports/thor/CONTROL @@ -1,5 +1,4 @@ Source: thor -Version: 2.0-2 -Homepage: https://github.com/Bromeon/Thor +Version: 2.0-3 Description: Extends the multimedia library SFML with higher-level features Build-Depends: sfml, aurora diff --git a/ports/thor/portfile.cmake b/ports/thor/portfile.cmake index 572853064..19f65f806 100644 --- a/ports/thor/portfile.cmake +++ b/ports/thor/portfile.cmake @@ -49,6 +49,9 @@ endif() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/Aurora) +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +endif() file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/thor RENAME copyright) diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index 47a85dfa5..9f54385cb 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,5 +1,5 @@ Source: thrift -Version: 2019-05-07-1 +Version: 2019-05-07-4 Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit Homepage: https://github.com/apache/thrift -Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010. +Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. diff --git a/ports/thrift/correct-paths.patch b/ports/thrift/correct-paths.patch new file mode 100644 index 000000000..26c21dd02 --- /dev/null +++ b/ports/thrift/correct-paths.patch @@ -0,0 +1,15 @@ +diff --git a/build/cmake/GenerateConfigModule.cmake b/build/cmake/GenerateConfigModule.cmake +index 9533c82..d074a1b 100644 +--- a/build/cmake/GenerateConfigModule.cmake ++++ b/build/cmake/GenerateConfigModule.cmake +@@ -19,8 +19,8 @@ + + include(CMakePackageConfigHelpers) + set(PACKAGE_INCLUDE_INSTALL_DIR "${includedir}/thrift") +-set(PACKAGE_CMAKE_INSTALL_DIR "${cmakedir}/thrift") +-set(PACKAGE_BIN_INSTALL_DIR "${exec_prefix}") ++set(PACKAGE_CMAKE_INSTALL_DIR "${prefix}/share/thrift") ++set(PACKAGE_BIN_INSTALL_DIR "${prefix}/tools/thrift") + + # In CYGWIN enviroment below commands does not work properly + if (NOT CYGWIN) diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index efd76472b..12e92a66b 100644 --- a/ports/thrift/portfile.cmake +++ b/ports/thrift/portfile.cmake @@ -1,5 +1,10 @@ include(vcpkg_common_functions) +# We currently insist on static only because: +# - Thrift doesn't yet support building as a DLL on Windows, +# - x64-linux only builds static anyway. +# From https://github.com/apache/thrift/blob/master/CHANGES.md +# it looks like it will be supported in v0.13. vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_find_acquire_program(FLEX) @@ -11,13 +16,19 @@ vcpkg_from_github( REF acdd4226c210336e9e15eb812e5932a645fcd5ce SHA512 53986b1cde7b2bd19974f32b8c31736566061a228dda368d3d850355c566d910499c16519bbff078a6cdab19931cd9833a7d684ac63fb1ec40b2a123ff263aaa HEAD_REF master + PATCHES + "correct-paths.patch" ) +# note we specify values for WITH_STATIC_LIB and WITH_SHARED_LIB because even though +# they're marked as deprecated, Thrift incorrectly hard-codes a value for BUILD_SHARED_LIBS. vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + NO_CHARSET_FLAG OPTIONS - -DBUILD_SHARED_LIBS=OFF + -DWITH_SHARED_LIB=off + -DWITH_STATIC_LIB=on -DWITH_STDTHREADS=ON -DBUILD_TESTING=off -DBUILD_JAVA=off @@ -36,16 +47,25 @@ vcpkg_install_cmake() file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/thrift RENAME copyright) # Move CMake config files to the right place -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/thrift") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/thrift) -file(GLOB COMPILER "${CURRENT_PACKAGES_DIR}/bin/thrift*") +file(GLOB COMPILER "${CURRENT_PACKAGES_DIR}/bin/thrift" "${CURRENT_PACKAGES_DIR}/bin/thrift.exe") if(COMPILER) file(COPY ${COMPILER} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/thrift) file(REMOVE ${COMPILER}) vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/thrift) endif() +file(GLOB COMPILERD "${CURRENT_PACKAGES_DIR}/debug/bin/thrift" "${CURRENT_PACKAGES_DIR}/debug/bin/thrift.exe") +if(COMPILERD) + file(REMOVE ${COMPILERD}) +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) + +if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static") + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) +endif() + vcpkg_copy_pdbs() diff --git a/ports/tidy-html5/CONTROL b/ports/tidy-html5/CONTROL index 0f608ea2d..2d891ec0a 100644 --- a/ports/tidy-html5/CONTROL +++ b/ports/tidy-html5/CONTROL @@ -1,4 +1,4 @@ Source: tidy-html5 -Version: 5.6.0 +Version: 5.7.28-1 Homepage: https://github.com/htacg/tidy-html5 Description: Tidy tidies HTML and XML. It can tidy your documents by itself, and developers can easily integrate its features into even more powerful tools. diff --git a/ports/tidy-html5/portfile.cmake b/ports/tidy-html5/portfile.cmake index 7cb7ca65f..e0e504311 100644 --- a/ports/tidy-html5/portfile.cmake +++ b/ports/tidy-html5/portfile.cmake @@ -5,16 +5,15 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO htacg/tidy-html5 - REF 5.6.0 - SHA512 179088a6dbd29bb0e4f0219222f755b186145495f7414f6d0e178803ab67140391283d35352d946f9790c6b1b5b462ee6e24f1cc84f19391cb9b65e73979ffd1 + REF d1b906991a7587688d384b648c55731f9be52506 + SHA512 ac1229f95db9ab6367d7650e27b87e76a0874e01c9d404e8c5fb75ba2761318218b658a4f7522188fda8008974393a333a8a5fbed8e3a472c98445f13e459ad5 HEAD_REF master - PATCHES - remove_execution_character_set.patch ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + NO_CHARSET_FLAG OPTIONS -DBUILD_SHARED_LIB=OFF -DTIDY_CONSOLE_SHARED=OFF diff --git a/ports/tidy-html5/remove_execution_character_set.patch b/ports/tidy-html5/remove_execution_character_set.patch deleted file mode 100644 index 9f5ebf3e7..000000000 --- a/ports/tidy-html5/remove_execution_character_set.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff --git a/src/language_en.h b/src/language_en.h -index ab191e0..e1cd96b 100644 ---- a/src/language_en.h -+++ b/src/language_en.h -@@ -18,10 +18,6 @@ - * Created by Jim Derry on 11/28/15. - */ - --#ifdef _MSC_VER --#pragma execution_character_set("utf-8") --#endif -- - #include "language.h" - #include "access.h" - #include "message.h" -diff --git a/src/language_en_gb.h b/src/language_en_gb.h -index a89f0fe..7b14d6f 100644 ---- a/src/language_en_gb.h -+++ b/src/language_en_gb.h -@@ -31,10 +31,6 @@ - * PO_REVISION_DATE=2016-03-24 10:59:55 - */ - --#ifdef _MSC_VER --#pragma execution_character_set("utf-8") --#endif -- - #include "language.h" - #include "access.h" - #include "message.h" -diff --git a/src/language_es.h b/src/language_es.h -index db09f2a..1e474b5 100644 ---- a/src/language_es.h -+++ b/src/language_es.h -@@ -31,10 +31,6 @@ - * PO_REVISION_DATE=2016-03-24 10:59:55 - */ - --#ifdef _MSC_VER --#pragma execution_character_set("utf-8") --#endif -- - #include "language.h" - #include "access.h" - #include "message.h" -diff --git a/src/language_es_mx.h b/src/language_es_mx.h -index 5574b3b..530c9f1 100644 ---- a/src/language_es_mx.h -+++ b/src/language_es_mx.h -@@ -31,10 +31,6 @@ - * PO_REVISION_DATE=2016-03-24 10:59:55 - */ - --#ifdef _MSC_VER --#pragma execution_character_set("utf-8") --#endif -- - #include "language.h" - #include "access.h" - #include "message.h" -diff --git a/src/language_fr.h b/src/language_fr.h -index c87ae7b..91baa5e 100644 ---- a/src/language_fr.h -+++ b/src/language_fr.h -@@ -31,10 +31,6 @@ - * PO_REVISION_DATE= - */ - --#ifdef _MSC_VER --#pragma execution_character_set("utf-8") --#endif -- - #include "language.h" - #include "access.h" - #include "message.h" -diff --git a/src/language_zh_cn.h b/src/language_zh_cn.h -index 1c35fef..218203d 100644 ---- a/src/language_zh_cn.h -+++ b/src/language_zh_cn.h -@@ -31,10 +31,6 @@ - * PO_REVISION_DATE=2016-03-24 10:59:55 - */ - --#ifdef _MSC_VER --#pragma execution_character_set("utf-8") --#endif -- - #include "language.h" - #include "access.h" - #include "message.h" diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL index 9c88261a6..270455ca2 100644 --- a/ports/tiff/CONTROL +++ b/ports/tiff/CONTROL @@ -1,5 +1,8 @@ Source: tiff -Version: 4.0.10-6 +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 d36dce238..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 @@ -33,6 +37,8 @@ vcpkg_configure_cmake( -Djpeg12=OFF -Dwebp=OFF -Dzstd=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_GLUT=ON ${TIFF_CXX_TARGET} ) @@ -48,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/tinkerforge/CMakeLists.txt b/ports/tinkerforge/CMakeLists.txt new file mode 100644 index 000000000..3cd991650 --- /dev/null +++ b/ports/tinkerforge/CMakeLists.txt @@ -0,0 +1,68 @@ +cmake_minimum_required (VERSION 3.13 FATAL_ERROR) +include(GNUInstallDirs) + +if(WIN32) + set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}") +endif() + +project(tinkerforge LANGUAGES C VERSION 2.1.25) + +if(NOT CONFIG_INSTALL_DIR) + set(CONFIG_INSTALL_DIR "share/${PROJECT_NAME}/") +endif() +if(NOT INCLUDE_INSTALL_DIR) + set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}") +endif() +if(NOT TARGET_INSTALL_DIR) + set(TARGET_INSTALL_DIR "share/${PROJECT_NAME}") +endif() + + +file(GLOB CPP_FILES source/*.c) +file(GLOB H_FILES source/*.h) +file(GLOB DEF_FILE source/*.def) + +add_library(${PROJECT_NAME} ${CPP_FILES} ${H_FILES} ${DEF_FILE}) +target_include_directories(${PROJECT_NAME} PUBLIC + $ + $) + +find_package(Threads) +target_link_libraries(${PROJECT_NAME} PUBLIC Threads::Threads) + +if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows") + target_link_libraries(${PROJECT_NAME} PUBLIC Ws2_32 advapi32) +endif() +##---------------------------------------------------------------------------------------## +##----- Package definition. +##---------------------------------------------------------------------------------------## +include(CMakePackageConfigHelpers) + +#Export as Package +set_target_properties (${PROJECT_NAME} PROPERTIES EXPORT_NAME ${PROJECT_NAME}) +export(TARGETS ${PROJECT_NAME} NAMESPACE ${PROJECT_NAME}:: FILE cmake/${PROJECT_NAME}Targets.cmake) +export(PACKAGE ${PROJECT_NAME}) + +#Config files for find_package +configure_package_config_file( + ${PROJECT_NAME}Config.cmake.in cmake/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}/${PROJECT_NAME}Config.cmake" + PATH_VARS TARGET_INSTALL_DIR INCLUDE_INSTALL_DIR +) +write_basic_package_version_file(cmake/${PROJECT_NAME}ConfigVersion.cmake COMPATIBILITY SameMinorVersion) + +#Install the target and all it build outputs. +install (TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}Targets + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT Runtime + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT Development + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT Runtime + PUBLIC_HEADER DESTINATION "${INCLUDE_INSTALL_DIR}" COMPONENT Development + BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT Runtime) +#Install public headers +install(FILES ${H_FILES} DESTINATION "${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}") +#Install the config files for find_package +install(FILES "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake" + "${PROJECT_BINARY_DIR}/cmake/${PROJECT_NAME}Config.cmake" + DESTINATION "${CONFIG_INSTALL_DIR}") +#install the targets file included by the config +install(EXPORT ${PROJECT_NAME}Targets NAMESPACE ${PROJECT_NAME}:: DESTINATION "${TARGET_INSTALL_DIR}") \ No newline at end of file diff --git a/ports/tinkerforge/CONTROL b/ports/tinkerforge/CONTROL new file mode 100644 index 000000000..5eb67e96b --- /dev/null +++ b/ports/tinkerforge/CONTROL @@ -0,0 +1,3 @@ +Source: tinkerforge +Version: 2.1.25 +Description: Tinkerforge C API bindings for bricks and bricklets diff --git a/ports/tinkerforge/portfile.cmake b/ports/tinkerforge/portfile.cmake new file mode 100644 index 000000000..cfc5c3989 --- /dev/null +++ b/ports/tinkerforge/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_fail_port_install(ON_TARGET "uwp") + +set(VERSION 2_1_25) + +vcpkg_download_distfile(ARCHIVE + URLS "http://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_${VERSION}.zip" + FILENAME "tinkerforge-${VERSION}.zip" + SHA512 c02b789bd466803d60aeb39a544b0aa17af811377b065a0b273bcfc15c5844f8cfe981d8143743e32bd05470c2c6af297df50924da0d2895a4cdf4bc9e9bd0b8 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF tinker-${VERSION} + NO_REMOVE_ONE_LEVEL +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION ${SOURCE_PATH}) +file(COPY "${CMAKE_CURRENT_LIST_DIR}/tinkerforgeConfig.cmake.in" DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) + +file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/tinkerforge/tinkerforgeConfig.cmake.in b/ports/tinkerforge/tinkerforgeConfig.cmake.in new file mode 100644 index 000000000..07b771c65 --- /dev/null +++ b/ports/tinkerforge/tinkerforgeConfig.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ + +include ("@PACKAGE_TARGET_INSTALL_DIR@/@PROJECT_NAME@Targets.cmake") +set_and_check(TINKERFORGE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") +check_required_components("@PROJECT_NAME@") diff --git a/ports/tiny-aes-c/CMakeLists.txt b/ports/tiny-aes-c/CMakeLists.txt new file mode 100644 index 000000000..6e3222547 --- /dev/null +++ b/ports/tiny-aes-c/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.14) + +project(tiny-aes-c LANGUAGES C ASM) + +include(GNUInstallDirs) + +add_library(tiny-aes-c aes.c) + +target_include_directories( + tiny-aes-c + PUBLIC + $ +) + +install(FILES aes.h aes.hpp DESTINATION include) + +install(TARGETS tiny-aes-c EXPORT unofficial-tiny-aes-c-config) + +install( + EXPORT unofficial-tiny-aes-c-config + NAMESPACE unofficial::tiny-aes-c:: + DESTINATION share/unofficial-tiny-aes-c + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/tiny-aes-c/CONTROL b/ports/tiny-aes-c/CONTROL new file mode 100644 index 000000000..e87499074 --- /dev/null +++ b/ports/tiny-aes-c/CONTROL @@ -0,0 +1,4 @@ +Source: tiny-aes-c +Version: 2019-07-31 +Description: Small portable AES128/192/256 in C +Homepage: https://github.com/kokke/tiny-AES-c diff --git a/ports/tiny-aes-c/portfile.cmake b/ports/tiny-aes-c/portfile.cmake new file mode 100644 index 000000000..e1bb5cb31 --- /dev/null +++ b/ports/tiny-aes-c/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kokke/tiny-AES-c + REF ca85e00de963102d3999ea5fa865c0deff6370d3 + SHA512 538d5d9cee8cecbf801d3553f2425f8a1331b59c652c11ee56c6e46a23450c1e9a59e3e1833f4384b7a4d992a93f30635855a47e2414b9293e0d27c426b6a4f3 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/unlicense.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME unofficial-${PORT}) diff --git a/ports/tiny-bignum-c/CMakeLists.txt b/ports/tiny-bignum-c/CMakeLists.txt new file mode 100644 index 000000000..8891356d7 --- /dev/null +++ b/ports/tiny-bignum-c/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.14) + +project(tiny-bignum-c LANGUAGES C) + +include(GNUInstallDirs) + +add_library(tiny-bignum-c bn.c) + +target_include_directories( + tiny-bignum-c + PUBLIC + $ +) +target_compile_definitions( + tiny-bignum-c + PRIVATE + $<$:_CRT_SECURE_NO_WARNINGS> +) +set_target_properties(tiny-bignum-c PROPERTIES PUBLIC_HEADER bn.h) + +install(TARGETS tiny-bignum-c EXPORT unofficial-tiny-bignum-c-config) + +install( + EXPORT unofficial-tiny-bignum-c-config + NAMESPACE unofficial::tiny-bignum-c:: + DESTINATION share/unofficial-tiny-bignum-c + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/tiny-bignum-c/CONTROL b/ports/tiny-bignum-c/CONTROL new file mode 100644 index 000000000..5015bc2d0 --- /dev/null +++ b/ports/tiny-bignum-c/CONTROL @@ -0,0 +1,4 @@ +Source: tiny-bignum-c +Version: 2019-07-31 +Description: Small portable multiple-precision unsigned integer arithmetic in C +Homepage: https://github.com/kokke/tiny-bignum-c diff --git a/ports/tiny-bignum-c/portfile.cmake b/ports/tiny-bignum-c/portfile.cmake new file mode 100644 index 000000000..732271241 --- /dev/null +++ b/ports/tiny-bignum-c/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kokke/tiny-bignum-c + REF e814d2b6b522ecaa67701453c492811a8adbc555 + SHA512 2cea21588d018bd74fb9a128576764feecd87364d157acee21bd37cd8890c0776b228e25580de88a0c6d723a7b8e88cb8120c8c66b3999661c707b04dffc3f5b + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +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}) diff --git a/ports/tiny-regex-c/CMakeLists.txt b/ports/tiny-regex-c/CMakeLists.txt new file mode 100644 index 000000000..44c7ad710 --- /dev/null +++ b/ports/tiny-regex-c/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.14) + +project(tiny-regex-c LANGUAGES C) + +include(GNUInstallDirs) + +add_library(tiny-regex-c re.c) + +target_include_directories( + tiny-regex-c + PUBLIC + $ +) + +set_target_properties(tiny-regex-c PROPERTIES PUBLIC_HEADER re.h) + +install(TARGETS tiny-regex-c EXPORT unofficial-tiny-regex-c-config) + +install( + EXPORT unofficial-tiny-regex-c-config + NAMESPACE unofficial::tiny-regex-c:: + DESTINATION share/unofficial-tiny-regex-c + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/tiny-regex-c/CONTROL b/ports/tiny-regex-c/CONTROL new file mode 100644 index 000000000..12b5ea0c5 --- /dev/null +++ b/ports/tiny-regex-c/CONTROL @@ -0,0 +1,4 @@ +Source: tiny-regex-c +Version: 2019-07-31 +Description: A small regex implementation in C +Homepage: https://github.com/kokke/tiny-regex-c diff --git a/ports/tiny-regex-c/portfile.cmake b/ports/tiny-regex-c/portfile.cmake new file mode 100644 index 000000000..2e21fb433 --- /dev/null +++ b/ports/tiny-regex-c/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO kokke/tiny-regex-c + REF d3058f271f7a06ff298dff0a6a9a1e0753a5fa17 + SHA512 bd524c63850b08f02fa5f7725fcde85cbd9c9c6ec8a804f2570df0e04518961a758c017cdb33ebaf72df1abca42ba3b82681655404bc26e6142b5a52a0534ab4 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-${PORT} TARGET_PATH share/unofficial-${PORT}) + +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}) diff --git a/ports/tinycthread/CONTROL b/ports/tinycthread/CONTROL new file mode 100644 index 000000000..da87db141 --- /dev/null +++ b/ports/tinycthread/CONTROL @@ -0,0 +1,4 @@ +Source: tinycthread +Version: 2019-08-06 +Description: Small, portable implementation of the C11 threads API +Homepage: https://tinycthread.github.io/ diff --git a/ports/tinycthread/portfile.cmake b/ports/tinycthread/portfile.cmake new file mode 100644 index 000000000..e521ffb00 --- /dev/null +++ b/ports/tinycthread/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tinycthread/tinycthread + REF 6957fc8383d6c7db25b60b8c849b29caab1caaee + SHA512 d8b1ad73676f90b236bef06464cfd34996e7b6676ef28cf011cfff86d63e9d6322f7b00ca15290b3f87ed40e704d5325f676440d0223a7f8716d3392a5d1345d + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DTINYCTHREAD_DISABLE_TESTS=OFF + -DTINYCTHREAD_INSTALL=ON +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(STRINGS ${SOURCE_PATH}/README.txt SOURCE_LINES) +list(SUBLIST SOURCE_LINES 70 120 SOURCE_LINES) +list(JOIN SOURCE_LINES "\n" _contents) +file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "${_contents}") diff --git a/ports/tinyexif/CONTROL b/ports/tinyexif/CONTROL index 861520321..7d2da6da0 100644 --- a/ports/tinyexif/CONTROL +++ b/ports/tinyexif/CONTROL @@ -1,5 +1,5 @@ Source: tinyexif -Version: 1.0.2-4 +Version: 1.0.2-6 Build-Depends: tinyxml2 Homepage: https://github.com/cdcseacave/TinyEXIF Description: tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG images diff --git a/ports/tinyexif/portfile.cmake b/ports/tinyexif/portfile.cmake index 5a10d422f..b1940ad94 100644 --- a/ports/tinyexif/portfile.cmake +++ b/ports/tinyexif/portfile.cmake @@ -20,7 +20,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tinyexif") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/TinyEXIF) vcpkg_copy_pdbs() diff --git a/ports/tinyfiledialogs/CONTROL b/ports/tinyfiledialogs/CONTROL index 485cc4351..9654ca0c0 100644 --- a/ports/tinyfiledialogs/CONTROL +++ b/ports/tinyfiledialogs/CONTROL @@ -1,3 +1,3 @@ Source: tinyfiledialogs -Version: 3.3.8 +Version: 3.3.8-1 Description: Highly portable and cross-platform dialogs for native inputbox, passwordbox, colorpicker and more diff --git a/ports/tinyfiledialogs/portfile.cmake b/ports/tinyfiledialogs/portfile.cmake index 73fd52d91..5b281a63e 100644 --- a/ports/tinyfiledialogs/portfile.cmake +++ b/ports/tinyfiledialogs/portfile.cmake @@ -2,33 +2,24 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SHA 21998464c84ddaa9f911d8d05378d6f23a3a3671) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${SHA}) - -vcpkg_download_distfile(HEADERFILE - URLS "https://sourceforge.net/p/tinyfiledialogs/code/ci/${SHA}/tree/tinyfiledialogs.h?format=raw" - FILENAME "tinyfiledialogs-h-${SHA}" - SHA512 3f15192e2e2ba674308330eca88f5f2430980b93a53389125fab4de0fce775b9a0e2a0464a3a69bd86e362715c866504e752bfea402f1072005f6da3c97316d8 -) -vcpkg_download_distfile(SOURCEFILE - URLS "https://sourceforge.net/p/tinyfiledialogs/code/ci/${SHA}/tree/tinyfiledialogs.c?format=raw" - FILENAME "tinyfiledialogs-c-${SHA}" - SHA512 b03260ba84872b3cf4eae2fed3a1770480021e3d4109f5ef243a433da48e443b7f244b105a16ce9d5655e086774d9098628e56b1559a6862fb5add547210ca58 +vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH + URL https://git.code.sf.net/p/tinyfiledialogs/code + REF 331f93e903e0555399bf81479114dda978a77d7c ) -configure_file(${HEADERFILE} ${SOURCE_PATH}/tinyfiledialogs.h COPYONLY) -configure_file(${SOURCEFILE} ${SOURCE_PATH}/tinyfiledialogs.c COPYONLY) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA ) + vcpkg_install_cmake() vcpkg_fixup_cmake_targets() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(READ ${HEADERFILE} _contents) +file(READ ${CURRENT_PACKAGES_DIR}/include/tinyfiledialogs/tinyfiledialogs.h _contents) string(SUBSTRING "${_contents}" 0 1024 _contents) file(WRITE ${CURRENT_PACKAGES_DIR}/share/tinyfiledialogs/copyright "${_contents}") diff --git a/ports/tinynpy/CONTROL b/ports/tinynpy/CONTROL new file mode 100644 index 000000000..cf05ef324 --- /dev/null +++ b/ports/tinynpy/CONTROL @@ -0,0 +1,4 @@ +Source: tinynpy +Version: 1.0.0-3 +Build-Depends: zlib +Description: tiny C++ loader/exporter of python numpy array NPY/NPZ files diff --git a/ports/tinynpy/portfile.cmake b/ports/tinynpy/portfile.cmake new file mode 100644 index 000000000..69e31edd7 --- /dev/null +++ b/ports/tinynpy/portfile.cmake @@ -0,0 +1,30 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cdcseacave/TinyNPY + REF 0a11001009cc3e8f3c95c61b92c0ce1bd52d5383 + SHA512 a5fe962e433896a5c7363808e87fca1297c98496cf6b6fd98154f4f4bc113ea213e281ebcdbceadf47fc573b6d707097f3a06cc58bf26351ebf7f935954d79c0 + HEAD_REF master +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} + -DBUILD_DEMO=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/TinyNPY") + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinynpy RENAME copyright) diff --git a/ports/tinyobjloader/CONTROL b/ports/tinyobjloader/CONTROL index f80f52f96..8785e862b 100644 --- a/ports/tinyobjloader/CONTROL +++ b/ports/tinyobjloader/CONTROL @@ -1,3 +1,7 @@ Source: tinyobjloader -Version: 1.0.7 +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 b33a2dd74..87b606946 100644 --- a/ports/tinyobjloader/portfile.cmake +++ b/ports/tinyobjloader/portfile.cmake @@ -5,21 +5,27 @@ 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() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/tinyobjloader/cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/tinyobjloader/cmake) file( REMOVE_RECURSE diff --git a/ports/tinythread/CONTROL b/ports/tinythread/CONTROL index c837708ce..d7c8112c7 100644 --- a/ports/tinythread/CONTROL +++ b/ports/tinythread/CONTROL @@ -1,4 +1,4 @@ Source: tinythread -Version: 1.1-2 +Version: 1.1-3 Homepage: https://tinythreadpp.bitsnbites.eu/ Description: Implements a fairly compatible subset of the C++11 thread management classes diff --git a/ports/tinythread/portfile.cmake b/ports/tinythread/portfile.cmake index 550a192bc..94a180176 100644 --- a/ports/tinythread/portfile.cmake +++ b/ports/tinythread/portfile.cmake @@ -2,17 +2,19 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/TinyThread++-1.1") vcpkg_download_distfile(ARCHIVE URLS "http://tinythreadpp.bitsnbites.eu/files/TinyThread%2B%2B-1.1-src.tar.bz2" FILENAME "TinyThread++-1.1.tar.bz2" SHA512 407f54fcf3f68dd7fec25e9e0749a1803dffa5d52d606905155714d29f519b5eae64ff654b11768fecc32c0123a78c48be37c47993e0caf157a63349a2f869c6 ) -vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_extract_source_archive_ex( + ARCHIVE ${ARCHIVE} + OUT_SOURCE_PATH SOURCE_PATH +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/tinyutf8/CONTROL b/ports/tinyutf8/CONTROL index 107d4bd66..f07665f87 100644 --- a/ports/tinyutf8/CONTROL +++ b/ports/tinyutf8/CONTROL @@ -1,3 +1,3 @@ Source: tinyutf8 -Version: 3 +Version: 3.0.1 Description: TINYUTF8 is a library for extremely easy integration of Unicode into an arbitrary C++11 project. diff --git a/ports/tinyutf8/portfile.cmake b/ports/tinyutf8/portfile.cmake index 5444310ce..ad4fad352 100644 --- a/ports/tinyutf8/portfile.cmake +++ b/ports/tinyutf8/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DuffsDevice/tinyutf8 - REF v3 - SHA512 a11e7e7728afec7b2d9b6ed58ca20f29ca71823854a42b99b622e42b42389290f49ce7dd3bb6c5596e15fa369266a47364887bb253643440882d31f7689affec + REF 8dc06049d8bc4455145eaf647ce7a4733ba26557 + SHA512 00a11febc36f7bc7c6af60c7d43e558ea145ec9f3ef85cfe4bc53ef4d51e233e85c15159825aa684b5a003f04c48d3453256ebb572e810a75206e79c5c87f2d6 HEAD_REF master PATCHES fixbuild.patch ) diff --git a/ports/tinyxml2/CONTROL b/ports/tinyxml2/CONTROL index f3b7655e9..c0016a412 100644 --- a/ports/tinyxml2/CONTROL +++ b/ports/tinyxml2/CONTROL @@ -1,4 +1,5 @@ Source: tinyxml2 -Version: 7.0.1 +Version: 7.0.1-2 Homepage: https://github.com/leethomason/tinyxml2 Description: A simple, small, efficient, C++ XML parser + diff --git a/ports/tinyxml2/portfile.cmake b/ports/tinyxml2/portfile.cmake index d1e7d4ce6..b98e45a5a 100644 --- a/ports/tinyxml2/portfile.cmake +++ b/ports/tinyxml2/portfile.cmake @@ -10,11 +10,12 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tinyxml2") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/tinyxml2) vcpkg_copy_pdbs() diff --git a/ports/tl-expected/CONTROL b/ports/tl-expected/CONTROL index 440efe9fa..b07479595 100644 --- a/ports/tl-expected/CONTROL +++ b/ports/tl-expected/CONTROL @@ -1,3 +1,3 @@ Source: tl-expected -Version: 0.3-1 +Version: 1.0.0-1 Description: C++11/14/17 std::expected implementation with functional-style extensions diff --git a/ports/tl-expected/portfile.cmake b/ports/tl-expected/portfile.cmake index 95a4861c2..80ec7e89b 100644 --- a/ports/tl-expected/portfile.cmake +++ b/ports/tl-expected/portfile.cmake @@ -3,13 +3,31 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO TartanLlama/expected - REF v0.3 - SHA512 a228399f7103020ed814f1c755b82cf831b3d8c6aaa23dbc3aedc226b3cbd39c22075952dda3af84c8cf6f74ab1131c6997a2431ee62314bd82ccafdc9ab23a3 + REF v1.0.0 + SHA512 747ea34b5540dfcf595896332851f10c52a823ab8ba3fc8152478b0a9e8ca01f0f26827348407249827f4106ff577bd6e697ea6f749c1f21bd1f0913a621075d HEAD_REF master ) -# Install header file -file(INSTALL ${SOURCE_PATH}/tl DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_from_github( + OUT_SOURCE_PATH TL_CMAKE_SOURCE_DIR + REPO TartanLlama/tl-cmake + REF 284c6a3f0f61823cc3871b0f193e8df699e2c4ce + SHA512 f611326d75d6e87e58cb05e91f9506b1d83e6fd3b214fe311c4c15604feabfb7a18bbf9c4b4c389a39d615eb468b1f4b15802ab9f44f334a12310cb183fa77a7 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} + -DEXPECTED_ENABLE_TESTS=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-expected RENAME copyright) diff --git a/ports/tl-function-ref/CONTROL b/ports/tl-function-ref/CONTROL new file mode 100644 index 000000000..be89f7741 --- /dev/null +++ b/ports/tl-function-ref/CONTROL @@ -0,0 +1,3 @@ +Source: tl-function-ref +Version: 1.0.0-1 +Description: A lightweight, non-owning reference to a callable. \ No newline at end of file diff --git a/ports/tl-function-ref/portfile.cmake b/ports/tl-function-ref/portfile.cmake new file mode 100644 index 000000000..07df6a048 --- /dev/null +++ b/ports/tl-function-ref/portfile.cmake @@ -0,0 +1,33 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO TartanLlama/function_ref + REF v1.0.0 + SHA512 64324049021548361caa667a5ad61a8c0acc787d3966e5b132520da99af709970e37b5a5cb71f69523b6254c9d0d8bab441356e7a25880fe53a6998067c587bd + HEAD_REF master +) + +vcpkg_from_github( + OUT_SOURCE_PATH TL_CMAKE_SOURCE_DIR + REPO TartanLlama/tl-cmake + REF 284c6a3f0f61823cc3871b0f193e8df699e2c4ce + SHA512 f611326d75d6e87e58cb05e91f9506b1d83e6fd3b214fe311c4c15604feabfb7a18bbf9c4b4c389a39d615eb468b1f4b15802ab9f44f334a12310cb183fa77a7 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} + -DFUNCTION_REF_ENABLE_TESTS=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-function-ref RENAME copyright) diff --git a/ports/tl-optional/CONTROL b/ports/tl-optional/CONTROL index 3be044dbe..5464d8054 100644 --- a/ports/tl-optional/CONTROL +++ b/ports/tl-optional/CONTROL @@ -1,3 +1,3 @@ Source: tl-optional -Version: 0.5-1 +Version: 1.0.0-1 Description: C++11/14/17 std::optional implementation with functional-style extensions diff --git a/ports/tl-optional/portfile.cmake b/ports/tl-optional/portfile.cmake index b6d98b9e0..3c3085cc9 100644 --- a/ports/tl-optional/portfile.cmake +++ b/ports/tl-optional/portfile.cmake @@ -3,13 +3,31 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO TartanLlama/optional - REF v0.5 - SHA512 f4f72c1ba431737fb7b1b6468b7dbbb025f299775e0a3401993490a60d5999d31ccf1e48c0cd57836293a5534ea4749b9f1c8f65f896144204af3389a5e512f9 + REF v1.0.0 + SHA512 6e5020808650ec312f5cdf4bc92be9067dc214c2e02d635511e99b325d34c360ce360cf93e67287dba4b9c0d674f3cbae96a75b83b13374fbb1291d2bb0f078a HEAD_REF master ) -# Install header file -file(INSTALL ${SOURCE_PATH}/tl DESTINATION ${CURRENT_PACKAGES_DIR}/include) +vcpkg_from_github( + OUT_SOURCE_PATH TL_CMAKE_SOURCE_DIR + REPO TartanLlama/tl-cmake + REF 284c6a3f0f61823cc3871b0f193e8df699e2c4ce + SHA512 f611326d75d6e87e58cb05e91f9506b1d83e6fd3b214fe311c4c15604feabfb7a18bbf9c4b4c389a39d615eb468b1f4b15802ab9f44f334a12310cb183fa77a7 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DFETCHCONTENT_FULLY_DISCONNECTED=ON + -DFETCHCONTENT_SOURCE_DIR_TL_CMAKE=${TL_CMAKE_SOURCE_DIR} + -DOPTIONAL_ENABLE_TESTS=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-optional RENAME copyright) diff --git a/ports/tmx/CONTROL b/ports/tmx/CONTROL index 9079cb85e..6f55421cc 100644 --- a/ports/tmx/CONTROL +++ b/ports/tmx/CONTROL @@ -1,4 +1,4 @@ Source: tmx -Version: 1.0.0 +Version: 1.0.0-1 Description: A portable C library to load tiled maps in your games. Build-Depends: zlib, libxml2 diff --git a/ports/tmx/portfile.cmake b/ports/tmx/portfile.cmake index b3f70f4d1..4faec9b9d 100644 --- a/ports/tmx/portfile.cmake +++ b/ports/tmx/portfile.cmake @@ -17,7 +17,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxExports.cmake ${CURRENT_PACKAGES_DIR}/lib/cmake/tmx/tmxTargets.cmake) -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/tmx") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/tmx) file(RENAME ${CURRENT_PACKAGES_DIR}/share/tmx/tmxTargets.cmake ${CURRENT_PACKAGES_DIR}/share/tmx/tmxExports.cmake) file(REMOVE_RECURSE diff --git a/ports/tool-meson/CONTROL b/ports/tool-meson/CONTROL new file mode 100644 index 000000000..600baf27d --- /dev/null +++ b/ports/tool-meson/CONTROL @@ -0,0 +1,3 @@ +Source: tool-meson +Version: 0.52.0 +Description: Meson build system diff --git a/ports/tool-meson/portfile.cmake b/ports/tool-meson/portfile.cmake new file mode 100644 index 000000000..ad32823bd --- /dev/null +++ b/ports/tool-meson/portfile.cmake @@ -0,0 +1,5 @@ +# This port represents a dependency on the Meson build system. +# In the future, it is expected that this port acquires and installs Meson. +# Currently is used in ports that call vcpkg_find_acquire_program(MESON) in order to force rebuilds. + +set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/torch-th/CONTROL b/ports/torch-th/CONTROL index 1ffe36b0a..906734f38 100644 --- a/ports/torch-th/CONTROL +++ b/ports/torch-th/CONTROL @@ -1,4 +1,4 @@ Source: torch-th -Version: 2019-04-19-1 +Version: 2019-04-19-2 Homepage: https://github.com/torch/torch7 Description: Torch's TH library diff --git a/ports/torch-th/portfile.cmake b/ports/torch-th/portfile.cmake index 2b653da22..0d7224600 100644 --- a/ports/torch-th/portfile.cmake +++ b/ports/torch-th/portfile.cmake @@ -8,11 +8,8 @@ vcpkg_from_github( REF dde9e56fb61eee040d7f3dba2331c6d6c095aee8 SHA512 ef813e6f583f26019da362be1e5d9886ecf3306a2b41e5f7a73d432872eacd2745e0cf26bfcc691452f87611e02e302c54f07b2f3a3288744535e57d154a73db HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/debug.patch" + PATCHES + debug.patch ) vcpkg_configure_cmake( diff --git a/ports/treehopper/CONTROL b/ports/treehopper/CONTROL index 673e0cb7c..f50e84f1b 100644 --- a/ports/treehopper/CONTROL +++ b/ports/treehopper/CONTROL @@ -1,4 +1,5 @@ Source: treehopper -Version: 1.11.3-2 +Version: 1.11.3-3 Description: Treehopper connects the physical world to your computer, tablet, or smartphone. Homepage: https://treehopper.io +Build-Depends: libusb diff --git a/ports/treehopper/portfile.cmake b/ports/treehopper/portfile.cmake index 68cf07bb9..46ed0d85e 100644 --- a/ports/treehopper/portfile.cmake +++ b/ports/treehopper/portfile.cmake @@ -16,8 +16,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/treehopper) +vcpkg_fixup_cmake_targets() file(INSTALL ${SOURCE_PATH}/C++/API/inc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/Treehopper/) diff --git a/ports/trompeloeil/CONTROL b/ports/trompeloeil/CONTROL index b00d5f8aa..135a473f3 100644 --- a/ports/trompeloeil/CONTROL +++ b/ports/trompeloeil/CONTROL @@ -1,4 +1,4 @@ Source: trompeloeil -Version: 34 +Version: 34-1 Description: A thread-safe header-only mocking framework for C++11/14 using the Boost Software License 1.0 Homepage: https://github.com/rollbear/trompeloeil diff --git a/ports/trompeloeil/portfile.cmake b/ports/trompeloeil/portfile.cmake index db8367d22..03385928f 100644 --- a/ports/trompeloeil/portfile.cmake +++ b/ports/trompeloeil/portfile.cmake @@ -18,7 +18,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/trompeloeil TARGET_PATH share/trompeloeil) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/trompeloeil) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) diff --git a/ports/tsl-hopscotch-map/CONTROL b/ports/tsl-hopscotch-map/CONTROL index 5fe5d726a..0f2b82e36 100644 --- a/ports/tsl-hopscotch-map/CONTROL +++ b/ports/tsl-hopscotch-map/CONTROL @@ -1,3 +1,3 @@ Source: tsl-hopscotch-map -Version: 2.2.1 +Version: 2.2.1-1 Description: C++ implementation of a fast hash map and hash set using hopscotch hashing diff --git a/ports/tsl-hopscotch-map/portfile.cmake b/ports/tsl-hopscotch-map/portfile.cmake index c96df35c6..00998338a 100644 --- a/ports/tsl-hopscotch-map/portfile.cmake +++ b/ports/tsl-hopscotch-map/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/tsl-ordered-map/CONTROL b/ports/tsl-ordered-map/CONTROL index bb2b75a9d..2170432d2 100644 --- a/ports/tsl-ordered-map/CONTROL +++ b/ports/tsl-ordered-map/CONTROL @@ -1,3 +1,3 @@ Source: tsl-ordered-map -Version: 0.8.1 +Version: 0.8.1-1 Description: C++ hash map and hash set which preserve the order of insertion diff --git a/ports/tsl-ordered-map/portfile.cmake b/ports/tsl-ordered-map/portfile.cmake index 19940d270..9f4fe996b 100644 --- a/ports/tsl-ordered-map/portfile.cmake +++ b/ports/tsl-ordered-map/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/tsl-sparse-map/CONTROL b/ports/tsl-sparse-map/CONTROL index 627d5bea1..556386857 100644 --- a/ports/tsl-sparse-map/CONTROL +++ b/ports/tsl-sparse-map/CONTROL @@ -1,3 +1,3 @@ Source: tsl-sparse-map -Version: 0.6.1 +Version: 0.6.1-1 Description: C++ implementation of a memory efficient hash map and hash set diff --git a/ports/tsl-sparse-map/portfile.cmake b/ports/tsl-sparse-map/portfile.cmake index 07d1f3048..44a366d87 100644 --- a/ports/tsl-sparse-map/portfile.cmake +++ b/ports/tsl-sparse-map/portfile.cmake @@ -9,6 +9,7 @@ vcpkg_from_github( vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA ) vcpkg_install_cmake() diff --git a/ports/tweeny/CONTROL b/ports/tweeny/CONTROL new file mode 100644 index 000000000..19773fc6b --- /dev/null +++ b/ports/tweeny/CONTROL @@ -0,0 +1,4 @@ +Source: tweeny +Version: 3.0 +Description: A modern C++ tweening library +Homepage: https://github.com/mobius3/tweeny \ No newline at end of file diff --git a/ports/tweeny/portfile.cmake b/ports/tweeny/portfile.cmake new file mode 100644 index 000000000..016c3be40 --- /dev/null +++ b/ports/tweeny/portfile.cmake @@ -0,0 +1,23 @@ + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mobius3/tweeny + REF v3 + SHA512 41f2562a0e55b0fd2c219fab384bf46f70432abb47953b5ac768a29b2ea7b790c6aa56fd44c1fef583f6fa2011010d7dd7e637bcd2d8a9be5c9638a7f2ce7436 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + + +vcpkg_fixup_cmake_targets(CONFIG_PATH "/lib/cmake/Tweeny/") + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake/Tweeny) + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/tweeny RENAME copyright) diff --git a/ports/type-lite/CONTROL b/ports/type-lite/CONTROL new file mode 100644 index 000000000..79f1e9fd6 --- /dev/null +++ b/ports/type-lite/CONTROL @@ -0,0 +1,9 @@ +Source: type-lite +Version: 0.1.0 +Homepage: https://github.com/martinmoene/type-lite +Description: Strong types for C++98, C++11 and later in a single-file header-only library. + +Feature: test +Description: Build with test + + diff --git a/ports/type-lite/portfile.cmake b/ports/type-lite/portfile.cmake new file mode 100644 index 000000000..27cec8aab --- /dev/null +++ b/ports/type-lite/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/type-lite + REF v0.1.0 + SHA512 5a5ea623890af9c88c7f82869278af743e08b3dbda3c48c4523737244a7da76d2509501b4502efc2226aaef5df72b6ff69cd6b5b36c8cfc282b8c8406525016b + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test BUILD_TESTS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DTYPE_LITE_OPT_BUILD_TESTS=${BUILD_TESTS} + -DTYPE_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +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) diff --git a/ports/umock-c/CONTROL b/ports/umock-c/CONTROL index 108a1dfd1..f57166a5d 100644 --- a/ports/umock-c/CONTROL +++ b/ports/umock-c/CONTROL @@ -1,5 +1,5 @@ Source: umock-c -Version: 2019-05-16.1 +Version: 2019-10-07.2 Description: A pure C mocking library Build-Depends: azure-macro-utils-c diff --git a/ports/umock-c/portfile.cmake b/ports/umock-c/portfile.cmake index 0b30e8942..5110b841c 100644 --- a/ports/umock-c/portfile.cmake +++ b/ports/umock-c/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/umock-c - REF 92772d9d8317a37dd0b656e95877ffb03bc67e92 - SHA512 4dd738c7b2c7e1237ad874a7ad90bf81b864aa242af335dcc82d0cfea51bc33fe84de4eebedb6e00944c70d01d1ade4827716dbcf95754165b35981bde4147e7 + REF 87d2214384c886a1e2406ac0756a0b3786add8da + SHA512 230b6c79a8346727bbc124d1aefaa14da8ecd82b2a56d68b3d2511b8efa5931872da440137a5d266835ba8c5193b83b4bc5ee85abb5242d07904a0706727926c HEAD_REF master ) diff --git a/ports/unicorn-lib/CONTROL b/ports/unicorn-lib/CONTROL index 9da8c56e9..ff66a2925 100644 --- a/ports/unicorn-lib/CONTROL +++ b/ports/unicorn-lib/CONTROL @@ -1,5 +1,5 @@ Source: unicorn-lib -Version: 2019-05-07-1 +Version: 2019-07-11 Homepage: https://github.com/CaptainCrowbar/unicorn-lib Description: Unicode library for C++ by Ross Smith Build-Depends: rs-core-lib, pcre2, zlib, libiconv diff --git a/ports/unicorn-lib/portfile.cmake b/ports/unicorn-lib/portfile.cmake index 305d659ac..6584a4d22 100644 --- a/ports/unicorn-lib/portfile.cmake +++ b/ports/unicorn-lib/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO CaptainCrowbar/unicorn-lib - REF 3e4e014bbf6fe24721a14c63f2a4f7ebfa401e7c - SHA512 f73f288fb50f9f727edfc84810a15f1fdde76df9030c4b0d5292351e84ec8cd6c8a7e670b2a62301a77521bf60ebcf1bf7c8c9d97ddb77385ed945b55075c927 + REF ba11f5930dbeb5f8e04b2ee727b6dd3932fd6b03 + SHA512 2b1c8f12c3d29bfcff7209763000f2b9db612cefd384d9f015cc07a1ebeb498ba3e8b13dba4d94a86828d3f7eafc17eede21be9926080426f0417d3ad2cee396 HEAD_REF master ) diff --git a/ports/unicorn/CONTROL b/ports/unicorn/CONTROL index 71a3bd18c..74d581487 100644 --- a/ports/unicorn/CONTROL +++ b/ports/unicorn/CONTROL @@ -1,4 +1,4 @@ Source: unicorn -Version: 2019-04-19 +Version: 2019-07-11 Homepage: https://github.com/unicorn-engine/unicorn Description: Unicorn is a lightweight multi-platform, multi-architecture CPU emulator framework diff --git a/ports/unicorn/portfile.cmake b/ports/unicorn/portfile.cmake index 37120935c..f00f565d7 100644 --- a/ports/unicorn/portfile.cmake +++ b/ports/unicorn/portfile.cmake @@ -14,8 +14,8 @@ set(VCPKG_CRT_LINKAGE "static") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO unicorn-engine/unicorn - REF 778171fc9546c1fc3d1341ff1151eab379848ea0 - SHA512 cad25326259d054718c8e338278374ba6b5dffbc84598023c14b64218139b106e8004dc9f6e2cd679638258da3de2f3cc5974e07639eda346d7e4ebcf44bd00e + REF 24f55a7973278f20f0de21b904851d99d4716263 + SHA512 5ef71bbab8480783cba01bc58c6444ee933dbdca86ad452a70ccc0991d9cc2466e4e89f1818589d20199d9ce14b7fe9018b4e8331c26f14ceaa9185cfe9cd5fc HEAD_REF master ) diff --git a/ports/unrar/CONTROL b/ports/unrar/CONTROL index f105d84bc..26a52bd1d 100644 --- a/ports/unrar/CONTROL +++ b/ports/unrar/CONTROL @@ -1,4 +1,4 @@ Source: unrar -Version: 5.5.8-2 +Version: 5.8.1 Homepage: https://www.rarlab.com Description: rarlab's unrar libary diff --git a/ports/unrar/msbuild-use-default-sma.patch b/ports/unrar/msbuild-use-default-sma.patch new file mode 100644 index 000000000..928f5a377 --- /dev/null +++ b/ports/unrar/msbuild-use-default-sma.patch @@ -0,0 +1,52 @@ +diff --git a/UnRARDll.vcxproj b/UnRARDll.vcxproj +index ec5c17b00..7d3d91bc6 100644 +--- a/UnRARDll.vcxproj ++++ b/UnRARDll.vcxproj +@@ -138,7 +138,6 @@ + Sync + EnableFastChecks + MultiThreadedDebug +- 4Bytes + false + Use + rar.hpp +@@ -168,7 +167,6 @@ + Sync + EnableFastChecks + MultiThreadedDebug +- 4Bytes + false + Use + rar.hpp +@@ -198,7 +196,6 @@ + false + Sync + MultiThreaded +- 4Bytes + true + true + NoExtensions +@@ -239,7 +236,6 @@ + false + Sync + MultiThreaded +- 4Bytes + true + true + false +@@ -274,7 +270,6 @@ + false + Sync + MultiThreaded +- 4Bytes + true + true + NoExtensions +@@ -315,7 +310,6 @@ + false + Sync + MultiThreaded +- 4Bytes + true + true + false diff --git a/ports/unrar/portfile.cmake b/ports/unrar/portfile.cmake index 458d51783..46657946a 100644 --- a/ports/unrar/portfile.cmake +++ b/ports/unrar/portfile.cmake @@ -1,9 +1,8 @@ include(vcpkg_common_functions) -set(UNRAR_VERSION "5.5.8") -set(UNRAR_SHA512 9eac83707fa47a03925e5f3e8adf47889064d748304b732d12a2d379ab525b441f1aa33216377d4ef445f45c4e8ad73d2cd0b560601ceac344c60571b77fd6aa) +set(UNRAR_VERSION "5.8.1") +set(UNRAR_SHA512 31303df575e8a5ed9fc03e20d0482306536c3496894a39788052c5c9dfde61eb7f5ca29b8c48354581622a020aa446f108af956ab43024a48731a12233155612) set(UNRAR_FILENAME unrarsrc-${UNRAR_VERSION}.tar.gz) -set(UNRAR_URL http://www.rarlab.com/rar/${UNRAR_FILENAME}) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/unrar) +set(UNRAR_URL https://www.rarlab.com/rar/${UNRAR_FILENAME}) vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) @@ -13,7 +12,12 @@ vcpkg_download_distfile(ARCHIVE FILENAME ${UNRAR_FILENAME} SHA512 ${UNRAR_SHA512} ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${UNRAR_VERSION} + PATCHES msbuild-use-default-sma.patch +) vcpkg_build_msbuild( PROJECT_PATH "${SOURCE_PATH}/UnRARDll.vcxproj" diff --git a/ports/upb/CONTROL b/ports/upb/CONTROL new file mode 100644 index 000000000..d42b9e367 --- /dev/null +++ b/ports/upb/CONTROL @@ -0,0 +1,13 @@ +Source: upb +Version: 2019-10-21 +Homepage: https://github.com/protocolbuffers/upb/ +Description: μpb (often written 'upb') is a small protobuf implementation written in C. + +Feature: asan +Description: build with asan support + +Feature: ubsan +Description: build with ubsan support + +Feature: tests +Description: build tests \ No newline at end of file diff --git a/ports/upb/fix-cmakelists.patch b/ports/upb/fix-cmakelists.patch new file mode 100644 index 000000000..4c7ab1413 --- /dev/null +++ b/ports/upb/fix-cmakelists.patch @@ -0,0 +1,184 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 836c5ff..6ee66a7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,90 +58,148 @@ elseif(UNIX) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--build-id") + endif() + +-enable_testing() ++if (ENABLE_TEST) ++ enable_testing() ++endif() + ++set(UPB_HDRS ++ ${CMAKE_CURRENT_LIST_DIR}/upb/generated_util.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/msg.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/table.int.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/port_def.inc ++ ${CMAKE_CURRENT_LIST_DIR}/upb/port_undef.inc ++ ${CMAKE_CURRENT_LIST_DIR}/upb/decode.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/encode.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/upb.h ++) ++ ++set(UBP_PROJECTS upb) + add_library(upb + upb/decode.c + upb/encode.c +- upb/generated_util.h + upb/msg.c +- upb/msg.h + upb/port.c +- upb/port_def.inc +- upb/port_undef.inc + upb/table.c +- upb/table.int.h + upb/upb.c +- upb/decode.h +- upb/encode.h +- upb/upb.h) ++ upb/upb.h ++ ${UPB_HDRS}) ++ ++ ++set(UBP_PROJECTS ${UBP_PROJECTS} generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me) + add_library(generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me INTERFACE) + target_link_libraries(generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me INTERFACE + upb) ++ ++set(REFLECTION_HDRS ++ ${CMAKE_CURRENT_LIST_DIR}/upb/def.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/msgfactory.h ++) ++ ++set(UBP_PROJECTS ${UBP_PROJECTS} reflection) + add_library(reflection + upb/def.c + upb/msgfactory.c +- upb/def.h +- upb/msgfactory.h) ++ ${REFLECTION_HDRS}) + target_link_libraries(reflection + descriptor_upbproto + table + upb) ++ ++set(UBP_PROJECTS ${UBP_PROJECTS} table) + add_library(table INTERFACE) + target_link_libraries(table INTERFACE + upb) ++ ++set(LEGACY_MSG_HDRS ${CMAKE_CURRENT_LIST_DIR}/upb/legacy_msg_reflection.h) ++ ++set(UBP_PROJECTS ${UBP_PROJECTS} legacy_msg_reflection) + add_library(legacy_msg_reflection + upb/legacy_msg_reflection.c +- upb/legacy_msg_reflection.h) ++ ${LEGACY_MSG_HDRS}) + target_link_libraries(legacy_msg_reflection + table + upb) ++ ++set(HANDLERS_HDRS ++ ${CMAKE_CURRENT_LIST_DIR}/upb/handlers-inl.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/handlers.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/sink.h ++) ++ ++set(UBP_PROJECTS ${UBP_PROJECTS} handlers) + add_library(handlers + upb/handlers.c +- upb/handlers-inl.h + upb/sink.c +- upb/handlers.h +- upb/sink.h) ++ ${HANDLERS_HDRS}) + target_link_libraries(handlers + reflection + table + upb) ++ ++set(UPB_PB_HDRS ++ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/decoder.int.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/varint.int.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/decoder.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/encoder.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/pb/textprinter.h ++) ++ ++set(UBP_PROJECTS ${UBP_PROJECTS} upb_pb) + add_library(upb_pb + upb/pb/compile_decoder.c + upb/pb/decoder.c +- upb/pb/decoder.int.h + upb/pb/encoder.c + upb/pb/textprinter.c + upb/pb/varint.c +- upb/pb/varint.int.h +- upb/pb/decoder.h +- upb/pb/encoder.h +- upb/pb/textprinter.h) ++ ${UPB_PB_HDRS}) + target_link_libraries(upb_pb + descriptor_upbproto + handlers + reflection + table + upb) ++ ++set(UPB_JSON_HDRS ++ ${CMAKE_CURRENT_LIST_DIR}/upb/json/parser.h ++ ${CMAKE_CURRENT_LIST_DIR}/upb/json/printer.h ++) ++ ++set(UBP_PROJECTS ${UBP_PROJECTS} upb_json) + add_library(upb_json + generated_for_cmake/upb/json/parser.c + upb/json/printer.c +- upb/json/parser.h +- upb/json/printer.h) ++ ${UPB_JSON_HDRS}) + target_link_libraries(upb_json + upb + upb_pb) ++ ++set(UBP_PROJECTS ${UBP_PROJECTS} upb_cc_bindings) + add_library(upb_cc_bindings INTERFACE) + target_link_libraries(upb_cc_bindings INTERFACE + descriptor_upbproto + handlers + upb) +-add_library(upb_test +- tests/testmain.cc +- tests/test_util.h +- tests/upb_test.h) +-target_link_libraries(upb_test +- handlers +- upb) +- + ++if (ENABLE_TEST) ++ set(UBP_PROJECTS ${UBP_PROJECTS} upb_test) ++ add_library(upb_test ++ tests/testmain.cc ++ tests/test_util.h ++ tests/upb_test.h) ++ target_link_libraries(upb_test ++ handlers ++ upb) ++endif() ++ ++install(FILES ${UPB_HDRS} ${REFLECTION_HDRS} ${LEGACY_MSG_HDRS} ${HANDLERS_HDRS} DESTINATION include/upb) ++install(FILES ${UPB_PB_HDRS} DESTINATION include/upb/pb) ++install(FILES ${UPB_JSON_HDRS} DESTINATION include/upb/json) ++ ++foreach(PROJ ${UBP_PROJECTS}) ++ install( ++ TARGETS ${PROJ} ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib ++ ) ++endforeach() +\ No newline at end of file diff --git a/ports/upb/portfile.cmake b/ports/upb/portfile.cmake new file mode 100644 index 000000000..303587cea --- /dev/null +++ b/ports/upb/portfile.cmake @@ -0,0 +1,29 @@ +vcpkg_fail_port_install(ON_TARGET "Windows") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO protocolbuffers/upb + REF 9effcbcb27f0a665f9f345030188c0b291e32482 + SHA512 416ff26ec21181d53be23e94203205072152ab3a8e4b3b28d16263a601995fd2d2f8afe5d8cfbecdac8543249482287b9fe6129314f7c9a7880660f5508bb85e + HEAD_REF master + PATCHES fix-cmakelists.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + asan UPB_ENABLE_ASAN + ubsan UPB_ENABLE_UBSAN + tests ENABLE_TEST +) + +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) + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/urdfdom-headers/CONTROL b/ports/urdfdom-headers/CONTROL index 3d005dd60..d2399647f 100644 --- a/ports/urdfdom-headers/CONTROL +++ b/ports/urdfdom-headers/CONTROL @@ -1,4 +1,4 @@ Source: urdfdom-headers -Version: 1.0.4 +Version: 1.0.4-1 Homepage: https://github.com/ros/urdfdom_headers Description: The URDF (U-Robot Description Format) headers provides core data structure headers for URDF. diff --git a/ports/urdfdom-headers/portfile.cmake b/ports/urdfdom-headers/portfile.cmake index 8670716f3..5f7430f76 100644 --- a/ports/urdfdom-headers/portfile.cmake +++ b/ports/urdfdom-headers/portfile.cmake @@ -16,9 +16,9 @@ vcpkg_configure_cmake( vcpkg_install_cmake() if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake" TARGET_PATH share/urdfdom_headers) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake TARGET_PATH share/urdfdom_headers) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/urdfdom_headers/cmake" TARGET_PATH share/urdfdom_headers) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/urdfdom_headers/cmake TARGET_PATH share/urdfdom_headers) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/urdfdom_headers) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/urdfdom_headers) endif() diff --git a/ports/urdfdom/CONTROL b/ports/urdfdom/CONTROL index 0d81ec662..5a54bce56 100644 --- a/ports/urdfdom/CONTROL +++ b/ports/urdfdom/CONTROL @@ -1,5 +1,5 @@ Source: urdfdom -Version: 1.0.3 +Version: 1.0.3-2 Homepage: https://github.com/ros/urdfdom Description: Provides core data structures and a simple XML parsers for populating the class data structures from an URDF file. Build-Depends: console-bridge, tinyxml, urdfdom-headers diff --git a/ports/urdfdom/portfile.cmake b/ports/urdfdom/portfile.cmake index f10c6cc47..a1f445d47 100644 --- a/ports/urdfdom/portfile.cmake +++ b/ports/urdfdom/portfile.cmake @@ -8,13 +8,9 @@ vcpkg_from_github( REF 1.0.3 SHA512 240181d9c61dd7544f16a79a400d9a2c4dc0a682bef165b46529efcb4b31e2a34e27896933b60b9ddbaa5c4a8d575ebda42752599ff3b0a98d1eeef8f9b0b7a7 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001_use_math_defines.patch - ${CMAKE_CURRENT_LIST_DIR}/0002_fix_exports.patch + 0001_use_math_defines.patch + 0002_fix_exports.patch ) vcpkg_configure_cmake( @@ -26,9 +22,9 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) - vcpkg_fixup_cmake_targets(CONFIG_PATH "CMake" TARGET_PATH share/urdfdom) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) else() - vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/urdfdom/cmake" TARGET_PATH share/urdfdom) + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/urdfdom/cmake) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/urdfdom) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/urdfdom) endif() diff --git a/ports/usd/CONTROL b/ports/usd/CONTROL index 58a564ad7..d14831d54 100644 --- a/ports/usd/CONTROL +++ b/ports/usd/CONTROL @@ -1,4 +1,4 @@ Source: usd -Version: 0.8.4 +Version: 0.8.4-2 Build-Depends: boost-assign, boost-crc, boost-date-time, boost-filesystem, boost-format, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-vmd, tbb, zlib Description: Universal Scene Description (USD) is an efficient, scalable system for authoring, reading, and streaming time-sampled scene description for interchange between graphics applications. diff --git a/ports/usd/portfile.cmake b/ports/usd/portfile.cmake index a648e334a..76b1473be 100644 --- a/ports/usd/portfile.cmake +++ b/ports/usd/portfile.cmake @@ -17,6 +17,7 @@ vcpkg_add_to_path("${PYTHON2_DIR}") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DPXR_BUILD_ALEMBIC_PLUGIN:BOOL=OFF -DPXR_BUILD_EMBREE_PLUGIN:BOOL=OFF @@ -35,7 +36,7 @@ file( "${CURRENT_PACKAGES_DIR}/pxrConfig.cmake" "${CURRENT_PACKAGES_DIR}/cmake/pxrConfig.cmake") -vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake") +vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) vcpkg_copy_pdbs() diff --git a/ports/usockets/CONTROL b/ports/usockets/CONTROL index 107ed27ac..69db6dce9 100644 --- a/ports/usockets/CONTROL +++ b/ports/usockets/CONTROL @@ -1,4 +1,4 @@ Source: usockets -Version: 0.1.2 +Version: 0.3.1 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 55e35e12b..c5b92f84f 100644 --- a/ports/usockets/portfile.cmake +++ b/ports/usockets/portfile.cmake @@ -7,8 +7,8 @@ EndIF () vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uNetworking/uSockets - REF v0.1.2 - SHA512 fedfc50e3498320600247920360db38977f5be4aa9067146a5a0db13dc789b8fa39fa9315b19f56555915bcb818cd0f77ccf0b8cb40ed48e2b193b083d16b242 + REF v0.3.1 + SHA512 f02b72844fb87acbf435d86a89e55244e45e047b049f36bda8e89c9ddeba8d7e6432008d33d33771faec60dcca60a3e3bfa3918c3af08ba80741e09df62c91fd HEAD_REF master ) diff --git a/ports/utf8proc/CONTROL b/ports/utf8proc/CONTROL index 4afe2da7c..56a348e36 100644 --- a/ports/utf8proc/CONTROL +++ b/ports/utf8proc/CONTROL @@ -1,4 +1,4 @@ Source: utf8proc -Version: 2.4.0 +Version: 2.4.0-1 Homepage: https://github.com/JuliaLang/utf8proc Description: Clean C library for processing UTF-8 Unicode data. diff --git a/ports/utf8proc/fix-buildsystem.patch b/ports/utf8proc/fix-buildsystem.patch deleted file mode 100644 index 17af16c9b..000000000 --- a/ports/utf8proc/fix-buildsystem.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index be676ba..7a2b6d8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -13,9 +13,9 @@ set(SO_MAJOR 2) - set(SO_MINOR 1) - set(SO_PATCH 0) - --add_definitions ( -- -DUTF8PROC_EXPORTS --) -+if(BUILD_SHARED_LIBS) -+ add_definitions(-DUTF8PROC_EXPORTS -DUTF8PROC_SHARED) -+endif() - - if (NOT MSVC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -std=c99 -pedantic -Wall") -@@ -31,3 +31,10 @@ set_target_properties (utf8proc PROPERTIES - VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}" - SOVERSION ${SO_MAJOR} - ) -+ -+install(TARGETS utf8proc -+ RUNTIME DESTINATION bin -+ ARCHIVE DESTINATION lib -+ LIBRARY DESTINATION lib) -+ -+install(FILES utf8proc.h DESTINATION include) -diff --git a/utf8proc.h b/utf8proc.h -index edf46d4..7b3f11a 100644 ---- a/utf8proc.h -+++ b/utf8proc.h -@@ -120,13 +120,13 @@ typedef bool utf8proc_bool; - #endif - #include - --#ifdef _WIN32 -+#if defined _WIN32 && defined UTF8PROC_SHARED - # ifdef UTF8PROC_EXPORTS - # define UTF8PROC_DLLEXPORT __declspec(dllexport) - # else - # define UTF8PROC_DLLEXPORT __declspec(dllimport) - # endif --#elif __GNUC__ >= 4 -+#elif __GNUC__ >= 4 && defined UTF8PROC_SHARED - # define UTF8PROC_DLLEXPORT __attribute__ ((visibility("default"))) - #else - # define UTF8PROC_DLLEXPORT diff --git a/ports/utf8proc/portfile.cmake b/ports/utf8proc/portfile.cmake index 113f4d6d8..b4dd9f50c 100644 --- a/ports/utf8proc/portfile.cmake +++ b/ports/utf8proc/portfile.cmake @@ -1,12 +1,11 @@ include(vcpkg_common_functions) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO JuliaLang/utf8proc REF v2.4.0 - SHA512 2bbd056b488cd30faca26618389d8af84edc39ade9b705e147b676bf39eee65b40239d01c32c46dfc2a289d79e869ed1bb3c347365603dcaab2f69e34427441a) - -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-buildsystem.patch) + SHA512 2bbd056b488cd30faca26618389d8af84edc39ade9b705e147b676bf39eee65b40239d01c32c46dfc2a289d79e869ed1bb3c347365603dcaab2f69e34427441a +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} diff --git a/ports/uvw/CONTROL b/ports/uvw/CONTROL index 0db70d086..3268b0daa 100644 --- a/ports/uvw/CONTROL +++ b/ports/uvw/CONTROL @@ -1,5 +1,5 @@ Source: uvw -Version: 1.17.0_libuv-v1.29 +Version: 1.18.0 Description: Header-only, event based, tiny and easy to use libuv wrapper in modern C++. Homepage: https://github.com/skypjack/uvw Build-Depends: libuv diff --git a/ports/uvw/portfile.cmake b/ports/uvw/portfile.cmake index 27fcea15a..cc08a7a82 100644 --- a/ports/uvw/portfile.cmake +++ b/ports/uvw/portfile.cmake @@ -4,8 +4,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO skypjack/uvw - REF v1.17.0_libuv-v1.29 - SHA512 2e3ee6e55950185e1889c99b07d63d811d89ad20705253ad699a828073f5ea7860616e0ae980232c7819d3fd21a4cb7a2e9d084fd8c4f40b19951106f08b9ad0 + REF 6ce60d4088bddce4d38a0aa81f99b03879d2f471 + SHA512 125b517a68f7804ea895fe7f1ca9c63139a3855ef47d16de631ccfda9a2cb8217b5f7f489ed463f72267c6f55718045c60da52e97936ce39d9f1ebe7232b4ea4 ) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) @@ -13,13 +13,11 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "share/uvw") -file(INSTALL - ${CMAKE_CURRENT_LIST_DIR}/uvw-config.cmake - DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvw/ -) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() +file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/uvw-config.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/uvw/) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) # Handle copyright/readme/package files diff --git a/ports/uwebsockets/CONTROL b/ports/uwebsockets/CONTROL index 663538f96..aab615564 100644 --- a/ports/uwebsockets/CONTROL +++ b/ports/uwebsockets/CONTROL @@ -1,5 +1,5 @@ Source: uwebsockets -Version: 0.15.6 +Version: 0.15.7 Build-Depends: zlib, usockets Homepage: https://github.com/uWebSockets/uWebSockets Description: Simple, secure & standards compliant web I/O for the most demanding of applications diff --git a/ports/uwebsockets/portfile.cmake b/ports/uwebsockets/portfile.cmake index dc8f5255e..350cc2f1a 100644 --- a/ports/uwebsockets/portfile.cmake +++ b/ports/uwebsockets/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO uNetworking/uWebSockets - REF v0.15.6 - SHA512 ba5dc18412ecceadb48e3c0f9b6f6d9ea920b76c36b12456bc96198346149010257c0f7807a1e1cc262ae0eca07e1994d3f1e3be0b3c815ce455d778c5375311 + REF bc6ea664b17fb3736e1330e908aee00c4f3a750b + SHA512 a629c0a3d6ca3c6e7681cb8632076940c81de1493e1fcdfb7cdfb7eab4c4a05ccf3b5d53c4c325548e770176ce36fb4e67f212f65713d2dacb679da570930380 HEAD_REF master ) diff --git a/ports/valijson/CONTROL b/ports/valijson/CONTROL index 4ea2b5d1e..c5394a48b 100644 --- a/ports/valijson/CONTROL +++ b/ports/valijson/CONTROL @@ -1,3 +1,3 @@ Source: valijson -Version: 2018-11-17 -Description: Header-only C++ library for JSON Schema validation \ No newline at end of file +Version: 2018-11-17-1 +Description: Header-only C++ library for JSON Schema validation diff --git a/ports/valijson/portfile.cmake b/ports/valijson/portfile.cmake index 6c0b84530..aeb739983 100644 --- a/ports/valijson/portfile.cmake +++ b/ports/valijson/portfile.cmake @@ -1,9 +1,8 @@ #header-only library include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/valijson) - -vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH REPO tristanpenman/valijson REF dd084d747448bb56ddfeab5946b4f2f4617b99c4 SHA512 ee241eefc816360608f86792a4c25abadea79cbffc94d7e31a2dbd0a483ed4d7a303b6d2410b99ab7694e58a3d299f0df0baa52fa16f89e9233d90b190a4d799 @@ -25,4 +24,4 @@ file(COPY ${SOURCE_PATH}/include/compat/optional.hpp # Put the licence file where vcpkg expects it file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/valijson) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/valijson/LICENSE ${CURRENT_PACKAGES_DIR}/share/valijson/copyright) \ No newline at end of file +file(RENAME ${CURRENT_PACKAGES_DIR}/share/valijson/LICENSE ${CURRENT_PACKAGES_DIR}/share/valijson/copyright) diff --git a/ports/value-ptr-lite/CONTROL b/ports/value-ptr-lite/CONTROL new file mode 100644 index 000000000..0891d31fd --- /dev/null +++ b/ports/value-ptr-lite/CONTROL @@ -0,0 +1,7 @@ +Source: value-ptr-lite +Version: 0.2.1 +Homepage: https://github.com/martinmoene/value-ptr-lite +Description: A C++ smart-pointer with value semantics for C++98, C++11 and later in a single-file header-only library. + +Feature: test +Description: Build with test \ No newline at end of file diff --git a/ports/value-ptr-lite/portfile.cmake b/ports/value-ptr-lite/portfile.cmake new file mode 100644 index 000000000..a0e429b33 --- /dev/null +++ b/ports/value-ptr-lite/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO martinmoene/value-ptr-lite + REF v0.2.1 + SHA512 96bea32310b3b3f91d19706d8ae9bdfa9a6ba485f529562e3b7cf89311d1e9b99fd24c0c6f23d169c5a7c84ebd9bd7b8ace972ee279b38c4c1caa398a3dd1590 + HEAD_REF master +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + test BUILD_TESTS +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DVALUE_PTR_LITE_OPT_BUILD_TESTS=${BUILD_TESTS} + -DVALUE_PTR_LITE_OPT_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/value_ptr-lite) + +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) diff --git a/ports/vectorclass/CMakeLists.txt b/ports/vectorclass/CMakeLists.txt new file mode 100644 index 000000000..54b83b267 --- /dev/null +++ b/ports/vectorclass/CMakeLists.txt @@ -0,0 +1,24 @@ +cmake_minimum_required(VERSION 3.8.0) +project(vectorclass VERSION 2.00.01 LANGUAGES CXX) + +add_library(${PROJECT_NAME} STATIC instrset_detect.cpp) + +target_include_directories(${PROJECT_NAME} INTERFACE + $ + $) + +target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_17) + +include(CMakePackageConfigHelpers) +write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake" + VERSION ${${PROJECT_NAME}_VERSION} + COMPATIBILITY SameMajorVersion) + +install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-config) +install( + EXPORT ${PROJECT_NAME}-config DESTINATION lib/cmake/${PROJECT_NAME} + NAMESPACE ${PROJECT_NAME}::) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake" + DESTINATION lib/cmake/${PROJECT_NAME}) +install(DIRECTORY . DESTINATION include/${PROJECT_NAME} FILES_MATCHING PATTERN *.h) \ No newline at end of file diff --git a/ports/vectorclass/CONTROL b/ports/vectorclass/CONTROL new file mode 100644 index 000000000..cc3471358 --- /dev/null +++ b/ports/vectorclass/CONTROL @@ -0,0 +1,4 @@ +Source: vectorclass +Version: 2.00.01 +Homepage: https://github.com/vectorclass/version2 +Description: C++ class library for using the Single Instruction Multiple Data (SIMD) instructions in modern Microprocessors diff --git a/ports/vectorclass/portfile.cmake b/ports/vectorclass/portfile.cmake new file mode 100644 index 000000000..2ec273262 --- /dev/null +++ b/ports/vectorclass/portfile.cmake @@ -0,0 +1,24 @@ +vcpkg_fail_port_install(ON_ARCH "arm" "arm64") + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO vectorclass/version2 + REF v2.00.01 + SHA512 2e1f714cf0e23cf7986f0e78b4c1eeab4da6434ac92449b81990931e19ae189df6fbbef50f11e9532a41dc6eaff0a4fea840349a3747621ff537bbd7519f2c3d + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Put the licence file where vcpkg expects it +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) diff --git a/ports/visit-struct/CONTROL b/ports/visit-struct/CONTROL index 98ad6e2e9..bf895349d 100644 --- a/ports/visit-struct/CONTROL +++ b/ports/visit-struct/CONTROL @@ -1,3 +1,3 @@ Source: visit-struct -Version: 1.0 +Version: 1.0-1 Description: A header-only library providing structure visitors for C++11 and C++14 diff --git a/ports/visit-struct/portfile.cmake b/ports/visit-struct/portfile.cmake index e3daf0c47..8a87471c5 100644 --- a/ports/visit-struct/portfile.cmake +++ b/ports/visit-struct/portfile.cmake @@ -16,11 +16,8 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/visit_struct TARGET_PATH share/visit_struct) -vcpkg_fixup_cmake_targets( - CONFIG_PATH share/visit_struct - TARGET_PATH TARGET_PATH share/visit_struct -) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) file(INSTALL ${SOURCE_PATH}/LICENSE diff --git a/ports/volk/CONTROL b/ports/volk/CONTROL new file mode 100644 index 000000000..13101eee8 --- /dev/null +++ b/ports/volk/CONTROL @@ -0,0 +1,7 @@ +Source: volk +Version: 2019-09-26 +Description: Meta loader for Vulkan API. + Note that the static library target volk::volk is built without platform-specific defines. + Use the header-only target volk::volk_headers if you require platform-specific extensions. +Homepage: https://github.com/zeux/volk +Build-Depends: vulkan \ No newline at end of file diff --git a/ports/volk/portfile.cmake b/ports/volk/portfile.cmake new file mode 100644 index 000000000..4171293d0 --- /dev/null +++ b/ports/volk/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +# volk is not prepared to be a DLL. +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zeux/volk + REF 5a605f5d6997bd929b666700a36ca3d9bd1d7a47 + SHA512 ed6faf13828f3e47c4f12f8d19952c94589420539e98405bf2a4b7959518357dcc2f210746f3683d3862ac8c80821f3c863d49f4625e2dac85d2a680567e4f00 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DVOLK_INSTALL=ON +) +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/volk) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Put the file containing the license where vcpkg expects it +file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/volk/) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/volk/README.md ${CURRENT_PACKAGES_DIR}/share/volk/copyright) diff --git a/ports/vtk-dicom/CONTROL b/ports/vtk-dicom/CONTROL index 4d6a1df30..8971de588 100644 --- a/ports/vtk-dicom/CONTROL +++ b/ports/vtk-dicom/CONTROL @@ -1,5 +1,5 @@ Source: vtk-dicom -Version: 0.8.9 +Version: 0.8.10 Description: DICOM for VTK Build-Depends: vtk, zlib diff --git a/ports/vtk-dicom/portfile.cmake b/ports/vtk-dicom/portfile.cmake index dd890ec26..3ee254d42 100644 --- a/ports/vtk-dicom/portfile.cmake +++ b/ports/vtk-dicom/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO dgobbi/vtk-dicom - REF v0.8.9 - SHA512 f75295a25896b4d571e9d9bb04fbedbd8bcf5e12637d17b6eadceda296fc105decb44c6cb09f1d69daf17093bb61cdb8909fcde347137f30eb6b8b2b298ff065 + REF faf41f35652fcdd66038e623dff5fbc748ccf15b + SHA512 8e03e24e28420e48046f15305ea4b8120ac6a4e34eef2f6d1f38e4ebde16e037e7383ff53c3091e939167fadccbbcbe6471bb8ac8c56c9232d3992c56489a102 HEAD_REF master ) diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index 7b07132d2..990e2aa32 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,8 +1,8 @@ Source: vtk -Version: 8.2.0-4 +Version: 8.2.0-9 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, atlmfc (windows), eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c +Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora, eigen3, double-conversion, pugixml, libharu, sqlite3, netcdf-c Feature: openvr Description: OpenVR functionality for VTK @@ -14,8 +14,12 @@ Build-Depends: qt5 Feature: mpi Description: MPI functionality for VTK -Build-Depends: msmpi, hdf5[parallel] +Build-Depends: mpi, hdf5[parallel] Feature: python Description: Python functionality for VTK Build-Depends: python3 + +Feature: atlmfc +Description: Mfc functionality for vtk on Windows +Build-Depends: atlmfc (windows) \ No newline at end of file diff --git a/ports/vtk/fix-find-lz4.patch b/ports/vtk/fix-find-lz4.patch index 7389a24f4..488640de8 100644 --- a/ports/vtk/fix-find-lz4.patch +++ b/ports/vtk/fix-find-lz4.patch @@ -6,7 +6,7 @@ index 07343e1f79..b43a9af2c7 100644 - -find_library(LZ4_LIBRARIES NAMES lz4) +find_library(LZ4_LIBRARY NAMES lz4 PATH_SUFFIXES lib) -+find_library(LZ4_LIBRARY_DEBUG NAME lz4d PATH_SUFFIXES debug/lib) ++find_library(LZ4_LIBRARY_DEBUG NAMES lz4d PATH_SUFFIXES debug/lib) find_path(LZ4_INCLUDE_DIRS NAMES lz4.h) +if(NOT LZ4_LIBRARY_DEBUG) diff --git a/ports/vtk/fix-find-lzma.patch b/ports/vtk/fix-find-lzma.patch new file mode 100644 index 000000000..b2e375fc4 --- /dev/null +++ b/ports/vtk/fix-find-lzma.patch @@ -0,0 +1,16 @@ +diff --git a/CMake/FindLZMA.cmake b/CMake/FindLZMA.cmake +index 213ab18df1..1e290da4cb 100644 +--- a/CMake/FindLZMA.cmake ++++ b/CMake/FindLZMA.cmake +@@ -1,7 +1,10 @@ + +-find_library(LZMA_LIBRARIES NAMES lzma) ++find_library(LZMA_LIBRARY_RELEASE NAMES lzma PATH_SUFFIXES lib) ++find_library(LZMA_LIBRARY_DEBUG NAMES lzmad PATH_SUFFIXES debug/lib) + find_path(LZMA_INCLUDE_DIRS NAMES lzma.h) + ++select_library_configurations(LZMA) ++ + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(LZMA + DEFAULT_MSG diff --git a/ports/vtk/fix-proj4.patch b/ports/vtk/fix-proj4.patch new file mode 100644 index 000000000..ad49b1523 --- /dev/null +++ b/ports/vtk/fix-proj4.patch @@ -0,0 +1,175 @@ +diff --git a/Geovis/Core/vtkGeoProjection.cxx b/Geovis/Core/vtkGeoProjection.cxx +index f3a8852..8240603 100644 +--- a/Geovis/Core/vtkGeoProjection.cxx ++++ b/Geovis/Core/vtkGeoProjection.cxx +@@ -72,6 +72,9 @@ public: + } + + std::map< std::string, std::string > OptionalParameters; ++#if PROJ_VERSION_MAJOR >= 5 ++ PJ_PROJ_INFO ProjInfo; ++#endif + }; + + //----------------------------------------------------------------------------- +@@ -80,7 +83,7 @@ int vtkGeoProjection::GetNumberOfProjections() + if ( vtkGeoProjectionNumProj < 0 ) + { + vtkGeoProjectionNumProj = 0; +- for ( const PJ_LIST* pj = pj_get_list_ref(); pj && pj->id; ++ pj ) ++ for ( const PJ_LIST* pj = proj_list_operations(); pj && pj->id; ++ pj ) + ++ vtkGeoProjectionNumProj; + } + return vtkGeoProjectionNumProj; +@@ -91,7 +94,7 @@ const char* vtkGeoProjection::GetProjectionName( int projection ) + if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() ) + return nullptr; + +- return pj_get_list_ref()[projection].id; ++ return proj_list_operations()[projection].id; + } + //----------------------------------------------------------------------------- + const char* vtkGeoProjection::GetProjectionDescription( int projection ) +@@ -99,7 +102,7 @@ const char* vtkGeoProjection::GetProjectionDescription( int projection ) + if ( projection < 0 || projection >= vtkGeoProjection::GetNumberOfProjections() ) + return nullptr; + +- return pj_get_list_ref()[projection].descr[0]; ++ return proj_list_operations()[projection].descr[0]; + } + //----------------------------------------------------------------------------- + vtkGeoProjection::vtkGeoProjection() +@@ -144,7 +147,7 @@ void vtkGeoProjection::PrintSelf( ostream& os, vtkIndent indent ) + int vtkGeoProjection::GetIndex() + { + int i = 0; +- for ( const PJ_LIST* proj = pj_get_list_ref(); proj && proj->id; ++ proj, ++ i ) ++ for ( const PJ_LIST* proj = proj_list_operations(); proj && proj->id; ++ proj, ++ i ) + { + if ( ! strcmp( proj->id, this->Name ) ) + { +@@ -161,7 +164,11 @@ const char* vtkGeoProjection::GetDescription() + { + return nullptr; + } ++#if PROJ_VERSION_MAJOR >= 5 ++ return this->Internals->ProjInfo.description; ++#else + return this->Projection->descr; ++#endif + } + //----------------------------------------------------------------------------- + projPJ vtkGeoProjection::GetProjection() +@@ -232,6 +239,9 @@ int vtkGeoProjection::UpdateProjection() + this->ProjectionMTime = this->GetMTime(); + if ( this->Projection ) + { ++#if PROJ_VERSION_MAJOR >= 5 ++ this->Internals->ProjInfo = proj_pj_info(this->Projection); ++#endif + return 0; + } + return 1; +diff --git a/Geovis/Core/vtkGeoTransform.cxx b/Geovis/Core/vtkGeoTransform.cxx +index aeeabc1..b80a8c0 100644 +--- a/Geovis/Core/vtkGeoTransform.cxx ++++ b/Geovis/Core/vtkGeoTransform.cxx +@@ -167,9 +167,17 @@ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int + double* coord = x; + for ( vtkIdType i = 0; i < numPts; ++ i ) + { ++#if PROJ_VERSION_MAJOR >= 5 ++ xy.x = coord[0]; xy.y = coord[1]; ++#else + xy.u = coord[0]; xy.v = coord[1]; ++#endif + lp = pj_inv( xy, src ); ++#if PROJ_VERSION_MAJOR >= 5 ++ coord[0] = lp.lam; coord[1] = lp.phi; ++#else + coord[0] = lp.u; coord[1] = lp.v; ++#endif + coord += stride; + } + } +@@ -191,9 +199,17 @@ void vtkGeoTransform::InternalTransformPoints( double* x, vtkIdType numPts, int + double* coord = x; + for ( vtkIdType i = 0; i < numPts; ++ i ) + { ++#if PROJ_VERSION_MAJOR >= 5 ++ lp.lam = coord[0]; lp.phi = coord[1]; ++#else + lp.u = coord[0]; lp.v = coord[1]; ++#endif + xy = pj_fwd( lp, dst ); ++#if PROJ_VERSION_MAJOR >= 5 ++ coord[0] = xy.x; coord[1] = xy.y; ++#else + coord[0] = xy.u; coord[1] = xy.v; ++#endif + coord += stride; + } + } +diff --git a/ThirdParty/libproj/CMakeLists.txt b/ThirdParty/libproj/CMakeLists.txt +index a19609e..e23e44b 100644 +--- a/ThirdParty/libproj/CMakeLists.txt ++++ b/ThirdParty/libproj/CMakeLists.txt +@@ -1,4 +1,9 @@ + vtk_module_third_party(LibPROJ + LIBRARIES vtklibproj ++ USE_VARIABLES LibPROJ_MAJOR_VERSION + INCLUDE_DIRS ${vtklibproj_SOURCE_DIR}/vtklibproj + ${vtklibproj_BINARY_DIR}/vtklibproj) ++ ++if (NOT VTK_MODULE_USE_EXTERNAL_VTK_libproj) ++ set(LibPROJ_MAJOR_VERSION "4") ++endif () +\ No newline at end of file +diff --git a/ThirdParty/libproj/vtk_libproj.h.in b/ThirdParty/libproj/vtk_libproj.h.in +index cd9edc3..d441a1a 100644 +--- a/ThirdParty/libproj/vtk_libproj.h.in ++++ b/ThirdParty/libproj/vtk_libproj.h.in +@@ -17,8 +17,23 @@ + + /* Use the libproj library configured for VTK. */ + #cmakedefine VTK_USE_SYSTEM_LIBPROJ ++ ++#define VTK_LibPROJ_MAJOR_VERSION @LibPROJ_MAJOR_VERSION@ ++ ++#if VTK_LibPROJ_MAJOR_VERSION < 5 ++# define PROJ_VERSION_MAJOR @LibPROJ_MAJOR_VERSION@ ++# define proj_list_operations pj_get_list_ref ++#endif + #ifdef VTK_USE_SYSTEM_LIBPROJ +-# include ++# if VTK_LibPROJ_MAJOR_VERSION >= 5 ++# include ++# endif ++# if VTK_LibPROJ_MAJOR_VERSION < 6 ++# include ++# endif ++# if VTK_LibPROJ_MAJOR_VERSION >= 6 ++# define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H 1 ++# endif + # include + # include + #else +diff --git a/CMake/FindLibPROJ.cmake b/CMake/FindLibPROJ.cmake +index 2d8301d..d8d08cd 100644 +--- a/CMake/FindLibPROJ.cmake ++++ b/CMake/FindLibPROJ.cmake +@@ -5,6 +5,14 @@ + # LibPROJ_LIBRARIES to libproj4 and any dependent libraries + # If LibPROJ_REQUIRED is defined, then a fatal error message will be generated if libproj4 is not found + ++find_package(PROJ4 6 CONFIG REQUIRED) ++if (PROJ4_FOUND) ++ set(LibPROJ_FOUND 1) ++ set(LibPROJ_INCLUDE_DIR ${PROJ4_INCLUDE_DIRS}) ++ set(LibPROJ_LIBRARIES ${PROJ_LIBRARY}) ++ set(LibPROJ_MAJOR_VERSION 6) ++endif() ++ + if ( NOT LibPROJ_INCLUDE_DIR OR NOT LibPROJ_LIBRARIES OR NOT LibPROJ_FOUND ) + + if ( $ENV{LibPROJ_DIR} ) diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index 69d2ddd2a..c2d12c498 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -8,30 +8,13 @@ set(VTK_SHORT_VERSION "8.2") set(VTK_LONG_VERSION "${VTK_SHORT_VERSION}.0") # ============================================================================= # Options: - -if ("qt" IN_LIST FEATURES) - set(VTK_WITH_QT ON ) -else() - set(VTK_WITH_QT OFF ) -endif() - -if ("mpi" IN_LIST FEATURES) - set(VTK_Group_MPI ON) -else() - set(VTK_Group_MPI OFF) -endif() - -if ("python" IN_LIST FEATURES) - set(VTK_WITH_PYTHON ON) -else() - set(VTK_WITH_PYTHON OFF) -endif() - -if("openvr" IN_LIST FEATURES) - set(Module_vtkRenderingOpenVR ON) -else() - set(Module_vtkRenderingOpenVR OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + qt VTK_WITH_QT + mpi VTK_Group_MPI + python VTK_WITH_PYTHON + openvr Module_vtkRenderingOpenVR + atlmfc Module_vtkGUISupportMFC +) set(VTK_WITH_ALL_MODULES OFF) # IMPORTANT: if ON make sure `qt5`, `mpi`, `python3`, `ffmpeg`, `gdal`, `fontconfig`, # `libmysql` and `atlmfc` are listed as dependency in the CONTROL file @@ -49,6 +32,8 @@ vcpkg_from_github( fix_ogg_linkage.patch fix-pugixml-link.patch hdf5_static.patch + fix-find-lzma.patch + fix-proj4.patch ) # Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK, @@ -72,6 +57,7 @@ if(VTK_WITH_QT) endif() if(VTK_WITH_PYTHON) + vcpkg_find_acquire_program(PYTHON3) list(APPEND ADDITIONAL_OPTIONS -DVTK_WRAP_PYTHON=ON -DVTK_PYTHON_VERSION=3 @@ -92,14 +78,12 @@ if(VTK_WITH_ALL_MODULES) # -DVTK_USE_SYSTEM_XDMF3=ON # -DVTK_USE_SYSTEM_ZFP=ON # -DVTK_USE_SYSTEM_ZOPE=ON + # -DVTK_USE_SYSTEM_LIBPROJ=ON ) endif() -if(NOT VCPKG_CMAKE_SYSTEM_NAME) - set(Module_vtkGUISupportMFC ON) -else() - set(Module_vtkGUISupportMFC OFF) -endif() +set(PROJ_LIBRARY_REL "${CURRENT_INSTALLED_DIR}/lib/proj.lib") +set(PROJ_LIBRARY_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib") # ============================================================================= # Configure & Install @@ -107,7 +91,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS ${FEATURE_OPTIONS} -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DVTK_INSTALL_INCLUDE_DIR=include @@ -124,11 +108,13 @@ vcpkg_configure_cmake( # Select modules / groups to install -DVTK_Group_Imaging=ON -DVTK_Group_Views=ON - -DModule_vtkGUISupportMFC=${Module_vtkGUISupportMFC} - -DModule_vtkRenderingOpenVR=${Module_vtkRenderingOpenVR} - -DVTK_Group_MPI=${VTK_Group_MPI} + -DPYTHON_EXECUTABLE=${PYTHON3} ${ADDITIONAL_OPTIONS} + OPTIONS_RELEASE + -DPROJ_LIBRARY=${PROJ_LIBRARY_REL} + OPTIONS_DEBUG + -DPROJ_LIBRARY=${PROJ_LIBRARY_DBG} ) vcpkg_install_cmake() diff --git a/ports/vulkan/usage b/ports/vulkan/usage index 7924cf3cd..62130b840 100644 --- a/ports/vulkan/usage +++ b/ports/vulkan/usage @@ -2,7 +2,7 @@ The package vulkan does not provide cmake or visual studio integration directly. However, it can still easily be used. Visual Studio: - Include ${VULKAN_SDK}/include to your include path. + Include $(VULKAN_SDK)/include to your include path. CMake: find_package(Vulkan REQUIRED) diff --git a/ports/wampcc/CONTROL b/ports/wampcc/CONTROL new file mode 100644 index 000000000..52311079d --- /dev/null +++ b/ports/wampcc/CONTROL @@ -0,0 +1,10 @@ +Source: wampcc +Build-Depends: openssl, libuv, jansson +Version: 2019-09-04 +Description: Wampcc is C++ library that implements the Web Application Messaging Protocol (WAMP) protocol. + +Feature: utils +Description: Build utility apps + +Feature: examples +Description: Build example apps \ No newline at end of file diff --git a/ports/wampcc/portfile.cmake b/ports/wampcc/portfile.cmake new file mode 100644 index 000000000..b9e4e1d60 --- /dev/null +++ b/ports/wampcc/portfile.cmake @@ -0,0 +1,53 @@ +include(vcpkg_common_functions) + +if (VCPKG_TARGET_IS_WINDOWS) + message("Shared build is broken under Windows. See https://github.com/darrenjs/wampcc/issues/57") + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +if (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") + set(BUILD_ARCH "Win32") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(BUILD_ARCH "x64") +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") + set(BUILD_ARCH "ARM") +else() + message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO darrenjs/wampcc + REF 43d10a7ccf37ec1b895742712dd4a05577b73ff1 + SHA512 e830d26de00e8f5f378145f06691cb16121c40d3bd2cd663fad9a97db37251a11b56053178b619e3a2627f0cd518b6290a8381b26e517a9f16f0246d2f91958e + HEAD_REF master +) + +# Utils build is broken under Windows +if ("utils" IN_LIST FEATURES) + if (VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "'utils' build is broken under Windows") + endif() + + set(ENABLE_UTILS ON) +else() + set(ENABLE_UTILS OFF) +endif() + +if ("examples" IN_LIST FEATURES) + set(ENABLE_EXAMPLES ON) +else() + set(ENABLE_EXAMPLES OFF) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_UTILS:BOOL=${ENABLE_UTILS} + -DBUILD_EXAMPLES:BOOL=${ENABLE_EXAMPLES} + -DBUILD_TESTS:BOOL=OFF # Tests build is broken +) +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wampcc RENAME copyright) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/wangle/CONTROL b/ports/wangle/CONTROL index 6484356ba..2801f1c76 100644 --- a/ports/wangle/CONTROL +++ b/ports/wangle/CONTROL @@ -1,4 +1,4 @@ Source: wangle -Version: 2019.05.20.00 +Version: 2019.07.08.00-1 Build-Depends: fizz, folly, openssl, glog, libevent, double-conversion, boost-system, boost-thread, boost-filesystem, boost-regex, boost-context Description: Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way. diff --git a/ports/wangle/fix-config-cmake.patch b/ports/wangle/fix-config-cmake.patch index c72b70cdd..66857478a 100644 --- a/ports/wangle/fix-config-cmake.patch +++ b/ports/wangle/fix-config-cmake.patch @@ -9,11 +9,11 @@ index e50af54..a16cdbb 100644 -set_and_check(WANGLE_CMAKE_DIR "@PACKAGE_CMAKE_INSTALL_DIR@") +set_and_check(WANGLE_CMAKE_DIR "${PACKAGE_PREFIX_DIR}/share/wangle") + -+find_package(folly REQUIRED) -+find_package(fizz REQUIRED) ++find_package(folly CONFIG REQUIRED) ++find_package(fizz CONFIG REQUIRED) +find_package(glog REQUIRED) -+find_package(threads REQUIRED) -+find_package(libevent REQUIRED) ++find_package(Threads REQUIRED) ++find_package(Libevent CONFIG REQUIRED) if (NOT TARGET wangle::wangle) include("${WANGLE_CMAKE_DIR}/wangle-targets.cmake") diff --git a/ports/wangle/portfile.cmake b/ports/wangle/portfile.cmake index 44dc8f9f3..f28d89b58 100644 --- a/ports/wangle/portfile.cmake +++ b/ports/wangle/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/wangle - REF 19300a75c27759339c44cf06ecedf7ab00703e8b - SHA512 cc9a5a956862e9d4321df7c0394fbb877c5f0b0f8eae1da6aad88239a2cc0b4cd694bd25e0f70f3da8a24c34f4f035bcfb53919fd99634219e0816c78477cee2 + REF dd8db335004ed094ab52645ca7174abc1be075ec + SHA512 8a83c5bb708b433e0a4be493c31f66276cb742c0782d2c9d34c2337a3e998fe909f977df2581823c0e3618e26999c0bfc2dd019186c40906948004a29a2a082d HEAD_REF master PATCHES build.patch @@ -24,7 +24,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/wangle") +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/wangle) file(READ ${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake _contents) STRING(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/\$<\$:debug/>lib/" _contents "${_contents}") @@ -33,7 +33,7 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake "${_content vcpkg_copy_pdbs() -file(REMOVE_RECURSE +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/wangle/util/test ${CURRENT_PACKAGES_DIR}/include/wangle/ssl/test/certs diff --git a/ports/wavpack/CONTROL b/ports/wavpack/CONTROL index 7b169e060..0481b7c0c 100644 --- a/ports/wavpack/CONTROL +++ b/ports/wavpack/CONTROL @@ -1,3 +1,4 @@ Source: wavpack -Version: 5.1.0-00d9a4a-1 +Version: 5.1.0-3 +Homepage: https://github.com/dbry/WavPack Description: WavPack encode/decode library, command-line programs, and several plugins diff --git a/ports/wavpack/portfile.cmake b/ports/wavpack/portfile.cmake index db2df1cde..cb19e4a64 100644 --- a/ports/wavpack/portfile.cmake +++ b/ports/wavpack/portfile.cmake @@ -1,17 +1,4 @@ -# Common Ambient Variables: -# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} -# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} -# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} -# PORT = current port name (zlib, etc) -# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) -# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) -# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) -# VCPKG_ROOT_DIR = -# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) -# - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/00d9a4ac58a52b52495736be614cb06ba102663c) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH @@ -43,8 +30,7 @@ vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# Handle copyright -file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wavpack 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 wavpack) diff --git a/ports/wepoll/CMakeLists.txt b/ports/wepoll/CMakeLists.txt new file mode 100644 index 000000000..cd8d29a2c --- /dev/null +++ b/ports/wepoll/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) + +project(wepoll C) + +add_library(wepoll wepoll.c) + +if (MSVC) + if (BUILD_SHARED_LIBS) + target_compile_definitions( + wepoll + PRIVATE + "-DWEPOLL_EXPORT=__declspec(dllexport)" + ) + endif () + + target_compile_options(wepoll PRIVATE /Wall /wd4127 /wd4201 /wd4242 /wd4710 /wd4711 /wd4820) + + if (MSVC_VERSION GREATER_EQUAL 1900) + target_compile_options(wepoll PRIVATE /wd5045) + endif () +else () + target_compile_definitions( + wepoll + PRIVATE + "-DWEPOLL_EXPORT=__attribute__((visibility(\"default\")))" + ) + + target_compile_options(wepoll PRIVATE -Wall -Wextra -Werror -fvisibility=hidden) +endif () + +target_link_libraries(wepoll PUBLIC ws2_32) + +set_target_properties( + wepoll + PROPERTIES + OUTPUT_NAME wepoll + PUBLIC_HEADER wepoll.h +) + +install(TARGETS wepoll) diff --git a/ports/wepoll/CONTROL b/ports/wepoll/CONTROL new file mode 100644 index 000000000..003405ef6 --- /dev/null +++ b/ports/wepoll/CONTROL @@ -0,0 +1,4 @@ +Source: wepoll +Version: 1.5.5 +Description: Fast epoll for windows +Homepage: https://github.com/piscisaureus/wepoll diff --git a/ports/wepoll/portfile.cmake b/ports/wepoll/portfile.cmake new file mode 100644 index 000000000..53f1ca1a4 --- /dev/null +++ b/ports/wepoll/portfile.cmake @@ -0,0 +1,32 @@ +include(vcpkg_common_functions) + +if(NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "${PORT} only supports Windows.") +endif() + +# We use `dist` branch instead of `master` branch here, +# as suggested by the library author. +# https://github.com/microsoft/vcpkg/pull/8280 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO piscisaureus/wepoll + REF v1.5.5 + SHA512 af4507e864b0345a5842c71f4a036488ed51e53a310c7b76e7caef89f29c3a53bf7ccfea8ac4aaea386de1d1e589425004fc16bc31b2900a0ba730f0a54cb357 + HEAD_REF dist +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/wg21-sg14/CONTROL b/ports/wg21-sg14/CONTROL new file mode 100644 index 000000000..e09697226 --- /dev/null +++ b/ports/wg21-sg14/CONTROL @@ -0,0 +1,4 @@ +Source: wg21-sg14 +Version: 2019-08-13 +Description: A library for Study Group 14 of Working Group 21 (C++) +Homepage: https://github.com/WG21-SG14/SG14 diff --git a/ports/wg21-sg14/portfile.cmake b/ports/wg21-sg14/portfile.cmake new file mode 100644 index 000000000..d72be282a --- /dev/null +++ b/ports/wg21-sg14/portfile.cmake @@ -0,0 +1,21 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO WG21-SG14/SG14 + REF 836e4d202249a86ba5ff56139c35e0afa60e7a1c + SHA512 002a6b83ecfb41bde978e912feda77639460ff376ad634e1cd0a908e2be35863489132db579d399bb6e5087fcb0355a222e611eae58eb0c2d8372bdd25f60e07 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/SG14 DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright + +file(STRINGS "${SOURCE_PATH}/SG14/flat_map.h" SOURCE_LINES) +list(SUBLIST SOURCE_LINES 0 26 SOURCE_LINES) +list(JOIN SOURCE_LINES "\n" _contents) + +file(READ "${SOURCE_PATH}/Docs/plf_licensing.txt" plf_licensing_contents) + +file(WRITE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright "${_contents}\n${plf_licensing_contents}") diff --git a/ports/wil/CONTROL b/ports/wil/CONTROL index 8b589c8af..44007f501 100644 --- a/ports/wil/CONTROL +++ b/ports/wil/CONTROL @@ -1,3 +1,3 @@ Source: wil -Version: 2019-06-10 +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 c54e097ca..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 607e3c44797e18ae050907114601a31883489254 - SHA512 78d14f48a0d6629d72b6007e20ce4a14855667d0f9f8240b66a8cc135e079fca97926db6fc18852cd932f80b1b5a55c08cb48ca999fa9327f7e9c0586ea3ecc7 + REF fd6d99e737cc713dd3217663a502ab8c31d38820 + SHA512 4b38fa803145b57349b3d68681fc4d0020665285f3fd94f71afe77466f39858e85127688856bc15f08d468e9f5cc8669ba65e7b024398edfb3b9320da61ea69d HEAD_REF master ) diff --git a/ports/wildmidi/0002-use-ansi.patch b/ports/wildmidi/0002-use-ansi.patch deleted file mode 100644 index 68acb7b34..000000000 --- a/ports/wildmidi/0002-use-ansi.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/file_io.c b/src/file_io.c -index 9db9759..7110e8b 100644 ---- a/src/file_io.c -+++ b/src/file_io.c -@@ -118,7 +118,7 @@ void *_WM_BufferFile(const char *filename, uint32_t *size) { - #elif defined(_WIN32) - int buffer_fd; - HANDLE h; -- WIN32_FIND_DATA wfd; -+ WIN32_FIND_DATAA wfd; - #elif defined(__OS2__) || defined(__EMX__) - int buffer_fd; - HDIR h = HDIR_CREATE; -@@ -186,7 +186,7 @@ void *_WM_BufferFile(const char *filename, uint32_t *size) { - } - *size = f.ff_fsize; - #elif defined(_WIN32) -- if ((h = FindFirstFile(buffer_file, &wfd)) == INVALID_HANDLE_VALUE) { -+ if ((h = FindFirstFileA(buffer_file, &wfd)) == INVALID_HANDLE_VALUE) { - _WM_GLOBAL_ERROR(__FUNCTION__, __LINE__, WM_ERR_STAT, filename, ENOENT); - free(buffer_file); - return NULL; diff --git a/ports/wildmidi/CONTROL b/ports/wildmidi/CONTROL index 35e0bfffc..0c6b401ff 100644 --- a/ports/wildmidi/CONTROL +++ b/ports/wildmidi/CONTROL @@ -1,4 +1,4 @@ Source: wildmidi -Version: 0.4.3 +Version: 0.4.3-1 Homepage: https://github.com/Mindwerks/wildmidi Description: MIDI software synthesizer library. diff --git a/ports/wildmidi/portfile.cmake b/ports/wildmidi/portfile.cmake index d3765f790..ac872c1a0 100644 --- a/ports/wildmidi/portfile.cmake +++ b/ports/wildmidi/portfile.cmake @@ -8,7 +8,6 @@ vcpkg_from_github( HEAD_REF master PATCHES 0001-add-install-target.patch - 0002-use-ansi.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) diff --git a/ports/winreg/CONTROL b/ports/winreg/CONTROL new file mode 100644 index 000000000..6b798d4d0 --- /dev/null +++ b/ports/winreg/CONTROL @@ -0,0 +1,4 @@ +Source: winreg +Version: 1.2.1-1 +Homepage: https://github.com/GiovanniDicanio/WinReg +Description: High-level C++ wrapper around the Windows Registry C API. \ No newline at end of file diff --git a/ports/winreg/portfile.cmake b/ports/winreg/portfile.cmake new file mode 100644 index 000000000..ded93e42d --- /dev/null +++ b/ports/winreg/portfile.cmake @@ -0,0 +1,21 @@ +# WinReg - Header-only library + +include(vcpkg_common_functions) + +if(NOT VCPKG_TARGET_IS_WINDOWS) + message("winreg only support windows.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO GiovanniDicanio/WinReg + REF v1.2.1 + SHA512 c919f91bf37b2fd7c30f6463430e07f3b8d1a01b8d4c84591b56299faf9d5b651d7c3b35a2adc22e3b0aa471627060a45e179f98f309242683b17d4d0d81cb7b + HEAD_REF master +) + +# Copy the single reusable library header +file(COPY ${SOURCE_PATH}/WinReg/WinReg/WinReg.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT}) + +# 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/wintoast/CMakeLists.txt b/ports/wintoast/CMakeLists.txt new file mode 100644 index 000000000..eb70fb9cf --- /dev/null +++ b/ports/wintoast/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.11) +project(wintoast) + +set(SRC_FILES +src/wintoastlib.cpp +) + +add_library(wintoast ${SRC_FILES}) + +target_include_directories(wintoast PUBLIC + $ + $ +) + +# Install targets +install(TARGETS wintoast + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +# Install headers +if (INSTALL_HEADERS) + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/wintoastlib.h DESTINATION include/wintoast) +endif() \ No newline at end of file diff --git a/ports/wintoast/CONTROL b/ports/wintoast/CONTROL new file mode 100644 index 000000000..d9d410796 --- /dev/null +++ b/ports/wintoast/CONTROL @@ -0,0 +1,3 @@ +Source: wintoast +Version: 1.2.0 +Description: WinToast is a lightly library written in C++ which brings a complete integration of the modern toast notifications of Windows 8 & Windows 10. \ No newline at end of file diff --git a/ports/wintoast/portfile.cmake b/ports/wintoast/portfile.cmake new file mode 100644 index 000000000..c7f2f8952 --- /dev/null +++ b/ports/wintoast/portfile.cmake @@ -0,0 +1,32 @@ +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "${PORT} does not currently support UWP") +endif() + +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mohabouje/WinToast + REF v1.2.0 + SHA512 d8bd44439100772929eb8a4eb4aebfd66fa54562c838eb4c081a382dc1d73c545faa6d9675e320864d9b533e4a0c4a673e44058c7f643ccd56ec90830cdfaf45 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_RELEASE -DINSTALL_HEADERS=ON + OPTIONS_DEBUG -DINSTALL_HEADERS=OFF + +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Install license +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/wordnet/CMakeLists.txt b/ports/wordnet/CMakeLists.txt new file mode 100644 index 000000000..78a16c1d7 --- /dev/null +++ b/ports/wordnet/CMakeLists.txt @@ -0,0 +1,69 @@ +cmake_minimum_required (VERSION 3.14) +project ("wordnet") +set (target_name ${CMAKE_PROJECT_NAME}) # CMAKE_PROJECT_NAME for the top-level project() call + +option (BUILD_SHARED_LIBS "Create ${target_name} as a shared library" OFF) +set (CMAKE_DEBUG_POSTFIX "d" CACHE STRING "postfix for debug lib") + +set (INCLUDE_DIR_BUILD "${CMAKE_CURRENT_LIST_DIR}/include") + +include (GNUInstallDirs) + +file (GLOB wordnet_headers ${INCLUDE_DIR_BUILD}/wn.h) +file (GLOB wordnet_srcs "lib/*.c") + +add_library (${target_name} ${wordnet_srcs} ${wordnet_headers}) + +target_include_directories (${target_name} + PRIVATE ${INCLUDE_DIR_BUILD} + PUBLIC $ +) + +set_target_properties(${target_name} PROPERTIES + C_STANDARD 11 +) + +target_compile_definitions(${PROJECT_NAME} PUBLIC DEFAULTPATH="${WORDNET_DICT_PATH}") + +if (MSVC) + set_target_properties(${target_name} PROPERTIES + VS_DEBUGGER_WORKING_DIRECTORY $ + COMPILE_FLAGS "/wd4996 /wd4267 /wd4244 /wd4047" + ) + target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS) + set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${target_name}) +endif() + +install (TARGETS ${target_name} EXPORT ${target_name}-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +) + +install(FILES + ${wordnet_headers} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${target_name} + CONFIGURATIONS Release +) + +install (EXPORT ${target_name}-targets + FILE ${target_name}-targets.cmake + NAMESPACE ${target_name}:: + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${target_name}" +) + +configure_file(${target_name}-config.cmake.in "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${target_name}-config.cmake" @ONLY) + +install(FILES + "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${target_name}-config.cmake" + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${target_name}" +) + +install(DIRECTORY + dict/ DESTINATION ${WORDNET_DICT_PATH} + CONFIGURATIONS Release +) +install(DIRECTORY + doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR} + CONFIGURATIONS Release +) diff --git a/ports/wordnet/CONTROL b/ports/wordnet/CONTROL new file mode 100644 index 000000000..59aca0bf0 --- /dev/null +++ b/ports/wordnet/CONTROL @@ -0,0 +1,6 @@ +Source: wordnet +Version: 3.0 +Description: WordNet is a large lexical database of English + +Feature: dbfiles +Description: WordNet 3.1 database files diff --git a/ports/wordnet/fix_gobal_vars_uninit_local_ptr.patch b/ports/wordnet/fix_gobal_vars_uninit_local_ptr.patch new file mode 100644 index 000000000..8686779e7 --- /dev/null +++ b/ports/wordnet/fix_gobal_vars_uninit_local_ptr.patch @@ -0,0 +1,78 @@ +diff --git a/include/wn.h b/include/wn.h +index d3ffa08..8452377 100644 +--- a/include/wn.h ++++ b/include/wn.h +@@ -151,14 +151,6 @@ + #define PREDICATIVE PADJ + #define IMMED_POSTNOMINAL IPADJ + +-extern char *wnrelease; /* WordNet release/version number */ +- +-extern char *lexfiles[]; /* names of lexicographer files */ +-extern char *ptrtyp[]; /* pointer characters */ +-extern char *partnames[]; /* POS strings */ +-extern char partchars[]; /* single chars for each POS */ +-extern char *adjclass[]; /* adjective class strings */ +-extern char *frametext[]; /* text of verb frames */ + + /* Data structures used by search code functions. */ + +@@ -236,6 +228,21 @@ typedef struct { + + typedef SearchResults *SearchResultsPtr; + ++/* Make all the functions compatible with c++ files */ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++extern char* wnrelease; /* WordNet release/version number */ ++ ++extern char* lexfiles[]; /* names of lexicographer files */ ++extern char* ptrtyp[]; /* pointer characters */ ++extern char* partnames[]; /* POS strings */ ++extern char partchars[]; /* single chars for each POS */ ++extern char* adjclass[]; /* adjective class strings */ ++extern char* frametext[]; /* text of verb frames */ ++ ++ + /* Global variables and flags */ + + extern SearchResults wnresults; /* structure containing results of search */ +@@ -271,11 +278,6 @@ extern int default_display_message(char *); + extern int (*display_message)(char *); + + +-/* Make all the functions compatible with c++ files */ +-#ifdef __cplusplus +-extern "C" { +-#endif +- + /* External library function prototypes */ + + /*** Search and database functions (search.c) ***/ +diff --git a/lib/search.c b/lib/search.c +index 1cdedc3..72c4bb5 100644 +--- a/lib/search.c ++++ b/lib/search.c +@@ -1256,7 +1256,7 @@ static void add_relatives(int pos, IndexPtr idx, int rel1, int rel2) + { + int i; + struct relgrp *rel, *last, *r; +- ++ last = NULL; + /* If either of the new relatives are already in a relative group, + then add the other to the existing group (transitivity). + Otherwise create a new group and add these 2 senses to it. */ +@@ -1281,8 +1281,9 @@ static void add_relatives(int pos, IndexPtr idx, int rel1, int rel2) + rel->senses[rel1] = rel->senses[rel2] = 1; + if (rellist == NULL) + rellist = rel; +- else +- last->next = rel; ++ else if (last) { ++ last->next = rel; ++ } + } + + static struct relgrp *mkrellist(void) diff --git a/ports/wordnet/portfile.cmake b/ports/wordnet/portfile.cmake new file mode 100644 index 000000000..1f3193187 --- /dev/null +++ b/ports/wordnet/portfile.cmake @@ -0,0 +1,54 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +set(VERSION 3.0) + +vcpkg_download_distfile(ARCHIVE + URLS "http://wordnetcode.princeton.edu/${VERSION}/WordNet-${VERSION}.tar.gz" + FILENAME "wordnet-${VERSION}.tar.gz" + SHA512 9539bc016d710f31d65072bbf5068edffcd735978d8cc6f1b361b19428b97546ef6c7e246e1b6f2ff4557a0885a8305341e35173a6723f0740dda18d097ca248 +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${VERSION} + PATCHES + fix_gobal_vars_uninit_local_ptr.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/wordnet-config.cmake.in DESTINATION ${SOURCE_PATH}) + +if("dbfiles" IN_LIST FEATURES) + vcpkg_download_distfile(WORDNET_DICT_DBFILES + URLS "http://wordnetcode.princeton.edu/wn3.1.dict.tar.gz" + FILENAME "wordnet-cache/wn3.1.dict.tar.gz" + SHA512 16dca17a87026d8a0b7b4758219cd21a869c3ef3da23ce7875924546f2eacac4c2f376cb271b798b2c458fe8c078fb43d681356e3d9beef40f4bd88d3579394f + ) + file(REMOVE_RECURSE "${SOURCE_PATH}/dict/") + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH WORDNET_DICT_DBFILES_EX + ARCHIVE ${WORDNET_DICT_DBFILES} + REF 3.1 + WORKING_DIRECTORY ${SOURCE_PATH} + ) + file(RENAME ${WORDNET_DICT_DBFILES_EX} "${SOURCE_PATH}/dict") +endif() + +set (WORDNET_DICT_PATH "${CURRENT_PACKAGES_DIR}/tools/${PORT}/dict") + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DWORDNET_DICT_PATH=${WORDNET_DICT_PATH} +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wordnet RENAME copyright) + diff --git a/ports/wordnet/wordnet-config.cmake.in b/ports/wordnet/wordnet-config.cmake.in new file mode 100644 index 000000000..1de99b5e8 --- /dev/null +++ b/ports/wordnet/wordnet-config.cmake.in @@ -0,0 +1,14 @@ +# Config file for the wordnet package + +get_filename_component(_WORDNET_PREFIX_DIR "${CMAKE_CURRENT_LIST_FILE}" DIRECTORY) + +set (_TARGET_NAME "wordnet") + +set (WORDNET_DICT_PATH @WORDNET_DICT_PATH@) +message (STATUS "WORDNET_DICT_PATH: @WORDNET_DICT_PATH@") + +# IMPORTED targets for wordnet +include("${_WORDNET_PREFIX_DIR}/${_TARGET_NAME}-targets.cmake") + +set(_WORDNET_PREFIX_DIR) +set(_TARGET_NAME) diff --git a/ports/wpilib/CONTROL b/ports/wpilib/CONTROL index 0d93d9bb5..b37784225 100644 --- a/ports/wpilib/CONTROL +++ b/ports/wpilib/CONTROL @@ -1,6 +1,6 @@ Source: wpilib -Version: 2019.4.1 -Build-Depends: libuv +Version: 2019.6.1 +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. Feature: cameraserver @@ -8,5 +8,5 @@ Build-Depends: opencv Description: Enables the CameraServer and CSCore libraries for manipulating USB Cameras and HTTP Camera Streams Feature: allwpilib -Build-Depends: wpilib[cameraserver] opencv +Build-Depends: wpilib[cameraserver], opencv Description: Enables the simulation HAL, and the high level wpilibc library. diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake index 4bb8b80a5..4500400c7 100644 --- a/ports/wpilib/portfile.cmake +++ b/ports/wpilib/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wpilibsuite/allwpilib - REF 221011494d202770ad275c88cd7380119505e65d - SHA512 97ec277b2e7d0a287e1d4eef4f60b5f5b5a70a861f984d0bfb17610ca8f43c723e1ba3cc1b428d243db62b50307edcf509e496f15cccdda78f962bf91aa4568a + REF d10a1a797720014197c21dee38fdced73454dca4 + SHA512 a76e8652b6d6a921d466e08bcf162ee1b28c06af031b616b2333f8a9479ffd12d1c301182dac86e5d7d59909a21cbee4e551028393df80671336546c14ecf606 ) set(WITHOUT_JAVA ON) @@ -28,6 +28,7 @@ vcpkg_configure_cmake( -DWITHOUT_CSCORE=${WITHOUT_CSCORE} -DWITHOUT_ALLWPILIB=${WITHOUT_ALLWPILIB} -DUSE_VCPKG_LIBUV=ON + -DUSE_VCPKG_EIGEN=ON -DFLAT_INSTALL_WPILIB=ON ) vcpkg_install_cmake() diff --git a/ports/wren/CMakeLists.txt b/ports/wren/CMakeLists.txt new file mode 100644 index 000000000..b57a6a907 --- /dev/null +++ b/ports/wren/CMakeLists.txt @@ -0,0 +1,50 @@ +# CMake taken from https://github.com/walterschell/wren/blob/cmake/CMakeLists.txt + +# Need transitive dependencies introduced in 2.8.12 +cmake_minimum_required(VERSION 2.8.12) + +project(Wren LANGUAGES "C") + +set(wren_warning_flags "-Wall" "-Wextra" "-Werror" "-Wno-unused-parameter") + +IF (WIN32) + ADD_DEFINITIONS (-D_CRT_SECURE_NO_WARNINGS ) +ENDIF () + +set(opt_DIR "src/optional") +set(vm_DIR "src/vm") + +# TODO: Don't glob +file(GLOB opt_SRCS ${opt_DIR}/*.c) +file(GLOB vm_SRCS ${vm_DIR}/*.c) + +set(wren_SRCS ${vm_SRCS} ${opt_SRCS}) + +add_library(wren ${wren_SRCS}) + +target_include_directories(wren PUBLIC src/include PRIVATE src/vm src/optional) + +target_link_libraries(wren INTERFACE m) + +target_compile_options(wren PRIVATE "-Wall") + +if (CMAKE_BUILD_TYPE STREQUAL "Debug") + target_compile_options(wren PUBLIC -DDEBUG) +endif() + + +INSTALL (TARGETS wren + RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib +) + + +IF (NOT DEFINED SKIP_INSTALL_HEADERS) + INSTALL( + FILES + src/include/wren.h + src/include/wren.hpp + DESTINATION include + ) +ENDIF () diff --git a/ports/wren/CONTROL b/ports/wren/CONTROL new file mode 100644 index 000000000..7ea85e165 --- /dev/null +++ b/ports/wren/CONTROL @@ -0,0 +1,4 @@ +Source: wren +Version: 2019-07-01 +Homepage: https://github.com/wren-lang/wren +Description: Wren is a small, fast, class-based concurrent scripting language. diff --git a/ports/wren/portfile.cmake b/ports/wren/portfile.cmake new file mode 100644 index 000000000..dbd71b8df --- /dev/null +++ b/ports/wren/portfile.cmake @@ -0,0 +1,27 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO wren-lang/wren + REF d1a0d0682ac072fa20f2dcca356dac06565e93a1 + SHA512 d6b7555da10ea209d04308467563ec401f699a22ca8524e4ae65fd050b0403c5e70430047dbb6a883b8021ab50525c17bb63d76543e7c59dfe4b521cfde6c413 + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCOMPILE_AS_CPP=OFF +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +vcpkg_copy_pdbs() diff --git a/ports/wt/portfile.cmake b/ports/wt/portfile.cmake index 8fb8af205..bc39a7a64 100644 --- a/ports/wt/portfile.cmake +++ b/ports/wt/portfile.cmake @@ -41,9 +41,9 @@ vcpkg_configure_cmake( -DCMAKE_INSTALL_DIR=share ) -vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/wt) +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets() # There is no way to suppress installation of the headers and resource files in debug build. file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/wtl/CONTROL b/ports/wtl/CONTROL index 126b4d768..f5fb51483 100644 --- a/ports/wtl/CONTROL +++ b/ports/wtl/CONTROL @@ -1,6 +1,5 @@ Source: wtl -Maintainer: jfrederich@gmail.com -Version: 10.0-2 +Version: 10.0-4 Homepage: https://sourceforge.net/projects/wtl/ Description: Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. Build-Depends: diff --git a/ports/wtl/portfile.cmake b/ports/wtl/portfile.cmake index 85cbca6e6..81ae30bb5 100644 --- a/ports/wtl/portfile.cmake +++ b/ports/wtl/portfile.cmake @@ -1,16 +1,19 @@ -#header-only library include(vcpkg_common_functions) + vcpkg_download_distfile(ARCHIVE - URLS "https://downloads.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.8356/WTL10_8356.zip" - FILENAME "WTL10_8356.zip" - SHA512 4eb24151f4009cdfebc17f08312cae65d46c8ea205ccc7b56f14c46b54d28d8d4e6290de3150e558dc076d7815a9dde2a8952695f46f4402c83b0da2bf65f241 + URLS "https://downloads.sourceforge.net/project/wtl/WTL%2010/WTL%2010.0.9163/WTL10_9163.zip" + FILENAME "WTL10_9163.zip" + SHA512 feb7fb1c456e44ad05610f31f8c0f964eb6ce3eadf65a389219051f0ea2547069727666616622631cd90e25ea4a682a7c88c7089a374181870717246ad44e035 ) -vcpkg_extract_source_archive(${ARCHIVE}) -file(INSTALL ${CURRENT_BUILDTREES_DIR}/src/Include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/wtl FILES_MATCHING PATTERN "*.h") +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + NO_REMOVE_ONE_LEVEL +) -file(COPY ${CURRENT_BUILDTREES_DIR}/src/MS-PL.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wtl) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/wtl/MS-PL.txt ${CURRENT_PACKAGES_DIR}/share/wtl/copyright) +file(INSTALL ${SOURCE_PATH}/Include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/${PORT} FILES_MATCHING PATTERN "*.h") +file(COPY ${SOURCE_PATH}/Samples DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(COPY ${SOURCE_PATH}/AppWizard DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) -file(COPY ${CURRENT_BUILDTREES_DIR}/src/Samples DESTINATION ${CURRENT_PACKAGES_DIR}/share/wtl) -file(COPY ${CURRENT_BUILDTREES_DIR}/src/AppWizard DESTINATION ${CURRENT_PACKAGES_DIR}/share/wtl) +file(INSTALL ${SOURCE_PATH}/MS-PL.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) 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 + $ +) + +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/wxwidgets/CONTROL b/ports/wxwidgets/CONTROL index 542fdf327..e41e87222 100644 --- a/ports/wxwidgets/CONTROL +++ b/ports/wxwidgets/CONTROL @@ -1,5 +1,5 @@ Source: wxwidgets -Version: 3.1.2-1 +Version: 3.1.3 Homepage: https://github.com/wxWidgets/wxWidgets Description: wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. Build-Depends: zlib, libpng, tiff, expat diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake index 7319f9749..e2cb15df1 100644 --- a/ports/wxwidgets/portfile.cmake +++ b/ports/wxwidgets/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO wxWidgets/wxWidgets - REF v3.1.2 - SHA512 c6f8a6065e837e145633ddbd0e10910f32009900e1f7155abe0ef53b6fc83dceb9eaf6c56369d13b6526e4b8bd6073bbcbdb790d667c0dab381b67ec5d567f6f + REF v3.1.3 + SHA512 4ecb5c2d13f9bda7aa3c12e887c351a0004509ec24bdd440542bec67e1b6dca20e7838a01236a71dd3cf2e1ba0653c40878047f406464cb2c9ee07c26d6f2599 HEAD_REF master PATCHES disable-platform-lib-dir.patch ) @@ -13,6 +13,13 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(OPTIONS -DCOTIRE_MINIMUM_NUMBER_OF_TARGET_SOURCES=9999) endif() +if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm) + set(OPTIONS + -DwxUSE_OPENGL=OFF + -DwxUSE_STACKWALKER=OFF + ) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/x-plane/CONTROL b/ports/x-plane/CONTROL index a2b267ed0..c151e8719 100644 --- a/ports/x-plane/CONTROL +++ b/ports/x-plane/CONTROL @@ -1,3 +1,3 @@ Source: x-plane -Version: 3.0.1 -Description: The X-Plane Plugin SDK. \ No newline at end of file +Version: 3.0.1-1 +Description: The X-Plane Plugin SDK. diff --git a/ports/x-plane/portfile.cmake b/ports/x-plane/portfile.cmake index cfc5fedd3..78a8b4295 100644 --- a/ports/x-plane/portfile.cmake +++ b/ports/x-plane/portfile.cmake @@ -4,15 +4,15 @@ if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86) message(FATAL_ERROR "the x-plane SDK cannot be built for the x86 architecture") endif() -vcpkg_download_distfile( - OUT_SOURCE_PATH +vcpkg_download_distfile(ARCHIVE URLS http://developer.x-plane.com/wp-content/plugins/code-sample-generation/sample_templates/XPSDK301.zip FILENAME XPSDK301.zip SHA512 3044d606039be8230f35a5992d322d4c009b4056f8fb17e929a9f5c2204c084e2c83ddad10801b21727645ec957c8942b83938f81256ec3778dbe75df525e62a ) -vcpkg_extract_source_archive( - ${OUT_SOURCE_PATH} ${CURRENT_PACKAGES_DIR}/temp/ +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} ) file(MAKE_DIRECTORY @@ -20,24 +20,20 @@ file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib ) -file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/CHeaders/Widgets/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/CHeaders/Wrappers/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) -file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/CHeaders/XPLM/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${SOURCE_PATH}/CHeaders/Widgets/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${SOURCE_PATH}/CHeaders/Wrappers/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY ${SOURCE_PATH}/CHeaders/XPLM/ DESTINATION ${CURRENT_PACKAGES_DIR}/include) if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/Libraries/Win/XPLM_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/Libraries/Win/XPWidgets_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/Libraries/Win/XPLM_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) - file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/Libraries/Win/XPWidgets_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) + file(COPY ${SOURCE_PATH}/Libraries/Win/XPLM_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) + file(COPY ${SOURCE_PATH}/Libraries/Win/XPWidgets_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) + file(COPY ${SOURCE_PATH}/Libraries/Win/XPLM_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) + file(COPY ${SOURCE_PATH}/Libraries/Win/XPWidgets_64.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/Libraries/Mac/XPLM.framework/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/Libraries/Mac/XPWidgets.framework/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) - file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/Libraries/Mac/XPLM.framework/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) - file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/Libraries/Mac/XPWidgets.framework/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) + file(COPY ${SOURCE_PATH}/Libraries/Mac/XPLM.framework/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) + file(COPY ${SOURCE_PATH}/Libraries/Mac/XPWidgets.framework/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib/) + file(COPY ${SOURCE_PATH}/Libraries/Mac/XPLM.framework/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) + file(COPY ${SOURCE_PATH}/Libraries/Mac/XPWidgets.framework/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/) endif() -# Handle copyright -file(COPY ${CURRENT_PACKAGES_DIR}/temp/SDK/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/x-plane/) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/x-plane/license.txt ${CURRENT_PACKAGES_DIR}/share/x-plane/copyright) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/temp/) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/x-plane/ RENAME copyright) diff --git a/ports/x264/CONTROL b/ports/x264/CONTROL index ef3e80bcb..fe19e1b39 100644 --- a/ports/x264/CONTROL +++ b/ports/x264/CONTROL @@ -1,4 +1,4 @@ Source: x264 -Version: 157-303c484ec828ed0-2 +Version: 157-303c484ec828ed0-6 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 diff --git a/ports/x264/portfile.cmake b/ports/x264/portfile.cmake index 4dfb43683..ea72b2ad2 100644 --- a/ports/x264/portfile.cmake +++ b/ports/x264/portfile.cmake @@ -2,6 +2,10 @@ include(vcpkg_common_functions) set(X264_VERSION 157) +if (NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "x264 only support windows.") +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO mirror/x264 @@ -12,99 +16,21 @@ vcpkg_from_github( "uwp-cflags.patch" ) -# Acquire tools -vcpkg_acquire_msys(MSYS_ROOT PACKAGES make automake1.15) +vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + --enable-strip + --disable-lavf + --disable-swscale + --disable-avs + --disable-ffms + --disable-gpac + --disable-lsmash + --disable-asm + --enable-debug +) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86 OR VCPKG_TARGET_ARCHITECTURE STREQUAL x64) - vcpkg_find_acquire_program(NASM) - get_filename_component(NASM_EXE_PATH ${NASM} DIRECTORY) - set(ENV{PATH} "$ENV{PATH};${NASM_EXE_PATH}") -endif() - -# Insert msys into the path between the compiler toolset and windows system32. This prevents masking of "link.exe" but DOES mask "find.exe". -string(REPLACE ";$ENV{SystemRoot}\\system32;" ";${MSYS_ROOT}/usr/bin;$ENV{SystemRoot}\\system32;" NEWPATH "$ENV{PATH}") -set(ENV{PATH} "${NEWPATH}") -set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) - -set(AUTOMAKE_DIR ${MSYS_ROOT}/usr/share/automake-1.15) -#file(COPY ${AUTOMAKE_DIR}/config.guess ${AUTOMAKE_DIR}/config.sub DESTINATION ${SOURCE_PATH}/source) - -set(CONFIGURE_OPTIONS "--host=i686-pc-mingw32 --enable-strip --disable-lavf --disable-swscale --disable-avs --disable-ffms --disable-gpac --disable-lsmash") - -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x86 AND NOT VCPKG_TARGET_ARCHITECTURE STREQUAL x64) - set(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --disable-asm") -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --enable-shared") - if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib") - endif() -else() - set(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --enable-static") -endif() - -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\") - set(CONFIGURE_OPTIONS "${CONFIGURE_OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00") -endif() - -set(CONFIGURE_OPTIONS_RELEASE "--prefix=${CURRENT_PACKAGES_DIR}") -set(CONFIGURE_OPTIONS_DEBUG "--enable-debug --prefix=${CURRENT_PACKAGES_DIR}/debug") - -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(X264_RUNTIME "-MT") -else() - set(X264_RUNTIME "-MD") -endif() - -# Configure release -message(STATUS "Configuring ${TARGET_TRIPLET}-rel") -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) -set(ENV{CFLAGS} "${X264_RUNTIME} -O2 -Oi -Zi") -set(ENV{CXXFLAGS} "${X264_RUNTIME} -O2 -Oi -Zi") -set(ENV{LDFLAGS} "-DEBUG -INCREMENTAL:NO -OPT:REF -OPT:ICF") -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c - "CC=cl ${SOURCE_PATH}/configure ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_RELEASE}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - LOGNAME "configure-${TARGET_TRIPLET}-rel") -message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") - -# Configure debug -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) -set(ENV{CFLAGS} "${X264_RUNTIME}d -Od -Zi -RTC1") -set(ENV{CXXFLAGS} "${X264_RUNTIME}d -Od -Zi -RTC1") -set(ENV{LDFLAGS} "-DEBUG") -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c - "CC=cl ${SOURCE_PATH}/configure ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEBUG}" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" - LOGNAME "configure-${TARGET_TRIPLET}-dbg") -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") - -unset(ENV{CFLAGS}) -unset(ENV{CXXFLAGS}) -unset(ENV{LDFLAGS}) - -# Build release -message(STATUS "Package ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c "make && make install" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" - LOGNAME "build-${TARGET_TRIPLET}-rel") -message(STATUS "Package ${TARGET_TRIPLET}-rel done") - -# Build debug -message(STATUS "Package ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${BASH} --noprofile --norc -c "make && make install" - WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" - LOGNAME "build-${TARGET_TRIPLET}-dbg") -message(STATUS "Package ${TARGET_TRIPLET}-dbg done") +vcpkg_install_make() if(NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/x264) diff --git a/ports/x265/CONTROL b/ports/x265/CONTROL index fcfb78170..0ed00a54d 100644 --- a/ports/x265/CONTROL +++ b/ports/x265/CONTROL @@ -1,4 +1,4 @@ Source: x265 -Version: 3.0-1 +Version: 3.2-1 Homepage: https://bitbucket.org/multicoreware/x265 Description: x265 is a H.265 / HEVC video encoder application library, designed to encode video or images into an H.265 / HEVC encoded bitstream. diff --git a/ports/x265/disable-install-pdb.patch b/ports/x265/disable-install-pdb.patch index 4d57d764b..6826fe855 100644 --- a/ports/x265/disable-install-pdb.patch +++ b/ports/x265/disable-install-pdb.patch @@ -2,7 +2,7 @@ diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 33b6523..06e3193 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt -@@ -559,13 +559,13 @@ endif() +@@ -580,13 +580,13 @@ endif() install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include) if((WIN32 AND ENABLE_CLI) OR (WIN32 AND ENABLE_SHARED)) if(MSVC_IDE) diff --git a/ports/x265/portfile.cmake b/ports/x265/portfile.cmake index 987e72246..08a34eee1 100644 --- a/ports/x265/portfile.cmake +++ b/ports/x265/portfile.cmake @@ -3,14 +3,11 @@ include(vcpkg_common_functions) vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO multicoreware/x265 - REF 3.0 - SHA512 698fd31bf30c65896717225de69714523bcbd3d835474f777bf32c3a6d6dbbf941a09db076e13e76917a5ca014c89fca924fcb0ea3d15bc09748b6fc834a4ba2 + REF 3.2 + SHA512 e98e26a9d3c2eb7f147ba052d9d8009e1c47e54905375b29e813f33ffddf8b7fac55ea455ae6d28ed1ade2d90f887c7cafe374873cd48b6c5e2560ddd21ccb84 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/disable-install-pdb.patch + PATCHES + disable-install-pdb.patch ) set(ENABLE_ASSEMBLY OFF) diff --git a/ports/xalan-c/0001-ALLOW_RTCc_IN_STL.patch b/ports/xalan-c/0001-ALLOW_RTCc_IN_STL.patch deleted file mode 100644 index a01096b0d..000000000 --- a/ports/xalan-c/0001-ALLOW_RTCc_IN_STL.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff --git a/c/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj b/c/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj -index 5a9d6a0..a0d12e8 100644 ---- a/c/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj -+++ b/c/Projects/Win32/VC10/AllInOne/AllInOne.vcxproj -@@ -159,7 +159,7 @@ - - Disabled - $(XERCESCROOT)\include;$(XERCESCROOT)\src;..\..\..\..\src\;$(OutDir)Nls\Include;%(AdditionalIncludeDirectories) -- XALAN_BUILD_DLL;XALAN_INMEM_MSG_LOADER;%(PreprocessorDefinitions) -+ _ALLOW_RTCc_IN_STL;XALAN_BUILD_DLL;XALAN_INMEM_MSG_LOADER;%(PreprocessorDefinitions) - true - true - EnableFastChecks -@@ -197,7 +197,7 @@ - - Disabled - $(XERCESCROOT)\include;$(XERCESCROOT)\src;..\..\..\..\src\;$(OutDir)Nls\Include;%(AdditionalIncludeDirectories) -- XALAN_BUILD_DLL;XALAN_INMEM_MSG_LOADER;%(PreprocessorDefinitions) -+ _ALLOW_RTCc_IN_STL;XALAN_BUILD_DLL;XALAN_INMEM_MSG_LOADER;%(PreprocessorDefinitions) - true - true - EnableFastChecks -diff --git a/c/Projects/Win32/VC10/Utils/MsgCreator/MsgCreator.vcxproj b/c/Projects/Win32/VC10/Utils/MsgCreator/MsgCreator.vcxproj -index 27958b5..9f7767b 100644 ---- a/c/Projects/Win32/VC10/Utils/MsgCreator/MsgCreator.vcxproj -+++ b/c/Projects/Win32/VC10/Utils/MsgCreator/MsgCreator.vcxproj -@@ -159,6 +159,7 @@ - - Disabled - $(XERCESCROOT)\include;$(XERCESCROOT)\src;..\..\..\..\..\src;%(AdditionalIncludeDirectories) -+ _ALLOW_RTCc_IN_STL;%(PreprocessorDefinitions) - true - true - EnableFastChecks -@@ -191,7 +192,7 @@ - - Disabled - $(XERCESCROOT)\include;$(XERCESCROOT)\src;..\..\..\..\..\src;%(AdditionalIncludeDirectories) -- %(PreprocessorDefinitions) -+ _ALLOW_RTCc_IN_STL;%(PreprocessorDefinitions) - true - true - EnableFastChecks -diff --git a/c/Projects/Win32/VC10/Utils/XalanMsgLib/XalanMsgLib.vcxproj b/c/Projects/Win32/VC10/Utils/XalanMsgLib/XalanMsgLib.vcxproj -index facbbc1..53b83a8 100644 ---- a/c/Projects/Win32/VC10/Utils/XalanMsgLib/XalanMsgLib.vcxproj -+++ b/c/Projects/Win32/VC10/Utils/XalanMsgLib/XalanMsgLib.vcxproj -@@ -144,7 +144,7 @@ - Disabled - false - $(XERCESCROOT)\include;$(XERCESCROOT)\src;..\..\..\..\..\src;$(OutDir)Nls\Include;%(AdditionalIncludeDirectories) -- XALAN_XALANMSGLIB_BUILD_DLL;%(PreprocessorDefinitions) -+ _ALLOW_RTCc_IN_STL;XALAN_XALANMSGLIB_BUILD_DLL;%(PreprocessorDefinitions) - true - EnableFastChecks - true -@@ -170,7 +170,7 @@ - Disabled - false - $(XERCESCROOT)\include;$(XERCESCROOT)\src;..\..\..\..\..\src;$(OutDir)Nls\Include;%(AdditionalIncludeDirectories) -- XALAN_XALANMSGLIB_BUILD_DLL;%(PreprocessorDefinitions) -+ _ALLOW_RTCc_IN_STL;XALAN_XALANMSGLIB_BUILD_DLL;%(PreprocessorDefinitions) - true - EnableFastChecks - true diff --git a/ports/xalan-c/0002-no-mfc.patch b/ports/xalan-c/0002-no-mfc.patch deleted file mode 100644 index 3935251f5..000000000 --- a/ports/xalan-c/0002-no-mfc.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -urN a/c/Projects/Win32/Res/AllInOne/AllInOne.rc b/c/Projects/Win32/Res/AllInOne/AllInOne.rc ---- a/c/Projects/Win32/Res/AllInOne/AllInOne.rc 2012-03-19 16:18:11.000000000 +0000 -+++ b/c/Projects/Win32/Res/AllInOne/AllInOne.rc 2018-09-07 16:08:59.871434376 +0100 -@@ -7,7 +7,7 @@ - // - // Generated from the TEXTINCLUDE 2 resource. - // --#include "afxres.h" -+#include "windows.h" - - - ///////////////////////////////////////////////////////////////////////////// -@@ -75,7 +75,7 @@ - - 2 TEXTINCLUDE - BEGIN -- "#include ""afxres.h""\r\n" -+ "#include ""windows.h""\r\n" - "\r\n" - "\0" - END diff --git a/ports/xalan-c/0003-char16_t.patch b/ports/xalan-c/0003-char16_t.patch deleted file mode 100644 index e8ed83bb0..000000000 --- a/ports/xalan-c/0003-char16_t.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -urN a/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp b/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp ---- a/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp 2012-03-19 16:18:10.000000000 +0000 -+++ b/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp 2018-09-07 16:08:39.207316486 +0100 -@@ -84,7 +84,7 @@ - const XalanDOMChar* - getName() const - { -- return name; -+ return const_cast(reinterpret_cast(&name[0])); - } - - /** -@@ -261,7 +261,7 @@ - #pragma warning(disable: 4244) - theHandleType theSearchHandle = - _wfindfirst( -- const_cast(theConversionFunction(theFullSearchSpec)), -+ reinterpret_cast(const_cast(theConversionFunction(theFullSearchSpec))), - &theFindData); - #pragma warning(pop) - -diff -urN a/c/src/xalanc/PlatformSupport/DOMStringHelper.cpp b/c/src/xalanc/PlatformSupport/DOMStringHelper.cpp ---- a/c/src/xalanc/PlatformSupport/DOMStringHelper.cpp 2012-03-19 16:18:10.000000000 +0000 -+++ b/c/src/xalanc/PlatformSupport/DOMStringHelper.cpp 2018-09-07 16:08:39.207316486 +0100 -@@ -868,7 +868,7 @@ - const XalanDOMChar* theRHS) - { - #if defined(XALAN_USE_WINDOWS_COLLATION) -- return _wcscoll_l(theLHS, theRHS, s_locale); -+ return _wcscoll_l(reinterpret_cast(theLHS), reinterpret_cast(theRHS), s_locale); - #else - return doCollationCompare( - theLHS, -diff -urN a/c/src/xalanc/PlatformSupport/XalanFileOutputStream.cpp b/c/src/xalanc/PlatformSupport/XalanFileOutputStream.cpp ---- a/c/src/xalanc/PlatformSupport/XalanFileOutputStream.cpp 2012-03-19 16:18:10.000000000 +0000 -+++ b/c/src/xalanc/PlatformSupport/XalanFileOutputStream.cpp 2018-09-07 16:08:39.207316486 +0100 -@@ -123,7 +123,7 @@ - - #if defined(XALAN_WINDOWS) - HandleType theFileHandle = CreateFileW( -- theFileName.c_str(), -+ reinterpret_cast(theFileName.c_str()), - GENERIC_WRITE, - 0, - 0, diff --git a/ports/xalan-c/0004-macosx-dyld-fallback.patch b/ports/xalan-c/0004-macosx-dyld-fallback.patch deleted file mode 100644 index db0871698..000000000 --- a/ports/xalan-c/0004-macosx-dyld-fallback.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN a/c/Makefile.incl.in b/c/Makefile.incl.in ---- a/c/Makefile.incl.in 2012-10-14 21:54:01.000000000 +0100 -+++ b/c/Makefile.incl.in 2018-09-07 16:08:15.559182228 +0100 -@@ -598,7 +598,7 @@ - MAKE_SHARED = ${CXX} $(CXXFLAGS) -D${PLATFORM} -dynamiclib -prebind -seg1addr 0x38000000 -compatibility_version 1 -current_version $(LIB_MAJOR_DOT_VER) -install_name ${LINK_NAME} ${LDFLAGS} - LINK = ${CXX} $(CXXFLAGS) ${PLATFORM_COMPILE_OPTIONS} ${LDFLAGS} - -- export DYLD_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(DYLD_LIBRARY_PATH) -+ export DYLD_FALLBACK_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICULIB_LOC):$(DYLD_FALLBACK_LIBRARY_PATH) - LOC_LIB = ${LOC_LIBNAME}.${LIB_MAJOR_VER}.${LIB_MINOR_VER}$(SHLIBSUFFIX) - LOC_SONAME = ${LOC_LIBNAME}.${LIB_MAJOR_VER}${SHLIBSUFFIX} - MAKE_SHARED_LOC= ${CXX} $(CXXFLAGS) -D${PLATFORM} -dynamiclib -prebind -seg1addr 0x40000000 -compatibility_version 1 -current_version $(LIB_MAJOR_DOT_VER) -install_name ${LOC_LIBNAME}${SHLIBSUFFIX} ${LDFLAGS} diff --git a/ports/xalan-c/0005-fix-ftbfs-ld-as-needed.patch b/ports/xalan-c/0005-fix-ftbfs-ld-as-needed.patch deleted file mode 100644 index 434877214..000000000 --- a/ports/xalan-c/0005-fix-ftbfs-ld-as-needed.patch +++ /dev/null @@ -1,186 +0,0 @@ -diff -urN a/c/samples/Makefile.in b/c/samples/Makefile.in ---- a/c/samples/Makefile.in 2012-03-19 16:18:12.000000000 +0000 -+++ b/c/samples/Makefile.in 2018-09-07 16:07:59.063089005 +0100 -@@ -88,7 +88,7 @@ - - $(XSL_LIB_DIR)/mod_xslt$(SHLIBSUFFIX) : $(XSL_OBJ_DIR)/mod_xslt.o - $(MAKE_SHARED) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/ApacheModuleXSLT/%.c - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) -I/usr/include/apache/ $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -96,7 +96,7 @@ - - $(XSL_BIN_DIR)/CompileStylesheet: $(XSL_OBJ_DIR)/CompileStylesheet.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/CompileStylesheet/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -104,7 +104,7 @@ - - $(XSL_BIN_DIR)/DocumentBuilder: $(XSL_OBJ_DIR)/DocumentBuilder.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/DocumentBuilder/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -112,7 +112,7 @@ - - $(XSL_BIN_DIR)/EntityResolver: $(XSL_OBJ_DIR)/EntityResolver.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/EntityResolver/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -120,7 +120,7 @@ - - $(XSL_BIN_DIR)/ExternalFunction: $(XSL_OBJ_DIR)/ExternalFunction.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/ExternalFunction/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -128,7 +128,7 @@ - - $(XSL_BIN_DIR)/ParsedSourceWrappers: $(XSL_OBJ_DIR)/ParsedSourceWrappers.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/ParsedSourceWrappers/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -136,7 +136,7 @@ - - $(XSL_BIN_DIR)/SerializeNodeSet: $(XSL_OBJ_DIR)/SerializeNodeSet.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/SerializeNodeSet/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -144,7 +144,7 @@ - - $(XSL_BIN_DIR)/SimpleTransform: $(XSL_OBJ_DIR)/SimpleTransform.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/SimpleTransform/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -152,7 +152,7 @@ - - $(XSL_BIN_DIR)/SimpleXPathAPI: $(XSL_OBJ_DIR)/SimpleXPathAPI.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/SimpleXPathAPI/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -160,7 +160,7 @@ - - $(XSL_BIN_DIR)/SimpleXPathCAPI: $(XSL_OBJ_DIR)/SimpleXPathCAPI.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/SimpleXPathCAPI/%.c - $(CC4) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -168,7 +168,7 @@ - - $(XSL_BIN_DIR)/StreamTransform: $(XSL_OBJ_DIR)/StreamTransform.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/StreamTransform/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -176,7 +176,7 @@ - - $(XSL_BIN_DIR)/TraceListen: $(XSL_OBJ_DIR)/TraceListen.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/TraceListen/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -184,7 +184,7 @@ - - $(XSL_BIN_DIR)/TransformToXercesDOM: $(XSL_OBJ_DIR)/TransformToXercesDOM.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/TransformToXercesDOM/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -192,7 +192,7 @@ - - $(XSL_BIN_DIR)/UseStylesheetParam: $(XSL_OBJ_DIR)/UseStylesheetParam.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/UseStylesheetParam/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -200,7 +200,7 @@ - - $(XSL_BIN_DIR)/XalanTransform: $(XSL_OBJ_DIR)/XalanTransform.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/XalanTransform/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -208,7 +208,7 @@ - - $(XSL_BIN_DIR)/XalanTransformerCallback: $(XSL_OBJ_DIR)/XalanTransformerCallback.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/XalanTransformerCallback/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -216,7 +216,7 @@ - - $(XSL_BIN_DIR)/ThreadSafe: $(XSL_OBJ_DIR)/ThreadSafe.o - $(LINK) $(XSL_BUILD_OPTIONS) $(PLATFORM_LIB_LINK_OPTIONS) \ -- $(EXTRA_LINK_OPTIONS) $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ $(EXTRA_LINK_OPTIONS) $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - $(XSL_OBJ_DIR)/%.o:$(SAMPLES_DIR)/ThreadSafe/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -diff -urN a/c/Tests/Makefile.in b/c/Tests/Makefile.in ---- a/c/Tests/Makefile.in 2012-03-19 16:18:12.000000000 +0000 -+++ b/c/Tests/Makefile.in 2018-09-07 16:07:59.063089005 +0100 -@@ -62,7 +62,7 @@ - - $(XSL_BIN_DIR)/ThreadTest: ${XSL_OBJ_DIR}/ThreadTest.o - ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ -- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ ${EXTRA_LINK_OPTIONS} $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Threads/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -70,7 +70,7 @@ - - $(XSL_BIN_DIR)/Conf: ${XSL_OBJ_DIR}/conf.o - ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ -- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ ${EXTRA_LINK_OPTIONS} $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Conf/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< - -@@ -92,7 +92,7 @@ - - $(XSL_BIN_DIR)/Perf: $(PERF_OBJECTS) - ${LINK} $(XSL_BUILD_OPTIONS) ${PLATFORM_LIB_LINK_OPTIONS} \ -- ${EXTRA_LINK_OPTIONS} $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) $^ -o $@ $(OTHER_LINK_PARAMETERS) -+ ${EXTRA_LINK_OPTIONS} $^ $(XALAN_LIB) $(ALLLIBS) $(CXXFLAGS) -o $@ $(OTHER_LINK_PARAMETERS) - - ${XSL_OBJ_DIR}/%.o:$(TESTS_DIR)/Performance/%.cpp - $(CC1) $(XSL_BUILD_OPTIONS) -c $(XSL_INCL) $(EXTRA_COMPILE_OPTIONS) -o $@ $< diff --git a/ports/xalan-c/0006-fix-testxslt-segfault.patch b/ports/xalan-c/0006-fix-testxslt-segfault.patch deleted file mode 100644 index b8f9b09ab..000000000 --- a/ports/xalan-c/0006-fix-testxslt-segfault.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN a/c/src/xalanc/PlatformSupport/XalanLocator.hpp b/c/src/xalanc/PlatformSupport/XalanLocator.hpp ---- a/c/src/xalanc/PlatformSupport/XalanLocator.hpp 2012-09-27 07:59:33.000000000 +0100 -+++ b/c/src/xalanc/PlatformSupport/XalanLocator.hpp 2018-09-07 16:07:11.070819930 +0100 -@@ -91,7 +91,7 @@ - const XalanDOMChar* theAlternateId = getEmptyPtr()) - { - return theLocator == 0 ? theAlternateId : (theLocator->getSystemId() ? -- theLocator->getPublicId() : theAlternateId); -+ theLocator->getSystemId() : theAlternateId); - } - - /** diff --git a/ports/xalan-c/0007-fix-readme-typos.patch b/ports/xalan-c/0007-fix-readme-typos.patch deleted file mode 100644 index e97d16749..000000000 --- a/ports/xalan-c/0007-fix-readme-typos.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -urN a/c/README b/c/README ---- a/c/README 2012-10-13 05:52:45.000000000 +0100 -+++ b/c/README 2018-09-07 16:06:24.602562653 +0100 -@@ -3,7 +3,7 @@ - - Project Description: - The Apache Xalan C/C++ Project provides a library and a -- comand line program to transform XML documents using a -+ command line program to transform XML documents using a - stylesheet that conforms to XSLT 1.0 standards. - - The source package contains all the code to create the library, -@@ -84,7 +84,7 @@ - XalanMessages_1_11.exp - Windows DLL export definitions - XalanMessages_1_11.lib - Windows DLL library definitions - XalanMessages_1_11D.exp - Windows DLL export definitions -- XalanMessages_1_11D.lib - Windows DLL library defnitions -+ XalanMessages_1_11D.lib - Windows DLL library definitions - - SUPPORTED PLATFORMS: - - This is only a partial list diff --git a/ports/xalan-c/CONTROL b/ports/xalan-c/CONTROL index 06ab8967d..b87743cc3 100644 --- a/ports/xalan-c/CONTROL +++ b/ports/xalan-c/CONTROL @@ -1,5 +1,5 @@ Source: xalan-c -Version: 1.11-5 -Homepage: https://www-us.apache.org/dist/xalan/xalan-c/ +Version: 1.11-9 +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-missing-dll-error.patch b/ports/xalan-c/fix-missing-dll-error.patch new file mode 100644 index 000000000..db49a2be6 --- /dev/null +++ b/ports/xalan-c/fix-missing-dll-error.patch @@ -0,0 +1,48 @@ +diff --git a/src/xalanc/Utils/CMakeLists.txt b/src/xalanc/Utils/CMakeLists.txt +index dc39ad0..2d78685 100644 +--- a/src/xalanc/Utils/CMakeLists.txt ++++ b/src/xalanc/Utils/CMakeLists.txt +@@ -40,6 +40,13 @@ set(SUPPORTMSGINDEX "${GEN_SUPPORTDIR}/LocalMsgIndex.hpp") + add_custom_target(locale ALL) + set_target_properties(locale PROPERTIES FOLDER "Message Library") + ++# workaround for case of missing xerces-c dll ++if(EXISTS ${XercesC_INCLUDE_DIR}/../bin) ++ set(MsgCreator_WD $/../bin) ++else() ++ set(MsgCreator_WD "${XSL_NLS_GEN_DIR}") ++endif() ++ + if(msgloader STREQUAL "inmemory") + add_custom_command( + OUTPUT "${GENMSGINDEX}" +@@ -48,7 +55,8 @@ if(msgloader STREQUAL "inmemory") + "${XLIFF_FILE_NAME}" + -TYPE inmem + -LOCALE ${LOCALE} +- WORKING_DIRECTORY "${XSL_NLS_GEN_DIR}" ++ -OUTDIR "${XSL_NLS_GEN_DIR}" ++ WORKING_DIRECTORY "${MsgCreator_WD}" + COMMENT "Generating inmemory locale message data" + DEPENDS MsgCreator "${XLIFF_FILE_NAME}") + +@@ -92,7 +100,8 @@ if(msgloader STREQUAL "icu") + "${XLIFF_FILE_NAME}" + -TYPE icu + -LOCALE ${LOCALE} +- WORKING_DIRECTORY "${XSL_NLS_GEN_DIR}" ++ -OUTDIR "${XSL_NLS_GEN_DIR}" ++ WORKING_DIRECTORY "${MsgCreator_WD}" + COMMENT "Generating ICU locale message data" + DEPENDS MsgCreator "${XLIFF_FILE_NAME}") + +@@ -141,7 +150,8 @@ if(msgloader STREQUAL "nls") + "${XLIFF_FILE_NAME}" + -TYPE nls + -LOCALE ${LOCALE} +- WORKING_DIRECTORY "${XSL_NLS_GEN_DIR}" ++ -OUTDIR "${XSL_NLS_GEN_DIR}" ++ WORKING_DIRECTORY "${MsgCreator_WD}" + COMMENT "Generating nls locale message data" + DEPENDS MsgCreator "${XLIFF_FILE_NAME}") + diff --git a/ports/xalan-c/fix-win-deprecated-err.patch b/ports/xalan-c/fix-win-deprecated-err.patch new file mode 100644 index 000000000..1484f4e27 --- /dev/null +++ b/ports/xalan-c/fix-win-deprecated-err.patch @@ -0,0 +1,15 @@ +diff --git a/src/xalanc/Utils/MsgCreator/CMakeLists.txt b/src/xalanc/Utils/MsgCreator/CMakeLists.txt +index 20215d4..dc74c1b 100644 +--- a/src/xalanc/Utils/MsgCreator/CMakeLists.txt ++++ b/src/xalanc/Utils/MsgCreator/CMakeLists.txt +@@ -37,6 +37,10 @@ set(msgcreator_headers + NLSHandler.hpp + SAX2Handler.hpp) + ++if(MSVC) ++ add_definitions(-D_CRT_SECURE_NO_WARNINGS=1) ++endif() ++ + add_executable(MsgCreator ${msgcreator_sources} ${msgcreator_headers}) + target_include_directories(MsgCreator PUBLIC + $ diff --git a/ports/xalan-c/portfile.cmake b/ports/xalan-c/portfile.cmake index afd1b38bc..0771f0783 100644 --- a/ports/xalan-c/portfile.cmake +++ b/ports/xalan-c/portfile.cmake @@ -1,81 +1,42 @@ include(vcpkg_common_functions) -string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) -if(BUILDTREES_PATH_LENGTH GREATER 37 AND CMAKE_HOST_WIN32) - message(WARNING "Xalan-c's buildsystem uses very long paths and may fail on your system.\n" - "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." - ) -endif() - -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT) - -set(XALANC_VERSION 1.11) - -vcpkg_download_distfile(ARCHIVE - URLS "http://www-us.apache.org/dist/xalan/xalan-c/sources/xalan_c-${XALANC_VERSION}-src.zip" - FILENAME "xalan_c-${XALANC_VERSION}-src.zip" - SHA512 2e79a2c8f755c9660ffc94b26b6bd4b140685e05a88d8e5abb19a2f271383a3f2f398b173ef403f65dc33af75206214bd21ac012c39b4c0051b3a9f61f642fe6 -) - -vcpkg_download_distfile(XALAN_PATCH8 - URLS "https://github.com/rleigh-codelibre/vcpkg-patches/raw/ca09d69280469ce8f787c67b48f86e46a463ef5d/xalan-c/0008-remove-unary-binary-function.patch" - FILENAME "0008-remove-unary-binary-function.patch" - SHA512 059d9a39b29125ae770369e4c44ab7804ae16d4ff5c90e35f25b7990dc987161bf1187ceb2dcbab181ffb72490a9d9f45e30ab5928644734e7627cb74b03e201 -) - -vcpkg_download_distfile(XALAN_PATCH9 - URLS "https://raw.githubusercontent.com/rleigh-codelibre/vcpkg-patches/ca09d69280469ce8f787c67b48f86e46a463ef5d/xalan-c/0009-remove-select-workaround.patch" - FILENAME "0009-remove-select-workaround.patch" - SHA512 73730736cd1f1809ebcc35562017402d606cbfd5a64665d104a21d89d679ab3274f6f5685ab63305c57fffab74e62084c0e18c76d19eb5f9c2e36be6679fd4d3 -) - -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${XALANC_VERSION} + REPO apache/xalan-c + REF 177da75646a80fae2c22a315c0d987a5eadba143 + SHA512 e0f095b7031394c39c8e0fdca1f820c4222466f8c6e9df7bc40a21f9ca0e9291b7b6cdfb0a2d67db275ae97d7a7cdd447637102639e74716f0fb23a946b30ebe PATCHES - 0001-ALLOW_RTCc_IN_STL.patch - 0002-no-mfc.patch - 0003-char16_t.patch - 0004-macosx-dyld-fallback.patch - 0005-fix-ftbfs-ld-as-needed.patch - 0006-fix-testxslt-segfault.patch - 0007-fix-readme-typos.patch - ${XALAN_PATCH8} - ${XALAN_PATCH9} + fix-win-deprecated-err.patch + fix-missing-dll-error.patch ) -if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") -elseif (VCPKG_TARGET_ARCHITECTURE MATCHES "x64") -else() - message(FATAL_ERROR "Unsupported architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() - -set(ENV{CL} "$ENV{CL} \"/I${CURRENT_INSTALLED_DIR}/include\"") -set(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin;${CURRENT_INSTALLED_DIR}/debug/bin") - -vcpkg_install_msbuild( +vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - PROJECT_SUBPATH c/projects/Win32/VC10/AllInOne/AllInOne.vcxproj - OPTIONS_RELEASE /p:XERCESCROOT=${CURRENT_INSTALLED_DIR} - OPTIONS_DEBUG /p:XERCESCROOT=${CURRENT_INSTALLED_DIR}/debug - LICENSE_SUBPATH c/LICENSE - SKIP_CLEAN + PREFER_NINJA ) -file(COPY ${SOURCE_PATH}/c/src/xalanc DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN *.hpp) +vcpkg_install_cmake() -# LocalMsgIndex.hpp and LocalMsgData.hpp are here -file(GLOB NLS_INCLUDES "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/c/Build/*/VC10/Release/Nls/Include/*.hpp") -if(NOT NLS_INCLUDES) - message(FATAL_ERROR "Could not locate LocalMsgIndex.hpp") +if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/xalanc) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XalanC TARGET_PATH share/xalanc) endif() -file(COPY ${NLS_INCLUDES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/xalanc/PlatformSupport) -vcpkg_clean_msbuild() +# cleanup +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/share +) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/xalanc/NLS) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/xalanc/util/MsgLoaders/ICU/resources) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/xalanc/TestXSLT) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/xalanc/XalanExe) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/xalanc/XPathCAPI) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +else() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/Xalan.exe ${CURRENT_PACKAGES_DIR}/debug/bin/Xalan.exe) +endif() + +# Handle copyright +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/xalan-c) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/xalan-c/LICENSE ${CURRENT_PACKAGES_DIR}/share/xalan-c/copyright) + +vcpkg_copy_pdbs() diff --git a/ports/xerces-c/CONTROL b/ports/xerces-c/CONTROL index 2fde766e1..6a7b0d216 100644 --- a/ports/xerces-c/CONTROL +++ b/ports/xerces-c/CONTROL @@ -1,5 +1,5 @@ Source: xerces-c -Version: 3.2.2-9 +Version: 3.2.2-11 Homepage: https://github.com/apache/xerces-c Description: Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. diff --git a/ports/xerces-c/no-symlinks-in-static-build.patch b/ports/xerces-c/no-symlinks-in-static-build.patch new file mode 100644 index 000000000..34bd732d3 --- /dev/null +++ b/ports/xerces-c/no-symlinks-in-static-build.patch @@ -0,0 +1,31 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index c29aa25..3106d77 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1285,15 +1285,17 @@ if(MSVC) + set_target_properties(xerces-c PROPERTIES RUNTIME_OUTPUT_NAME "xerces-c_${INTERFACE_VERSION_U}") + set_target_properties(xerces-c PROPERTIES DEBUG_POSTFIX "D") + elseif(UNIX) +- # For strict libtool compatibility on Unix. It's a horrible hack to +- # set the version in the filename, and create the symlink at install +- # time. Note: could be dropped when the SONAME is updated and +- # libtool compatibility is no longer required. +- set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") +- file(GENERATE +- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" +- CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c.so\")") +- install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") ++ if(BUILD_SHARED_LIBS) ++ # For strict libtool compatibility on Unix. It's a horrible hack to ++ # set the version in the filename, and create the symlink at install ++ # time. Note: could be dropped when the SONAME is updated and ++ # libtool compatibility is no longer required. ++ set_target_properties(xerces-c PROPERTIES OUTPUT_NAME "xerces-c-${INTERFACE_VERSION_D}") ++ file(GENERATE ++ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake" ++ CONTENT "execute_process(COMMAND ln -sf \"$\" \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LIBDIR}/libxerces-c.so\")") ++ install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/InstallLibrarySymlink.cmake") ++ endif() + else() + # Not used for the common cases, though this would be the default if + # not for libtool compatibility. diff --git a/ports/xerces-c/portfile.cmake b/ports/xerces-c/portfile.cmake index ad3c6d79e..214cf971b 100644 --- a/ports/xerces-c/portfile.cmake +++ b/ports/xerces-c/portfile.cmake @@ -6,7 +6,10 @@ vcpkg_from_github( REF Xerces-C_3_2_2 SHA512 66f60fe9194376ac0ca99d13ea5bce23ada86e0261dde30686c21ceb5499e754dab8eb0a98adadd83522bda62709377715501f6dac49763e3a686f9171cc63ea HEAD_REF trunk - PATCHES disable-tests.patch + PATCHES + disable-tests.patch + remove-dll-export-macro.patch + no-symlinks-in-static-build.patch ) set(DISABLE_ICU ON) @@ -25,6 +28,7 @@ vcpkg_configure_cmake( -DDISABLE_DOC=ON -DDISABLE_SAMPLES=ON -DCMAKE_DISABLE_FIND_PACKAGE_ICU=${DISABLE_ICU} + -DCMAKE_DISABLE_FIND_PACKAGE_CURL=ON ${XMLCHTYPE} ) diff --git a/ports/xerces-c/remove-dll-export-macro.patch b/ports/xerces-c/remove-dll-export-macro.patch new file mode 100644 index 000000000..f6f0e6975 --- /dev/null +++ b/ports/xerces-c/remove-dll-export-macro.patch @@ -0,0 +1,27 @@ +diff --git a/src/xercesc/util/XercesDefs.hpp b/src/xercesc/util/XercesDefs.hpp +index 8071260..cd6bd68 100644 +--- a/src/xercesc/util/XercesDefs.hpp ++++ b/src/xercesc/util/XercesDefs.hpp +@@ -133,7 +133,7 @@ typedef XMLUInt32 UCS4Ch; + // The DLL_EXPORT flag should be defined on the command line during the build of a DLL + // configure conspires to make this happen. + +-#if defined(DLL_EXPORT) ++#if defined(XERCES_DLL_EXPORT) + #if defined(XERCES_BUILDING_LIBRARY) + #define XMLUTIL_EXPORT XERCES_PLATFORM_EXPORT + #define XMLPARSER_EXPORT XERCES_PLATFORM_EXPORT +diff --git a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in +index e849e08..69fe3bf 100644 +--- a/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in ++++ b/src/xercesc/util/Xerces_autoconf_config.hpp.cmake.in +@@ -85,9 +85,6 @@ + #define XERCES_PLATFORM_EXPORT @XERCES_PLATFORM_EXPORT@ + #define XERCES_PLATFORM_IMPORT @XERCES_PLATFORM_IMPORT@ + #define XERCES_TEMPLATE_EXTERN @XERCES_TEMPLATE_EXTERN@ +-#ifdef XERCES_DLL_EXPORT +-# define DLL_EXPORT +-#endif + + // --------------------------------------------------------------------------- + // Include standard headers, if available, that we may rely on below. diff --git a/ports/xeus/CONTROL b/ports/xeus/CONTROL index c85f193c3..931136ae4 100644 --- a/ports/xeus/CONTROL +++ b/ports/xeus/CONTROL @@ -1,4 +1,4 @@ Source: xeus -Version: 0.19.2 +Version: 0.20.0 Description: C++ implementation of the Jupyter kernel protocol Build-Depends: cppzmq, libuuid (linux), nlohmann-json, openssl, xtl, zeromq diff --git a/ports/xeus/portfile.cmake b/ports/xeus/portfile.cmake index f040af0c7..1e77a71cd 100644 --- a/ports/xeus/portfile.cmake +++ b/ports/xeus/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO QuantStack/xeus - REF 4bc3d2017fcf35ee6e69babf9be1e463483cd11c - SHA512 6f68f564a3dfaab5fdfbf9778602c75c883d761e8dd00a4b19f3f57c16e87b8252d40479abdd8eedb350799479e3213f16010176da286e5c3e6c9b9e76e6793d + REF 8408f237f33514610a59d19a5ff045ee70dfa02b + SHA512 41282addbe5519b6d357e802c48483834cd951604bfeb8c99d96f02d03dec2fc66ea4c091f40ec09348bb60587e8a6efef5e6eb2bb950ba720fc8ceb7a107960 HEAD_REF master ) diff --git a/ports/xlnt/CONTROL b/ports/xlnt/CONTROL index 6433b748e..b3fbc8422 100644 --- a/ports/xlnt/CONTROL +++ b/ports/xlnt/CONTROL @@ -1,4 +1,4 @@ Source: xlnt -Version: 1.3.0-1 +Version: 1.3.0-2 Homepage: https://github.com/tfussell/xlnt Description: Cross-platform user-friendly xlsx library for C++14 diff --git a/ports/xlnt/portfile.cmake b/ports/xlnt/portfile.cmake index 29a0e2201..1e1a9cb43 100644 --- a/ports/xlnt/portfile.cmake +++ b/ports/xlnt/portfile.cmake @@ -16,6 +16,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DTESTS=OFF -DSAMPLES=OFF -DBENCHMARKS=OFF -DSTATIC=${STATIC} ) diff --git a/ports/xmlsec/0001-uwp-fix.patch b/ports/xmlsec/0001-uwp-fix.patch new file mode 100644 index 000000000..f48cbf589 --- /dev/null +++ b/ports/xmlsec/0001-uwp-fix.patch @@ -0,0 +1,20 @@ +diff --git a/src/dl.c b/src/dl.c +index b13f9d4..4a1b0c1 100644 +--- a/src/dl.c ++++ b/src/dl.c +@@ -148,7 +148,14 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) { + #endif /* XMLSEC_DL_LIBLTDL */ + + #ifdef XMLSEC_DL_WIN32 +- lib->handle = LoadLibraryA((char*)lib->filename); ++#if !defined(WINAPI_FAMILY) || WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP ++ lib->handle = LoadLibraryA((char*)lib->filename); ++#else ++ LPTSTR wcLib = NULL; ++ wcLib = xmlSecWin32ConvertUtf8ToTstr((char*)lib->filename); ++ if (wcLib) ++ lib->handle = LoadPackagedLibrary(wcLib, 0); ++#endif + if(lib->handle == NULL) { + xmlSecIOError("LoadLibraryA", lib->filename, NULL); + xmlSecCryptoDLLibraryDestroy(lib); diff --git a/ports/xmlsec/CMakeLists.txt b/ports/xmlsec/CMakeLists.txt new file mode 100644 index 000000000..75b10f887 --- /dev/null +++ b/ports/xmlsec/CMakeLists.txt @@ -0,0 +1,152 @@ +cmake_minimum_required (VERSION 3.8) +project (xmlsec C) + +option(INSTALL_HEADERS_TOOLS "Install public header files and tools" ON) + +set(CMAKE_SHARED_LIBRARY_PREFIX) +set(CMAKE_STATIC_LIBRARY_PREFIX) + +find_package(LibXml2 REQUIRED) +find_package(OpenSSL REQUIRED) +find_package(unofficial-iconv REQUIRED) + +FILE(GLOB SOURCESXMLSEC + src/*.c +) + +FILE(GLOB SOURCESXMLSECOPENSSL + src/openssl/*.c + src/strings.c +) + +# Generate xmlexports with fixed definition of XMLSEC_STATIC +file(READ include/xmlsec/exports.h EXPORTS_H) +if(BUILD_SHARED_LIBS) + string(REPLACE "!defined(XMLSEC_STATIC)" "1" EXPORTS_H "${EXPORTS_H}") +else() + string(REPLACE "!defined(XMLSEC_STATIC)" "0" EXPORTS_H "${EXPORTS_H}") +endif() +file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/exports.h "${EXPORTS_H}") + +message(STATUS "Reading version info from configure.ac") + +file(STRINGS "configure.ac" + _xmlsec_version_defines REGEX "XMLSEC_VERSION_(MAJOR|MINOR|SUBMINOR)=([0-9]+)$") + +foreach(ver ${_xmlsec_version_defines}) + if(ver MATCHES "XMLSEC_VERSION_(MAJOR|MINOR|SUBMINOR)=([0-9]+)$") + set(XMLSEC_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" CACHE INTERNAL "") + endif() +endforeach() + +set(XMLSEC_VERSION ${XMLSEC_VERSION_MAJOR}.${XMLSEC_VERSION_MINOR}.${XMLSEC_VERSION_SUBMINOR}) +math(EXPR XMLSEC_VERSION_INFO_NUMBER + "${XMLSEC_VERSION_MAJOR} + ${XMLSEC_VERSION_MINOR}") +set(XMLSEC_VERSION_INFO ${XMLSEC_VERSION_INFO_NUMBER}:${XMLSEC_VERSION_SUBMINOR}:${XMLSEC_VERSION_MINOR}) + +message(STATUS "XMLSEC_VERSION: ${XMLSEC_VERSION}") +message(STATUS "XMLSEC_VERSION_MAJOR: ${XMLSEC_VERSION_MAJOR}") +message(STATUS "XMLSEC_VERSION_MINOR: ${XMLSEC_VERSION_MINOR}") +message(STATUS "XMLSEC_VERSION_SUBMINOR: ${XMLSEC_VERSION_SUBMINOR}") +message(STATUS "XMLSEC_VERSION_INFO: ${XMLSEC_VERSION_INFO}") + +message(STATUS "Generating version.h") + +configure_file(include/xmlsec/version.h.in include/xmlsec/version.h) + +if(MSVC) + add_compile_options(/wd4130 /wd4127 /wd4152) +endif() + +add_library(libxmlsec ${SOURCESXMLSEC}) +add_library(libxmlsec-openssl ${SOURCESXMLSECOPENSSL}) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}/include include ${LIBXML2_INCLUDE_DIRS}) + +target_link_libraries(libxmlsec PRIVATE + ${LIBXML2_LIBRARIES} OpenSSL::SSL +) +target_link_libraries(libxmlsec-openssl PRIVATE + ${LIBXML2_LIBRARIES} OpenSSL::SSL libxmlsec +) + +add_compile_definitions(inline=__inline) +add_compile_definitions(PACKAGE="xmlsec") +add_compile_definitions(XMLSEC_MSCRYPTO_NT4=1) +add_compile_definitions(HAVE_STDIO_H) +add_compile_definitions(HAVE_STDLIB_H) +add_compile_definitions(HAVE_STRING_H) +add_compile_definitions(HAVE_CTYPE_H) +add_compile_definitions(HAVE_MALLOC_H) +add_compile_definitions(HAVE_MEMORY_H) +add_compile_definitions(XMLSEC_NO_XSLT=1) +add_compile_definitions(XMLSEC_DEFAULT_CRYPTO="openssl") +add_compile_definitions(XMLSEC_NO_GOST) +add_compile_definitions(XMLSEC_NO_GOST2012) +add_compile_definitions(XMLSEC_NO_SIZE_T) +add_compile_definitions(UNICODE) +add_compile_definitions(_UNICODE) +add_compile_definitions(_MBCS) +add_compile_definitions(_REENTRANT) + +target_compile_definitions(libxmlsec-openssl PRIVATE + -DXMLSEC_CRYPTO_OPENSSL +) + +set_target_properties(libxmlsec PROPERTIES VERSION ${XMLSEC_VERSION_MAJOR}.${XMLSEC_VERSION_MINOR}) +set_target_properties(libxmlsec-openssl PROPERTIES VERSION ${XMLSEC_VERSION_MAJOR}.${XMLSEC_VERSION_MINOR}) + +if(NOT BUILD_SHARED_LIBS) + target_compile_definitions(libxmlsec PRIVATE -DLIBXML_STATIC -DLIBXSLT_STATIC -DXMLSEC_STATIC -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING) + target_compile_definitions(libxmlsec-openssl PRIVATE -DLIBXML_STATIC -DLIBXSLT_STATIC -DXMLSEC_STATIC -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING) +else() + target_compile_definitions(libxmlsec PRIVATE -DXMLSEC_DL_WIN32) + target_compile_definitions(libxmlsec-openssl PRIVATE -DXMLSEC_DL_WIN32) +endif() + +install(TARGETS libxmlsec libxmlsec-openssl + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +if(INSTALL_HEADERS_TOOLS) + file(GLOB PUBLIC_HEADERS + include/xmlsec/*.h + include/xmlsec/openssl/*.h) + list(FILTER PUBLIC_HEADERS EXCLUDE REGEX "exports\\.h$") + + foreach(file IN LISTS PUBLIC_HEADERS) + get_filename_component(dir ${file} DIRECTORY) + file(RELATIVE_PATH rel_dir ${CMAKE_SOURCE_DIR}/xmlsec/${LIB} ${dir}) + install(FILES ${file} DESTINATION "include/${rel_dir}") + endforeach() + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/xmlsec/version.h DESTINATION "include/xmlsec") + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exports.h DESTINATION "include/xmlsec") + + # xmlsec application + add_executable(xmlsec + apps/crypto.c + apps/cmdline.c + apps/xmlsec.c) + + if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + target_link_libraries(xmlsec PRIVATE crypt32.lib) + endif() + + target_link_libraries(xmlsec PRIVATE + ${LIBXML2_LIBRARIES} OpenSSL::SSL libxmlsec libxmlsec-openssl unofficial::iconv::libiconv + ) + + target_compile_definitions(xmlsec PRIVATE + -DXMLSEC_CRYPTO_OPENSSL + ) + + if(BUILD_SHARED_LIBS) + target_compile_definitions(xmlsec PRIVATE -DXMLSEC_CRYPTO_DYNAMIC_LOADING) + else() + target_compile_definitions(xmlsec PRIVATE -DLIBXML_STATIC -DLIBXSLT_STATIC -DXMLSEC_STATIC) + endif() + install(TARGETS xmlsec DESTINATION tools/xmlsec) +endif() diff --git a/ports/xmlsec/CONTROL b/ports/xmlsec/CONTROL new file mode 100644 index 000000000..6e0dbe9b3 --- /dev/null +++ b/ports/xmlsec/CONTROL @@ -0,0 +1,5 @@ +Source: xmlsec +Version: 1.2.29 +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/xmlsec/portfile.cmake b/ports/xmlsec/portfile.cmake new file mode 100644 index 000000000..8fa2bfec6 --- /dev/null +++ b/ports/xmlsec/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO lsh123/xmlsec + REF xmlsec-1_2_29 + SHA512 b53eeac801cbcf4b18aa7f4fcec5fea5cae26e9cbef923d6e807ee98b988840943f00781ec6194b300403bd7f656c76ba96efce29c8b49920c9f0d67ba14ea57 + HEAD_REF master + PATCHES + 0001-uwp-fix.patch +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS -DPORT_DIR=${CMAKE_CURRENT_LIST_DIR} + OPTIONS_DEBUG -DINSTALL_HEADERS_TOOLS=OFF +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/Copyright DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) + +vcpkg_copy_pdbs() diff --git a/ports/xorstr/CONTROL b/ports/xorstr/CONTROL new file mode 100644 index 000000000..f3555680c --- /dev/null +++ b/ports/xorstr/CONTROL @@ -0,0 +1,4 @@ +Source: xorstr +Version: 2019-08-10 +Description: Heavily vectorized c++17 compile time string encryption +Homepage: https://github.com/JustasMasiulis/xorstr diff --git a/ports/xorstr/portfile.cmake b/ports/xorstr/portfile.cmake new file mode 100644 index 000000000..3d97ba190 --- /dev/null +++ b/ports/xorstr/portfile.cmake @@ -0,0 +1,16 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO JustasMasiulis/xorstr + REF 5d7371dcb70601ce9c252d475cc3dc6cf8f1e0db + SHA512 7625d2ebdb95a5414f0a1ac7ac8951b612d5159be5eccce4e13b88a4d17ffa3c65ff81ce5df5b64064b5712da7238ec1f564d2c213852731cad30c367ebad72e + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/include/xorstr.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) diff --git a/ports/xsimd/CONTROL b/ports/xsimd/CONTROL index 05241ac5e..4eb4115b8 100644 --- a/ports/xsimd/CONTROL +++ b/ports/xsimd/CONTROL @@ -1,6 +1,7 @@ Source: xsimd -Version: 7.2.3 +Version: 7.2.5 Description: Modern, portable C++ wrappers for SIMD intrinsics +Homepage: https://github.com/QuantStack/xsimd Feature: xcomplex Description: xtl complex support diff --git a/ports/xsimd/portfile.cmake b/ports/xsimd/portfile.cmake index a25bcb532..b2eb8a251 100644 --- a/ports/xsimd/portfile.cmake +++ b/ports/xsimd/portfile.cmake @@ -5,25 +5,23 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO QuantStack/xsimd - REF 7.2.3 - SHA512 fb34eeb585f6820499734f10f03a4efd0d9a9b4be56f9bee21f3564eb92be56e7abe7682e476fafaff4733939f33f91cb4ab9209140b19f7b740538853433532 + REF 75702dd2772aebc6afaa1a86530170a5ef2e10cd + SHA512 2cf04dbf71818db571919f04a476cc8d45676ea56d88b7543b7f10c9ee5d6f718a6addc586c8a6a882ea0a34b09b83d6e20c3bf49e73d4ec1d14f3c1db47a55c HEAD_REF master ) -if("xcomplex" IN_LIST FEATURES) - set(ENABLE_XTL_COMPLEX ON) -else() - set(ENABLE_XTL_COMPLEX OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + xcomplex ENABLE_XTL_COMPLEX +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -DENABLE_FALLBACK=OFF - -DENABLE_XTL_COMPLEX=${ENABLE_XTL_COMPLEX} -DBUILD_TESTS=OFF -DDOWNLOAD_GTEST=OFF + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/xtensor-io/CONTROL b/ports/xtensor-io/CONTROL new file mode 100644 index 000000000..734c0becf --- /dev/null +++ b/ports/xtensor-io/CONTROL @@ -0,0 +1,5 @@ +Source: xtensor-io +Version: 0.7.0 +Description: xtensor plugin to read and write images, audio files, numpy (compressed) npz and HDF5 +Build-Depends: xtensor, xtl + diff --git a/ports/xtensor-io/portfile.cmake b/ports/xtensor-io/portfile.cmake new file mode 100644 index 000000000..d8cc89a09 --- /dev/null +++ b/ports/xtensor-io/portfile.cmake @@ -0,0 +1,31 @@ +# 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 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS=OFF + -DDOWNLOAD_GTEST=OFF + -DDOWNLOAD_GBENCHMARK=OFF +) + +vcpkg_install_cmake() + +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) + diff --git a/ports/xtensor/CONTROL b/ports/xtensor/CONTROL index 3e5e33013..3f1a1d5fe 100644 --- a/ports/xtensor/CONTROL +++ b/ports/xtensor/CONTROL @@ -1,6 +1,7 @@ Source: xtensor -Version: 0.20.7 +Version: 0.20.8 Description: C++ tensors with broadcasting and lazy computing +Homepage: https://quantstack.net/xtensor Build-Depends: nlohmann-json, xtl Feature: xsimd diff --git a/ports/xtensor/portfile.cmake b/ports/xtensor/portfile.cmake index 51e24c6e9..b8c28727a 100644 --- a/ports/xtensor/portfile.cmake +++ b/ports/xtensor/portfile.cmake @@ -5,29 +5,20 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO QuantStack/xtensor - REF 0.20.7 - SHA512 de09900d0934f9b10453f16e43d1c3af28503f365224f9c6789b88a0cf00db820ca31e12099df1a2e3aafa73d7d83223df82f01b7611c1addb48367f936e5122 + REF b2d81961ac1b335bf2c362e6b7f792ebacb8abf8 + SHA512 cfa64ae8163ce5cf7be762d5e67f4b2b15721f7d83cebab78ebf4ff1d85825aa3065769644d0314dd583bfb8dce76659c1a5cb95ecd87d00bb2fb8309623d0ae HEAD_REF master ) -if("xsimd" IN_LIST FEATURES) - set(XTENSOR_USE_XSIMD ON) -else() - set(XTENSOR_USE_XSIMD OFF) -endif() - -if("tbb" IN_LIST FEATURES) - set(XTENSOR_USE_TBB ON) -else() - set(XTENSOR_USE_TBB OFF) -endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + xsimd XTENSOR_USE_XSIMD + tbb XTENSOR_USE_TBB +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DXTENSOR_USE_XSIMD=${XTENSOR_USE_XSIMD} - -DXTENSOR_USE_TBB=${XTENSOR_USE_TBB} -DXTENSOR_ENABLE_ASSERT=OFF -DXTENSOR_CHECK_DIMENSION=OFF -DBUILD_TESTS=OFF @@ -36,6 +27,7 @@ vcpkg_configure_cmake( -DDOWNLOAD_GBENCHMARK=OFF -DDEFAULT_COLUMN_MAJOR=OFF -DDISABLE_VS2017=OFF + ${FEATURE_OPTIONS} ) vcpkg_install_cmake() diff --git a/ports/xtl/CONTROL b/ports/xtl/CONTROL index 423ee09dc..b0fbdd39c 100644 --- a/ports/xtl/CONTROL +++ b/ports/xtl/CONTROL @@ -1,4 +1,4 @@ Source: xtl -Version: 0.6.4 +Version: 0.6.5 Build-Depends: nlohmann-json Description: The x template library. diff --git a/ports/xtl/portfile.cmake b/ports/xtl/portfile.cmake index 0b3b5dad1..74cbbbc03 100644 --- a/ports/xtl/portfile.cmake +++ b/ports/xtl/portfile.cmake @@ -5,8 +5,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO QuantStack/xtl - REF 0.6.4 - SHA512 92ff932634a88fee9bfd27d092ebdf91752d90be8a4f3fc41aef90c195718c989082e53f1fcfae9d67b153ecd29d3dde6f8e2b540eeec0db1d0d229a9b0d2fe8 + REF 0d1f896ba90664248279baaea0059699cff5ab9b + SHA512 8375dc3c64d49b1722bdb579b397f296ae28042fd41b2e0556b3ad53b8b3615c250096aa09f1997d964285f6969d599d49e3b9204b45877af858c9a463619ab2 HEAD_REF master ) diff --git a/ports/yaml-cpp/0002-fix-include-path.patch b/ports/yaml-cpp/0002-fix-include-path.patch new file mode 100644 index 000000000..78c260831 --- /dev/null +++ b/ports/yaml-cpp/0002-fix-include-path.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d2d8810..c4d4be1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -326,7 +326,7 @@ else() + set(INSTALL_CMAKE_DIR ${LIB_INSTALL_DIR}/cmake/yaml-cpp) + endif() + +-file(RELATIVE_PATH REL_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}" "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_ROOT_DIR}") ++set(REL_INCLUDE_DIR "../../include") + set(CONFIG_INCLUDE_DIRS "\${YAML_CPP_CMAKE_DIR}/${REL_INCLUDE_DIR}") + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/yaml-cpp-config.cmake.in + "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/yaml-cpp-config.cmake" @ONLY) diff --git a/ports/yaml-cpp/0003-cxx-std-features.patch b/ports/yaml-cpp/0003-cxx-std-features.patch new file mode 100644 index 000000000..ac09c86c1 --- /dev/null +++ b/ports/yaml-cpp/0003-cxx-std-features.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c4d4be1..174264d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -279,6 +279,11 @@ set_target_properties(yaml-cpp PROPERTIES + COMPILE_FLAGS "${yaml_c_flags} ${yaml_cxx_flags}" + ) + ++target_compile_features(yaml-cpp ++ PUBLIC ++ cxx_std_11 ++) ++ + set_target_properties(yaml-cpp PROPERTIES + VERSION "${YAML_CPP_VERSION}" + SOVERSION "${YAML_CPP_VERSION_MAJOR}.${YAML_CPP_VERSION_MINOR}" diff --git a/ports/yaml-cpp/CONTROL b/ports/yaml-cpp/CONTROL index 93988ece9..1e0a781e2 100644 --- a/ports/yaml-cpp/CONTROL +++ b/ports/yaml-cpp/CONTROL @@ -1,4 +1,4 @@ Source: yaml-cpp -Version: 0.6.2-2 +Version: 0.6.2-3 Homepage: https://github.com/jbeder/yaml-cpp Description: yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec. diff --git a/ports/yaml-cpp/portfile.cmake b/ports/yaml-cpp/portfile.cmake index 6233bc076..380f65aee 100644 --- a/ports/yaml-cpp/portfile.cmake +++ b/ports/yaml-cpp/portfile.cmake @@ -6,7 +6,9 @@ vcpkg_from_github( SHA512 fea8ce0a20a00cbc75023d1db442edfcd32d0ac57a3c41b32ec8d56f87cc1d85d7dd7a923ce662f5d3a315f91a736d6be0d649997acd190915c1d68cc93795e4 HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-noexcept.patch + 0001-noexcept.patch + 0002-fix-include-path.patch + 0003-cxx-std-features.patch ) vcpkg_configure_cmake( @@ -26,32 +28,6 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/yaml-cpp) vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/yaml-cpp) endif() -# Adjust paths and remove hardcoded ones from the config files -file(READ ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-config.cmake YAML_CONFIG) -string(REPLACE "set(YAML_CPP_INCLUDE_DIR \"\${YAML_CPP_CMAKE_DIR}/../include\")" - "set(YAML_CPP_INCLUDE_DIR \"\${YAML_CPP_CMAKE_DIR}/../../include\")" YAML_CONFIG "${YAML_CONFIG}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-config.cmake "${YAML_CONFIG}") - -file(READ ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets.cmake YAML_CONFIG) -string(REPLACE "set(_IMPORT_PREFIX \"${CURRENT_PACKAGES_DIR}\")" -"get_filename_component(_IMPORT_PREFIX \"\${CMAKE_CURRENT_LIST_FILE}\" PATH) -get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH) -get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" YAML_CONFIG "${YAML_CONFIG}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets.cmake "${YAML_CONFIG}") - -set(_targets_cmake_conf) -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - list(APPEND _targets_cmake_conf "debug") -endif() -if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - list(APPEND _targets_cmake_conf "release") -endif() -foreach(CONF ${_targets_cmake_conf}) - file(READ ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets-${CONF}.cmake YAML_CONFIG) - string(REPLACE "${CURRENT_PACKAGES_DIR}" "\${_IMPORT_PREFIX}" YAML_CONFIG "${YAML_CONFIG}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/yaml-cpp/yaml-cpp-targets-${CONF}.cmake "${YAML_CONFIG}") -endforeach() - # Remove debug include files file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/yara/CMakeLists.txt b/ports/yara/CMakeLists.txt index 89780ce42..8b9f66113 100644 --- a/ports/yara/CMakeLists.txt +++ b/ports/yara/CMakeLists.txt @@ -37,6 +37,7 @@ set( libyara/ahocorasick.c libyara/arena.c libyara/atoms.c + libyara/bitmask.c libyara/compiler.c libyara/endian.c libyara/exec.c @@ -69,7 +70,9 @@ set( libyara/re_lexer.c libyara/rules.c libyara/scan.c + libyara/scanner.c libyara/sizedstr.c + libyara/stack.c libyara/stopwatch.c libyara/stream.c libyara/strutils.c diff --git a/ports/yara/CONTROL b/ports/yara/CONTROL index b1d90b471..209495ea7 100644 --- a/ports/yara/CONTROL +++ b/ports/yara/CONTROL @@ -1,5 +1,5 @@ Source: yara -Version: e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9-2 +Version: 3.10.0 Homepage: https://github.com/VirusTotal/yara Description: The pattern matching swiss knife Build-Depends: openssl, jansson diff --git a/ports/yara/portfile.cmake b/ports/yara/portfile.cmake index d4869df63..d606f0b03 100644 --- a/ports/yara/portfile.cmake +++ b/ports/yara/portfile.cmake @@ -5,8 +5,8 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO VirusTotal/yara - REF e3439e4ead4ed5d3b75a0b46eaf15ddda2110bb9 - SHA512 2cb837c8e2617e66766b45339a99f3f441f842cb14ce7efe38f5ec2141a51696a400279d98514be4471234c8ef7c99419f56f5b7398af13d771294b2923090aa + REF v3.10.0 + SHA512 034658e835d59a42f03c062e99b40e96906c5a7de4285037c835d211f53062f8e439ade45e3400c4c35ef64502112e8d3b8d4c575e3265c69286cff2ad919ed9 HEAD_REF dev ) diff --git a/ports/yasm/CONTROL b/ports/yasm/CONTROL new file mode 100644 index 000000000..5cb349270 --- /dev/null +++ b/ports/yasm/CONTROL @@ -0,0 +1,4 @@ +Source: yasm +Version: 1.3.0 +Homepage: https://github.com/yasm/yasm +Description: Yasm is a complete rewrite of the NASM assembler under the “new” BSD License. diff --git a/ports/yasm/portfile.cmake b/ports/yasm/portfile.cmake new file mode 100644 index 000000000..5dfe2a51c --- /dev/null +++ b/ports/yasm/portfile.cmake @@ -0,0 +1,51 @@ +include(vcpkg_common_functions) + +if (NOT VCPKG_TARGET_IS_WINDOWS) + message(FATAL_ERROR "${PORT} only supports windows") +elseif (TRIPLET_SYSTEM_ARCH MATCHES "arm") + message(FATAL_ERROR "ARM is currently not supported.") +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) + message(FATAL_ERROR "Error: UWP builds are currently not supported.") +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO yasm/yasm + REF v1.3.0 + SHA512 f5053e2012e0d2ce88cc1cc06e3bdb501054aed5d1f78fae40bb3e676fe2eb9843d335a612d7614d99a2b9e49dca998d57f61b0b89fac8225afa4ae60ae848f1 + HEAD_REF master +) + +vcpkg_find_acquire_program(PYTHON2) +get_filename_component(PYTHON_PATH ${PYTHON2} DIRECTORY) +vcpkg_add_to_path("${PYTHON_PATH}") + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE + ${CURRENT_PACKAGES_DIR}/debug/bin/vsyasm.exe + ${CURRENT_PACKAGES_DIR}/debug/bin/yasm.exe + ${CURRENT_PACKAGES_DIR}/debug/bin/ytasm.exe +) + +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vsyasm.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vsyasm.exe) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/yasm.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/yasm.exe) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/ytasm.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/ytasm.exe) + +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + +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) + +# Handle copyright +file(COPY ${SOURCE_PATH}/COPYING ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright) \ No newline at end of file diff --git a/ports/yato/CONTROL b/ports/yato/CONTROL index f19519315..65546494d 100644 --- a/ports/yato/CONTROL +++ b/ports/yato/CONTROL @@ -1,3 +1,3 @@ Source: yato -Version: 1.0-1 +Version: 1.0-2 Description: Modern C++14 containers and utilities, actors system, typesafe config diff --git a/ports/yato/portfile.cmake b/ports/yato/portfile.cmake index 44ee93782..76a54ee13 100644 --- a/ports/yato/portfile.cmake +++ b/ports/yato/portfile.cmake @@ -21,6 +21,7 @@ file(COPY "${SOURCE_PATH}/modules/config/yato" vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DYATO_BUILD_TESTS:BOOL=OFF -DYATO_BUILD_ACTORS:BOOL=ON diff --git a/ports/yoga/CONTROL b/ports/yoga/CONTROL index 14ed48f16..52e8498a3 100644 --- a/ports/yoga/CONTROL +++ b/ports/yoga/CONTROL @@ -1,4 +1,4 @@ Source: yoga -Version: 1.14.0 +Version: 1.16.0-1 Homepage: https://github.com/facebook/yoga Description: Yoga is a cross-platform layout engine which implements Flexbox diff --git a/ports/yoga/add-project-declaration.patch b/ports/yoga/add-project-declaration.patch new file mode 100644 index 000000000..299078ee0 --- /dev/null +++ b/ports/yoga/add-project-declaration.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,7 +6,7 @@ + # + + cmake_minimum_required(VERSION 3.4.1) +- ++project(yogacore CXX) + set(CMAKE_VERBOSE_MAKEFILE on) + + file(GLOB_RECURSE yogacore_SRC yoga/*.cpp) diff --git a/ports/yoga/portfile.cmake b/ports/yoga/portfile.cmake index a98b92c7a..53254da06 100644 --- a/ports/yoga/portfile.cmake +++ b/ports/yoga/portfile.cmake @@ -2,16 +2,13 @@ include(vcpkg_common_functions) vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore) - message(FATAL_ERROR "Error: UWP builds not supported yet.") -endif() - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/yoga - REF 1.14.0 - SHA512 c634cb9be08a4f4f478c50de9f26a2e1a18b9c6313b78665cd3a28047bd04e14aac2f06702c3bc9f55dba605177b787424a405c4043f052a94d311c76e38bef1 + REF 1.16.0 + SHA512 ad53c3008f9d934b53350927c68fb91391bf2e973f05a446e4819fe424a9334f6d9f06bc14c50d5c310c83d3ba8482a920d640c9bce21a8483d7195c798bbe34 HEAD_REF master + PATCHES add-project-declaration.patch ) vcpkg_configure_cmake( @@ -22,13 +19,26 @@ vcpkg_build_cmake() vcpkg_copy_pdbs() file(INSTALL ${SOURCE_PATH}/yoga DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN "*.h") + +set(YOGA_LIB_PREFFIX ) +if (NOT VCPKG_TARGET_IS_WINDOWS) + set(YOGA_LIB_PREFFIX lib) +endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/Release/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib) + set(YOGA_BINARY_PATH ) + if (VCPKG_TARGET_IS_WINDOWS) + set(YOGA_BINARY_PATH Release/) + endif() + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/${YOGA_BINARY_PATH}${YOGA_LIB_PREFFIX}yogacore${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/lib) endif() if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/Debug/yogacore.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) + set(YOGA_BINARY_PATH ) + if (VCPKG_TARGET_IS_WINDOWS) + set(YOGA_BINARY_PATH Debug/) + endif() + file(INSTALL ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/${YOGA_BINARY_PATH}${YOGA_LIB_PREFFIX}yogacore${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib) endif() vcpkg_copy_pdbs() -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/yoga 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/z3/CONTROL b/ports/z3/CONTROL index 861c3eab4..5a806da95 100644 --- a/ports/z3/CONTROL +++ b/ports/z3/CONTROL @@ -1,3 +1,3 @@ Source: z3 -Version: 4.8.5 +Version: 4.8.5-1 Description: An SMT solver diff --git a/ports/z3/portfile.cmake b/ports/z3/portfile.cmake index 72da20dd9..e3adeabb0 100644 --- a/ports/z3/portfile.cmake +++ b/ports/z3/portfile.cmake @@ -34,7 +34,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH share/z3 TARGET_PATH share/z3) +vcpkg_fixup_cmake_targets() vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/zeromq/CONTROL b/ports/zeromq/CONTROL index 24796e155..e334fab7c 100644 --- a/ports/zeromq/CONTROL +++ b/ports/zeromq/CONTROL @@ -1,8 +1,11 @@ Source: zeromq -Version: 2019-05-07 +Version: 2019-09-20 Homepage: https://github.com/zeromq/libzmq Description: The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products Feature: sodium Description: Using libsodium for CURVE security Build-Depends: libsodium + +Feature: websockets-sha1 +Description: Enable WebSocket transport through builtin sha1 (libzmq#3676) diff --git a/ports/zeromq/portfile.cmake b/ports/zeromq/portfile.cmake index 06b5d3aee..4df376a1b 100644 --- a/ports/zeromq/portfile.cmake +++ b/ports/zeromq/portfile.cmake @@ -3,22 +3,21 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/libzmq - REF f41f51461fd86f2272209a3175d1df0e655883ef - SHA512 ee37cda1e86063fc4f9edfc2ae27246d7919f59efe90532944f299b03478d53d8708eb18be824d3885c96ca38917e1f6f72a941845c9b376ddda7ee1fd42cfac + REF 8d34332ff2301607df0fc9971a2fbe903c0feb7c + SHA512 8b3a9b6c4e5236353672b6deb64c94ac79deb116962405f01fe36e2fd8ddc48ec65d88ffc06746ce2e13c93eaeb04e4ba73de8f9d6f2a57a73111765d5ba8ad7 HEAD_REF master ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED) -set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} \"-I${SOURCE_PATH}/builds/msvc\"") -set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} \"-I${SOURCE_PATH}/builds/msvc\"") - -if("sodium" IN_LIST FEATURES) - set(WITH_LIBSODIUM ON) -else() - set(WITH_LIBSODIUM OFF) -endif() +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + sodium WITH_LIBSODIUM + INVERTED_FEATURES + websockets-sha1 DISABLE_WS +) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -28,8 +27,10 @@ vcpkg_configure_cmake( -DPOLLER=select -DBUILD_STATIC=${BUILD_STATIC} -DBUILD_SHARED=${BUILD_SHARED} - -DWITH_LIBSODIUM=${WITH_LIBSODIUM} -DWITH_PERF_TOOL=OFF + -DWITH_DOCS=OFF + -DWITH_NSS=OFF + ${FEATURE_OPTIONS} OPTIONS_DEBUG "-DCMAKE_PDB_OUTPUT_DIRECTORY=${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" ) @@ -45,6 +46,11 @@ if(EXISTS ${CURRENT_PACKAGES_DIR}/share/cmake/ZeroMQ) vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/ZeroMQ) endif() +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/zmq.h "defined ZMQ_STATIC" @@ -52,20 +58,14 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") ) endif() -file(READ ${CURRENT_PACKAGES_DIR}/share/zeromq/ZeroMQConfig.cmake _contents) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - string(REPLACE "get_target_property(ZeroMQ_STATIC_LIBRARY libzmq-static LOCATION)" "add_library(libzmq-static INTERFACE IMPORTED)\nset_target_properties(libzmq-static PROPERTIES INTERFACE_LINK_LIBRARIES libzmq)" _contents "${_contents}") - set(_contents "${_contents}\nset(ZeroMQ_STATIC_LIBRARY \${ZeroMQ_LIBRARY})\n") -else() - string(REPLACE "get_target_property(ZeroMQ_INCLUDE_DIR libzmq INTERFACE_INCLUDE_DIRECTORIES)" "get_target_property(ZeroMQ_INCLUDE_DIR libzmq-static INTERFACE_INCLUDE_DIRECTORIES)" _contents "${_contents}") - string(REPLACE "get_target_property(ZeroMQ_LIBRARY libzmq LOCATION)" "add_library(libzmq INTERFACE IMPORTED)\nset_target_properties(libzmq PROPERTIES INTERFACE_LINK_LIBRARIES libzmq-static)" _contents "${_contents}") - set(_contents "${_contents}\nset(ZeroMQ_LIBRARY \${ZeroMQ_STATIC_LIBRARY})\n") - +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/share/zeromq/ZeroMQConfig.cmake "${_contents}") # Handle copyright file(RENAME ${CURRENT_PACKAGES_DIR}/share/zmq/COPYING.LESSER.txt ${CURRENT_PACKAGES_DIR}/share/zeromq/copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/zmq) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ZeroMQ) diff --git a/ports/zeromq/vcpkg-cmake-wrapper.cmake b/ports/zeromq/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..38b05d779 --- /dev/null +++ b/ports/zeromq/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) + +if(TARGET libzmq AND NOT TARGET libzmq-static) + add_library(libzmq-static INTERFACE IMPORTED) + set_target_properties(libzmq-static PROPERTIES INTERFACE_LINK_LIBRARIES libzmq) +elseif(TARGET libzmq-static AND NOT TARGET libzmq) + add_library(libzmq INTERFACE IMPORTED) + set_target_properties(libzmq PROPERTIES INTERFACE_LINK_LIBRARIES libzmq-static) +endif() diff --git a/ports/zfp/CONTROL b/ports/zfp/CONTROL new file mode 100644 index 000000000..eb9505fa4 --- /dev/null +++ b/ports/zfp/CONTROL @@ -0,0 +1,19 @@ +Source: zfp +Version: 0.5.5-1 +Homepage: https://github.com/LLNL/zfp +Description: Zfp is an open source C/C++ library for compressed numerical arrays that support high throughput read and write random access. zfp also supports streaming compression of integer and floating-point data, e.g., for applications that read and write large data sets to and from disk. zfp is primarily written in C and C++ but also includes Python and Fortran bindings. + +Feature: all +Description: Build all components + +Feature: cfp +Description: cfp support for cfp + +Feature: test +Description: Build test + +Feature: example +Description: Build example + +Feature: utility +Description: Build utility \ No newline at end of file diff --git a/ports/zfp/fix-build-error.patch b/ports/zfp/fix-build-error.patch new file mode 100644 index 000000000..0c1e15763 --- /dev/null +++ b/ports/zfp/fix-build-error.patch @@ -0,0 +1,11 @@ +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index a960d2c..e6a492d 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -1,5 +1,5 @@ + add_executable(zfpcmd zfp.c) +-set_property(TARGET zfpcmd PROPERTY OUTPUT_NAME zfp) ++#set_property(TARGET zfpcmd PROPERTY OUTPUT_NAME zfp) + target_link_libraries(zfpcmd zfp) + if(HAVE_LIBM_MATH) + target_link_libraries(zfpcmd m) diff --git a/ports/zfp/fix-install-tools.patch b/ports/zfp/fix-install-tools.patch new file mode 100644 index 000000000..49a511d44 --- /dev/null +++ b/ports/zfp/fix-install-tools.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 47179fd..96add54 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -220,8 +220,8 @@ add_subdirectory(src) + option(BUILD_ALL "Build all subdirectories" OFF) + if(BUILD_ALL) + set(BUILD_CFP ON CACHE BOOL "Build CFP arrays library" FORCE) +- set(BUILD_ZFORP ON CACHE BOOL "Build Fortran library" FORCE) +- set(BUILD_ZFPY ON CACHE BOOL "Build python bindings for zfp" FORCE) ++ set(BUILD_ZFORP OFF CACHE BOOL "Build Fortran library" FORCE) ++ set(BUILD_ZFPY OFF CACHE BOOL "Build python bindings for zfp" FORCE) + set(BUILD_UTILITIES ON CACHE BOOL "Build command line utilities for zfp" FORCE) + set(BUILD_EXAMPLES ON CACHE BOOL "Build Examples" FORCE) + endif() +diff --git a/cfp/src/CMakeLists.txt b/cfp/src/CMakeLists.txt +index 386698c..ecba525 100644 +--- a/cfp/src/CMakeLists.txt ++++ b/cfp/src/CMakeLists.txt +@@ -36,3 +36,5 @@ install(TARGETS cfp EXPORT cfp-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ ++install(DIRECTORY ${ZFP_SOURCE_DIR}/cfp/include DESTINATION include) +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 7cc7606..6ca1034 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -34,3 +34,20 @@ if(HAVE_LIBM_MATH) + target_link_libraries(pgm m) + target_link_libraries(simple m) + endif() ++ ++install(TARGETS diffusion ++ RUNTIME DESTINATION tools) ++ if(BUILD_CFP) ++ install(TARGETS diffusionC ++ RUNTIME DESTINATION tools) ++ endif() ++install(TARGETS inplace ++ RUNTIME DESTINATION tools) ++install(TARGETS iterator ++ RUNTIME DESTINATION tools) ++install(TARGETS pgm ++ RUNTIME DESTINATION tools) ++install(TARGETS simple ++ RUNTIME DESTINATION tools) ++install(TARGETS speed ++ RUNTIME DESTINATION tools) +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index d15246e..7a6c6cb 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -19,3 +19,6 @@ if(ZFP_BUILD_TESTING_LARGE) + endforeach() + endforeach() + endif() ++ ++install(TARGETS testzfp ++ RUNTIME DESTINATION tools) +diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt +index a960d2c..5fcbf87 100644 +--- a/utils/CMakeLists.txt ++++ b/utils/CMakeLists.txt +@@ -4,3 +4,6 @@ target_link_libraries(zfpcmd zfp) + if(HAVE_LIBM_MATH) + target_link_libraries(zfpcmd m) + endif() ++ ++install(TARGETS zfpcmd ++ RUNTIME DESTINATION tools) diff --git a/ports/zfp/portfile.cmake b/ports/zfp/portfile.cmake new file mode 100644 index 000000000..7c9af2547 --- /dev/null +++ b/ports/zfp/portfile.cmake @@ -0,0 +1,42 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO LLNL/zfp + REF 0.5.5 + SHA512 c043cee73f6e972e047452552ab2ceb9247a6747fdb7e5f863aeab3a05208737c0bcabbe29f3c10e5c1aba961ec47aa6a0abdb395486fa0d5fb16a4ad45733c4 + HEAD_REF master + PATCHES + fix-build-error.patch + fix-install-tools.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + all BUILD_ALL + cfp BUILD_CFP + test BUILD_TESTING + example BUILD_EXAMPLES + utility BUILD_UTILITIES +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DBUILD_ZFPY=OFF + -DBUILD_ZFORP=OFF +) + +vcpkg_install_cmake() + +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() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/${PORT}) + +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file diff --git a/ports/zookeeper/CONTROL b/ports/zookeeper/CONTROL new file mode 100644 index 000000000..d10b1683a --- /dev/null +++ b/ports/zookeeper/CONTROL @@ -0,0 +1,7 @@ +Source: zookeeper +Version: 3.5.5 +Description: ZooKeeper C bindings +Default-Features: sync + +Feature: sync +Description: ZooKeeper with the sync API \ No newline at end of file diff --git a/ports/zookeeper/cmake.patch b/ports/zookeeper/cmake.patch new file mode 100644 index 000000000..4dd8ef93b --- /dev/null +++ b/ports/zookeeper/cmake.patch @@ -0,0 +1,50 @@ +diff --git a/zookeeper-client/zookeeper-client-c/CMakeLists.txt b/zookeeper-client/zookeeper-client-c/CMakeLists.txt +index 24a5a1b..1b0ce4a 100644 +--- a/zookeeper-client/zookeeper-client-c/CMakeLists.txt ++++ b/zookeeper-client/zookeeper-client-c/CMakeLists.txt +@@ -153,7 +153,7 @@ configure_file(cmake_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/config.h) + # hashtable library + set(hashtable_sources src/hashtable/hashtable_itr.c src/hashtable/hashtable.c) + add_library(hashtable STATIC ${hashtable_sources}) +-target_include_directories(hashtable PUBLIC include) ++target_include_directories(hashtable PUBLIC $ $) + target_link_libraries(hashtable PUBLIC $<$,$>:m>) + + # zookeeper library +@@ -176,7 +176,10 @@ if(WIN32) + endif() + + add_library(zookeeper STATIC ${zookeeper_sources}) +-target_include_directories(zookeeper PUBLIC include ${CMAKE_CURRENT_BINARY_DIR}/include generated) ++target_include_directories(zookeeper PUBLIC ++ $ ++ $) ++ + target_link_libraries(zookeeper PUBLIC + hashtable + $<$:rt> # clock_gettime +@@ -247,3 +250,23 @@ if(WANT_CPPUNIT) + "ZKROOT=${CMAKE_CURRENT_SOURCE_DIR}/../.." + "CLASSPATH=$CLASSPATH:$CLOVER_HOME/lib/clover*.jar") + endif() ++ ++ ++target_compile_definitions(zookeeper PRIVATE _CRT_SECURE_NO_WARNINGS _WINSOCK_DEPRECATED_NO_WARNINGS _CRT_NONSTDC_NO_DEPRECATE) ++target_compile_definitions(cli PRIVATE _CRT_SECURE_NO_WARNINGS) ++ ++file(GLOB ZOOKEEPER_HEADERS include/*.h) ++ ++install(FILES ${ZOOKEEPER_HEADERS} generated/zookeeper.jute.h DESTINATION include/zookeeper) ++ ++install(TARGETS zookeeper hashtable ++ EXPORT zookeeperConfig ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++) ++install(EXPORT zookeeperConfig ++ FILE zookeeperConfig.cmake ++ NAMESPACE zookeeper:: ++ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/zookeeper" ++) +\ No newline at end of file diff --git a/ports/zookeeper/portfile.cmake b/ports/zookeeper/portfile.cmake new file mode 100644 index 000000000..8fee1483c --- /dev/null +++ b/ports/zookeeper/portfile.cmake @@ -0,0 +1,41 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_download_distfile(ARCHIVE + URLS "https://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5.tar.gz" + FILENAME "zookeeper-3.5.5.tar.gz" + SHA512 4e22df899a83ca3cc15f6d94daadb1a8631fb4108e67b4f56d1f4fcf95f10f89c8ff1fb8a7c84799a3856d8803a8db1e1f2f3fe1b7dc0d6cedf485ef90fd212d +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + PATCHES + cmake.patch + win32.patch +) + +set(WANT_SYNCAPI OFF) +if("sync" IN_LIST FEATURES) + set(WANT_SYNCAPI ON) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/zookeeper-client/zookeeper-client-c + DISABLE_PARALLEL_CONFIGURE + PREFER_NINJA + OPTIONS + -DWANT_CPPUNIT=OFF + -DWANT_SYNCAPI=${WANT_SYNCAPI} +) + +vcpkg_install_cmake() + +file(INSTALL ${SOURCE_PATH}/zookeeper-client/zookeeper-client-c/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/zookeeper RENAME copyright) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +vcpkg_fixup_cmake_targets() + +vcpkg_copy_pdbs() diff --git a/ports/zookeeper/win32.patch b/ports/zookeeper/win32.patch new file mode 100644 index 000000000..b55f06735 --- /dev/null +++ b/ports/zookeeper/win32.patch @@ -0,0 +1,29 @@ +diff --git a/zookeeper-client/zookeeper-client-c/src/zk_log.c b/zookeeper-client/zookeeper-client-c/src/zk_log.c +index 436485e..1902b09 100644 +--- a/zookeeper-client/zookeeper-client-c/src/zk_log.c ++++ b/zookeeper-client/zookeeper-client-c/src/zk_log.c +@@ -108,8 +108,11 @@ static const char* time_now(char* now_str){ + gettimeofday(&tv,0); + + now = tv.tv_sec; ++#ifdef WIN32 ++ localtime_s(<, &now); ++#else + localtime_r(&now, <); +- ++#endif + // clone the format used by log4j ISO8601DateFormat + // specifically: "yyyy-MM-dd HH:mm:ss,SSS" + +diff --git a/zookeeper-client/zookeeper-client-c/src/zookeeper.c b/zookeeper-client/zookeeper-client-c/src/zookeeper.c +index 25baa9c..96ed379 100644 +--- a/zookeeper-client/zookeeper-client-c/src/zookeeper.c ++++ b/zookeeper-client/zookeeper-client-c/src/zookeeper.c +@@ -90,6 +90,7 @@ + #define EAI_ADDRFAMILY WSAEINVAL /* is this still needed? */ + #define EHOSTDOWN EPIPE + #define ESTALE ENODEV ++#define strtok_r strtok_s + #endif + + #define IF_DEBUG(x) if(logLevel==ZOO_LOG_LEVEL_DEBUG) {x;} diff --git a/ports/zopfli/CONTROL b/ports/zopfli/CONTROL index 8b7a02399..9db22d105 100644 --- a/ports/zopfli/CONTROL +++ b/ports/zopfli/CONTROL @@ -1,3 +1,3 @@ Source: zopfli -Version: 2019-01-19 +Version: 2019-01-19-1 Description: Zopfli Compression Algorithm compression library programmed in C diff --git a/ports/zopfli/portfile.cmake b/ports/zopfli/portfile.cmake index d19902027..bb5b9c211 100644 --- a/ports/zopfli/portfile.cmake +++ b/ports/zopfli/portfile.cmake @@ -19,7 +19,7 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() -if (WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(EXECUTABLE_SUFFIX ".exe") else() set(EXECUTABLE_SUFFIX "") diff --git a/ports/zserge-webview/CONTROL b/ports/zserge-webview/CONTROL index 558f47bd7..a595bee39 100644 --- a/ports/zserge-webview/CONTROL +++ b/ports/zserge-webview/CONTROL @@ -1,3 +1,3 @@ Source: zserge-webview -Version: 2019-04-27-1 +Version: 2019-04-27-2 Description: Tiny cross-platform webview library for C/C++/Golang. diff --git a/ports/zserge-webview/portfile.cmake b/ports/zserge-webview/portfile.cmake index d6707ee8b..7f0603d88 100644 --- a/ports/zserge-webview/portfile.cmake +++ b/ports/zserge-webview/portfile.cmake @@ -16,14 +16,12 @@ set(WEBVIEW_GTK "0") set(WEBVIEW_WINAPI "0") set(WEBVIEW_COCOA "0") -if(WIN32) +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") set(WEBVIEW_WINAPI "1") -elseif(UNIX) - if(APPLE) +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(WEBVIEW_COCOA "1") - else() +elseif (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") set(WEBVIEW_GTK "1") - endif() endif() file(READ ${CURRENT_PACKAGES_DIR}/include/webview.h _contents) diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL index bab75367d..47cdf1eff 100644 --- a/ports/zstd/CONTROL +++ b/ports/zstd/CONTROL @@ -1,4 +1,4 @@ Source: zstd -Version: 1.4.0 +Version: 1.4.0-1 Description: Zstandard - Fast real-time compression algorithm Homepage: https://facebook.github.io/zstd/ diff --git a/ports/zstd/enable-debug-mode.patch b/ports/zstd/enable-debug-mode.patch deleted file mode 100644 index a3e829032..000000000 --- a/ports/zstd/enable-debug-mode.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt -index 1e2921d..31fe3d5 100644 ---- a/build/cmake/CMakeLists.txt -+++ b/build/cmake/CMakeLists.txt -@@ -12,7 +12,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.9) - SET(ZSTD_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../..") - - # Ensure Release build even if not invoked via Makefile --SET(CMAKE_BUILD_TYPE "Release") -+# SET(CMAKE_BUILD_TYPE "Release") - - LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules") - INCLUDE(GNUInstallDirs) diff --git a/ports/zstd/portfile.cmake b/ports/zstd/portfile.cmake index 4b7522c76..c8efe2812 100644 --- a/ports/zstd/portfile.cmake +++ b/ports/zstd/portfile.cmake @@ -5,7 +5,6 @@ vcpkg_from_github( REF v1.4.0 SHA512 8614934e25eb1e82b554c483bc9d2d055f51344697295e83b22a8d726321b12068cfa7f7d2a9fe28a2de7c9edda59733826277efc7046e13674d6f7f02af5671 HEAD_REF dev - PATCHES enable-debug-mode.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") diff --git a/ports/zxing-cpp/0001-opencv4-compat.patch b/ports/zxing-cpp/0001-opencv4-compat.patch index 51cec5387..76ad1f4a0 100644 --- a/ports/zxing-cpp/0001-opencv4-compat.patch +++ b/ports/zxing-cpp/0001-opencv4-compat.patch @@ -1,5 +1,18 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ccb2ba9..5ade734 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + cmake_minimum_required(VERSION 3.0) + + project(zxing) +- ++set(CMAKE_CXX_STANDARD 11) + option(BUILD_TESTING "Enable generation of test targets" OFF) + + set(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH}) diff --git a/opencv-cli/src/main.cpp b/opencv-cli/src/main.cpp -index 63b6fd3..430dda6 100755 +index 63b6fd3..5900c4f 100644 --- a/opencv-cli/src/main.cpp +++ b/opencv-cli/src/main.cpp @@ -135,14 +135,14 @@ int main(int argc, char** argv) { diff --git a/ports/zxing-cpp/CONTROL b/ports/zxing-cpp/CONTROL index c51ccb60d..fdf894097 100644 --- a/ports/zxing-cpp/CONTROL +++ b/ports/zxing-cpp/CONTROL @@ -1,4 +1,5 @@ Source: zxing-cpp -Version: 3.3.3-4 -Build-Depends: opencv[core] +Version: 3.3.3-6 +Homepage: https://github.com/glassechidna/zxing-cpp +Build-Depends: opencv Description: Barcode detection and decoding library. diff --git a/ports/zxing-cpp/portfile.cmake b/ports/zxing-cpp/portfile.cmake index 1d063de7c..044342ed6 100644 --- a/ports/zxing-cpp/portfile.cmake +++ b/ports/zxing-cpp/portfile.cmake @@ -20,15 +20,15 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/zxing/cmake" TARGET_PATH share/zxing) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/zxing/cmake TARGET_PATH share/zxing) -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}) if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) else() - file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) + file(COPY ${CURRENT_PACKAGES_DIR}/bin/zxing DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) endif() -vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/zxing-cpp) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) diff --git a/ports/zyre/CONTROL b/ports/zyre/CONTROL new file mode 100644 index 000000000..ca8a4507e --- /dev/null +++ b/ports/zyre/CONTROL @@ -0,0 +1,5 @@ +Source: zyre +Version: 2019-07-07 +Build-Depends: czmq +Description: An open-source framework for proximity-based peer-to-peer applications +Homepage: https://github.com/zeromq/zyre diff --git a/ports/zyre/Config.cmake.in b/ports/zyre/Config.cmake.in new file mode 100644 index 000000000..21708876b --- /dev/null +++ b/ports/zyre/Config.cmake.in @@ -0,0 +1,9 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +find_dependency(ZeroMQ) +find_dependency(czmq) + +include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") +check_required_components("@PROJECT_NAME@") diff --git a/ports/zyre/Findczmq.cmake b/ports/zyre/Findczmq.cmake new file mode 100644 index 000000000..8f6d37b16 --- /dev/null +++ b/ports/zyre/Findczmq.cmake @@ -0,0 +1,10 @@ +find_path(CZMQ_INCLUDE_DIRS NAMES czmq.h) + +find_package(czmq CONFIG REQUIRED) +set(CZMQ_LIBRARIES czmq czmq-static) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + CZMQ + REQUIRED_VARS CZMQ_INCLUDE_DIRS CZMQ_LIBRARIES +) diff --git a/ports/zyre/Findlibzmq.cmake b/ports/zyre/Findlibzmq.cmake new file mode 100644 index 000000000..706f063c3 --- /dev/null +++ b/ports/zyre/Findlibzmq.cmake @@ -0,0 +1,10 @@ +find_package(ZeroMQ CONFIG REQUIRED) + +set(LIBZMQ_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR}) +set(LIBZMQ_LIBRARIES libzmq libzmq-static) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( + LIBZMQ + REQUIRED_VARS LIBZMQ_LIBRARIES LIBZMQ_INCLUDE_DIRS +) diff --git a/ports/zyre/portfile.cmake b/ports/zyre/portfile.cmake new file mode 100644 index 000000000..db7e8e8cc --- /dev/null +++ b/ports/zyre/portfile.cmake @@ -0,0 +1,87 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO zeromq/zyre + REF 2648b7eb806a2494d6eb4177f0941232d83c5294 + SHA512 8940e82ccdc427734711d63dc01c81fe86c4ca6b7e97a69df979f4d48a4711df1ccaee6a3b6aa394f9ef91d719cb95851c4eb87dfa9ed6426e2577b95e0fb464 + HEAD_REF master +) + +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/Config.cmake.in + ${SOURCE_PATH}/builds/cmake/Config.cmake.in + COPYONLY +) + +foreach(_cmake_module Findczmq.cmake Findlibzmq.cmake) + configure_file( + ${CMAKE_CURRENT_LIST_DIR}/${_cmake_module} + ${SOURCE_PATH}/${_cmake_module} + COPYONLY + ) +endforeach() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" ZYRE_BUILD_SHARED) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" ZYRE_BUILD_STATIC) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DZYRE_BUILD_SHARED=${ZYRE_BUILD_SHARED} + -DZYRE_BUILD_STATIC=${ZYRE_BUILD_STATIC} + -DENABLE_DRAFTS=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/CMake) + vcpkg_fixup_cmake_targets(CONFIG_PATH CMake) +elseif(EXISTS ${CURRENT_PACKAGES_DIR}/share/cmake/${PORT}) + vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/${PORT}) +endif() + +file(COPY + ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake + DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} +) + +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") +endif() + +file(COPY ${CURRENT_PACKAGES_DIR}/bin/zpinger${EXECUTABLE_SUFFIX} + DESTINATION ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT}) + +if(ZYRE_BUILD_SHARED) + file(REMOVE + ${CURRENT_PACKAGES_DIR}/debug/bin/zpinger${EXECUTABLE_SUFFIX} + ${CURRENT_PACKAGES_DIR}/bin/zpinger${EXECUTABLE_SUFFIX}) +else() + file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/bin + ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +if(ZYRE_BUILD_STATIC) + vcpkg_replace_string( + ${CURRENT_PACKAGES_DIR}/include/zyre_library.h + "if defined ZYRE_STATIC" + "if 1 //if defined ZYRE_STATIC" + ) +endif() + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) + +# CMake integration test +vcpkg_test_cmake(PACKAGE_NAME ${PORT}) diff --git a/ports/zyre/vcpkg-cmake-wrapper.cmake b/ports/zyre/vcpkg-cmake-wrapper.cmake new file mode 100644 index 000000000..41003826f --- /dev/null +++ b/ports/zyre/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) + +if(TARGET zyre AND NOT TARGET zyre-static) + add_library(zyre-static INTERFACE IMPORTED) + set_target_properties(zyre-static PROPERTIES INTERFACE_LINK_LIBRARIES zyre) +elseif(TARGET zyre-static AND NOT TARGET zyre) + add_library(zyre INTERFACE IMPORTED) + set_target_properties(zyre PROPERTIES INTERFACE_LINK_LIBRARIES zyre-static) +endif() diff --git a/ports/zziplib/CONTROL b/ports/zziplib/CONTROL index f756d19ae..cd879d0a3 100644 --- a/ports/zziplib/CONTROL +++ b/ports/zziplib/CONTROL @@ -1,5 +1,5 @@ Source: zziplib -Version: 0.13.69-3 +Version: 0.13.69-4 Build-Depends: zlib Homepage: https://github.com/gdraheim/zziplib Description: library providing read access on ZIP-archives diff --git a/ports/zziplib/portfile.cmake b/ports/zziplib/portfile.cmake index 534744714..7ca3ca2c4 100644 --- a/ports/zziplib/portfile.cmake +++ b/ports/zziplib/portfile.cmake @@ -22,6 +22,7 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + DISABLE_PARALLEL_CONFIGURE OPTIONS -DZLIB_INCLUDE_DIRS=${CURRENT_INSTALLED_DIR}/include ) diff --git a/scripts/boost/.gitignore b/scripts/boost/.gitignore new file mode 100644 index 000000000..f8e31288e --- /dev/null +++ b/scripts/boost/.gitignore @@ -0,0 +1,3 @@ +/boost +/downloads +/libs \ No newline at end of file diff --git a/scripts/boost/generate-ports.ps1 b/scripts/boost/generate-ports.ps1 new file mode 100644 index 000000000..5f5897718 --- /dev/null +++ b/scripts/boost/generate-ports.ps1 @@ -0,0 +1,421 @@ +[CmdletBinding()] +param ( + $libraries = @(), + $version = "1.71.0" +) + +$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition +$portsDir = "$scriptsDir/../../ports" + +function TransformReference() +{ + param ( + [string]$library + ) + + if ($library -match "fiber") + { + # these only work on windows desktop + "$library (windows)" + } + elseif ($library -match "type[_-]erasure|contract") + { + # These only work on x86-derived processors + "$library (!arm)" + } + elseif ($library -match "iostreams|filesystem|context|stacktrace|coroutine`$|locale|test|wave|log`$") + { + "$library (!uwp)" + } + else + { + "$library" + } +} + +function Generate() +{ + param ( + [string]$Name, + [string]$Hash, + [bool]$NeedsBuild, + $Depends = @() + ) + + $controlDeps = ($Depends | sort) -join ", " + + $sanitizedName = $name -replace "_","-" + + $versionsuffix = "" + if ($Name -eq "asio" -or $Name -eq "mpi") + { + $versionsuffix = "-1" + } + + if ($Name -eq "python" -or $Name -eq "test") + { + $versionsuffix = "-2" + } + + mkdir "$portsDir/boost-$sanitizedName" -erroraction SilentlyContinue | out-null + $controlLines = @( + "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" + "Source: boost-$sanitizedName" + "Version: $version$versionsuffix" + "Build-Depends: $controlDeps" + "Homepage: https://github.com/boostorg/$name" + "Description: Boost $Name module" + ) + if ($Name -eq "locale") + { + $controlLines += @( + "" + "Feature: icu" + "Description: ICU backend for Boost.Locale" + "Build-Depends: icu" + ) + } + if ($Name -eq "regex") + { + $controlLines += @( + "" + "Feature: icu" + "Description: ICU backend for Boost.Regex" + "Build-Depends: icu" + ) + } + $controlLines | out-file -enc ascii "$portsDir/boost-$sanitizedName/CONTROL" + + $portfileLines = @( + "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" + "" + "include(vcpkg_common_functions)" + "" + "vcpkg_from_github(" + " OUT_SOURCE_PATH SOURCE_PATH" + " REPO boostorg/$Name" + " REF boost-$version" + " SHA512 $Hash" + " HEAD_REF master" + ) + if ($Name -eq "asio") + { + $portfileLines += @(" PATCHES windows_alloca_header.patch") + } + if ($Name -eq "iostreams") + { + $portfileLines += @(" PATCHES Removeseekpos.patch") + } + $portfileLines += @( + ")" + "" + ) + + if (Test-Path "$scriptsDir/post-source-stubs/$Name.cmake") + { + $portfileLines += @(get-content "$scriptsDir/post-source-stubs/$Name.cmake") + } + + if ($NeedsBuild) + { + if ($Name -eq "locale") + { + $portfileLines += @( + "if(`"icu`" IN_LIST FEATURES)" + " set(BOOST_LOCALE_ICU on)" + "else()" + " set(BOOST_LOCALE_ICU off)" + "endif()" + "" + "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "boost_modular_build(" + " SOURCE_PATH `${SOURCE_PATH}" + " BOOST_CMAKE_FRAGMENT `"`${CMAKE_CURRENT_LIST_DIR}/cmake-fragment.cmake`"" + " OPTIONS" + " boost.locale.iconv=off" + " boost.locale.posix=off" + " /boost/locale//boost_locale" + " boost.locale.icu=`${BOOST_LOCALE_ICU}" + ")" + ) + } + elseif ($Name -eq "regex") + { + $portfileLines += @( + "if(`"icu`" IN_LIST FEATURES)" + " set(REQUIREMENTS `"/user-config//icuuc /user-config//icudt /user-config//icuin BOOST_HAS_ICU=1`")" + "else()" + " set(REQUIREMENTS)" + "endif()" + "" + "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "boost_modular_build(SOURCE_PATH `${SOURCE_PATH} REQUIREMENTS `"`${REQUIREMENTS}`")" + ) + } + elseif ($Name -eq "thread") + { + $portfileLines += @( + "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "boost_modular_build(" + " SOURCE_PATH `${SOURCE_PATH}" + " REQUIREMENTS `"/boost/date_time//boost_date_time`"" + " OPTIONS /boost/thread//boost_thread" + " BOOST_CMAKE_FRAGMENT `${CMAKE_CURRENT_LIST_DIR}/b2-options.cmake" + ")" + ) + } + elseif ($Name -eq "iostreams") + { + } + else + { + $portfileLines += @( + "include(`${CURRENT_INSTALLED_DIR}/share/boost-build/boost-modular-build.cmake)" + "boost_modular_build(SOURCE_PATH `${SOURCE_PATH})" + ) + } + } + if ($Name -ne "iostreams") + { + $portfileLines += @( + "include(`${CURRENT_INSTALLED_DIR}/share/boost-vcpkg-helpers/boost-modular-headers.cmake)" + "boost_modular_headers(SOURCE_PATH `${SOURCE_PATH})" + ) + } + + if (Test-Path "$scriptsDir/post-build-stubs/$Name.cmake") + { + $portfileLines += @(get-content "$scriptsDir/post-build-stubs/$Name.cmake") + } + + $portfileLines | out-file -enc ascii "$portsDir/boost-$sanitizedName/portfile.cmake" +} + +if (!(Test-Path "$scriptsDir/boost")) +{ + "Cloning boost..." + pushd $scriptsDir + try + { + git clone https://github.com/boostorg/boost --branch boost-$version + } + finally + { + popd + } +} +else +{ + pushd $scriptsDir/boost + try + { + git fetch + git checkout -f boost-$version + } + finally + { + popd + } +} + +$libraries_found = ls $scriptsDir/boost/libs -directory | % name | % { + if ($_ -match "numeric") + { + "numeric_conversion" + "interval" + "odeint" + "ublas" + "safe_numerics" + } + elseif ($_ -eq "headers") + { + } + else + { + $_ + } +} + +mkdir $scriptsDir/downloads -erroraction SilentlyContinue | out-null + +if ($libraries.Length -eq 0) +{ + $libraries = $libraries_found +} + +$libraries_in_boost_port = @() + +foreach ($library in $libraries) +{ + "Handling boost/$library..." + $archive = "$scriptsDir/downloads/$library-boost-$version.tar.gz" + if (!(Test-Path $archive)) + { + "Downloading boost/$library..." + & @(vcpkg fetch aria2)[-1] "https://github.com/boostorg/$library/archive/boost-$version.tar.gz" -d "$scriptsDir/downloads" -o "$library-boost-$version.tar.gz" + } + $hash = vcpkg hash $archive + $unpacked = "$scriptsDir/libs/$library-boost-$version" + if (!(Test-Path $unpacked)) + { + "Unpacking boost/$library..." + mkdir $scriptsDir/libs -erroraction SilentlyContinue | out-null + pushd $scriptsDir/libs + try + { + cmake -E tar xf $archive + } + finally + { + popd + } + } + pushd $unpacked + try + { + $groups = $( + findstr /si /C:"include ).*", "`$1" ` + -replace "/|\.hp?p?| ","" } | group | % name | % { + # mappings + Write-Verbose "${library}: $_" + if ($_ -match "aligned_storage") { "type_traits" } + elseif ($_ -match "noncopyable|ref|swap|get_pointer|checked_delete|visit_each") { "core" } + elseif ($_ -eq "type") { "core" } + elseif ($_ -match "unordered_") { "unordered" } + elseif ($_ -match "cstdint") { "integer" } + elseif ($_ -match "call_traits|operators|current_function|cstdlib|next_prior|compressed_pair") { "utility" } + elseif ($_ -match "^version|^workaround") { "config" } + elseif ($_ -match "enable_shared_from_this|shared_ptr|make_shared|make_unique|intrusive_ptr|scoped_ptr|pointer_to_other|weak_ptr|shared_array|scoped_array") { "smart_ptr" } + elseif ($_ -match "iterator_adaptors|generator_iterator|pointee") { "iterator" } + elseif ($_ -eq "regex_fwd") { "regex" } + elseif ($_ -eq "make_default") { "convert" } + elseif ($_ -eq "foreach_fwd") { "foreach" } + elseif ($_ -eq "cerrno") { "system" } + elseif ($_ -eq "archive") { "serialization" } + elseif ($_ -eq "none") { "optional" } + elseif ($_ -eq "integer_traits") { "integer" } + elseif ($_ -eq "limits") { "compatibility" } + elseif ($_ -eq "math_fwd") { "math" } + elseif ($_ -match "polymorphic_cast|implicit_cast") { "conversion" } + elseif ($_ -eq "nondet_random") { "random" } + elseif ($_ -eq "memory_order") { "atomic" } + elseif ($_ -eq "blank") { "detail" } + elseif ($_ -match "is_placeholder|mem_fn") { "bind" } + elseif ($_ -eq "exception_ptr") { "exception" } + elseif ($_ -eq "multi_index_container") { "multi_index" } + elseif ($_ -eq "lexical_cast") { "lexical_cast"; "math" } + elseif ($_ -match "token_iterator|token_functions") { "tokenizer" } + elseif ($_ -eq "numeric" -and $library -notmatch "numeric_conversion|interval|odeint|ublas") { "numeric_conversion"; "interval"; "odeint"; "ublas" } + else { $_ } + } | group | % name | ? { $_ -ne $library } + + #"`nFor ${library}:" + " [known] " + $($groups | ? { $libraries_found -contains $_ }) + " [unknown] " + $($groups | ? { $libraries_found -notcontains $_ }) + + $deps = @($groups | ? { $libraries_found -contains $_ }) + + $deps = @($deps | ? { + # Boost contains cycles, so remove a few dependencies to break the loop. + (($library -notmatch "core|assert|mpl|detail|throw_exception|type_traits|^exception") -or ($_ -notmatch "utility")) ` + -and ` + (($library -notmatch "range") -or ($_ -notmatch "algorithm"))` + -and ` + (($library -ne "config") -or ($_ -notmatch "integer"))` + -and ` + (($library -notmatch "multiprecision") -or ($_ -notmatch "random|math"))` + -and ` + (($library -notmatch "lexical_cast") -or ($_ -notmatch "math"))` + -and ` + (($library -notmatch "functional") -or ($_ -notmatch "function"))` + -and ` + (($library -notmatch "detail") -or ($_ -notmatch "static_assert|integer|mpl|type_traits"))` + -and ` + ($_ -notmatch "mpi")` + -and ` + (($library -notmatch "spirit") -or ($_ -notmatch "serialization"))` + -and ` + (($library -notmatch "throw_exception") -or ($_ -notmatch "^exception"))` + -and ` + (($library -notmatch "iostreams") -or ($_ -notmatch "random"))` + -and ` + (($library -notmatch "utility|concept_check") -or ($_ -notmatch "iterator")) + } | % { "boost-$_" -replace "_","-" } | % { + TransformReference $_ + }) + + $deps += @("boost-vcpkg-helpers") + + $needsBuild = $false + if ((Test-Path $unpacked/build/Jamfile.v2) -and $library -ne "metaparse" -and $library -ne "graph_parallel") + { + $deps += @("boost-build", "boost-modular-build-helper") + $needsBuild = $true + } + + if ($library -eq "python") + { + $deps += @("python3 (!osx&!linux)") + $needsBuild = $true + } + elseif ($library -eq "iostreams") + { + $deps += @("zlib", "bzip2", "liblzma", "zstd") + } + elseif ($library -eq "locale") + { + $deps += @("libiconv (!uwp&!windows)", "boost-system") + } + elseif ($library -eq "asio") + { + $deps += @("openssl") + } + elseif ($library -eq "mpi") + { + $deps += @("mpi") + } + + Generate ` + -Name $library ` + -Hash $hash ` + -Depends $deps ` + -NeedsBuild $needsBuild + + $libraries_in_boost_port += @(TransformReference $library) + } + finally + { + popd + } +} + +if ($libraries_in_boost_port.length -gt 1) { + # Generate master boost control file which depends on each individual library + # mpi is excluded due to it having a dependency on msmpi + $boostDependsList = @($libraries_in_boost_port | % { "boost-$_" -replace "_","-" } | ? { $_ -notmatch "boost-mpi" }) -join ", " + + @( + "# Automatically generated by boost-vcpkg-helpers/generate-ports.ps1" + "Source: boost" + "Version: $version" + "Homepage: https://boost.org" + "Description: Peer-reviewed portable C++ source libraries" + "Build-Depends: $boostDependsList" + "" + "Feature: mpi" + "Description: Build with MPI support" + "Build-Depends: boost-mpi" + ) | out-file -enc ascii $portsDir/boost/CONTROL + + "set(VCPKG_POLICY_EMPTY_PACKAGE enabled)`n" | out-file -enc ascii $portsDir/boost/portfile.cmake +} + +return diff --git a/ports/boost-vcpkg-helpers/post-build-stubs/config.cmake b/scripts/boost/post-build-stubs/config.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-build-stubs/config.cmake rename to scripts/boost/post-build-stubs/config.cmake diff --git a/ports/boost-vcpkg-helpers/post-build-stubs/context.cmake b/scripts/boost/post-build-stubs/context.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-build-stubs/context.cmake rename to scripts/boost/post-build-stubs/context.cmake diff --git a/ports/boost-vcpkg-helpers/post-build-stubs/exception.cmake b/scripts/boost/post-build-stubs/exception.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-build-stubs/exception.cmake rename to scripts/boost/post-build-stubs/exception.cmake diff --git a/ports/boost-vcpkg-helpers/post-build-stubs/predef.cmake b/scripts/boost/post-build-stubs/predef.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-build-stubs/predef.cmake rename to scripts/boost/post-build-stubs/predef.cmake diff --git a/ports/boost-vcpkg-helpers/post-build-stubs/test.cmake b/scripts/boost/post-build-stubs/test.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-build-stubs/test.cmake rename to scripts/boost/post-build-stubs/test.cmake diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/context.cmake b/scripts/boost/post-source-stubs/context.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-source-stubs/context.cmake rename to scripts/boost/post-source-stubs/context.cmake diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/fiber.cmake b/scripts/boost/post-source-stubs/fiber.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-source-stubs/fiber.cmake rename to scripts/boost/post-source-stubs/fiber.cmake diff --git a/scripts/boost/post-source-stubs/iostreams.cmake b/scripts/boost/post-source-stubs/iostreams.cmake new file mode 100644 index 000000000..55841bb3f --- /dev/null +++ b/scripts/boost/post-source-stubs/iostreams.cmake @@ -0,0 +1,18 @@ +vcpkg_download_distfile(LICENSE + URLS "https://raw.githubusercontent.com/boostorg/boost/boost-1.70.0/LICENSE_1_0.txt" + FILENAME "boost_LICENSE_1_0.txt" + SHA512 d6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8 +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(COPY ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) +file(INSTALL ${LICENSE} DESTINATION ${CURRENT_PACKAGES_DIR}/share/boost-iostreams RENAME copyright) diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/log.cmake b/scripts/boost/post-source-stubs/log.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-source-stubs/log.cmake rename to scripts/boost/post-source-stubs/log.cmake diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/python.cmake b/scripts/boost/post-source-stubs/python.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-source-stubs/python.cmake rename to scripts/boost/post-source-stubs/python.cmake diff --git a/ports/boost-vcpkg-helpers/post-source-stubs/test.cmake b/scripts/boost/post-source-stubs/test.cmake similarity index 100% rename from ports/boost-vcpkg-helpers/post-source-stubs/test.cmake rename to scripts/boost/post-source-stubs/test.cmake diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index 6234efaa3..d2632e57b 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -226,8 +226,9 @@ function getWindowsSDK( [Parameter(Mandatory=$False)][switch]$DisableWin10SDK = $win10sdkVersions = @(Get-ChildItem $folder | Where-Object {$_.Name -match "^10"} | Sort-Object) [array]::Reverse($win10sdkVersions) # Newest SDK first - foreach ($win10sdkV in $win10sdkVersions) + foreach ($win10sdk in $win10sdkVersions) { + $win10sdkV = $win10sdk.Name $windowsheader = "$folder\$win10sdkV\um\windows.h" if (!(Test-Path $windowsheader)) { diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index b0e4f98a5..55859d1f8 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -17,7 +17,7 @@ fi # Argument parsing vcpkgDisableMetrics="OFF" vcpkgUseSystem=false -vcpkgAllowAppleClang=OFF +vcpkgAllowAppleClang=false for var in "$@" do if [ "$var" = "-disableMetrics" -o "$var" = "--disableMetrics" ]; then @@ -25,7 +25,7 @@ do elif [ "$var" = "-useSystemBinaries" -o "$var" = "--useSystemBinaries" ]; then vcpkgUseSystem=true elif [ "$var" = "-allowAppleClang" -o "$var" = "--allowAppleClang" ]; then - vcpkgAllowAppleClang=ON + vcpkgAllowAppleClang=true elif [ "$var" = "-help" -o "$var" = "--help" ]; then echo "Usage: ./bootstrap-vcpkg.sh [options]" echo @@ -242,14 +242,22 @@ else fetchTool "cmake" "$UNAME" cmakeExe || exit 1 fetchTool "ninja" "$UNAME" ninjaExe || exit 1 fi -selectCXX CXX || exit 1 +if [ "$os" = "osx" ]; then + if [ "$vcpkgAllowAppleClang" = "true" ] ; then + CXX=clang++ + else + selectCXX CXX || exit 1 + fi +else + selectCXX CXX || exit 1 +fi # Do the build buildDir="$vcpkgRootDir/toolsrc/build.rel" rm -rf "$buildDir" mkdir -p "$buildDir" -(cd "$buildDir" && CXX=$CXX "$cmakeExe" .. -DCMAKE_BUILD_TYPE=Release -G "Ninja" "-DCMAKE_MAKE_PROGRAM=$ninjaExe" "-DDEFINE_DISABLE_METRICS=$vcpkgDisableMetrics" "-DVCPKG_ALLOW_APPLE_CLANG=$vcpkgAllowAppleClang") || exit 1 +(cd "$buildDir" && CXX=$CXX "$cmakeExe" .. -DCMAKE_BUILD_TYPE=Release -G "Ninja" "-DCMAKE_MAKE_PROGRAM=$ninjaExe" "-DBUILD_TESTING=OFF" "-DVCPKG_DEVELOPMENT_WARNINGS=Off" "-DDEFINE_DISABLE_METRICS=$vcpkgDisableMetrics" "-DVCPKG_ALLOW_APPLE_CLANG=$vcpkgAllowAppleClang") || exit 1 (cd "$buildDir" && "$cmakeExe" --build .) || exit 1 rm -rf "$vcpkgRootDir/vcpkg" diff --git a/scripts/buildsystems/msbuild/applocal.ps1 b/scripts/buildsystems/msbuild/applocal.ps1 index 2fdd9fdb4..ab51dc9be 100644 --- a/scripts/buildsystems/msbuild/applocal.ps1 +++ b/scripts/buildsystems/msbuild/applocal.ps1 @@ -29,7 +29,7 @@ function deployBinary([string]$targetBinaryDir, [string]$SourceDir, [string]$tar Copy-Item "$SourceDir\$targetBinaryName" $targetBinaryDir } if ($copiedFilesLog) { Add-Content $copiedFilesLog "$targetBinaryDir\$targetBinaryName" -Encoding UTF8 } - if ($tlogFile) { Add-Content $tlogFile "$targetBinaryDir\$targetBinaryName" } + if ($tlogFile) { Add-Content $tlogFile "$targetBinaryDir\$targetBinaryName" -Encoding Unicode } } diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index f657e2710..ed9bcbc69 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -1,10 +1,17 @@ # Mark variables as used so cmake doesn't complain about them mark_as_advanced(CMAKE_TOOLCHAIN_FILE) -# This is a backport of CMAKE_TRY_COMPILE_PLATFORM_VARIABLES to cmake 3.0 -get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) -if( _CMAKE_IN_TRY_COMPILE ) - include( "${CMAKE_CURRENT_SOURCE_DIR}/../vcpkg.config.cmake" OPTIONAL ) +# Determine whether the toolchain is loaded during a try-compile configuration +get_property(_CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE) + +if (${CMAKE_VERSION} VERSION_LESS "3.6.0") + set(_CMAKE_EMULATE_TRY_COMPILE_PLATFORM_VARIABLES ON) +else() + set(_CMAKE_EMULATE_TRY_COMPILE_PLATFORM_VARIABLES OFF) +endif() + +if(_CMAKE_IN_TRY_COMPILE AND _CMAKE_EMULATE_TRY_COMPILE_PLATFORM_VARIABLES) + include("${CMAKE_CURRENT_SOURCE_DIR}/../vcpkg.config.cmake" OPTIONAL) endif() if(VCPKG_CHAINLOAD_TOOLCHAIN_FILE) @@ -38,17 +45,7 @@ else() elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 15 2017$") set(_VCPKG_TARGET_TRIPLET_ARCH x86) elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 16 2019$") - if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^[Xx]86$") - set(_VCPKG_TARGET_TRIPLET_ARCH x86) - elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^[Aa][Mm][Dd]64$") - set(_VCPKG_TARGET_TRIPLET_ARCH x64) - elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^[Aa][Rr][Mm]$") - set(_VCPKG_TARGET_TRIPLET_ARCH arm) - elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "^[Aa][Rr][Mm]64$") - set(_VCPKG_TARGET_TRIPLET_ARCH arm64) - else() - - endif() + set(_VCPKG_TARGET_TRIPLET_ARCH x86) else() find_program(_VCPKG_CL cl) if(_VCPKG_CL MATCHES "amd64/cl.exe$" OR _VCPKG_CL MATCHES "x64/cl.exe$") @@ -274,13 +271,23 @@ set(_UNUSED ${CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY}) set(_UNUSED ${CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY}) set(_UNUSED ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP}) +# Propogate these values to try-compile configurations so the triplet and toolchain load if(NOT _CMAKE_IN_TRY_COMPILE) - file(TO_CMAKE_PATH "${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" _chainload_file) - file(TO_CMAKE_PATH "${_VCPKG_ROOT_DIR}" _root_dir) - file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/vcpkg.config.cmake" - "set(VCPKG_TARGET_TRIPLET \"${VCPKG_TARGET_TRIPLET}\" CACHE STRING \"\")\n" - "set(VCPKG_APPLOCAL_DEPS \"${VCPKG_APPLOCAL_DEPS}\" CACHE STRING \"\")\n" - "set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE \"${_chainload_file}\" CACHE STRING \"\")\n" - "set(_VCPKG_ROOT_DIR \"${_root_dir}\" CACHE STRING \"\")\n" + if(_CMAKE_EMULATE_TRY_COMPILE_PLATFORM_VARIABLES) + file(TO_CMAKE_PATH "${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" _chainload_file) + file(TO_CMAKE_PATH "${_VCPKG_ROOT_DIR}" _root_dir) + file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/vcpkg.config.cmake" + "set(VCPKG_TARGET_TRIPLET \"${VCPKG_TARGET_TRIPLET}\" CACHE STRING \"\")\n" + "set(VCPKG_APPLOCAL_DEPS \"${VCPKG_APPLOCAL_DEPS}\" CACHE STRING \"\")\n" + "set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE \"${_chainload_file}\" CACHE STRING \"\")\n" + "set(_VCPKG_ROOT_DIR \"${_root_dir}\" CACHE STRING \"\")\n" ) + else() + set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES + VCPKG_TARGET_TRIPLET + VCPKG_APPLOCAL_DEPS + VCPKG_CHAINLOAD_TOOLCHAIN_FILE + _VCPKG_ROOT_DIR + ) + endif() endif() diff --git a/scripts/cleanEnvironmentHelper.ps1 b/scripts/cleanEnvironmentHelper.ps1 index a3792ecd3..fa5fe869d 100644 --- a/scripts/cleanEnvironmentHelper.ps1 +++ b/scripts/cleanEnvironmentHelper.ps1 @@ -1,6 +1,6 @@ # Capture environment variables for the System and User. Also add some special/built-in variables. # These will be used to synthesize a clean environment -$specialEnvironmentMap = @{ "SystemDrive"=$env:SystemDrive; "SystemRoot"=$env:SystemRoot; "UserProfile"=$env:UserProfile } # These are built-in and not set in the registry +$specialEnvironmentMap = @{ "SystemDrive"=$env:SystemDrive; "SystemRoot"=$env:SystemRoot; "UserProfile"=$env:UserProfile; "TMP"=$env:TMP } # These are built-in and not set in the registry $machineEnvironmentMap = [Environment]::GetEnvironmentVariables('Machine') # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment $userEnvironmentMap = [Environment]::GetEnvironmentVariables('User') # HKEY_CURRENT_USER\Environment diff --git a/scripts/cmake/execute_process.cmake b/scripts/cmake/execute_process.cmake new file mode 100644 index 000000000..51f6ad160 --- /dev/null +++ b/scripts/cmake/execute_process.cmake @@ -0,0 +1,20 @@ +## # execute_process +## +## Intercepts all calls to execute_process() inside portfiles and fails when Download Mode +## is enabled. +## +## In order to execute a process in Download Mode call `_execute_process()` instead. +## +if (NOT DEFINED OVERRIDEN_EXECUTE_PROCESS) + set(OVERRIDEN_EXECUTE_PROCESS ON) + + if (DEFINED VCPKG_DOWNLOAD_MODE) + macro(execute_process) + message(FATAL_ERROR "This command cannot be executed in Download Mode.\nHalting portfile execution.\n") + endmacro() + else() + macro(execute_process) + _execute_process(${ARGV}) + endmacro() + endif() +endif() \ No newline at end of file diff --git a/scripts/cmake/vcpkg_acquire_msys.cmake b/scripts/cmake/vcpkg_acquire_msys.cmake index 09090db68..f1f09dc7e 100644 --- a/scripts/cmake/vcpkg_acquire_msys.cmake +++ b/scripts/cmake/vcpkg_acquire_msys.cmake @@ -81,15 +81,15 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) file(REMOVE_RECURSE ${TOOLPATH}/${TOOLSUBPATH}) file(MAKE_DIRECTORY ${TOOLPATH}) - execute_process( + _execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE_PATH} WORKING_DIRECTORY ${TOOLPATH} ) - execute_process( + _execute_process( COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin;pacman-key --init;pacman-key --populate" WORKING_DIRECTORY ${TOOLPATH} ) - execute_process( + _execute_process( COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "PATH=/usr/bin;pacman -Syu --noconfirm" WORKING_DIRECTORY ${TOOLPATH} ) @@ -104,6 +104,7 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) set(_ENV_ORIGINAL $ENV{PATH}) set(ENV{PATH} ${PATH_TO_ROOT}/usr/bin) vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE COMMAND ${PATH_TO_ROOT}/usr/bin/bash.exe --noprofile --norc -c "pacman -Sy --noconfirm --needed ${_am_PACKAGES}" WORKING_DIRECTORY ${TOOLPATH} LOGNAME msys-pacman-${TARGET_TRIPLET} @@ -116,6 +117,7 @@ function(vcpkg_acquire_msys PATH_TO_ROOT_OUT) # Deal with a stale process created by MSYS if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE COMMAND TASKKILL /F /IM gpg-agent.exe /fi "memusage gt 2" WORKING_DIRECTORY ${SOURCE_PATH} ) 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_apply_patches.cmake b/scripts/cmake/vcpkg_apply_patches.cmake index ac0b78e20..8957fca27 100644 --- a/scripts/cmake/vcpkg_apply_patches.cmake +++ b/scripts/cmake/vcpkg_apply_patches.cmake @@ -40,7 +40,7 @@ function(vcpkg_apply_patches) get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}") message(STATUS "Applying patch ${PATCH}") set(LOGNAME patch-${TARGET_TRIPLET}-${PATCHNUM}) - execute_process( + _execute_process( COMMAND ${GIT} --work-tree=. --git-dir=.git apply "${ABSOLUTE_PATCH}" --ignore-whitespace --whitespace=nowarn --verbose OUTPUT_FILE ${CURRENT_BUILDTREES_DIR}/${LOGNAME}-out.log ERROR_FILE ${CURRENT_BUILDTREES_DIR}/${LOGNAME}-err.log @@ -49,7 +49,7 @@ function(vcpkg_apply_patches) ) if(error_code AND NOT _ap_QUIET) - message(STATUS "Applying patch failed. This is expected if this patch was previously applied.") + message(FATAL_ERROR "Applying patch failed. Patch needs to be updated to work with source being used by vcpkg!") endif() math(EXPR PATCHNUM "${PATCHNUM}+1") 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 new file mode 100644 index 000000000..d928a9287 --- /dev/null +++ b/scripts/cmake/vcpkg_build_make.cmake @@ -0,0 +1,183 @@ +## # vcpkg_build_make +## +## Build a linux makefile project. +## +## ## Usage: +## ```cmake +## vcpkg_build_make([TARGET ]) +## ``` +## +## ### TARGET +## The target passed to the configure/make build command (`./configure/make/make install`). If not specified, no target will +## be passed. +## +## ### ADD_BIN_TO_PATH +## Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. +## +## ## Notes: +## This command should be preceeded by a call to [`vcpkg_configure_make()`](vcpkg_configure_make.md). +## You can use the alias [`vcpkg_install_make()`](vcpkg_configure_make.md) function if your CMake script supports the +## "install" target +## +## ## Examples +## +## * [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) +## * [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) +## * [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) +## * [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) +function(vcpkg_build_make) + cmake_parse_arguments(_bc "ADD_BIN_TO_PATH;ENABLE_INSTALL" "LOGFILE_ROOT" "" ${ARGN}) + + if(NOT _bc_LOGFILE_ROOT) + set(_bc_LOGFILE_ROOT "build") + endif() + + if (_VCPKG_PROJECT_SUBPATH) + set(_VCPKG_PROJECT_SUBPATH /${_VCPKG_PROJECT_SUBPATH}/) + endif() + + set(MAKE ) + set(MAKE_OPTS ) + set(INSTALL_OPTS ) + if (_VCPKG_MAKE_GENERATOR STREQUAL "make") + if (CMAKE_HOST_WIN32) + # Compiler requriements + vcpkg_find_acquire_program(YASM) + vcpkg_find_acquire_program(PERL) + vcpkg_acquire_msys(MSYS_ROOT PACKAGES make) + get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) + get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) + + set(PATH_GLOBAL "$ENV{PATH}") + set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH};${MSYS_ROOT}/usr/bin;${PERL_EXE_PATH}") + set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) + # Set make command and install command + set(MAKE ${BASH} --noprofile --norc -c "${_VCPKG_PROJECT_SUBPATH}make") + # Must use absolute path to call make in windows + set(MAKE_OPTS -j ${VCPKG_CONCURRENCY}) + set(INSTALL_OPTS install -j ${VCPKG_CONCURRENCY}) + else() + # Compiler requriements + find_program(MAKE make REQUIRED) + set(MAKE make;) + # Set make command and install command + set(MAKE_OPTS -j;${VCPKG_CONCURRENCY}) + set(INSTALL_OPTS install;-j;${VCPKG_CONCURRENCY}) + endif() + elseif (_VCPKG_MAKE_GENERATOR STREQUAL "nmake") + find_program(NMAKE nmake REQUIRED) + get_filename_component(NMAKE_EXE_PATH ${NMAKE} DIRECTORY) + set(PATH_GLOBAL "$ENV{PATH}") + set(ENV{PATH} "$ENV{PATH};${NMAKE_EXE_PATH}") + set(ENV{CL} "$ENV{CL} /MP") + # Set make command and install command + set(MAKE ${NMAKE} /NOLOGO /G /U) + set(MAKE_OPTS -f makefile all) + set(INSTALL_OPTS install) + else() + message(FATAL_ERROR "${_VCPKG_MAKE_GENERATOR} not supported.") + endif() + + set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}") + + foreach(BUILDTYPE "debug" "release") + 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() + # In NO_DEBUG mode, we only use ${TARGET_TRIPLET} directory. + if (_VCPKG_NO_DEBUG) + set(SHORT_BUILDTYPE "") + else() + set(SHORT_BUILDTYPE "-rel") + endif() + endif() + + if (CMAKE_HOST_WIN32) + # In windows we can remotely call make + set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${SHORT_BUILDTYPE}) + else() + set(WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}${SHORT_BUILDTYPE}${_VCPKG_PROJECT_SUBPATH}) + endif() + + message(STATUS "Building ${TARGET_TRIPLET}${SHORT_BUILDTYPE}") + + 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}") + else() + set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/bin${_PATHSEP}$ENV{PATH}") + endif() + endif() + + if (CMAKE_HOST_WIN32) + vcpkg_execute_build_process( + COMMAND "${MAKE} ${MAKE_OPTS}" + WORKING_DIRECTORY ${WORKING_DIRECTORY} + LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" + ) + else() + vcpkg_execute_build_process( + COMMAND "${MAKE};${MAKE_OPTS}" + WORKING_DIRECTORY ${WORKING_DIRECTORY} + LOGNAME "${_bc_LOGFILE_ROOT}-${TARGET_TRIPLET}${SHORT_BUILDTYPE}" + ) + endif() + + if(_bc_ADD_BIN_TO_PATH) + set(ENV{PATH} "${_BACKUP_ENV_PATH}") + endif() + endif() + endforeach() + + 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 "") + else() + set(SHORT_BUILDTYPE "-rel") + 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}" + ) + endif() + endforeach() + endif() + + if (CMAKE_HOST_WIN32) + set(ENV{PATH} "${PATH_GLOBAL}") + endif() +endfunction() diff --git a/scripts/cmake/vcpkg_build_msbuild.cmake b/scripts/cmake/vcpkg_build_msbuild.cmake index 50432f8fa..cfd429da2 100644 --- a/scripts/cmake/vcpkg_build_msbuild.cmake +++ b/scripts/cmake/vcpkg_build_msbuild.cmake @@ -108,7 +108,7 @@ function(vcpkg_build_msbuild) if(_csc_USE_VCPKG_INTEGRATION) list( APPEND _csc_OPTIONS - /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets + /p:ForceImportBeforeCppTargets=${SCRIPTS}/buildsystems/msbuild/vcpkg.targets "/p:VcpkgTriplet=${TARGET_TRIPLET}" ) endif() diff --git a/scripts/cmake/vcpkg_build_nmake.cmake b/scripts/cmake/vcpkg_build_nmake.cmake new file mode 100644 index 000000000..33f1e9d1e --- /dev/null +++ b/scripts/cmake/vcpkg_build_nmake.cmake @@ -0,0 +1,222 @@ +## # vcpkg_build_nmake +## +## Build a msvc makefile project. +## +## ## Usage: +## ```cmake +## vcpkg_build_nmake( +## SOURCE_PATH <${SOURCE_PATH}> +## [NO_DEBUG] +## [PROJECT_SUBPATH <${SUBPATH}>] +## [PROJECT_NAME <${MAKEFILE_NAME}>] +## [PRERUN_SHELL <${SHELL_PATH}>] +## [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] +## [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] +## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] +## [OPTIONS_RELEASE <-DOPTIMIZE=1>...] +## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] +## [TARGET ]) +## ``` +## +## ## Parameters +## ### SOURCE_PATH +## Specifies the directory containing the source files. +## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. +## +## ### PROJECT_SUBPATH +## Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile. +## +## ### PROJECT_NAME +## Specifies the name of msvc makefile name. +## Default is `makefile.vc` +## +## ### NO_DEBUG +## This port doesn't support debug mode. +## +## ### ENABLE_INSTALL +## Install binaries after build. +## +## ### PRERUN_SHELL +## Script that needs to be called before build +## +## ### PRERUN_SHELL_DEBUG +## Script that needs to be called before debug build +## +## ### PRERUN_SHELL_RELEASE +## Script that needs to be called before release build +## +## ### OPTIONS +## Additional options passed to generate during the generation. +## +## ### OPTIONS_RELEASE +## Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`. +## +## ### OPTIONS_DEBUG +## Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`. +## +## ### TARGET +## The target passed to the nmake build command (`nmake/nmake install`). If not specified, no target will +## be passed. +## +## ### ADD_BIN_TO_PATH +## Adds the appropriate Release and Debug `bin\` directories to the path during the build such that executables can run against the in-tree DLLs. +## +## ## Notes: +## This command should be preceeded by a call to [`vcpkg_configure_nmake()`](vcpkg_configure_nmake.md). +## You can use the alias [`vcpkg_install_nmake()`](vcpkg_configure_nmake.md) function if your CMake script supports the +## "install" target +## +## ## 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) +function(vcpkg_build_nmake) + cmake_parse_arguments(_bn + "ADD_BIN_TO_PATH;ENABLE_INSTALL;NO_DEBUG" + "SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME;LOGFILE_ROOT" + "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE" + ${ARGN} + ) + + if (NOT CMAKE_HOST_WIN32) + message(FATAL_ERROR "vcpkg_build_nmake only support windows.") + endif() + + if (_bn_OPTIONS_DEBUG STREQUAL _bn_OPTIONS_RELEASE) + message(FATAL_ERROR "Detected debug configuration is equal to release configuration, please use NO_DEBUG for vcpkg_build_nmake/vcpkg_install_nmake") + endif() + + if(NOT _bn_LOGFILE_ROOT) + set(_bn_LOGFILE_ROOT "build") + endif() + + if (NOT _bn_PROJECT_NAME) + set(MAKEFILE_NAME makefile.vc) + else() + set(MAKEFILE_NAME ${_bn_PROJECT_NAME}) + endif() + + set(MAKE ) + set(MAKE_OPTS_BASE ) + set(INSTALL_OPTS_BASE ) + + find_program(NMAKE nmake REQUIRED) + get_filename_component(NMAKE_EXE_PATH ${NMAKE} DIRECTORY) + # Load toolchains + if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") + endif() + include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") + # Set needed env + set(ENV{PATH} "$ENV{PATH};${NMAKE_EXE_PATH}") + set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}") + # Set make command and install command + set(MAKE ${NMAKE} /NOLOGO /G /U) + set(MAKE_OPTS_BASE -f ${MAKEFILE_NAME} all) + set(INSTALL_OPTS_BASE install) + # Add subpath to work directory + if (_bn_PROJECT_SUBPATH) + set(_bn_PROJECT_SUBPATH /${_bn_PROJECT_SUBPATH}) + else() + set(_bn_PROJECT_SUBPATH ) + endif() + + foreach(BUILDTYPE "debug" "release") + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL BUILDTYPE) + if(BUILDTYPE STREQUAL "debug") + # Skip debug generate + if (_bn_NO_DEBUG) + continue() + endif() + # Generate obj dir suffix + set(SHORT_BUILDTYPE "-dbg") + set(CONFIG "Debug") + # Add install command and arguments + set(MAKE_OPTS ${MAKE_OPTS_BASE}) + if (_bn_ENABLE_INSTALL) + set(INSTALL_OPTS ${INSTALL_OPTS_BASE} INSTALLDIR=${CURRENT_PACKAGES_DIR}/debug) + set(MAKE_OPTS ${MAKE_OPTS} ${INSTALL_OPTS}) + endif() + set(MAKE_OPTS ${MAKE_OPTS} ${_bn_OPTIONS} ${_bn_OPTIONS_DEBUG}) + + unset(ENV{CL}) + set(TMP_CL_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "/" "-" TMP_CL_FLAGS "${TMP_CL_FLAGS}") + set(ENV{CL} "$ENV{CL} ${TMP_CL_FLAGS}") + else() + # In NO_DEBUG mode, we only use ${TARGET_TRIPLET} directory. + if (_bn_NO_DEBUG) + set(SHORT_BUILDTYPE "") + else() + set(SHORT_BUILDTYPE "-rel") + endif() + set(CONFIG "Release") + # Add install command and arguments + set(MAKE_OPTS ${MAKE_OPTS_BASE}) + if (_bn_ENABLE_INSTALL) + set(INSTALL_OPTS ${INSTALL_OPTS_BASE} INSTALLDIR=${CURRENT_PACKAGES_DIR}) + set(MAKE_OPTS ${MAKE_OPTS} ${INSTALL_OPTS}) + endif() + set(MAKE_OPTS ${MAKE_OPTS} ${_bn_OPTIONS} ${_bn_OPTIONS_RELEASE}) + + unset(ENV{CL}) + set(TMP_CL_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") + string(REPLACE "/" "-" TMP_CL_FLAGS "${TMP_CL_FLAGS}") + set(ENV{CL} "$ENV{CL} ${TMP_CL_FLAGS}") + endif() + + set(CURRENT_TRIPLET_NAME ${TARGET_TRIPLET}${SHORT_BUILDTYPE}) + set(OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${CURRENT_TRIPLET_NAME}) + + file(REMOVE_RECURSE ${OBJ_DIR}) + file(MAKE_DIRECTORY ${OBJ_DIR}) + file(GLOB_RECURSE SOURCE_FILES ${_bn_SOURCE_PATH}/*) + foreach(ONE_SOUCRCE_FILE ${SOURCE_FILES}) + get_filename_component(DST_DIR ${ONE_SOUCRCE_FILE} PATH) + string(REPLACE "${_bn_SOURCE_PATH}" "${OBJ_DIR}" DST_DIR "${DST_DIR}") + file(COPY ${ONE_SOUCRCE_FILE} DESTINATION ${DST_DIR}) + endforeach() + + if (_bn_PRERUN_SHELL) + message("Prerunning ${CURRENT_TRIPLET_NAME}") + vcpkg_execute_required_process( + COMMAND ${_bn_PRERUN_SHELL} + WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH} + LOGNAME "$prerun-${CURRENT_TRIPLET_NAME}" + ) + endif() + if (BUILDTYPE STREQUAL "debug" AND _bn_PRERUN_SHELL_DEBUG) + message("Prerunning ${CURRENT_TRIPLET_NAME}") + vcpkg_execute_required_process( + COMMAND "${_bn_PRERUN_SHELL_DEBUG}" + WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH} + LOGNAME "prerun-${CURRENT_TRIPLET_NAME}-dbg" + ) + endif() + if (BUILDTYPE STREQUAL "release" AND _bn_PRERUN_SHELL_RELEASE) + message("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" + ) + endif() + + if (NOT _bn_ENABLE_INSTALL) + message(STATUS "Building ${CURRENT_TRIPLET_NAME}") + else() + message(STATUS "Building and installing ${CURRENT_TRIPLET_NAME}") + endif() + + vcpkg_execute_build_process( + COMMAND ${MAKE} ${MAKE_OPTS} + WORKING_DIRECTORY ${OBJ_DIR}${_bn_PROJECT_SUBPATH} + LOGNAME "${_bn_LOGFILE_ROOT}-${CURRENT_TRIPLET_NAME}" + ) + + if(_bn_ADD_BIN_TO_PATH) + set(ENV{PATH} "${_BACKUP_ENV_PATH}") + endif() + endif() + endforeach() +endfunction() diff --git a/scripts/cmake/vcpkg_build_qmake.cmake b/scripts/cmake/vcpkg_build_qmake.cmake index cf79fe8fc..ef6fb30f3 100644 --- a/scripts/cmake/vcpkg_build_qmake.cmake +++ b/scripts/cmake/vcpkg_build_qmake.cmake @@ -11,11 +11,9 @@ function(vcpkg_build_qmake) cmake_parse_arguments(_csc "SKIP_MAKEFILES" "BUILD_LOGNAME" "TARGETS;RELEASE_TARGETS;DEBUG_TARGETS" ${ARGN}) if(CMAKE_HOST_WIN32) - set(_PATHSEP ";") vcpkg_find_acquire_program(JOM) set(INVOKE "${JOM}") else() - set(_PATHSEP ":") find_program(MAKE make) set(INVOKE "${MAKE}") endif() @@ -23,22 +21,8 @@ function(vcpkg_build_qmake) # Make sure that the linker finds the libraries used set(ENV_PATH_BACKUP "$ENV{PATH}") - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(DEBUG_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(RELEASE_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) - endif() - file(TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR}" NATIVE_INSTALLED_DIR) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - list(APPEND _csc_RELEASE_TARGETS ${_csc_TARGETS}) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - list(APPEND _csc_DEBUG_TARGETS ${_csc_TARGETS}) - endif() - if(NOT _csc_BUILD_LOGNAME) set(_csc_BUILD_LOGNAME build) endif() @@ -56,55 +40,34 @@ function(vcpkg_build_qmake) set(ENV_CL_BACKUP "$ENV{_CL_}") set(ENV{_CL_} "/utf-8") - #First generate the makefiles so we can modify them + #Replace with VCPKG variables if PR #7733 is merged + unset(BUILDTYPES) if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/debug/lib${_PATHSEP}${CURRENT_INSTALLED_DIR}/debug/bin${_PATHSEP}${CURRENT_INSTALLED_DIR}/tools/qt5${_PATHSEP}${ENV_PATH_BACKUP}") - if(NOT _csc_SKIP_MAKEFILES) - run_jom(qmake_all makefiles dbg) - - #Store debug makefiles path - file(GLOB_RECURSE DEBUG_MAKEFILES ${DEBUG_DIR}/*Makefile*) - - foreach(DEBUG_MAKEFILE ${DEBUG_MAKEFILES}) - file(READ "${DEBUG_MAKEFILE}" _contents) - string(REPLACE "zlib.lib" "zlibd.lib" _contents "${_contents}") - string(REPLACE "installed\\${TARGET_TRIPLET}\\lib" "installed\\${TARGET_TRIPLET}\\debug\\lib" _contents "${_contents}") - string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib" "/LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib\\manual-link /LIBPATH:${NATIVE_INSTALLED_DIR}\\debug\\lib shell32.lib" _contents "${_contents}") - string(REPLACE "tools\\qt5\\qmlcachegen.exe" "tools\\qt5-declarative\\qmlcachegen.exe" _contents "${_contents}") - string(REPLACE "tools/qt5/qmlcachegen" "tools/qt5-declarative/qmlcachegen" _contents "${_contents}") - string(REPLACE "debug\\lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}") - string(REPLACE "lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}") - string(REPLACE " Qt5Bootstrap.lib " " ${NATIVE_INSTALLED_DIR}\\tools\\qt5\\Qt5Bootstrap.lib Ole32.lib Netapi32.lib Advapi32.lib ${NATIVE_INSTALLED_DIR}\\lib\\zlib.lib Shell32.lib " _contents "${_contents}") - file(WRITE "${DEBUG_MAKEFILE}" "${_contents}") - endforeach() - endif() - - run_jom("${_csc_DEBUG_TARGETS}" ${_csc_BUILD_LOGNAME} dbg) + set(_buildname "DEBUG") + list(APPEND BUILDTYPES ${_buildname}) + set(_short_name_${_buildname} "dbg") + set(_path_suffix_${_buildname} "/debug") endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(ENV{PATH} "${CURRENT_INSTALLED_DIR}/lib${_PATHSEP}${CURRENT_INSTALLED_DIR}/bin${_PATHSEP}${CURRENT_INSTALLED_DIR}/tools/qt5${_PATHSEP}${ENV_PATH_BACKUP}") - if(NOT _csc_SKIP_MAKEFILES) - run_jom(qmake_all makefiles rel) - - #Store release makefile path - file(GLOB_RECURSE RELEASE_MAKEFILES ${RELEASE_DIR}/*Makefile*) - - foreach(RELEASE_MAKEFILE ${RELEASE_MAKEFILES}) - file(READ "${RELEASE_MAKEFILE}" _contents) - string(REPLACE "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib" "/LIBPATH:${NATIVE_INSTALLED_DIR}\\lib\\manual-link /LIBPATH:${NATIVE_INSTALLED_DIR}\\lib shell32.lib" _contents "${_contents}") - string(REPLACE "tools\\qt5\\qmlcachegen.exe" "tools\\qt5-declarative\\qmlcachegen.exe" _contents "${_contents}") - string(REPLACE "tools/qt5/qmlcachegen" "tools/qt5-declarative/qmlcachegen" _contents "${_contents}") - string(REPLACE "debug\\lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}") - string(REPLACE "lib\\Qt5Bootstrap.lib" "tools\\qt5\\Qt5Bootstrap.lib" _contents "${_contents}") - string(REPLACE " Qt5Bootstrap.lib " " ${NATIVE_INSTALLED_DIR}\\tools\\qt5\\Qt5Bootstrap.lib Ole32.lib Netapi32.lib Advapi32.lib ${NATIVE_INSTALLED_DIR}\\lib\\zlib.lib Shell32.lib " _contents "${_contents}") - file(WRITE "${RELEASE_MAKEFILE}" "${_contents}") - endforeach() - endif() - - run_jom("${_csc_RELEASE_TARGETS}" ${_csc_BUILD_LOGNAME} rel) + set(_buildname "RELEASE") + list(APPEND BUILDTYPES ${_buildname}) + set(_short_name_${_buildname} "rel") + set(_path_suffix_${_buildname} "") endif() + unset(_buildname) + foreach(_buildname ${BUILDTYPES}) + set(_BUILD_PREFIX "${_path_suffix_${_buildname}}") + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}${_BUILD_PREFIX}/bin") + vcpkg_add_to_path(PREPEND "${CURRENT_INSTALLED_DIR}${_BUILD_PREFIX}/lib") + list(APPEND _csc_${_buildname}_TARGETS ${_csc_TARGETS}) + if(NOT _csc_SKIP_MAKEFILES) + 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} set(ENV{PATH} "${ENV_PATH_BACKUP}") set(ENV{_CL_} "${ENV_CL_BACKUP}") diff --git a/scripts/cmake/vcpkg_buildpath_length_warning.cmake b/scripts/cmake/vcpkg_buildpath_length_warning.cmake new file mode 100644 index 000000000..b7ef10bb8 --- /dev/null +++ b/scripts/cmake/vcpkg_buildpath_length_warning.cmake @@ -0,0 +1,8 @@ +function(vcpkg_buildpath_length_warning WARNING_LENGTH) + string(LENGTH "${CURRENT_BUILDTREES_DIR}" BUILDTREES_PATH_LENGTH) + if(BUILDTREES_PATH_LENGTH GREATER ${WARNING_LENGTH} AND CMAKE_HOST_WIN32) + message(WARNING "${PORT}'s buildsystem uses very long paths and may fail on your system.\n" + "We recommend moving vcpkg to a short path such as 'C:\\src\\vcpkg' or using the subst command." + ) + endif() +endfunction() \ No newline at end of file diff --git a/scripts/cmake/vcpkg_check_features.cmake b/scripts/cmake/vcpkg_check_features.cmake new file mode 100644 index 000000000..81ebc234d --- /dev/null +++ b/scripts/cmake/vcpkg_check_features.cmake @@ -0,0 +1,191 @@ +## # vcpkg_check_features +## Check if one or more features are a part of a package installation. +## +## ## Usage +## ```cmake +## vcpkg_check_features( +## OUT_FEATURE_OPTIONS +## [FEATURES +## +## [ ] +## ...] +## [INVERTED_FEATURES +## +## [ ] +## ...] +## ) +## ``` +## `vcpkg_check_features()` accepts these parameters: +## +## * `OUT_FEATURE_OPTIONS`: +## An output variable, the function will clear the variable passed to `OUT_FEATURE_OPTIONS` +## and then set it to contain a list of option definitions (`-D=ON|OFF`). +## +## This should be set to `FEATURE_OPTIONS` by convention. +## +## * `FEATURES`: +## A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs. +## For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of: +## +## * `-D=ON`, if a feature is specified for installation, +## * `-D=OFF`, otherwise. +## +## * `INVERTED_FEATURES`: +## A list of (`FEATURE_NAME`, `OPTION_NAME`) pairs, uses reversed logic from `FEATURES`. +## For each `FEATURE_NAME` a definition is added to `OUT_FEATURE_OPTIONS` in the form of: +## +## * `-D=OFF`, if a feature is specified for installation, +## * `-D=ON`, otherwise. +## +## +## ## Notes +## +## The `FEATURES` name parameter can be omitted if no `INVERTED_FEATURES` are used. +## +## At least one (`FEATURE_NAME`, `OPTION_NAME`) pair must be passed to the function call. +## +## Arguments passed to `FEATURES` and `INVERTED_FEATURES` are not validated to prevent duplication. +## If the same (`FEATURE_NAME`, `OPTION_NAME`) pair is passed to both lists, +## two conflicting definitions are added to `OUT_FEATURE_OPTIONS`. +## +## +## ## Examples +## +## ### Example 1: Regular features +## +## ```cmake +## $ ./vcpkg install mimalloc[asm,secure] +## +## # ports/mimalloc/portfile.cmake +## vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +## # Keyword FEATURES is optional if INVERTED_FEATURES are not used +## asm MI_SEE_ASM +## override MI_OVERRIDE +## secure MI_SECURE +## ) +## +## vcpkg_configure_cmake( +## SOURCE_PATH ${SOURCE_PATH} +## PREFER_NINJA +## OPTIONS +## # Expands to "-DMI_SEE_ASM=ON; -DMI_OVERRIDE=OFF; -DMI_SECURE=ON" +## ${FEATURE_OPTIONS} +## ) +## ``` +## +## ### Example 2: Inverted features +## +## ```cmake +## $ ./vcpkg install cpprestsdk[websockets] +## +## # ports/cpprestsdk/portfile.cmake +## vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +## INVERTED_FEATURES # <- Keyword INVERTED_FEATURES required +## brotli CPPREST_EXCLUDE_BROTLI +## websockets CPPREST_EXCLUDE_WEBSOCKETS +## ) +## +## vcpkg_configure_cmake( +## SOURCE_PATH ${SOURCE_PATH} +## PREFER_NINJA +## OPTIONS +## # Expands to "-DCPPREST_EXCLUDE_BROTLI=ON; -DCPPREST_EXCLUDE_WEBSOCKETS=OFF" +## ${FEATURE_OPTIONS} +## ) +## ``` +## +## ### Example 3: Set multiple options for same feature +## +## ```cmake +## $ ./vcpkg install pcl[cuda] +## +## # ports/pcl/portfile.cmake +## vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +## cuda WITH_CUDA +## cuda BUILD_CUDA +## cuda BUILD_GPU +## ) +## +## vcpkg_configure_cmake( +## SOURCE_PATH ${SOURCE_PATH} +## PREFER_NINJA +## OPTIONS +## # Expands to "-DWITH_CUDA=ON; -DBUILD_CUDA=ON; -DBUILD_GPU=ON" +## ${FEATURE_OPTIONS} +## ) +## ``` +## +## ### Example 4: Use regular and inverted features +## +## ```cmake +## $ ./vcpkg install rocksdb[tbb] +## +## # ports/rocksdb/portfile.cmake +## vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +## FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used +## tbb WITH_TBB +## INVERTED_FEATURES +## tbb ROCKSDB_IGNORE_PACKAGE_TBB +## ) +## +## vcpkg_configure_cmake( +## SOURCE_PATH ${SOURCE_PATH} +## PREFER_NINJA +## OPTIONS +## # Expands to "-DWITH_TBB=ON; -DROCKSDB_IGNORE_PACKAGE_TBB=OFF" +## ${FEATURE_OPTIONS} +## ) +## ``` +## +## ## Examples in portfiles +## +## * [cpprestsdk](https://github.com/microsoft/vcpkg/blob/master/ports/cpprestsdk/portfile.cmake) +## * [pcl](https://github.com/microsoft/vcpkg/blob/master/ports/pcl/portfile.cmake) +## * [rocksdb](https://github.com/microsoft/vcpkg/blob/master/ports/rocksdb/portfile.cmake) +## +function(vcpkg_check_features) + cmake_parse_arguments(_vcf "" "OUT_FEATURE_OPTIONS" "FEATURES;INVERTED_FEATURES" ${ARGN}) + + if (NOT DEFINED _vcf_OUT_FEATURE_OPTIONS) + message(FATAL_ERROR "OUT_FEATURE_OPTIONS must be specified.") + endif() + + macro(_check_features _vcf_ARGUMENT _set_if _set_else) + list(LENGTH ${_vcf_ARGUMENT} FEATURES_SET_LEN) + math(EXPR _vcf_INCORRECT_ARGN "${FEATURES_SET_LEN} % 2") + if(_vcf_INCORRECT_ARGN) + message(FATAL_ERROR "Called with incorrect number of arguments.") + endif() + + set(_vcf_IS_FEATURE_NAME_ARG ON) + foreach(_vcf_ARG ${${_vcf_ARGUMENT}}) + if(_vcf_IS_FEATURE_NAME_ARG) + set(_vcf_FEATURE_NAME ${_vcf_ARG}) + if(NOT ${_vcf_FEATURE_NAME} IN_LIST ALL_FEATURES) + message(FATAL_ERROR "Unknown feature: ${_vcf_FEATURE_NAME}") + endif() + set(_vcf_IS_FEATURE_NAME_ARG OFF) + else() + set(_vcf_FEATURE_VARIABLE ${_vcf_ARG}) + if(${_vcf_FEATURE_NAME} IN_LIST FEATURES) + list(APPEND _vcf_FEATURE_OPTIONS "-D${_vcf_FEATURE_VARIABLE}=${_set_if}") + else() + list(APPEND _vcf_FEATURE_OPTIONS "-D${_vcf_FEATURE_VARIABLE}=${_set_else}") + endif() + set(_vcf_IS_FEATURE_NAME_ARG ON) + endif() + endforeach() + endmacro() + + set(_vcf_FEATURE_OPTIONS) + + if (DEFINED _vcf_FEATURES OR DEFINED _vcf_INVERTED_FEATURES) + _check_features(_vcf_FEATURES ON OFF) + _check_features(_vcf_INVERTED_FEATURES OFF ON) + else() + # Skip arguments that correspond to OUT_FEATURE_OPTIONS and its value. + list(SUBLIST ARGN 2 -1 _vcf_ARGN) + _check_features(_vcf_ARGN ON OFF) + endif() + set(${_vcf_OUT_FEATURE_OPTIONS} "${_vcf_FEATURE_OPTIONS}" PARENT_SCOPE) +endfunction() diff --git a/scripts/cmake/vcpkg_common_definitions.cmake b/scripts/cmake/vcpkg_common_definitions.cmake new file mode 100644 index 000000000..14cf460af --- /dev/null +++ b/scripts/cmake/vcpkg_common_definitions.cmake @@ -0,0 +1,106 @@ +## # vcpkg_common_definitions +## +## File contains helpful variabls for portfiles which are commonly needed or used. +## +## ## The following variables are available: +## ```cmake +## VCPKG_TARGET_IS_ with being one of the following: WINDOWS, UWP, LINUX, OSX, ANDROID, FREEBSD. only defined if +## VCPKG_HOST_PATH_SEPARATOR Host specific path separator (USAGE: "${VCPKG_HOST_PATH_SEPARATOR}"; 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|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. +## + +#Helper variable to identify the Target system. VCPKG_TARGET_IS_ +if (NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(VCPKG_TARGET_IS_WINDOWS 1) + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(VCPKG_TARGET_IS_UWP 1) + endif() +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(VCPKG_TARGET_IS_OSX 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(VCPKG_TARGET_IS_LINUX 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") + set(VCPKG_TARGET_IS_ANDROID 1) +elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + set(VCPKG_TARGET_IS_FREEBSD 1) +endif() + +#Helper 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") +else() + set(VCPKG_HOST_EXECUTABLE_SUFFIX "") +endif() +#set(CMAKE_EXECUTABLE_SUFFIX ${VCPKG_HOST_EXECUTABLE_SUFFIX}) not required by find_program + +if(VCPKG_TARGET_IS_WINDOWS) + set(VCPKG_TARGET_EXECUTABLE_SUFFIX ".exe") +else() + set(VCPKG_TARGET_EXECUTABLE_SUFFIX "") +endif() + +#Helper variables for libraries +if(VCPKG_TARGET_IS_WINDOWS) + set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".lib") + set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".lib") + set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dll") + set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".lib") + set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "") + set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "") + set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "") + set(VCPKG_FIND_LIBRARY_SUFFIXES ".lib" ".dll") #This is a slight modification to CMakes value which does not include ".dll". + set(VCPKG_FIND_LIBRARY_PREFIXES "" "lib") #This is a slight modification to CMakes value which does not include "lib". + ## For CYGWIN and Windows GNU, maybe VCPKG will support that in the future? + #set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX ".dll.a") + #set(VCPKG_TARGET_IMPORT_LIBRARY_PREFIX "lib") + #set(VCPKG_FIND_LIBRARY_SUFFIXES ".dll" ".dll.a" ".a" ".lib") + #set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "") +elseif(VCPKG_TARGET_IS_OSX) + set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") + set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX "") + set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".dylib") + set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib") + set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib") + set(VCPKG_FIND_LIBRARY_SUFFIXES ".tbd" ".dylib" ".so" ".a") + set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "") +else() + set(VCPKG_TARGET_STATIC_LIBRARY_SUFFIX ".a") + set(VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX "") + set(VCPKG_TARGET_SHARED_LIBRARY_SUFFIX ".so") + set(VCPKG_TARGET_STATIC_LIBRARY_PREFIX "lib") + set(VCPKG_TARGET_SHARED_LIBRARY_PREFIX "lib") + set(VCPKG_FIND_LIBRARY_SUFFIXES ".so" ".a") + set(VCPKG_FIND_LIBRARY_PREFIXES "lib" "") +endif() +#Setting these variables allows find_library to work in script mode and thus in portfiles! +#This allows us scale down on hardcoded target dependent paths in portfiles +set(CMAKE_STATIC_LIBRARY_SUFFIX "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") +set(CMAKE_SHARED_LIBRARY_SUFFIX "${VCPKG_TARGET_SHARED_LIBRARY_SUFFIX}") +set(CMAKE_IMPORT_LIBRARY_SUFFIX "${VCPKG_TARGET_IMPORT_LIBRARY_PREFIX}") +set(CMAKE_STATIC_LIBRARY_PREFIX "${VCPKG_TARGET_STATIC_LIBRARY_PREFIX}") +set(CMAKE_SHARED_LIBRARY_PREFIX "${VCPKG_TARGET_SHARED_LIBRARY_PREFIX}") +set(CMAKE_IMPORT_LIBRARY_PREFIX "${VCPKG_TARGET_IMPORT_LIBRARY_SUFFIX}") + +set(CMAKE_FIND_LIBRARY_SUFFIXES "${VCPKG_FIND_LIBRARY_SUFFIXES}" CACHE INTERNAL "") # Required by find_library +set(CMAKE_FIND_LIBRARY_PREFIXES "${VCPKG_FIND_LIBRARY_PREFIXES}" CACHE INTERNAL "") # Required by find_library diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake index b99f8bee8..4aa115f47 100644 --- a/scripts/cmake/vcpkg_common_functions.cmake +++ b/scripts/cmake/vcpkg_common_functions.cmake @@ -1,5 +1,7 @@ +include(execute_process) include(vcpkg_acquire_msys) include(vcpkg_add_to_path) +include(vcpkg_check_features) include(vcpkg_check_linkage) include(vcpkg_clean_msbuild) include(vcpkg_download_distfile) @@ -8,6 +10,7 @@ include(vcpkg_extract_source_archive_ex) include(vcpkg_execute_required_process) include(vcpkg_execute_required_process_repeat) include(vcpkg_execute_build_process) +include(vcpkg_fail_port_install) include(vcpkg_find_acquire_program) include(vcpkg_fixup_cmake_targets) include(vcpkg_from_github) @@ -16,12 +19,17 @@ include(vcpkg_from_bitbucket) include(vcpkg_build_cmake) include(vcpkg_build_msbuild) include(vcpkg_build_qmake) +include(vcpkg_build_make) +include(vcpkg_build_nmake) include(vcpkg_install_cmake) include(vcpkg_install_meson) include(vcpkg_install_msbuild) +include(vcpkg_install_make) +include(vcpkg_install_nmake) include(vcpkg_configure_cmake) include(vcpkg_configure_meson) include(vcpkg_configure_qmake) +include(vcpkg_configure_make) include(vcpkg_apply_patches) include(vcpkg_copy_pdbs) include(vcpkg_copy_tool_dependencies) @@ -31,3 +39,5 @@ include(vcpkg_get_windows_sdk) include(vcpkg_replace_string) include(vcpkg_from_git) include(vcpkg_test_cmake) +include(vcpkg_prettify_command) +include(vcpkg_buildpath_length_warning) diff --git a/scripts/cmake/vcpkg_configure_cmake.cmake b/scripts/cmake/vcpkg_configure_cmake.cmake index 8f3aa6425..c31955fb2 100644 --- a/scripts/cmake/vcpkg_configure_cmake.cmake +++ b/scripts/cmake/vcpkg_configure_cmake.cmake @@ -7,6 +7,8 @@ ## vcpkg_configure_cmake( ## SOURCE_PATH <${SOURCE_PATH}> ## [PREFER_NINJA] +## [DISABLE_PARALLEL_CONFIGURE] +## [NO_CHARSET_FLAG] ## [GENERATOR <"NMake Makefiles">] ## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] ## [OPTIONS_RELEASE <-DOPTIMIZE=1>...] @@ -16,20 +18,27 @@ ## ## ## Parameters ## ### SOURCE_PATH -## Specifies the directory containing the `CMakeLists.txt`. By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. +## Specifies the directory containing the `CMakeLists.txt`. +## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. ## ## ### PREFER_NINJA -## Indicates that, when available, Vcpkg should use Ninja to perform the build. This should be specified unless the port is known to not work under Ninja. +## Indicates that, when available, Vcpkg should use Ninja to perform the build. +## This should be specified unless the port is known to not work under Ninja. ## ## ### DISABLE_PARALLEL_CONFIGURE ## Disables running the CMake configure step in parallel. -## ## This is needed for libraries which write back into their source directory during configure. ## +## ### NO_CHARSET_FLAG +## Disables passing `utf-8` as the default character set to `CMAKE_C_FLAGS` and `CMAKE_CXX_FLAGS`. +## +## This is needed for libraries that set their own source code's character set. +## ## ### GENERATOR ## Specifies the precise generator to use. ## -## This is useful if some project-specific buildsystem has been wrapped in a cmake script that won't perform an actual build. If used for this purpose, it should be set to "NMake Makefiles". +## This is useful if some project-specific buildsystem has been wrapped in a cmake script that won't perform an actual build. +## If used for this purpose, it should be set to "NMake Makefiles". ## ## ### OPTIONS ## Additional options passed to CMake during the configuration. @@ -50,31 +59,38 @@ ## * [poco](https://github.com/Microsoft/vcpkg/blob/master/ports/poco/portfile.cmake) ## * [opencv](https://github.com/Microsoft/vcpkg/blob/master/ports/opencv/portfile.cmake) function(vcpkg_configure_cmake) - cmake_parse_arguments(_csc "PREFER_NINJA;DISABLE_PARALLEL_CONFIGURE" "SOURCE_PATH;GENERATOR" "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" ${ARGN}) + cmake_parse_arguments(_csc + "PREFER_NINJA;DISABLE_PARALLEL_CONFIGURE;NO_CHARSET_FLAG" + "SOURCE_PATH;GENERATOR" + "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" + ${ARGN} + ) if(NOT VCPKG_PLATFORM_TOOLSET) - message(FATAL_ERROR "Vcpkg has been updated with VS2017 support, however you need to rebuild vcpkg.exe by re-running bootstrap-vcpkg.bat\n") - endif() - - if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) - set(_csc_HOST_ARCHITECTURE $ENV{PROCESSOR_ARCHITEW6432}) - else() - set(_csc_HOST_ARCHITECTURE $ENV{PROCESSOR_ARCHITECTURE}) + message(FATAL_ERROR "Vcpkg has been updated with VS2017 support; " + "however, vcpkg.exe must be rebuilt by re-running bootstrap-vcpkg.bat\n") endif() if(CMAKE_HOST_WIN32) - set(_PATHSEP ";") - else() - set(_PATHSEP ":") + if(DEFINED ENV{PROCESSOR_ARCHITEW6432}) + set(_csc_HOST_ARCHITECTURE $ENV{PROCESSOR_ARCHITEW6432}) + else() + set(_csc_HOST_ARCHITECTURE $ENV{PROCESSOR_ARCHITECTURE}) + endif() endif() set(NINJA_CAN_BE_USED ON) # Ninja as generator set(NINJA_HOST ON) # Ninja as parallel configurator + + if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(_TARGETTING_UWP 1) + endif() + if(_csc_HOST_ARCHITECTURE STREQUAL "x86") # Prebuilt ninja binaries are only provided for x64 hosts set(NINJA_CAN_BE_USED OFF) set(NINJA_HOST OFF) - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + elseif(_TARGETTING_UWP) # Ninja and MSBuild have many differences when targetting UWP, so use MSBuild to maximize existing compatibility set(NINJA_CAN_BE_USED OFF) endif() @@ -83,43 +99,43 @@ function(vcpkg_configure_cmake) set(GENERATOR ${_csc_GENERATOR}) elseif(_csc_PREFER_NINJA AND NINJA_CAN_BE_USED) set(GENERATOR "Ninja") - elseif(VCPKG_CHAINLOAD_TOOLCHAIN_FILE OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")) + elseif(VCPKG_CHAINLOAD_TOOLCHAIN_FILE OR (VCPKG_CMAKE_SYSTEM_NAME AND NOT _TARGETTING_UWP)) set(GENERATOR "Ninja") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v120") set(GENERATOR "Visual Studio 12 2013") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v120") set(GENERATOR "Visual Studio 12 2013 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v120") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v120") set(GENERATOR "Visual Studio 12 2013 ARM") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v140") set(GENERATOR "Visual Studio 14 2015") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v140") set(GENERATOR "Visual Studio 14 2015 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v140") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v140") set(GENERATOR "Visual Studio 14 2015 ARM") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v141") set(GENERATOR "Visual Studio 15 2017") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v141") set(GENERATOR "Visual Studio 15 2017 Win64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v141") set(GENERATOR "Visual Studio 15 2017 ARM") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v141") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v141") set(GENERATOR "Visual Studio 15 2017") set(ARCH "ARM64") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x86" AND VCPKG_PLATFORM_TOOLSET MATCHES "v142") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v142") set(GENERATOR "Visual Studio 16 2019") set(ARCH "Win32") - elseif(VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v142") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v142") set(GENERATOR "Visual Studio 16 2019") set(ARCH "x64") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET MATCHES "v142") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v142") set(GENERATOR "Visual Studio 16 2019") set(ARCH "ARM") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET MATCHES "v142") + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" AND VCPKG_PLATFORM_TOOLSET STREQUAL "v142") set(GENERATOR "Visual Studio 16 2019") set(ARCH "ARM64") @@ -127,14 +143,15 @@ function(vcpkg_configure_cmake) if(NOT VCPKG_CMAKE_SYSTEM_NAME) set(VCPKG_CMAKE_SYSTEM_NAME Windows) endif() - message(FATAL_ERROR "Unable to determine appropriate generator for: ${VCPKG_CMAKE_SYSTEM_NAME}-${VCPKG_TARGET_ARCHITECTURE}-${VCPKG_PLATFORM_TOOLSET}") + message(FATAL_ERROR "Unable to determine appropriate generator for: " + "${VCPKG_CMAKE_SYSTEM_NAME}-${VCPKG_TARGET_ARCHITECTURE}-${VCPKG_PLATFORM_TOOLSET}") endif() # If we use Ninja, make sure it's on PATH 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() @@ -142,10 +159,11 @@ function(vcpkg_configure_cmake) if(DEFINED VCPKG_CMAKE_SYSTEM_NAME) list(APPEND _csc_OPTIONS "-DCMAKE_SYSTEM_NAME=${VCPKG_CMAKE_SYSTEM_NAME}") - if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND NOT DEFINED VCPKG_CMAKE_SYSTEM_VERSION) + if(_TARGETTING_UWP AND NOT DEFINED VCPKG_CMAKE_SYSTEM_VERSION) set(VCPKG_CMAKE_SYSTEM_VERSION 10.0) endif() endif() + if(DEFINED VCPKG_CMAKE_SYSTEM_VERSION) list(APPEND _csc_OPTIONS "-DCMAKE_SYSTEM_VERSION=${VCPKG_CMAKE_SYSTEM_VERSION}") endif() @@ -155,41 +173,45 @@ function(vcpkg_configure_cmake) elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") list(APPEND _csc_OPTIONS -DBUILD_SHARED_LIBS=OFF) else() - message(FATAL_ERROR "Invalid setting for VCPKG_LIBRARY_LINKAGE: \"${VCPKG_LIBRARY_LINKAGE}\". It must be \"static\" or \"dynamic\"") + message(FATAL_ERROR + "Invalid setting for VCPKG_LIBRARY_LINKAGE: \"${VCPKG_LIBRARY_LINKAGE}\". " + "It must be \"static\" or \"dynamic\"") + endif() + + macro(check_both_vars_are_set var1 var2) + if((NOT DEFINED ${var1} OR NOT DEFINED ${var2}) AND (DEFINED ${var1} OR DEFINED ${var2})) + message(FATAL_ERROR "Both ${var1} and ${var2} must be set.") + endif() + endmacro() + + check_both_vars_are_set(VCPKG_CXX_FLAGS_DEBUG VCPKG_C_FLAGS_DEBUG) + check_both_vars_are_set(VCPKG_CXX_FLAGS_RELEASE VCPKG_C_FLAGS_RELEASE) + check_both_vars_are_set(VCPKG_CXX_FLAGS VCPKG_C_FLAGS) + + set(VCPKG_SET_CHARSET_FLAG ON) + if(_csc_NO_CHARSET_FLAG) + set(VCPKG_SET_CHARSET_FLAG OFF) endif() - if((NOT DEFINED VCPKG_CXX_FLAGS_DEBUG AND NOT DEFINED VCPKG_C_FLAGS_DEBUG) OR - (DEFINED VCPKG_CXX_FLAGS_DEBUG AND DEFINED VCPKG_C_FLAGS_DEBUG)) - else() - message(FATAL_ERROR "You must set both the VCPKG_CXX_FLAGS_DEBUG and VCPKG_C_FLAGS_DEBUG") - endif() - if((NOT DEFINED VCPKG_CXX_FLAGS_RELEASE AND NOT DEFINED VCPKG_C_FLAGS_RELEASE) OR - (DEFINED VCPKG_CXX_FLAGS_RELEASE AND DEFINED VCPKG_C_FLAGS_RELEASE)) - else() - message(FATAL_ERROR "You must set both the VCPKG_CXX_FLAGS_RELEASE and VCPKG_C_FLAGS_RELEASE") - endif() - if((NOT DEFINED VCPKG_CXX_FLAGS AND NOT DEFINED VCPKG_C_FLAGS) OR - (DEFINED VCPKG_CXX_FLAGS AND DEFINED VCPKG_C_FLAGS)) - else() - message(FATAL_ERROR "You must set both the VCPKG_CXX_FLAGS and VCPKG_C_FLAGS") + if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) + if(NOT DEFINED VCPKG_CMAKE_SYSTEM_NAME OR _TARGETTING_UWP) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/linux.cmake") + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/android.cmake") + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/osx.cmake") + elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/freebsd.cmake") + endif() endif() - if(VCPKG_CHAINLOAD_TOOLCHAIN_FILE) - list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT DEFINED VCPKG_CMAKE_SYSTEM_NAME) - list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/windows.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/linux.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") - list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/android.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Darwin") - list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/osx.cmake") - elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") - list(APPEND _csc_OPTIONS "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/toolchains/freebsd.cmake") - endif() list(APPEND _csc_OPTIONS + "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}" "-DVCPKG_TARGET_TRIPLET=${TARGET_TRIPLET}" + "-DVCPKG_SET_CHARSET_FLAG=${VCPKG_SET_CHARSET_FLAG}" "-DVCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" @@ -197,7 +219,7 @@ function(vcpkg_configure_cmake) "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" - "-DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT_DIR}/scripts/buildsystems/vcpkg.cmake" + "-DCMAKE_TOOLCHAIN_FILE=${SCRIPTS}/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=${VCPKG_CXX_FLAGS}" "-DVCPKG_CXX_FLAGS_RELEASE=${VCPKG_CXX_FLAGS_RELEASE}" @@ -219,15 +241,11 @@ function(vcpkg_configure_cmake) endif() # Sets configuration variables for macOS builds - if(DEFINED VCPKG_INSTALL_NAME_DIR) - list(APPEND _csc_OPTIONS "-DCMAKE_INSTALL_NAME_DIR=${VCPKG_INSTALL_NAME_DIR}") - endif() - if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) - list(APPEND _csc_OPTIONS "-DCMAKE_OSX_DEPLOYMENT_TARGET=${VCPKG_OSX_DEPLOYMENT_TARGET}") - endif() - if(DEFINED VCPKG_OSX_SYSROOT) - list(APPEND _csc_OPTIONS "-DCMAKE_OSX_SYSROOT=${VCPKG_OSX_SYSROOT}") - endif() + foreach(config_var INSTALL_NAME_DIR OSX_DEPLOYMENT_TARGET OSX_SYSROOT) + if(DEFINED VCPKG_${config_var}) + list(APPEND _csc_OPTIONS "-DCMAKE_${config_var}=${VCPKG_${config_var}}") + endif() + endforeach() set(rel_command ${CMAKE_COMMAND} ${_csc_SOURCE_PATH} "${_csc_OPTIONS}" "${_csc_OPTIONS_RELEASE}" @@ -240,31 +258,32 @@ function(vcpkg_configure_cmake) -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}/debug) - if(NINJA_HOST AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND NOT _csc_DISABLE_PARALLEL_CONFIGURE) + if(NINJA_HOST AND CMAKE_HOST_WIN32 AND NOT _csc_DISABLE_PARALLEL_CONFIGURE) 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 "rule CreateProcess\n command = $process\n\n" ) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - set(rel_line "build ../CMakeCache.txt: CreateProcess\n process = cmd /c \"cd .. &&") - foreach(arg ${rel_command}) - set(rel_line "${rel_line} \"${arg}\"") + macro(_build_cmakecache whereat build_type) + set(${build_type}_line "build ${whereat}/CMakeCache.txt: CreateProcess\n process = cmd /c \"cd ${whereat} &&") + foreach(arg ${${build_type}_command}) + set(${build_type}_line "${${build_type}_line} \"${arg}\"") endforeach() - set(_contents "${_contents}${rel_line}\"\n\n") - endif() + set(_contents "${_contents}${${build_type}_line}\"\n\n") + endmacro() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - set(dbg_line "build ../../${TARGET_TRIPLET}-dbg/CMakeCache.txt: CreateProcess\n process = cmd /c \"cd ../../${TARGET_TRIPLET}-dbg &&") - foreach(arg ${dbg_command}) - set(dbg_line "${dbg_line} \"${arg}\"") - endforeach() - set(_contents "${_contents}${dbg_line}\"\n\n") + if(NOT DEFINED VCPKG_BUILD_TYPE) + _build_cmakecache(".." "rel") + _build_cmakecache("../../${TARGET_TRIPLET}-dbg" "dbg") + elseif(VCPKG_BUILD_TYPE STREQUAL "release") + _build_cmakecache(".." "rel") + elseif(VCPKG_BUILD_TYPE STREQUAL "debug") + _build_cmakecache("../../${TARGET_TRIPLET}-dbg" "dbg") endif() file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/vcpkg-parallel-configure) diff --git a/scripts/cmake/vcpkg_configure_make.cmake b/scripts/cmake/vcpkg_configure_make.cmake new file mode 100644 index 000000000..1a691a945 --- /dev/null +++ b/scripts/cmake/vcpkg_configure_make.cmake @@ -0,0 +1,372 @@ +## # vcpkg_configure_make +## +## Configure configure for Debug and Release builds of a project. +## +## ## Usage +## ```cmake +## vcpkg_configure_make( +## SOURCE_PATH <${SOURCE_PATH}> +## [AUTOCONFIG] +## [DISABLE_AUTO_HOST] +## [DISABLE_AUTO_DST] +## [GENERATOR] +## [NO_DEBUG] +## [SKIP_CONFIGURE] +## [PROJECT_SUBPATH <${PROJ_SUBPATH}>] +## [PRERUN_SHELL <${SHELL_PATH}>] +## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] +## [OPTIONS_RELEASE <-DOPTIMIZE=1>...] +## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] +## ) +## ``` +## +## ## Parameters +## ### SOURCE_PATH +## Specifies the directory containing the `configure`/`configure.ac`. +## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. +## +## ### PROJECT_SUBPATH +## Specifies the directory containing the ``configure`/`configure.ac`. +## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. +## Should use `GENERATOR NMake` first. +## +## ### NO_DEBUG +## This port doesn't support debug mode. +## +## ### SKIP_CONFIGURE +## Skip configure process +## +## ### AUTOCONFIG +## Need to use autoconfig to generate configure file. +## +## ### DISABLE_AUTO_HOST +## Don't set host automatically, the default value is `i686`. +## If use this option, you will need to set host manually. +## +## ### DISABLE_AUTO_DST +## Don't set installation path automatically, the default value is `${CURRENT_PACKAGES_DIR}` and `${CURRENT_PACKAGES_DIR}/debug` +## If use this option, you will need to set dst path manually. +## +## ### GENERATOR +## Specifies the precise generator to use. +## NMake: nmake(windows) make(unix) +## MAKE: make(windows) make(unix) +## +## ### PRERUN_SHELL +## Script that needs to be called before configuration +## +## ### OPTIONS +## Additional options passed to configure during the configuration. +## +## ### OPTIONS_RELEASE +## Additional options passed to configure during the Release configuration. These are in addition to `OPTIONS`. +## +## ### OPTIONS_DEBUG +## Additional options passed to configure during the Debug configuration. These are in addition to `OPTIONS`. +## +## ## Notes +## This command supplies many common arguments to configure. To see the full list, examine the source. +## +## ## Examples +## +## * [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) +## * [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) +## * [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) +## * [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) +function(vcpkg_configure_make) + cmake_parse_arguments(_csc + "AUTOCONFIG;DISABLE_AUTO_HOST;DISABLE_AUTO_DST;NO_DEBUG;SKIP_CONFIGURE" + "SOURCE_PATH;PROJECT_SUBPATH;GENERATOR;PRERUN_SHELL" + "OPTIONS;OPTIONS_DEBUG;OPTIONS_RELEASE" + ${ARGN} + ) + + if(NOT VCPKG_PLATFORM_TOOLSET) + message(FATAL_ERROR "Vcpkg has been updated with VS2017 support; " + "however, vcpkg.exe must be rebuilt by re-running bootstrap-vcpkg.bat\n") + endif() + + if (_csc_OPTIONS_DEBUG STREQUAL _csc_OPTIONS_RELEASE OR NMAKE_OPTION_RELEASE STREQUAL NMAKE_OPTION_DEBUG) + message(FATAL_ERROR "Detected debug configuration is equal to release configuration, please use NO_DEBUG for vcpkg_configure_make") + endif() + # Select compiler + if(_csc_GENERATOR MATCHES "NMake") + message(FATAL_ERROR "Sorry, NMake does not supported currently.") + if (CMAKE_HOST_WIN32) + set(GENERATOR "nmake") + else() + set(GENERATOR "make") + endif() + elseif(NOT _csc_GENERATOR OR _csc_GENERATOR MATCHES "MAKE") + if (CMAKE_HOST_WIN32) + set(GENERATOR "make") + else() + set(GENERATOR "make") + endif() + else() + message(FATAL_ERROR "${_csc_GENERATOR} not supported.") + endif() + + set(WIN_TARGET_ARCH ) + set(WIN_TARGET_COMPILER ) + # Detect compiler + if (GENERATOR STREQUAL "nmake") + message(STATUS "Using generator NMAKE") + find_program(NMAKE nmake REQUIRED) + elseif (GENERATOR STREQUAL "make") + message(STATUS "Using generator make") + find_program(MAKE make REQUIRED) + else() + message(FATAL_ERROR "${GENERATOR} not supported.") + endif() + # Pre-processing windows configure requirements + if (CMAKE_HOST_WIN32) + vcpkg_find_acquire_program(YASM) + vcpkg_find_acquire_program(PERL) + set(MSYS_REQUIRE_PACKAGES diffutils) + if (_csc_AUTOCONFIG) + set(MSYS_REQUIRE_PACKAGES ${MSYS_REQUIRE_PACKAGES} autoconf automake m4 libtool perl) + endif() + vcpkg_acquire_msys(MSYS_ROOT PACKAGES ${MSYS_REQUIRE_PACKAGES}) + get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY) + get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) + + if (NOT _csc_DISABLE_AUTO_HOST) + if(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + set(WIN_TARGET_ARCH --host=i686-pc-mingw32) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) + set(WIN_TARGET_ARCH --host=i686-pc-mingw64) + elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL arm) + set(WIN_TARGET_ARCH --host=arm-pc-mingw32) + endif() + endif() + set(WIN_TARGET_COMPILER CC=cl) + set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH};${MSYS_ROOT}/usr/bin;${PERL_EXE_PATH}") + set(BASH ${MSYS_ROOT}/usr/bin/bash.exe) + elseif (_csc_AUTOCONFIG) + find_program(autoreconf autoreconf REQUIRED) + endif() + + if (NOT _csc_NO_DEBUG) + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") + else() + file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}") + endif() + + if (NOT _csc_DISABLE_AUTO_DST) + set(_csc_OPTIONS_RELEASE ${_csc_OPTIONS_RELEASE} + --prefix=${CURRENT_PACKAGES_DIR} + --bindir=${CURRENT_PACKAGES_DIR}/bin + --sbindir=${CURRENT_PACKAGES_DIR}/bin + --libdir=${CURRENT_PACKAGES_DIR}/lib + --includedir=${CURRENT_PACKAGES_DIR}/include) + + set(_csc_OPTIONS_DEBUG ${_csc_OPTIONS_DEBUG} + --prefix=${CURRENT_PACKAGES_DIR}/debug + --bindir=${CURRENT_PACKAGES_DIR}/debug/bin + --sbindir=${CURRENT_PACKAGES_DIR}/debug/bin + --libdir=${CURRENT_PACKAGES_DIR}/debug/lib + --includedir=${CURRENT_PACKAGES_DIR}/debug/include) + endif() + + set(base_cmd ) + if(CMAKE_HOST_WIN32) + set(base_cmd ${BASH} --noprofile --norc -c) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(_csc_OPTIONS ${_csc_OPTIONS} --enable-shared) + if (VCPKG_TARGET_IS_UWP) + set(_csc_OPTIONS ${_csc_OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib) + endif() + else() + set(_csc_OPTIONS ${_csc_OPTIONS} --enable-static) + endif() + # Load toolchains + if(NOT VCPKG_CHAINLOAD_TOOLCHAIN_FILE) + set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${SCRIPTS}/toolchains/windows.cmake") + endif() + include("${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") + + set(C_FLAGS_GLOBAL "$ENV{CFLAGS} ${VCPKG_C_FLAGS}") + set(CXX_FLAGS_GLOBAL "$ENV{CXXFLAGS} ${VCPKG_CXX_FLAGS}") + set(LD_FLAGS_GLOBAL "$ENV{LDFLAGS}") + + if(VCPKG_TARGET_IS_UWP) + set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\") + set(_csc_OPTIONS ${_csc_OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00) + endif() + + list(JOIN _csc_OPTIONS " " _csc_OPTIONS) + list(JOIN _csc_OPTIONS_RELEASE " " _csc_OPTIONS_RELEASE) + list(JOIN _csc_OPTIONS_DEBUG " " _csc_OPTIONS_DEBUG) + + set(rel_command + ${base_cmd} "${WIN_TARGET_COMPILER} ${_csc_SOURCE_PATH}/configure ${WIN_TARGET_ARCH} ${_csc_OPTIONS} ${_csc_OPTIONS_RELEASE}" + ) + set(dbg_command + ${base_cmd} "${WIN_TARGET_COMPILER} ${_csc_SOURCE_PATH}/configure ${WIN_TARGET_ARCH} ${_csc_OPTIONS} ${_csc_OPTIONS_DEBUG}" + ) + else() + set(base_cmd ./) + set(rel_command + ${base_cmd}configure "${_csc_OPTIONS}" "${_csc_OPTIONS_RELEASE}" + ) + set(dbg_command + ${base_cmd}configure "${_csc_OPTIONS}" "${_csc_OPTIONS_DEBUG}" + ) + endif() + + # Configure debug + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug" AND NOT _csc_NO_DEBUG) + if (CMAKE_HOST_WIN32) + unset(ENV{CFLAGS}) + unset(ENV{CXXFLAGS}) + unset(ENV{LDFLAGS}) + set(TMP_CFLAGS "${C_FLAGS_GLOBAL} ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_DEBUG}") + string(REPLACE "/" "-" TMP_CFLAGS "${TMP_CFLAGS}") + set(ENV{CFLAGS} ${TMP_CFLAGS}) + set(TMP_CXXFLAGS "${CXX_FLAGS_GLOBAL} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG}") + string(REPLACE "/" "-" TMP_CXXFLAGS "${TMP_CXXFLAGS}") + set(ENV{CXXFLAGS} ${TMP_CXXFLAGS}) + set(TMP_LDFLAGS "${LD_FLAGS_GLOBAL}") + string(REPLACE "/" "-" TMP_LDFLAGS "${TMP_LDFLAGS}") + set(ENV{LDFLAGS} ${TMP_LDFLAGS}) + endif() + + set(OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + set(PRJ_DIR ${OBJ_DIR}/${_csc_PROJECT_SUBPATH}) + + file(MAKE_DIRECTORY ${OBJ_DIR}) + + if (NOT CMAKE_HOST_WIN32) + file(GLOB_RECURSE SOURCE_FILES ${_csc_SOURCE_PATH}/*) + foreach(ONE_SOUCRCE_FILE ${SOURCE_FILES}) + get_filename_component(DST_DIR ${ONE_SOUCRCE_FILE} PATH) + string(REPLACE "${_csc_SOURCE_PATH}" "${OBJ_DIR}" DST_DIR "${DST_DIR}") + file(COPY ${ONE_SOUCRCE_FILE} DESTINATION ${DST_DIR}) + endforeach() + endif() + + if (_csc_PRERUN_SHELL) + message(STATUS "Prerun shell with ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${base_cmd}${_csc_PRERUN_SHELL} + WORKING_DIRECTORY ${PRJ_DIR} + LOGNAME prerun-${TARGET_TRIPLET}-dbg + ) + endif() + + if (_csc_AUTOCONFIG) + message(STATUS "Generating configure with ${TARGET_TRIPLET}-dbg") + if (CMAKE_HOST_WIN32) + vcpkg_execute_required_process( + COMMAND ${base_cmd} autoreconf -vfi + WORKING_DIRECTORY ${_csc_SOURCE_PATH}/${_csc_PROJECT_SUBPATH} + LOGNAME prerun-${TAR_TRIPLET_DIR} + ) + else() + vcpkg_execute_required_process( + COMMAND autoreconf -vfi + WORKING_DIRECTORY ${PRJ_DIR} + LOGNAME prerun-${TAR_TRIPLET_DIR} + ) + endif() + endif() + + if (NOT _csc_SKIP_CONFIGURE) + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + vcpkg_execute_required_process( + COMMAND ${dbg_command} + WORKING_DIRECTORY ${PRJ_DIR} + LOGNAME config-${TARGET_TRIPLET}-dbg + ) + endif() + endif() + + # Configure release + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") + if (CMAKE_HOST_WIN32) + unset(ENV{CFLAGS}) + unset(ENV{CXXFLAGS}) + unset(ENV{LDFLAGS}) + set(TMP_CFLAGS "${C_FLAGS_GLOBAL} ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_RELEASE}") + string(REPLACE "/" "-" TMP_CFLAGS "${TMP_CFLAGS}") + set(ENV{CFLAGS} ${TMP_CFLAGS}) + + set(TMP_CXXFLAGS "${CXX_FLAGS_GLOBAL} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") + string(REPLACE "/" "-" TMP_CXXFLAGS "${TMP_CXXFLAGS}") + set(ENV{CXXFLAGS} ${TMP_CXXFLAGS}) + + set(TMP_LDFLAGS "${LD_FLAGS_GLOBAL} ${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") + string(REPLACE "/" "-" TMP_LDFLAGS "${TMP_LDFLAGS}") + set(ENV{LDFLAGS} ${TMP_LDFLAGS}) + endif() + + if (_csc_NO_DEBUG) + set(TAR_TRIPLET_DIR ${TARGET_TRIPLET}) + set(OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TAR_TRIPLET_DIR}) + else() + set(TAR_TRIPLET_DIR ${TARGET_TRIPLET}-rel) + set(OBJ_DIR ${CURRENT_BUILDTREES_DIR}/${TAR_TRIPLET_DIR}) + endif() + set(PRJ_DIR ${OBJ_DIR}/${_csc_PROJECT_SUBPATH}) + + file(MAKE_DIRECTORY ${OBJ_DIR}) + + if (NOT CMAKE_HOST_WIN32) + file(GLOB_RECURSE SOURCE_FILES ${_csc_SOURCE_PATH}/*) + foreach(ONE_SOUCRCE_FILE ${SOURCE_FILES}) + get_filename_component(DST_DIR ${ONE_SOUCRCE_FILE} PATH) + string(REPLACE "${_csc_SOURCE_PATH}" "${OBJ_DIR}" DST_DIR "${DST_DIR}") + file(COPY ${ONE_SOUCRCE_FILE} DESTINATION ${DST_DIR}) + endforeach() + endif() + + if (_csc_PRERUN_SHELL) + message(STATUS "Prerun shell with ${TAR_TRIPLET_DIR}") + vcpkg_execute_required_process( + COMMAND ${base_cmd}${_csc_PRERUN_SHELL} + WORKING_DIRECTORY ${PRJ_DIR} + LOGNAME prerun-${TAR_TRIPLET_DIR} + ) + endif() + + if (_csc_AUTOCONFIG) + message(STATUS "Generating configure with ${TAR_TRIPLET_DIR}") + if (CMAKE_HOST_WIN32) + vcpkg_execute_required_process( + COMMAND ${base_cmd} autoreconf -vfi + WORKING_DIRECTORY ${_csc_SOURCE_PATH}/${_csc_PROJECT_SUBPATH} + LOGNAME prerun-${TAR_TRIPLET_DIR} + ) + else() + vcpkg_execute_required_process( + COMMAND autoreconf -vfi + WORKING_DIRECTORY ${PRJ_DIR} + LOGNAME prerun-${TAR_TRIPLET_DIR} + ) + endif() + endif() + + if (NOT _csc_SKIP_CONFIGURE) + message(STATUS "Configuring ${TAR_TRIPLET_DIR}") + vcpkg_execute_required_process( + COMMAND ${rel_command} + WORKING_DIRECTORY ${PRJ_DIR} + LOGNAME config-${TAR_TRIPLET_DIR} + ) + endif() + endif() + + # Restore envs + if (CMAKE_HOST_WIN32) + set(ENV{CFLAGS} "${C_FLAGS_GLOBAL}") + set(ENV{CXXFLAGS} "${CXX_FLAGS_GLOBAL}") + set(ENV{LDFLAGS} "${LD_FLAGS_GLOBAL}") + endif() + + set(_VCPKG_MAKE_GENERATOR "${GENERATOR}" PARENT_SCOPE) + set(_VCPKG_NO_DEBUG ${_csc_NO_DEBUG} PARENT_SCOPE) + SET(_VCPKG_PROJECT_SOURCE_PATH ${_csc_SOURCE_PATH} PARENT_SCOPE) + set(_VCPKG_PROJECT_SUBPATH ${_csc_PROJECT_SUBPATH} PARENT_SCOPE) +endfunction() diff --git a/scripts/cmake/vcpkg_configure_meson.cmake b/scripts/cmake/vcpkg_configure_meson.cmake index f1ae0e65f..6dfb266cf 100644 --- a/scripts/cmake/vcpkg_configure_meson.cmake +++ b/scripts/cmake/vcpkg_configure_meson.cmake @@ -12,20 +12,21 @@ function(vcpkg_configure_meson) set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1") set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1") - set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Z7") - set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MD /O2 /Oi /Gy /DNDEBUG /Z7") + set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MD /O2 /Gy /DNDEBUG /Z7") + set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MD /O2 /Gy /DNDEBUG /Z7") elseif(DEFINED VCPKG_CRT_LINKAGE AND VCPKG_CRT_LINKAGE STREQUAL static) set(MESON_DEBUG_CFLAGS "${MESON_DEBUG_CFLAGS} /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1") set(MESON_DEBUG_CXXFLAGS "${MESON_DEBUG_CXXFLAGS} /D_DEBUG /MTd /Z7 /Ob0 /Od /RTC1") - set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Z7") - set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MT /O2 /Oi /Gy /DNDEBUG /Z7") + set(MESON_RELEASE_CFLAGS "${MESON_RELEASE_CFLAGS} /MT /O2 /Gy /DNDEBUG /Z7") + set(MESON_RELEASE_CXXFLAGS "${MESON_RELEASE_CXXFLAGS} /MT /O2 /Gy /DNDEBUG /Z7") endif() set(MESON_COMMON_LDFLAGS "${MESON_COMMON_LDFLAGS} /DEBUG") set(MESON_RELEASE_LDFLAGS "${MESON_RELEASE_LDFLAGS} /INCREMENTAL:NO /OPT:REF /OPT:ICF") # select meson cmd-line options + list(APPEND _vcm_OPTIONS -Dcmake_prefix_path=${CURRENT_INSTALLED_DIR}) list(APPEND _vcm_OPTIONS --buildtype plain --backend ninja --wrap-mode nodownload) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) list(APPEND _vcm_OPTIONS --default-library shared) diff --git a/scripts/cmake/vcpkg_configure_qmake.cmake b/scripts/cmake/vcpkg_configure_qmake.cmake index d660fedd7..a04a4c8f6 100644 --- a/scripts/cmake/vcpkg_configure_qmake.cmake +++ b/scripts/cmake/vcpkg_configure_qmake.cmake @@ -6,37 +6,59 @@ # :: # vcpkg_configure_qmake(SOURCE_PATH # [OPTIONS arg1 [arg2 ...]] +# [OPTIONS_RELEASE arg1 [arg2 ...]] +# [OPTIONS_DEBUG arg1 [arg2 ...]] # ) # # ``SOURCE_PATH`` # The path to the *.pro qmake project file. -# ``OPTIONS`` +# ``OPTIONS[_RELEASE|_DEBUG]`` # The options passed to qmake. function(vcpkg_configure_qmake) - cmake_parse_arguments(_csc "" "SOURCE_PATH" "OPTIONS" ${ARGN}) - + cmake_parse_arguments(_csc "" "SOURCE_PATH" "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;BUILD_OPTIONS;BUILD_OPTIONS_RELEASE;BUILD_OPTIONS_DEBUG" ${ARGN}) + # Find qmake executable - find_program(QMAKE_COMMAND NAMES qmake PATHS ${CURRENT_INSTALLED_DIR}/tools/qt5) + 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(NOT QMAKE_COMMAND) message(FATAL_ERROR "vcpkg_configure_qmake: unable to find qmake.") endif() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND _csc_OPTIONS CONFIG+=staticlib) + if(${VCPKG_LIBRARY_LINKAGE} STREQUAL "static") + list(APPEND _csc_OPTIONS "CONFIG-=shared") + list(APPEND _csc_OPTIONS "CONFIG*=static") + else() + list(APPEND _csc_OPTIONS "CONFIG-=static") + list(APPEND _csc_OPTIONS "CONFIG*=shared") + list(APPEND _csc_OPTIONS_DEBUG "CONFIG*=separate_debug_info") endif() - + + 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) + if(DEFINED VCPKG_OSX_DEPLOYMENT_TARGET) + set(ENV{QMAKE_MACOSX_DEPLOYMENT_TARGET} ${VCPKG_OSX_DEPLOYMENT_TARGET}) + endif() + if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") configure_file(${CURRENT_INSTALLED_DIR}/tools/qt5/qt_release.conf ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/qt.conf) message(STATUS "Configuring ${TARGET_TRIPLET}-rel") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + if(DEFINED _csc_BUILD_OPTIONS OR DEFINED _csc_BUILD_OPTIONS_RELEASE) + 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_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 ) @@ -48,8 +70,14 @@ function(vcpkg_configure_qmake) message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + if(DEFINED _csc_BUILD_OPTIONS OR DEFINED _csc_BUILD_OPTIONS_DEBUG) + 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_SOURCE_PATH} -qtconf "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/qt.conf" + 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 LOGNAME config-${TARGET_TRIPLET}-dbg ) diff --git a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake index 165f19ed1..396d20b41 100644 --- a/scripts/cmake/vcpkg_copy_tool_dependencies.cmake +++ b/scripts/cmake/vcpkg_copy_tool_dependencies.cmake @@ -21,7 +21,7 @@ function(vcpkg_copy_tool_dependencies TOOL_DIR) file(GLOB TOOLS ${TOOL_DIR}/*.exe ${TOOL_DIR}/*.dll) foreach(TOOL ${TOOLS}) execute_process(COMMAND powershell -noprofile -executionpolicy Bypass -nologo - -file ${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/applocal.ps1 + -file ${SCRIPTS}/buildsystems/msbuild/applocal.ps1 -targetBinary ${TOOL} -installedDir ${PATH_TO_SEARCH} OUTPUT_VARIABLE OUT) diff --git a/scripts/cmake/vcpkg_download_distfile.cmake b/scripts/cmake/vcpkg_download_distfile.cmake index 72016b8c9..8a8efd205 100644 --- a/scripts/cmake/vcpkg_download_distfile.cmake +++ b/scripts/cmake/vcpkg_download_distfile.cmake @@ -45,7 +45,7 @@ ## ## * [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) function(vcpkg_download_distfile VAR) set(options SKIP_SHA512) set(oneValueArgs FILENAME SHA512) @@ -75,11 +75,14 @@ function(vcpkg_download_distfile VAR) # Works around issue #3399 if(IS_DIRECTORY "${DOWNLOADS}/temp") + # Delete "temp0" directory created by the old version of vcpkg file(REMOVE_RECURSE "${DOWNLOADS}/temp0") - file(RENAME "${DOWNLOADS}/temp" "${DOWNLOADS}/temp0") - file(REMOVE_RECURSE "${DOWNLOADS}/temp0") + + file(GLOB temp_files "${DOWNLOADS}/temp") + file(REMOVE_RECURSE ${temp_files}) + else() + file(MAKE_DIRECTORY "${DOWNLOADS}/temp") endif() - file(MAKE_DIRECTORY "${DOWNLOADS}/temp") function(test_hash FILE_PATH FILE_KIND CUSTOM_ERROR_ADVICE) if(_VCPKG_INTERNAL_NO_HASH_CHECK) @@ -120,7 +123,7 @@ function(vcpkg_download_distfile VAR) list(APPEND request_headers "--header=${header}") endforeach() endif() - execute_process( + _execute_process( COMMAND ${ARIA2} ${vcpkg_download_distfile_URLS} -o temp/${vcpkg_download_distfile_FILENAME} -l download-${vcpkg_download_distfile_FILENAME}-detailed.log diff --git a/scripts/cmake/vcpkg_execute_build_process.cmake b/scripts/cmake/vcpkg_execute_build_process.cmake index d440ba2f6..9da6cec9f 100644 --- a/scripts/cmake/vcpkg_execute_build_process.cmake +++ b/scripts/cmake/vcpkg_execute_build_process.cmake @@ -31,6 +31,7 @@ ## ## Examples ## ## * [icu](https://github.com/Microsoft/vcpkg/blob/master/ports/icu/portfile.cmake) +include(vcpkg_prettify_command) function(vcpkg_execute_build_process) cmake_parse_arguments(_ebp "" "WORKING_DIRECTORY;LOGNAME" "COMMAND;NO_PARALLEL_COMMAND" ${ARGN}) @@ -131,8 +132,9 @@ function(vcpkg_execute_build_process) file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") endforeach() + vcpkg_prettify_command(_ebp_COMMAND _ebp_COMMAND_PRETTY) message(FATAL_ERROR - " Command failed: ${_ebp_COMMAND}\n" + " Command failed: ${_ebp_COMMAND_PRETTY}\n" " Working Directory: ${_ebp_WORKING_DIRECTORY}\n" " See logs for more information:\n" ${STRINGIFIED_LOGS}) diff --git a/scripts/cmake/vcpkg_execute_required_process.cmake b/scripts/cmake/vcpkg_execute_required_process.cmake index 2e9ba7058..f25a5b55e 100644 --- a/scripts/cmake/vcpkg_execute_required_process.cmake +++ b/scripts/cmake/vcpkg_execute_required_process.cmake @@ -11,6 +11,10 @@ ## ) ## ``` ## ## Parameters +## ### ALLOW_IN_DOWNLOAD_MODE +## Allows the command to execute in Download Mode. +## [See execute_process() override](../../scripts/cmake/execute_process.cmake). +## ## ### COMMAND ## The command to be executed, along with its arguments. ## @@ -28,11 +32,22 @@ ## * [openssl](https://github.com/Microsoft/vcpkg/blob/master/ports/openssl/portfile.cmake) ## * [boost](https://github.com/Microsoft/vcpkg/blob/master/ports/boost/portfile.cmake) ## * [qt5](https://github.com/Microsoft/vcpkg/blob/master/ports/qt5/portfile.cmake) +include(vcpkg_prettify_command) function(vcpkg_execute_required_process) - cmake_parse_arguments(vcpkg_execute_required_process "" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) + cmake_parse_arguments(vcpkg_execute_required_process "ALLOW_IN_DOWNLOAD_MODE" "WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) set(LOG_OUT "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-out.log") set(LOG_ERR "${CURRENT_BUILDTREES_DIR}/${vcpkg_execute_required_process_LOGNAME}-err.log") - execute_process( + + set(execute_process_function execute_process) + if (DEFINED VCPKG_DOWNLOAD_MODE AND NOT vcpkg_execute_required_process_ALLOW_IN_DOWNLOAD_MODE) + message(FATAL_ERROR +[[ +This command cannot be executed in Download Mode. +Halting portfile execution. +]]) + endif() + + _execute_process( COMMAND ${vcpkg_execute_required_process_COMMAND} OUTPUT_FILE ${LOG_OUT} ERROR_FILE ${LOG_ERR} @@ -53,8 +68,9 @@ function(vcpkg_execute_required_process) file(TO_NATIVE_PATH "${LOG}" NATIVE_LOG) list(APPEND STRINGIFIED_LOGS " ${NATIVE_LOG}\n") endforeach() + vcpkg_prettify_command(vcpkg_execute_required_process_COMMAND vcpkg_execute_required_process_COMMAND_PRETTY) message(FATAL_ERROR - " Command failed: ${vcpkg_execute_required_process_COMMAND}\n" + " Command failed: ${vcpkg_execute_required_process_COMMAND_PRETTY}\n" " Working Directory: ${vcpkg_execute_required_process_WORKING_DIRECTORY}\n" " Error code: ${error_code}\n" " See logs for more information:\n" diff --git a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake index 0c77c3913..ca11e8ea4 100644 --- a/scripts/cmake/vcpkg_execute_required_process_repeat.cmake +++ b/scripts/cmake/vcpkg_execute_required_process_repeat.cmake @@ -1,4 +1,5 @@ # Usage: vcpkg_execute_required_process_repeat(COUNT COMMAND [...] WORKING_DIRECTORY LOGNAME ) +include(vcpkg_prettify_command) function(vcpkg_execute_required_process_repeat) cmake_parse_arguments(vcpkg_execute_required_process_repeat "" "COUNT;WORKING_DIRECTORY;LOGNAME" "COMMAND" ${ARGN}) #debug_message("vcpkg_execute_required_process_repeat(${vcpkg_execute_required_process_repeat_COMMAND})") @@ -18,8 +19,9 @@ function(vcpkg_execute_required_process_repeat) endif() endforeach(loop_count) if (NOT SUCCESSFUL_EXECUTION) + vcpkg_prettify_command(vcpkg_execute_required_process_repeat_COMMAND vcpkg_execute_required_process_repeat_COMMAND_PRETTY) message(FATAL_ERROR - " Command failed: ${vcpkg_execute_required_process_repeat_COMMAND}\n" + " Command failed: ${vcpkg_execute_required_process_repeat_COMMAND_PRETTY}\n" " Working Directory: ${vcpkg_execute_required_process_repeat_WORKING_DIRECTORY}\n" " See logs for more information:\n" " ${NATIVE_BUILDTREES_DIR}\\${vcpkg_execute_required_process_repeat_LOGNAME}-out.log\n" diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake index a55419b19..fbae94b55 100644 --- a/scripts/cmake/vcpkg_extract_source_archive.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive.cmake @@ -41,6 +41,7 @@ function(vcpkg_extract_source_archive ARCHIVE) message(STATUS "Extracting source ${ARCHIVE}") file(MAKE_DIRECTORY ${WORKING_DIRECTORY}) vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE COMMAND ${CMAKE_COMMAND} -E tar xjf ${ARCHIVE} WORKING_DIRECTORY ${WORKING_DIRECTORY} LOGNAME extract diff --git a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake index a70a5e4a3..67916d09d 100644 --- a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake @@ -5,6 +5,7 @@ ## ## Usage ## ```cmake ## vcpkg_extract_source_archive_ex( +## SKIP_PATCH_CHECK ## OUT_SOURCE_PATH ## ARCHIVE <${ARCHIVE}> ## [REF <1.0.0>] @@ -14,6 +15,9 @@ ## ) ## ``` ## ## 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. ## @@ -25,7 +29,7 @@ ## This is usually obtained from calling [`vcpkg_download_distfile`](vcpkg_download_distfile.md). ## ## ### REF -## A friendly name that will be used instead of the filename of the archive. +## A friendly name that will be used instead of the filename of the archive. If more than 10 characters it will be truncated. ## ## By convention, this is set to the version number or tag fetched ## @@ -51,7 +55,13 @@ include(vcpkg_apply_patches) include(vcpkg_extract_source_archive) function(vcpkg_extract_source_archive_ex) - cmake_parse_arguments(_vesae "NO_REMOVE_ONE_LEVEL" "OUT_SOURCE_PATH;ARCHIVE;REF;WORKING_DIRECTORY" "PATCHES" ${ARGN}) + cmake_parse_arguments( + _vesae + "NO_REMOVE_ONE_LEVEL;SKIP_PATCH_CHECK" + "OUT_SOURCE_PATH;ARCHIVE;REF;WORKING_DIRECTORY" + "PATCHES" + ${ARGN} + ) if(NOT _vesae_ARCHIVE) message(FATAL_ERROR "Must specify ARCHIVE parameter to vcpkg_extract_source_archive_ex()") @@ -115,7 +125,14 @@ function(vcpkg_extract_source_archive_ex) endif() endif() + if (_vesae_SKIP_PATCH_CHECK) + set (QUIET QUIET) + else() + set (QUIET) + endif() + vcpkg_apply_patches( + ${QUIET} SOURCE_PATH ${TEMP_SOURCE_PATH} PATCHES ${_vesae_PATCHES} ) diff --git a/scripts/cmake/vcpkg_fail_port_install.cmake b/scripts/cmake/vcpkg_fail_port_install.cmake new file mode 100644 index 000000000..0fdacb639 --- /dev/null +++ b/scripts/cmake/vcpkg_fail_port_install.cmake @@ -0,0 +1,92 @@ +## # vcpkg_fail_port_install +## +## Fails the current portfile with a (default) error message +## +## ## Usage +## ```cmake +## vcpkg_fail_port_install([MESSAGE ] [ON_TARGET [ ...]] +## [ON_ARCH [ ...]] +## [ON_CRT_LINKAGE [ ...]]) +## [ON_LIBRARY_LINKAGE [ ...]]) +## ``` +## +## ## Parameters +## ### MESSAGE +## Additional failure message. If non is given a default message will be displayed depending on the failure condition +## +## ### ALWAYS +## will always fail early +## +## ### ON_TARGET +## targets for which the build should fail early. Valid targets are from VCPKG_IS_TARGET_ (see vcpkg_common_definitions.cmake) +## +## ### ON_ARCH +## architecture for which the build should fail early. +## +## ### ON_CRT_LINKAGE +## CRT linkage for which the build should fail early. +## +## ### ON_LIBRARY_LINKAGE +## library linkage for which the build should fail early. +## +## ## Examples +## +## * [aws-lambda-cpp](https://github.com/Microsoft/vcpkg/blob/master/ports/aws-lambda-cpp/portfile.cmake) +function(vcpkg_fail_port_install) + cmake_parse_arguments(PARSE_ARGV 0 _csc "ALWAYS" "MESSAGE" "ON_TARGET;ON_ARCH;ON_CRT_LINKAGE;ON_LIBRARY_LINKAGE") + if(DEFINED _csc_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "Unknown arguments passed to vcpkg_fail_port_install. Please correct the portfile!") + endif() + if(DEFINED _csc_MESSAGE) + set(_csc_MESSAGE "${_csc_MESSAGE}\n") + else() + set(_csc_MESSAGE "") + endif() + + unset(_fail_port) + #Target fail check + if(DEFINED _csc_ON_TARGET) + foreach(_target ${_csc_ON_TARGET}) + string(TOUPPER ${_target} _target_upper) + if(VCPKG_TARGET_IS_${_target_upper}) + set(_fail_port TRUE) + set(_csc_MESSAGE "${_csc_MESSAGE}Target '${_target}' not supported by ${PORT}!\n") + endif() + endforeach() + endif() + + #Architecture fail check + if(DEFINED _csc_ON_ARCH) + foreach(_arch ${_csc_ON_ARCH}) + if(${VCPKG_TARGET_ARCHITECTURE} MATCHES ${_arch}) + set(_fail_port TRUE) + set(_csc_MESSAGE "${_csc_MESSAGE}Architecture '${_arch}' not supported by ${PORT}!\n") + endif() + endforeach() + endif() + + #CRT linkage fail check + if(DEFINED _csc_ON_CRT_LINKAGE) + foreach(_crt_link ${_csc_ON_CRT_LINKAGE}) + if("${VCPKG_CRT_LINKAGE}" MATCHES "${_crt_link}") + set(_fail_port TRUE) + set(_csc_MESSAGE "${_csc_MESSAGE}CRT linkage '${VCPKG_CRT_LINKAGE}' not supported by ${PORT}!\n") + endif() + endforeach() + endif() + + #Library linkage fail check + if(DEFINED _csc_ON_LIBRARY_LINKAGE) + foreach(_lib_link ${_csc_ON_LIBRARY_LINKAGE}) + if("${VCPKG_LIBRARY_LINKAGE}" MATCHES "${_lib_link}") + set(_fail_port TRUE) + set(_csc_MESSAGE "${_csc_MESSAGE}Library linkage '${VCPKG_LIBRARY_LINKAGE}' not supported by ${PORT}!\n") + endif() + endforeach() + endif() + + if(_fail_port OR _csc_ALWAYS) + message(FATAL_ERROR ${_csc_MESSAGE}) + endif() + +endfunction() \ No newline at end of file diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 451f4bcd3..b4672a245 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -20,6 +20,7 @@ ## - PERL ## - PYTHON2 ## - PYTHON3 +## - GO ## - JOM ## - MESON ## - NASM @@ -45,6 +46,8 @@ function(vcpkg_find_acquire_program VAR) unset(_vfa_RENAME) unset(SUBDIR) unset(REQUIRED_INTERPRETER) + unset(_vfa_SUPPORTED) + unset(POST_INSTALL_COMMAND) vcpkg_get_program_files_platform_bitness(PROGRAM_FILES_PLATFORM_BITNESS) vcpkg_get_program_files_32_bit(PROGRAM_FILES_32_BIT) @@ -54,17 +57,20 @@ function(vcpkg_find_acquire_program VAR) set(PATHS ${DOWNLOADS}/tools/perl/perl/bin) set(BREW_PACKAGE_NAME "perl") set(APT_PACKAGE_NAME "perl") - set(URL "http://strawberryperl.com/download/5.24.1.1/strawberry-perl-5.24.1.1-32bit-portable.zip") - set(ARCHIVE "strawberry-perl-5.24.1.1-32bit-portable.zip") - set(HASH a6e685ea24376f50db5f06c5b46075f1d3be25168fa1f27fa9b02e2ac017826cee62a2b43562f9b6c989337a231ba914416c110075457764de2d11f99d5e0f26) + set(URL "http://strawberryperl.com/download/5.30.0.1/strawberry-perl-5.30.0.1-32bit.zip") + set(ARCHIVE "strawberry-perl-5.30.0.1-32bit.zip") + set(HASH d353d3dc743ebdc6d1e9f6f2b7a6db3c387c1ce6c890bae8adc8ae5deae8404f4c5e3cf249d1e151e7256d4c5ee9cd317e6c41f3b6f244340de18a24b938e0c4) elseif(VAR MATCHES "NASM") set(PROGNAME nasm) - set(PATHS ${DOWNLOADS}/tools/nasm/nasm-2.14) + set(PATHS ${DOWNLOADS}/tools/nasm/nasm-2.14.02) set(BREW_PACKAGE_NAME "nasm") set(APT_PACKAGE_NAME "nasm") - set(URL "http://www.nasm.us/pub/nasm/releasebuilds/2.14/win32/nasm-2.14-win32.zip") - set(ARCHIVE "nasm-2.14-win32.zip") - set(HASH 64481b0346b83de8c9568f04a54f68e0f4c71724afa0b414f12e4080951d8c49e489bfc32117f9a489e3e49477b1cadc583c672311316d27c543af304c4b7f2a) + set(URL + "http://www.nasm.us/pub/nasm/releasebuilds/2.14.02/win32/nasm-2.14.02-win32.zip" + "http://fossies.org/windows/misc/nasm-2.14.02-win32.zip" + ) + set(ARCHIVE "nasm-2.14.02-win32.zip") + set(HASH a0f16a9f3b668b086e3c4e23a33ff725998e120f2e3ccac8c28293fd4faeae6fc59398919e1b89eed7461685d2730de02f2eb83e321f73609f35bf6b17a23d1e) elseif(VAR MATCHES "YASM") set(PROGNAME yasm) set(SUBDIR 1.3.0.6) @@ -74,14 +80,23 @@ function(vcpkg_find_acquire_program VAR) set(_vfa_RENAME "yasm.exe") set(NOEXTRACT ON) set(HASH c1945669d983b632a10c5ff31e86d6ecbff143c3d8b2c433c0d3d18f84356d2b351f71ac05fd44e5403651b00c31db0d14615d7f9a6ecce5750438d37105c55b) + elseif(VAR MATCHES "GO") + set(PROGNAME go) + set(PATHS ${DOWNLOADS}/tools/go/go/bin) + set(BREW_PACKAGE_NAME "go") + set(APT_PACKAGE_NAME "golang-go") + set(URL "https://dl.google.com/go/go1.13.1.windows-386.zip") + set(ARCHIVE "go1.13.1.windows-386.zip") + set(HASH 2ab0f07e876ad98d592351a8808c2de42351ab387217e088bc4c5fa51d6a835694c501e2350802323b55a27dc0157f8b70045597f789f9e50f5ceae50dea3027) elseif(VAR MATCHES "PYTHON3") if(CMAKE_HOST_WIN32) set(PROGNAME python) - set(SUBDIR "python3") + set(SUBDIR "python-3.7.3") set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) set(URL "https://www.python.org/ftp/python/3.7.3/python-3.7.3-embed-win32.zip") set(ARCHIVE "python-3.7.3-embed-win32.zip") set(HASH 2c1b1f0a29d40a91771ae21a5f733eedc10984cd182cb10c2793bbd24191a89f20612a3f23c34047f37fb06369016bfd4a52915ed1b4a56f8bd2b4ca6994eb31) + set(POST_INSTALL_COMMAND ${CMAKE_COMMAND} -E remove python37._pth) else() set(PROGNAME python3) set(BREW_PACKAGE_NAME "python") @@ -92,9 +107,9 @@ function(vcpkg_find_acquire_program VAR) set(PROGNAME python) set(SUBDIR "python2") set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) - set(URL "https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi") + set(URL "https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi") set(ARCHIVE "python2.msi") - set(HASH 8c3ad6e527742d99ba96dcfd1098861b14e7207b80d51a54e9b410ab2f36e44e05561ea1527d8e92b3e10808311536260bd9e82db0da3b513fb1be18e108510e) + set(HASH c34a6fa2438682104dccb53650a2bdb79eac7996deff075201a0f71bb835d60d3ed866652a1931f15a29510fe8e1009ac04e423b285122d2e5747fefc4c10254) else() set(PROGNAME python2) set(BREW_PACKAGE_NAME "python2") @@ -102,10 +117,10 @@ function(vcpkg_find_acquire_program VAR) endif() elseif(VAR MATCHES "RUBY") set(PROGNAME "ruby") - set(PATHS ${DOWNLOADS}/tools/ruby/rubyinstaller-2.4.1-1-x86/bin) - set(URL https://github.com/oneclick/rubyinstaller2/releases/download/2.4.1-1/rubyinstaller-2.4.1-1-x86.7z) - set(ARCHIVE rubyinstaller-2.4.1-1-x86.7z) - set(HASH b51112e9b58cfcbe8cec0607e8a16fff6a943d9b4e31b2a7fbf5df5f83f050bf0a4812d3dd6000ff21a3d5fd219cd0a309c58ac1c1db950a9b0072405e4b70f5) + set(PATHS ${DOWNLOADS}/tools/ruby/rubyinstaller-2.6.3-1-x86/bin) + set(URL https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.3-1/rubyinstaller-2.6.3-1-x86.7z) + set(ARCHIVE rubyinstaller-2.6.3-1-x86.7z) + set(HASH 4322317dd02ce13527bf09d6e6a7787ca3814ea04337107d28af1ac360bd272504b32e20ed3ea84eb5b21dae7b23bfe5eb0e529b6b0aa21a1a2bbb0a542d7aec) elseif(VAR MATCHES "JOM") set(PROGNAME jom) set(SUBDIR "jom-1.1.3") @@ -116,9 +131,9 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "7Z") set(PROGNAME 7z) set(PATHS "${PROGRAM_FILES_PLATFORM_BITNESS}/7-Zip" "${PROGRAM_FILES_32_BIT}/7-Zip" "${DOWNLOADS}/tools/7z/Files/7-Zip") - set(URL "http://7-zip.org/a/7z1604.msi") - set(ARCHIVE "7z1604.msi") - set(HASH 556f95f7566fe23704d136239e4cf5e2a26f939ab43b44145c91b70d031a088d553e5c21301f1242a2295dcde3143b356211f0108c68e65eef8572407618326d) + set(URL "https://7-zip.org/a/7z1900.msi") + set(ARCHIVE "7z1900.msi") + set(HASH f73b04e2d9f29d4393fde572dcf3c3f0f6fa27e747e5df292294ab7536ae24c239bf917689d71eb10cc49f6b9a4ace26d7c122ee887d93cc935f268c404e9067) elseif(VAR MATCHES "NINJA") set(PROGNAME ninja) set(SUBDIR "ninja-1.8.2") @@ -154,10 +169,10 @@ function(vcpkg_find_acquire_program VAR) else() set(SCRIPTNAME meson) endif() - set(PATHS ${DOWNLOADS}/tools/meson/meson-0.50.0) - set(URL "https://github.com/mesonbuild/meson/archive/0.50.0.zip") - set(ARCHIVE "meson-0.50.0.zip") - set(HASH 587cafe0cd551e3fb3507ecab904912dc3e053aa95c864b435526a20d52406536ba970a50be6c9f20d83314c5853aaefa102c5ca14623d0928b091a43e7b6d64) + set(PATHS ${DOWNLOADS}/tools/meson/meson-0.52.0) + set(URL "https://github.com/mesonbuild/meson/archive/0.52.0.zip") + set(ARCHIVE "meson-0.52.0.zip") + set(HASH 2f2657599f19933c02be2a1faa508d5b2d137fba1ccc9d68a6b6d04b8d21163c33220c673643fa444fa86e94ba010cf8a851b9e6abc096559a7c735f5099a180) elseif(VAR MATCHES "FLEX") if(CMAKE_HOST_WIN32) set(PROGNAME win_flex) @@ -226,13 +241,30 @@ function(vcpkg_find_acquire_program VAR) set(URL "http://doxygen.nl/files/doxygen-1.8.15.windows.bin.zip") set(ARCHIVE "doxygen-1.8.15.windows.bin.zip") set(HASH 89482dcb1863d381d47812c985593e736d703931d49994e09c7c03ef67e064115d0222b8de1563a7930404c9bc2d3be323f3d13a01ef18861be584db3d5a953c) + elseif(VAR MATCHES "BAZEL") + set(PROGNAME bazel) + set(BAZEL_VERSION 0.25.2) + set(SUBDIR ${BAZEL_VERSION}) + set(PATHS ${DOWNLOADS}/tools/bazel/${SUBDIR}) + set(_vfa_RENAME "bazel") + if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") + set(_vfa_SUPPORTED ON) + set(URL "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-linux-x86_64") + set(ARCHIVE "bazel-${BAZEL_VERSION}-linux-x86_64") + set(NOEXTRACT ON) + set(HASH db4a583cf2996aeb29fd008261b12fe39a4a5faf0fbf96f7124e6d3ffeccf6d9655d391378e68dd0915bc91c9e146a51fd9661963743857ca25179547feceab1) + else() + set(URL "https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VERSION}/bazel-${BAZEL_VERSION}-windows-x86_64.zip") + set(ARCHIVE "bazel-${BAZEL_VERSION}-windows-x86_64.zip") + set(HASH 6482f99a0896f55ef65739e7b53452fd9c0adf597b599d0022a5e0c5fa4374f4a958d46f98e8ba25af4b065adacc578bfedced483d8c169ea5cb1777a99eea53) + endif() # Download Tools elseif(VAR MATCHES "ARIA2") set(PROGNAME aria2c) - set(PATHS ${DOWNLOADS}/tools/aria2c/aria2-1.33.1-win-32bit-build1) - set(URL "https://github.com/aria2/aria2/releases/download/release-1.33.1/aria2-1.33.1-win-32bit-build1.zip") - set(ARCHIVE "aria2-1.33.1-win-32bit-build1.zip") - set(HASH 2456176ba3d506a07cf0cc4f61f080e1ff8cb4106426d66f354c5bb67a9a8720b5ddb26904275e61b1f623c932355f7dcde4cd17556cc895f11293c23c3a9bf3) + set(PATHS ${DOWNLOADS}/tools/aria2c/aria2-1.34.0-win-32bit-build1) + set(URL "https://github.com/aria2/aria2/releases/download/release-1.34.0/aria2-1.34.0-win-32bit-build1.zip") + set(ARCHIVE "aria2-1.34.0-win-32bit-build1.zip") + set(HASH 2a5480d503ac6e8203040c7e516a3395028520da05d0ebf3a2d56d5d24ba5d17630e8f318dd4e3cc2094cc4668b90108fb58e8b986b1ffebd429995058063c27) else() message(FATAL "unknown tool ${VAR} -- unable to acquire.") endif() @@ -249,7 +281,7 @@ function(vcpkg_find_acquire_program VAR) do_find() if("${${VAR}}" MATCHES "-NOTFOUND") - if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") + if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows" AND NOT _vfa_SUPPORTED) set(EXAMPLE ".") if(DEFINED BREW_PACKAGE_NAME AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") set(EXAMPLE ":\n brew install ${BREW_PACKAGE_NAME}") @@ -269,9 +301,9 @@ function(vcpkg_find_acquire_program VAR) file(MAKE_DIRECTORY ${PROG_PATH_SUBDIR}) if(DEFINED NOEXTRACT) if(DEFINED _vfa_RENAME) - file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME}) + file(INSTALL ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} RENAME ${_vfa_RENAME} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) else() - file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR}) + file(COPY ${ARCHIVE_PATH} DESTINATION ${PROG_PATH_SUBDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif() else() get_filename_component(ARCHIVE_EXTENSION ${ARCHIVE} EXT) @@ -279,18 +311,27 @@ function(vcpkg_find_acquire_program VAR) if(ARCHIVE_EXTENSION STREQUAL ".msi") file(TO_NATIVE_PATH "${ARCHIVE_PATH}" ARCHIVE_NATIVE_PATH) file(TO_NATIVE_PATH "${PROG_PATH_SUBDIR}" DESTINATION_NATIVE_PATH) - execute_process( + _execute_process( COMMAND msiexec /a ${ARCHIVE_NATIVE_PATH} /qn TARGETDIR=${DESTINATION_NATIVE_PATH} WORKING_DIRECTORY ${DOWNLOADS} ) else() - execute_process( + _execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ARCHIVE_PATH} WORKING_DIRECTORY ${PROG_PATH_SUBDIR} ) endif() endif() + if(DEFINED POST_INSTALL_COMMAND) + vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE + COMMAND ${POST_INSTALL_COMMAND} + WORKING_DIRECTORY ${PROG_PATH_SUBDIR} + LOGNAME ${VAR}-tool-post-install + ) + endif() + do_find() endif() diff --git a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake index 982f414b6..c383fcb56 100644 --- a/scripts/cmake/vcpkg_fixup_cmake_targets.cmake +++ b/scripts/cmake/vcpkg_fixup_cmake_targets.cmake @@ -1,20 +1,23 @@ #.rst: # .. command:: vcpkg_fixup_cmake_targets # -# Transform all /debug/share//*targets-debug.cmake files and move them to /share/. +# Transforms all /debug/share//*targets-debug.cmake files and move them to /share/. # Removes all /debug/share//*targets.cmake and /debug/share//*config.cmake # -# Transform all references matching /bin/*.exe to /tools//*.exe +# Transforms all references matching /bin/*.exe to /tools//*.exe on Windows +# Transforms all references matching /bin/* to /tools//* on other platforms # -# Fix ${_IMPORT_PREFIX} in auto generated targets to be one folder deeper. -# Replace ${CURRENT_INSTALLED_DIR} with ${_IMPORT_PREFIX} in configs/targets. +# Fixes ${_IMPORT_PREFIX} in auto generated targets to be one folder deeper. +# Replaces ${CURRENT_INSTALLED_DIR} with ${_IMPORT_PREFIX} in configs/targets. # # :: # vcpkg_fixup_cmake_targets([CONFIG_PATH ]) # # ``CONFIG_PATH`` # *.cmake files subdirectory (like "lib/cmake/${PORT}"). -# +# +# Example usage: +# vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/myPort") function(vcpkg_fixup_cmake_targets) cmake_parse_arguments(_vfct "" "CONFIG_PATH;TARGET_PATH" "" ${ARGN}) @@ -27,6 +30,13 @@ function(vcpkg_fixup_cmake_targets) set(_vfct_TARGET_PATH share/${PORT}) endif() + + if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(EXECUTABLE_SUFFIX "\\.exe") + else() + set(EXECUTABLE_SUFFIX) + endif() + set(DEBUG_SHARE ${CURRENT_PACKAGES_DIR}/debug/${_vfct_TARGET_PATH}) set(RELEASE_SHARE ${CURRENT_PACKAGES_DIR}/${_vfct_TARGET_PATH}) @@ -107,7 +117,7 @@ function(vcpkg_fixup_cmake_targets) foreach(RELEASE_TARGET IN LISTS RELEASE_TARGETS) file(READ ${RELEASE_TARGET} _contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \"]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") file(WRITE ${RELEASE_TARGET} "${_contents}") endforeach() @@ -120,7 +130,7 @@ function(vcpkg_fixup_cmake_targets) file(READ ${DEBUG_TARGET} _contents) string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${_IMPORT_PREFIX}" _contents "${_contents}") - string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+\\.exe)" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") + string(REGEX REPLACE "\\\${_IMPORT_PREFIX}/bin/([^ \";]+${EXECUTABLE_SUFFIX})" "\${_IMPORT_PREFIX}/tools/${PORT}/\\1" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/lib" "\${_IMPORT_PREFIX}/debug/lib" _contents "${_contents}") string(REPLACE "\${_IMPORT_PREFIX}/bin" "\${_IMPORT_PREFIX}/debug/bin" _contents "${_contents}") file(WRITE ${RELEASE_SHARE}/${DEBUG_TARGET_REL} "${_contents}") @@ -168,3 +178,5 @@ function(vcpkg_fixup_cmake_targets) file(WRITE ${CMAKE_FILE} "${_contents}") endforeach() endfunction() + + diff --git a/scripts/cmake/vcpkg_from_git.cmake b/scripts/cmake/vcpkg_from_git.cmake index 2fc66b279..bad5384ca 100644 --- a/scripts/cmake/vcpkg_from_git.cmake +++ b/scripts/cmake/vcpkg_from_git.cmake @@ -8,7 +8,6 @@ ## OUT_SOURCE_PATH ## URL ## REF <59f7335e4d...> -## SHA512 ## [PATCHES ...] ## ) ## ``` @@ -20,17 +19,10 @@ ## This should be set to `SOURCE_PATH` by convention. ## ## ### URL -## The url of the git repository. -## -## ### SHA512 -## The SHA512 hash that should match the archive form of the commit. -## -## This is most easily determined by first setting it to `0`, then trying to build the port. The error message will contain the full hash, which can be copied back into the portfile. +## The url of the git repository. Must start with `https`. ## ## ### REF -## A stable git commit-ish (ideally a tag or commit) that will not change contents. **This should not be a branch.** -## -## For repositories without official releases, this can be set to the full commit id of the current latest master. +## The git sha of the commit to download. ## ## ### PATCHES ## A list of patches to be applied to the extracted sources. @@ -38,14 +30,14 @@ ## Relative paths are based on the port directory. ## ## ## Notes: -## `OUT_SOURCE_PATH`, `REF`, `SHA512`, and `URL` must be specified. +## `OUT_SOURCE_PATH`, `REF`, and `URL` must be specified. ## ## ## Examples: ## ## * [fdlibm](https://github.com/Microsoft/vcpkg/blob/master/ports/fdlibm/portfile.cmake) function(vcpkg_from_git) - set(oneValueArgs OUT_SOURCE_PATH URL REF SHA512) + set(oneValueArgs OUT_SOURCE_PATH URL REF) set(multipleValuesArgs PATCHES) cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) @@ -57,12 +49,15 @@ function(vcpkg_from_git) message(FATAL_ERROR "The git url must be specified") endif() - if(NOT DEFINED _vdud_REF) - message(FATAL_ERROR "The git ref must be specified.") + if( NOT _vdud_URL MATCHES "^https:") + # vcpkg_from_git does not support a SHA256 parameter because hashing the git archive is + # not stable across all supported platforms. The tradeoff is to require https to download + # and the ref to be the git sha (i.e. not things that can change like a label) + message(FATAL_ERROR "The git url must be https") endif() - if(NOT DEFINED _vdud_SHA512) - message(FATAL_ERROR "vcpkg_from_git requires a SHA512 argument. If you do not know the SHA512, add it as 'SHA512 0' and re-run this command.") + if(NOT DEFINED _vdud_REF) + message(FATAL_ERROR "The git ref must be specified.") endif() # using .tar.gz instead of .zip because the hash of the latter is affected by timezone. @@ -71,18 +66,6 @@ function(vcpkg_from_git) set(ARCHIVE "${DOWNLOADS}/${PORT}-${SANITIZED_REF}.tar.gz") set(TEMP_SOURCE_PATH "${CURRENT_BUILDTREES_DIR}/src/${SANITIZED_REF}") - function(test_hash FILE_PATH FILE_KIND CUSTOM_ERROR_ADVICE) - file(SHA512 ${FILE_PATH} FILE_HASH) - if(NOT FILE_HASH STREQUAL _vdud_SHA512) - message(FATAL_ERROR - "\nFile does not have expected hash:\n" - " File path: [ ${FILE_PATH} ]\n" - " Expected hash: [ ${_vdud_SHA512} ]\n" - " Actual hash: [ ${FILE_HASH} ]\n" - "${CUSTOM_ERROR_ADVICE}\n") - endif() - endfunction() - if(NOT EXISTS "${ARCHIVE}") if(_VCPKG_NO_DOWNLOADS) message(FATAL_ERROR "Downloads are disabled, but '${ARCHIVE}' does not exist.") @@ -91,28 +74,45 @@ function(vcpkg_from_git) find_program(GIT NAMES git git.cmd) # Note: git init is safe to run multiple times vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE COMMAND ${GIT} init git-tmp WORKING_DIRECTORY ${DOWNLOADS} - LOGNAME git-init + LOGNAME git-init-${TARGET_TRIPLET} ) vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE COMMAND ${GIT} fetch ${_vdud_URL} ${_vdud_REF} --depth 1 -n WORKING_DIRECTORY ${DOWNLOADS}/git-tmp - LOGNAME git-fetch + LOGNAME git-fetch-${TARGET_TRIPLET} ) + _execute_process( + COMMAND ${GIT} rev-parse FETCH_HEAD + OUTPUT_VARIABLE REV_PARSE_HEAD + ERROR_VARIABLE REV_PARSE_HEAD + RESULT_VARIABLE error_code + WORKING_DIRECTORY ${DOWNLOADS}/git-tmp + ) + if(error_code) + message(FATAL_ERROR "unable to determine FETCH_HEAD after fetching git repository") + endif() + string(REGEX REPLACE "\n$" "" REV_PARSE_HEAD "${REV_PARSE_HEAD}") + if(NOT REV_PARSE_HEAD STREQUAL _vdud_REF) + message(FATAL_ERROR "REF (${_vdud_REF}) does not match FETCH_HEAD (${REV_PARSE_HEAD})") + endif() + file(MAKE_DIRECTORY "${DOWNLOADS}/temp") vcpkg_execute_required_process( + ALLOW_IN_DOWNLOAD_MODE COMMAND ${GIT} archive FETCH_HEAD -o "${TEMP_ARCHIVE}" WORKING_DIRECTORY ${DOWNLOADS}/git-tmp LOGNAME git-archive ) - test_hash("${TEMP_ARCHIVE}" "downloaded repo" "") + get_filename_component(downloaded_file_dir "${ARCHIVE}" DIRECTORY) file(MAKE_DIRECTORY "${downloaded_file_dir}") file(RENAME "${TEMP_ARCHIVE}" "${ARCHIVE}") else() message(STATUS "Using cached ${ARCHIVE}") - test_hash("${ARCHIVE}" "cached file" "Please delete the file and retry if this file should be downloaded again.") endif() vcpkg_extract_source_archive_ex( diff --git a/scripts/cmake/vcpkg_from_github.cmake b/scripts/cmake/vcpkg_from_github.cmake index c0d657bbc..a822ee40e 100644 --- a/scripts/cmake/vcpkg_from_github.cmake +++ b/scripts/cmake/vcpkg_from_github.cmake @@ -172,6 +172,7 @@ function(vcpkg_from_github) endif() vcpkg_extract_source_archive_ex( + SKIP_PATCH_CHECK OUT_SOURCE_PATH SOURCE_PATH ARCHIVE "${downloaded_file_path}" REF "${SANITIZED_HEAD_REF}" diff --git a/scripts/cmake/vcpkg_from_gitlab.cmake b/scripts/cmake/vcpkg_from_gitlab.cmake index 6bbe81ed6..05253289e 100644 --- a/scripts/cmake/vcpkg_from_gitlab.cmake +++ b/scripts/cmake/vcpkg_from_gitlab.cmake @@ -150,7 +150,7 @@ function(vcpkg_from_gitlab) endif() # There are issues with the Gitlab API project paths being URL-escaped, so we use git here to get the head revision - execute_process(COMMAND ${GIT} ls-remote + _execute_process(COMMAND ${GIT} ls-remote "${_vdud_GITLAB_URL}/${ORG_NAME}/${REPO_NAME}.git" "${_vdud_HEAD_REF}" RESULT_VARIABLE _git_result OUTPUT_VARIABLE _git_output diff --git a/scripts/cmake/vcpkg_install_make.cmake b/scripts/cmake/vcpkg_install_make.cmake new file mode 100644 index 000000000..1672d7c5a --- /dev/null +++ b/scripts/cmake/vcpkg_install_make.cmake @@ -0,0 +1,25 @@ +## # vcpkg_install_make +## +## Build and install a make project. +## +## ## Usage: +## ```cmake +## vcpkg_install_make(...) +## ``` +## +## ## Parameters: +## See [`vcpkg_build_make()`](vcpkg_build_make.md). +## +## ## Notes: +## This command transparently forwards to [`vcpkg_build_make()`](vcpkg_build_make.md), adding `ENABLE_INSTALL` +## +## ## Examples +## +## * [x264](https://github.com/Microsoft/vcpkg/blob/master/ports/x264/portfile.cmake) +## * [tcl](https://github.com/Microsoft/vcpkg/blob/master/ports/tcl/portfile.cmake) +## * [freexl](https://github.com/Microsoft/vcpkg/blob/master/ports/freexl/portfile.cmake) +## * [libosip2](https://github.com/Microsoft/vcpkg/blob/master/ports/libosip2/portfile.cmake) + +function(vcpkg_install_make) + vcpkg_build_make(LOGFILE_ROOT ENABLE_INSTALL) +endfunction() diff --git a/scripts/cmake/vcpkg_install_msbuild.cmake b/scripts/cmake/vcpkg_install_msbuild.cmake index 92c84bf0b..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() @@ -144,7 +146,7 @@ function(vcpkg_install_msbuild) endif() if(_csc_USE_VCPKG_INTEGRATION) - list(APPEND _csc_OPTIONS /p:ForceImportBeforeCppTargets=${VCPKG_ROOT_DIR}/scripts/buildsystems/msbuild/vcpkg.targets /p:VcpkgApplocalDeps=false) + list(APPEND _csc_OPTIONS /p:ForceImportBeforeCppTargets=${SCRIPTS}/buildsystems/msbuild/vcpkg.targets /p:VcpkgApplocalDeps=false) endif() get_filename_component(SOURCE_PATH_SUFFIX "${_csc_SOURCE_PATH}" NAME) diff --git a/scripts/cmake/vcpkg_install_nmake.cmake b/scripts/cmake/vcpkg_install_nmake.cmake new file mode 100644 index 000000000..a8197751c --- /dev/null +++ b/scripts/cmake/vcpkg_install_nmake.cmake @@ -0,0 +1,86 @@ +## # vcpkg_install_nmake +## +## Build and install a msvc makefile project. +## +## ## Usage: +## ```cmake +## vcpkg_install_nmake( +## SOURCE_PATH <${SOURCE_PATH}> +## [NO_DEBUG] +## PROJECT_SUBPATH <${SUBPATH}> +## PROJECT_NAME <${MAKEFILE_NAME}> +## [PRERUN_SHELL <${SHELL_PATH}>] +## [PRERUN_SHELL_DEBUG <${SHELL_PATH}>] +## [PRERUN_SHELL_RELEASE <${SHELL_PATH}>] +## [OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...] +## [OPTIONS_RELEASE <-DOPTIMIZE=1>...] +## [OPTIONS_DEBUG <-DDEBUGGABLE=1>...] +## ``` +## +## ## Parameters +## ### SOURCE_PATH +## Specifies the directory containing the source files. +## By convention, this is usually set in the portfile as the variable `SOURCE_PATH`. +## +## ### PROJECT_SUBPATH +## Specifies the sub directory containing the `makefile.vc`/`makefile.mak`/`makefile.msvc` or other msvc makefile. +## +## ### PROJECT_NAME +## Specifies the name of msvc makefile name. +## Default is makefile.vc +## +## ### NO_DEBUG +## This port doesn't support debug mode. +## +## ### PRERUN_SHELL +## Script that needs to be called before build +## +## ### PRERUN_SHELL_DEBUG +## Script that needs to be called before debug build +## +## ### PRERUN_SHELL_RELEASE +## Script that needs to be called before release build +## +## ### OPTIONS +## Additional options passed to generate during the generation. +## +## ### OPTIONS_RELEASE +## Additional options passed to generate during the Release generation. These are in addition to `OPTIONS`. +## +## ### OPTIONS_DEBUG +## Additional options passed to generate during the Debug generation. These are in addition to `OPTIONS`. +## +## ## Parameters: +## 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) + +function(vcpkg_install_nmake) + cmake_parse_arguments(_in + "NO_DEBUG" + "SOURCE_PATH;PROJECT_SUBPATH;PROJECT_NAME" + "OPTIONS;OPTIONS_RELEASE;OPTIONS_DEBUG;PRERUN_SHELL;PRERUN_SHELL_DEBUG;PRERUN_SHELL_RELEASE" + ${ARGN} + ) + + if (NOT CMAKE_HOST_WIN32) + message(FATAL_ERROR "vcpkg_install_nmake only support windows.") + endif() + + if (_in_NO_DEBUG) + set(NO_DEBUG NO_DEBUG) + endif() + + vcpkg_build_nmake(LOGFILE_ROOT ENABLE_INSTALL + ${NO_DEBUG} + SOURCE_PATH ${_in_SOURCE_PATH} PROJECT_SUBPATH ${_in_PROJECT_SUBPATH} PROJECT_NAME ${_in_PROJECT_NAME} + PRERUN_SHELL ${_in_PRERUN_SHELL} PRERUN_SHELL_DEBUG ${_in_PRERUN_SHELL_DEBUG} PRERUN_SHELL_RELEASE ${_in_PRERUN_SHELL_RELEASE} + OPTIONS ${_in_OPTIONS} OPTIONS_RELEASE ${_in_OPTIONS_RELEASE} OPTIONS_DEBUG ${_in_OPTIONS_DEBUG} + ) +endfunction() diff --git a/scripts/cmake/vcpkg_prettify_command.cmake b/scripts/cmake/vcpkg_prettify_command.cmake new file mode 100644 index 000000000..9d9a2b798 --- /dev/null +++ b/scripts/cmake/vcpkg_prettify_command.cmake @@ -0,0 +1,26 @@ +## # vcpkg_prettify_command +## +## Turns list of command arguments into a formatted string. +## +## ## Usage +## ```cmake +## vcpkg_prettify_command() +## ``` +## +## ## Examples +## +## * `scripts/cmake/vcpkg_execute_build_process.cmake` +## * `scripts/cmake/vcpkg_execute_required_process.cmake` +## * `scripts/cmake/vcpkg_execute_required_process_repeat.cmake` + +macro(vcpkg_prettify_command INPUT_VAR OUTPUT_VAR) + set(${OUTPUT_VAR} "") + foreach(v ${${INPUT_VAR}}) + if(${v} MATCHES "( )") + list(APPEND ${OUTPUT_VAR} \"${v}\") + else() + list(APPEND ${OUTPUT_VAR} ${v}) + endif() + endforeach() + list(JOIN ${OUTPUT_VAR} " " ${OUTPUT_VAR}) +endmacro() diff --git a/scripts/cmake/vcpkg_test_cmake.cmake b/scripts/cmake/vcpkg_test_cmake.cmake index 20343bf64..eeb27867c 100644 --- a/scripts/cmake/vcpkg_test_cmake.cmake +++ b/scripts/cmake/vcpkg_test_cmake.cmake @@ -21,59 +21,4 @@ function(vcpkg_test_cmake) # 2. Select a generator in the same method as vcpkg_configure_cmake() as though the PREFER_NINJA flag was always passed. # 3. Fully emulate the toolchain file for the just-built package (just adding it to CMAKE_PREFIX_PATH is not enough). return() - - cmake_parse_arguments(_tc "MODULE" "PACKAGE_NAME" "" ${ARGN}) - - if(NOT DEFINED _tc_PACKAGE_NAME) - message(FATAL_ERROR "PACKAGE_NAME must be specified") - endif() - if(_tc_MODULE) - set(PACKAGE_TYPE MODULE) - else() - set(PACKAGE_TYPE CONFIG) - endif() - - if(VCPKG_PLATFORM_TOOLSET STREQUAL "v142") - message(STATUS "Skipping CMake integration test due to v142 / CMake interaction issues") - return() - endif() - - message(STATUS "Performing CMake integration test") - file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test) - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test) - - #Generate Dummy source -# set(VCPKG_TEST_SOURCE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test/CMakeIntegration.cpp) -# file(WRITE ${VCPKG_TEST_SOURCE} "int main() \{\n") -# file(APPEND ${VCPKG_TEST_SOURCE} "return 0;}") - # Generate test source CMakeLists.txt - set(VCPKG_TEST_CMAKELIST ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test/CMakeLists.txt) - file(WRITE ${VCPKG_TEST_CMAKELIST} "cmake_minimum_required(VERSION 3.10)\n") - file(APPEND ${VCPKG_TEST_CMAKELIST} "set(CMAKE_PREFIX_PATH \"${CURRENT_PACKAGES_DIR};${CURRENT_INSTALLED_DIR}\")\n") - file(APPEND ${VCPKG_TEST_CMAKELIST} "\n") - file(APPEND ${VCPKG_TEST_CMAKELIST} "find_package(${_tc_PACKAGE_NAME} ${PACKAGE_TYPE} REQUIRED)\n") - #To properly test if the package is actually working haveway correctly we have to link all targets of a package to - #a test executable and than actually build it. This will not discover if every symbol exported by the library is available/linked - #but it will doscover if all files which are linked by a target actual exist. Problem is: How to discover all targets? -# file(APPEND ${VCPKG_TEST_CMAKELIST} "add_executable(${_tc_PACKAGE_NAME}_exe ${VCPKG_TEST_SOURCE})\n") -# file(APPEND ${VCPKG_TEST_CMAKELIST} "target_link_libraries(${_tc_PACKAGE_NAME}_exe PRIVATE ${_tc_PACKAGE_NAME})\n") - - if(DEFINED _VCPKG_CMAKE_GENERATOR) - set(VCPKG_CMAKE_TEST_GENERATOR "${_VCPKG_CMAKE_GENERATOR}") - else() - set(VCPKG_CMAKE_TEST_GENERATOR Ninja) - endif() - - # Run cmake config with a generated CMakeLists.txt - set(LOGPREFIX "${CURRENT_BUILDTREES_DIR}/test-cmake-${TARGET_TRIPLET}") - execute_process( - COMMAND ${CMAKE_COMMAND} -G ${VCPKG_CMAKE_TEST_GENERATOR} . - OUTPUT_FILE "${LOGPREFIX}-out.log" - ERROR_FILE "${LOGPREFIX}-err.log" - RESULT_VARIABLE error_code - WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-test - ) - if(error_code) - message(FATAL_ERROR "CMake integration test failed; unable to find_package(${_tc_PACKAGE_NAME} ${PACKAGE_TYPE} REQUIRED)") - endif() endfunction() diff --git a/scripts/get_triplet_environment.cmake b/scripts/get_triplet_environment.cmake index bc79b16ce..3b0b9fbef 100644 --- a/scripts/get_triplet_environment.cmake +++ b/scripts/get_triplet_environment.cmake @@ -1,4 +1,7 @@ include(${CMAKE_TRIPLET_FILE}) +if (DEFINED VCPKG_ENV_OVERRIDES_FILE) + include(${VCPKG_ENV_OVERRIDES_FILE}) +endif() # GUID used as a flag - "cut here line" message("c35112b6-d1ba-415b-aa5d-81de856ef8eb") @@ -9,3 +12,5 @@ message("VCPKG_PLATFORM_TOOLSET=${VCPKG_PLATFORM_TOOLSET}") message("VCPKG_VISUAL_STUDIO_PATH=${VCPKG_VISUAL_STUDIO_PATH}") message("VCPKG_CHAINLOAD_TOOLCHAIN_FILE=${VCPKG_CHAINLOAD_TOOLCHAIN_FILE}") message("VCPKG_BUILD_TYPE=${VCPKG_BUILD_TYPE}") +message("VCPKG_ENV_PASSTHROUGH=${VCPKG_ENV_PASSTHROUGH}") +message("VCPKG_PUBLIC_ABI_OVERRIDE=${VCPKG_PUBLIC_ABI_OVERRIDE}") diff --git a/scripts/ports.cmake b/scripts/ports.cmake index 7a5f2749f..cdc0bdd99 100644 --- a/scripts/ports.cmake +++ b/scripts/ports.cmake @@ -6,22 +6,32 @@ macro(debug_message) endif() endmacro() -#Detect .vcpkg-root to figure VCPKG_ROOT_DIR -SET(VCPKG_ROOT_DIR_CANDIDATE ${CMAKE_CURRENT_LIST_DIR}) -while(IS_DIRECTORY ${VCPKG_ROOT_DIR_CANDIDATE} AND NOT EXISTS "${VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root") - get_filename_component(VCPKG_ROOT_DIR_TEMP ${VCPKG_ROOT_DIR_CANDIDATE} DIRECTORY) - if (VCPKG_ROOT_DIR_TEMP STREQUAL VCPKG_ROOT_DIR_CANDIDATE) # If unchanged, we have reached the root of the drive - message(FATAL_ERROR "Could not find .vcpkg-root") - else() - SET(VCPKG_ROOT_DIR_CANDIDATE ${VCPKG_ROOT_DIR_TEMP}) - endif() -endwhile() +#Detect .vcpkg-root to figure VCPKG_ROOT_DIR, starting from triplet folder. +set(VCPKG_ROOT_DIR_CANDIDATE ${CMAKE_CURRENT_LIST_DIR}) + +if(DEFINED VCPKG_ROOT_PATH) + set(VCPKG_ROOT_DIR_CANDIDATE ${VCPKG_ROOT_PATH}) +else() + message(FATAL_ERROR [[ + Your vcpkg executable is outdated and is not compatible with the current CMake scripts. + Please re-build vcpkg by running bootstrap-vcpkg. + ]]) +endif() + +# fixup Windows drive letter to uppercase. +get_filename_component(VCPKG_ROOT_DIR_CANDIDATE ${VCPKG_ROOT_DIR_CANDIDATE} ABSOLUTE) + +# Validate VCPKG_ROOT_DIR_CANDIDATE +if (NOT EXISTS "${VCPKG_ROOT_DIR_CANDIDATE}/.vcpkg-root") + message(FATAL_ERROR "Could not find .vcpkg-root") +endif() set(VCPKG_ROOT_DIR ${VCPKG_ROOT_DIR_CANDIDATE}) -list(APPEND CMAKE_MODULE_PATH ${VCPKG_ROOT_DIR}/scripts/cmake) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) set(CURRENT_INSTALLED_DIR ${VCPKG_ROOT_DIR}/installed/${TARGET_TRIPLET} CACHE PATH "Location to install final packages") set(DOWNLOADS ${VCPKG_ROOT_DIR}/downloads CACHE PATH "Location to download sources and tools") +set(SCRIPTS ${CMAKE_CURRENT_LIST_DIR} CACHE PATH "Location to stored scripts") set(PACKAGES_DIR ${VCPKG_ROOT_DIR}/packages CACHE PATH "Location to store package images") set(BUILDTREES_DIR ${VCPKG_ROOT_DIR}/buildtrees CACHE PATH "Location to perform actual extract+config+build") @@ -32,7 +42,7 @@ endif() if(CMD MATCHES "^BUILD$") - set(CMAKE_TRIPLET_FILE ${VCPKG_ROOT_DIR}/triplets/${TARGET_TRIPLET}.cmake) + set(CMAKE_TRIPLET_FILE ${TARGET_TRIPLET_FILE}) if(NOT EXISTS ${CMAKE_TRIPLET_FILE}) message(FATAL_ERROR "Unsupported target triplet. Triplet file does not exist: ${CMAKE_TRIPLET_FILE}") endif() @@ -67,7 +77,20 @@ if(CMD MATCHES "^BUILD$") file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR} ${CURRENT_PACKAGES_DIR}) include(${CMAKE_TRIPLET_FILE}) + + if (DEFINED VCPKG_ENV_OVERRIDES_FILE) + include(${VCPKG_ENV_OVERRIDES_FILE}) + endif() + + if (DEFINED VCPKG_PORT_TOOLCHAINS) + foreach(VCPKG_PORT_TOOLCHAIN ${VCPKG_PORT_TOOLCHAINS}) + include(${VCPKG_PORT_TOOLCHAIN}) + endforeach() + endif() + set(TRIPLET_SYSTEM_ARCH ${VCPKG_TARGET_ARCHITECTURE}) + include(${SCRIPTS}/cmake/vcpkg_common_definitions.cmake) + include(${SCRIPTS}/cmake/vcpkg_common_functions.cmake) include(${CURRENT_PORT_DIR}/portfile.cmake) set(BUILD_INFO_FILE_PATH ${CURRENT_PACKAGES_DIR}/BUILD_INFO) @@ -117,8 +140,8 @@ elseif(CMD MATCHES "^CREATE$") file(SHA512 ${DOWNLOADS}/${FILENAME} SHA512) file(MAKE_DIRECTORY ports/${PORT}) - configure_file(scripts/templates/portfile.in.cmake ports/${PORT}/portfile.cmake @ONLY) - configure_file(scripts/templates/CONTROL.in ports/${PORT}/CONTROL @ONLY) + configure_file(${SCRIPTS}/templates/portfile.in.cmake ports/${PORT}/portfile.cmake @ONLY) + configure_file(${SCRIPTS}/templates/CONTROL.in ports/${PORT}/CONTROL @ONLY) message(STATUS "Generated portfile: ${NATIVE_VCPKG_ROOT_DIR}\\ports\\${PORT}\\portfile.cmake") message(STATUS "Generated CONTROL: ${NATIVE_VCPKG_ROOT_DIR}\\ports\\${PORT}\\CONTROL") diff --git a/scripts/templates/CONTROL.in b/scripts/templates/CONTROL.in index c5b706861..77f287e0a 100644 --- a/scripts/templates/CONTROL.in +++ b/scripts/templates/CONTROL.in @@ -1,3 +1,10 @@ Source: @PORT@ Version: -Description: \ No newline at end of file +Homepage: +Description: +Build-Depends: +Default-Features: + +Feature: +Description: +Build-Depends: \ No newline at end of file diff --git a/scripts/templates/portfile.in.cmake b/scripts/templates/portfile.in.cmake index 33f8a4853..62c53a6db 100644 --- a/scripts/templates/portfile.in.cmake +++ b/scripts/templates/portfile.in.cmake @@ -2,15 +2,34 @@ # CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT} # CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET} # CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT} +# CURRENT_INSTALLED_DIR = ${VCPKG_ROOT_DIR}\installed\${TRIPLET} +# DOWNLOADS = ${VCPKG_ROOT_DIR}\downloads # PORT = current port name (zlib, etc) # TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc) # VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic) # VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic) # VCPKG_ROOT_DIR = # VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm) +# VCPKG_TOOLCHAIN = ON OFF +# TRIPLET_SYSTEM_ARCH = arm x86 x64 +# BUILD_ARCH = "Win32" "x64" "ARM" +# MSBUILD_PLATFORM = "Win32"/"x64"/${TRIPLET_SYSTEM_ARCH} +# DEBUG_CONFIG = "Debug Static" "Debug Dll" +# RELEASE_CONFIG = "Release Static"" "Release DLL" +# VCPKG_TARGET_IS_WINDOWS +# VCPKG_TARGET_IS_UWP +# VCPKG_TARGET_IS_LINUX +# VCPKG_TARGET_IS_OSX +# VCPKG_TARGET_IS_FREEBSD +# VCPKG_TARGET_IS_ANDROID +# VCPKG_TARGET_EXECUTABLE_SUFFIX +# VCPKG_TARGET_STATIC_LIBRARY_SUFFIX +# VCPKG_TARGET_SHARED_LIBRARY_SUFFIX # +# See additional helpful variables in /docs/maintainers/vcpkg_common_definitions.md -include(vcpkg_common_functions) +# # Specifies if the port install should fail immediately given a condition +# vcpkg_fail_port_install(MESSAGE "@PORT@ currently only supports Linux and Mac platforms" ON_TARGET "Windows") vcpkg_download_distfile(ARCHIVE URLS "@URL@" @@ -30,6 +49,15 @@ vcpkg_extract_source_archive_ex( # 002_more_port_fixes.patch ) +# # Check if one or more features are a part of a package installation. +# # See /docs/maintainers/vcpkg_check_features.md for more details +# vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS +# FEATURES # <- Keyword FEATURES is required because INVERTED_FEATURES are being used +# tbb WITH_TBB +# INVERTED_FEATURES +# tbb ROCKSDB_IGNORE_PACKAGE_TBB +# ) + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA # Disable this option if project cannot be built with Ninja @@ -40,8 +68,12 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -# Handle copyright +# # Moves all .cmake files from /debug/share/@PORT@/ to /share/@PORT@/ +# # See /docs/maintainers/vcpkg_fixup_cmake_targets.md for more details +# vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/@PORT@) + +# # Handle copyright # file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/@PORT@ RENAME copyright) -# Post-build test for cmake libraries +# # Post-build test for cmake libraries # vcpkg_test_cmake(PACKAGE_NAME @PORT@) diff --git a/scripts/toolchains/windows.cmake b/scripts/toolchains/windows.cmake index 12b1ae7f9..d5d7f8db5 100644 --- a/scripts/toolchains/windows.cmake +++ b/scripts/toolchains/windows.cmake @@ -9,7 +9,8 @@ if(NOT _CMAKE_IN_TRY_COMPILE) message(FATAL_ERROR "Invalid setting for VCPKG_CRT_LINKAGE: \"${VCPKG_CRT_LINKAGE}\". It must be \"static\" or \"dynamic\"") endif() - if(VCPKG_PLATFORM_TOOLSET MATCHES "v120") + set(CHARSET_FLAG "/utf-8") + if (NOT VCPKG_SET_CHARSET_FLAG OR VCPKG_PLATFORM_TOOLSET MATCHES "v120") # VS 2013 does not support /utf-8 set(CHARSET_FLAG) endif() @@ -17,7 +18,7 @@ if(NOT _CMAKE_IN_TRY_COMPILE) set(CMAKE_CXX_FLAGS " /DWIN32 /D_WINDOWS /W3 ${CHARSET_FLAG} /GR /EHsc /MP ${VCPKG_CXX_FLAGS}" CACHE STRING "") set(CMAKE_C_FLAGS " /DWIN32 /D_WINDOWS /W3 ${CHARSET_FLAG} /MP ${VCPKG_C_FLAGS}" CACHE STRING "") set(CMAKE_RC_FLAGS "-c65001 /DWIN32" CACHE STRING "") - + unset(CHARSET_FLAG) set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG ${VCPKG_CRT_LINK_FLAG_PREFIX}d /Z7 /Ob0 /Od /RTC1 ${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") @@ -27,5 +28,4 @@ if(NOT _CMAKE_IN_TRY_COMPILE) set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS}" CACHE STRING "") set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF /OPT:ICF ${VCPKG_LINKER_FLAGS}" CACHE STRING "") - endif() diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml index c7d5c218a..8f90ce8dc 100644 --- a/scripts/vcpkgTools.xml +++ b/scripts/vcpkgTools.xml @@ -114,4 +114,11 @@ 56a55ae9a6b5dfad4f28f9fe9b8114f1475c999d2f07fff7efa7375f987e74b498e9b63c41fc6c577756f15f3a1459c6d5d367902de3bedebdf9a9fd49089a86 ninja-freebsd-1.8.2.zip + + 6.2.1 + pwsh.exe + https://github.com/PowerShell/PowerShell/releases/download/v6.2.1/PowerShell-6.2.1-win-x86.zip + ab1effc926b000a6adc12198a1886514ec203621a53b0cd7ec1cd9a8225dccda7e857feaabcfba4004bea73129b986abaad777c4573f44e0af70411226ce08b0 + PowerShell-6.2.1-win-x86.zip + diff --git a/toolsrc/.clang-format b/toolsrc/.clang-format index c14765672..4d2c34fc4 100644 --- a/toolsrc/.clang-format +++ b/toolsrc/.clang-format @@ -28,6 +28,7 @@ Cpp11BracedListStyle: true IndentCaseLabels: true KeepEmptyLinesAtTheStartOfBlocks: false NamespaceIndentation: All +ForEachMacros: [TEST_CASE, SECTION] PenaltyReturnTypeOnItsOwnLine: 1000 SpaceAfterTemplateKeyword: false SpaceBeforeCpp11BracedList: false diff --git a/toolsrc/CMakeLists.txt b/toolsrc/CMakeLists.txt index fccf2b7ad..9106204b2 100644 --- a/toolsrc/CMakeLists.txt +++ b/toolsrc/CMakeLists.txt @@ -1,14 +1,33 @@ -cmake_minimum_required(VERSION 3.3) +cmake_minimum_required(VERSION 3.14) project(vcpkg C CXX) OPTION(DEFINE_DISABLE_METRICS "Option for disabling metrics" OFF) OPTION(VCPKG_ALLOW_APPLE_CLANG "Option for allowing apple clang" OFF) +OPTION(VCPKG_DEVELOPMENT_WARNINGS "Option for turning on all warnings, and making them errors" ON) +OPTION(BUILD_TESTING "Option for enabling testing" ON) +OPTION(VCPKG_BUILD_BENCHMARKING "Option for enabling benchmarking" OFF) + +# for backwards compatibility with existing code +if (WERROR) + set(VCPKG_DEVELOPMENT_WARNINGS On) +endif() + + +if (DEFINE_DISABLE_METRICS) + set(DISABLE_METRICS_VALUE "1") +else() + set(DISABLE_METRICS_VALUE "0") +endif() if(CMAKE_COMPILER_IS_GNUXX OR CMAKE_CXX_COMPILER_ID MATCHES "GNU") set(GCC 1) elseif(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") - if(NOT VCPKG_ALLOW_APPLE_CLANG) + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11.0.0") + set(CLANG 1) + # Disable linking with libc++fs because this features are added in libc++ library + set(NO_LIBCXXFS 1) + elseif(NOT VCPKG_ALLOW_APPLE_CLANG) message(FATAL_ERROR "Building the vcpkg tool requires support for the C++ Filesystem TS. Apple clang versions 10.01 and below do not have support for it. @@ -19,32 +38,22 @@ If you would like to try anyway, pass --allowAppleClang to bootstrap.sh.") endif() elseif(CMAKE_CXX_COMPILER_ID MATCHES "[Cc]lang") set(CLANG 1) -elseif(MSVC) - add_compile_options(/std:c++17 /FC) -else() + 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() -if(GCC OR CLANG) - add_compile_options(-std=c++1z) - if(WERROR) - add_compile_options(-Wall -Wno-unknown-pragmas -Werror) - endif() -endif() +set(THREADS_PREFER_PTHREAD_FLAG ON) +find_package(Threads REQUIRED) -file(GLOB_RECURSE VCPKGLIB_SOURCES src/vcpkg/*.cpp) +add_definitions(-DDISABLE_METRICS=${DISABLE_METRICS_VALUE}) +include_directories(include) +link_libraries(Threads::Threads) -if (DEFINE_DISABLE_METRICS) - set(DISABLE_METRICS_VALUE "1") -else() - set(DISABLE_METRICS_VALUE "0") -endif() - -add_executable(vcpkg src/vcpkg.cpp ${VCPKGLIB_SOURCES}) -target_compile_definitions(vcpkg PRIVATE -DDISABLE_METRICS=${DISABLE_METRICS_VALUE}) -target_include_directories(vcpkg PRIVATE include) - -if(CLANG) +if(CLANG AND NOT MSVC) include(CheckCXXSourceCompiles) check_cxx_source_compiles("#include int main() { return __GLIBCXX__; }" USES_LIBSTDCXX) @@ -56,9 +65,70 @@ if(CLANG) endif() if(GCC OR (CLANG AND USES_LIBSTDCXX)) - target_link_libraries(vcpkg PRIVATE stdc++fs) -elseif(CLANG) - target_link_libraries(vcpkg PRIVATE c++fs) + link_libraries(stdc++fs) +elseif(CLANG AND NOT MSVC AND NOT NO_LIBCXXFS) + link_libraries(c++fs) +endif() + +if(MSVC) + # either MSVC, or clang-cl + add_compile_options(-FC) + + if (MSVC_VERSION GREATER 1900) + # Visual Studio 2017 or later + add_compile_options(-std:c++17 -permissive-) + else() + # Visual Studio 2015 + add_compile_options(-std:c++latest) + endif() + + if(VCPKG_DEVELOPMENT_WARNINGS) + string(REGEX REPLACE "/W[0-4]" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + add_compile_options(-W4 -WX) + + if (CLANG) + add_compile_options(-Wmissing-prototypes -Wno-missing-field-initializers) + endif() + endif() +elseif(GCC OR CLANG) + add_compile_options(-std=c++1z) + + if(VCPKG_DEVELOPMENT_WARNINGS) + add_compile_options(-Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-missing-field-initializers -Werror) + + # GCC and clang have different names for the same warning + if (GCC) + add_compile_options(-Wmissing-declarations) + elseif(CLANG) + add_compile_options(-Wmissing-prototypes) + endif() + endif() +endif() + +file(GLOB_RECURSE VCPKGLIB_SOURCES CONFIGURE_DEPENDS src/vcpkg/*.cpp) + +add_library(vcpkglib OBJECT ${VCPKGLIB_SOURCES}) +add_executable(vcpkg src/vcpkg.cpp $) + +if (BUILD_TESTING) + file(GLOB_RECURSE VCPKGTEST_SOURCES CONFIGURE_DEPENDS src/vcpkg-test/*.cpp) + + enable_testing() + add_executable(vcpkg-test + ${VCPKGTEST_SOURCES} + $) + + add_test(NAME default COMMAND vcpkg-test) + + if (VCPKG_BUILD_BENCHMARKING) + target_compile_options(vcpkg-test PRIVATE -DCATCH_CONFIG_ENABLE_BENCHMARKING) + endif() + + find_program(CLANG_FORMAT clang-format) + if (CLANG_FORMAT) + file(GLOB_RECURSE VCPKG_FORMAT_SOURCES CONFIGURE_DEPENDS src/*.cpp include/pch.h include/vcpkg/*.h include/vcpkg-test/*.h) + add_custom_target(format COMMAND ${CLANG_FORMAT} -i -verbose ${VCPKG_FORMAT_SOURCES}) + endif() endif() if(MSVC) @@ -73,7 +143,3 @@ if(MSVC) target_sources(vcpkg PRIVATE src/pch.cpp) target_compile_options(vcpkg PRIVATE /Yupch.h /FIpch.h /Zm200) endif() - -set(THREADS_PREFER_PTHREAD_FLAG ON) -find_package(Threads REQUIRED) -target_link_libraries(vcpkg PRIVATE Threads::Threads) diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt index ce62ec959..4d402b96c 100644 --- a/toolsrc/VERSION.txt +++ b/toolsrc/VERSION.txt @@ -1 +1 @@ -"2018.11.23" \ No newline at end of file +"2019.09.12" diff --git a/toolsrc/include/catch2/catch.hpp b/toolsrc/include/catch2/catch.hpp new file mode 100644 index 000000000..303f664ff --- /dev/null +++ b/toolsrc/include/catch2/catch.hpp @@ -0,0 +1,16865 @@ +/* + * Catch v2.9.1 + * Generated: 2019-06-17 11:59:24.363643 + * ---------------------------------------------------------- + * This file has been merged from multiple headers. Please don't edit it directly + * Copyright (c) 2019 Two Blue Cubes Ltd. All rights reserved. + * + * Distributed under the Boost Software License, Version 1.0. (See accompanying + * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + */ +#ifndef TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED +#define TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED +// start catch.hpp + + +#define CATCH_VERSION_MAJOR 2 +#define CATCH_VERSION_MINOR 9 +#define CATCH_VERSION_PATCH 1 + +#ifdef __clang__ +# pragma clang system_header +#elif defined __GNUC__ +# pragma GCC system_header +#endif + +// start catch_suppress_warnings.h + +#ifdef __clang__ +# ifdef __ICC // icpc defines the __clang__ macro +# pragma warning(push) +# pragma warning(disable: 161 1682) +# else // __ICC +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wpadded" +# pragma clang diagnostic ignored "-Wswitch-enum" +# pragma clang diagnostic ignored "-Wcovered-switch-default" +# endif +#elif defined __GNUC__ + // Because REQUIREs trigger GCC's -Wparentheses, and because still + // supported version of g++ have only buggy support for _Pragmas, + // Wparentheses have to be suppressed globally. +# pragma GCC diagnostic ignored "-Wparentheses" // See #674 for details + +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wunused-variable" +# pragma GCC diagnostic ignored "-Wpadded" +#endif +// end catch_suppress_warnings.h +#if defined(CATCH_CONFIG_MAIN) || defined(CATCH_CONFIG_RUNNER) +# define CATCH_IMPL +# define CATCH_CONFIG_ALL_PARTS +#endif + +// In the impl file, we want to have access to all parts of the headers +// Can also be used to sanely support PCHs +#if defined(CATCH_CONFIG_ALL_PARTS) +# define CATCH_CONFIG_EXTERNAL_INTERFACES +# if defined(CATCH_CONFIG_DISABLE_MATCHERS) +# undef CATCH_CONFIG_DISABLE_MATCHERS +# endif +# if !defined(CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER) +# define CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER +# endif +#endif + +#if !defined(CATCH_CONFIG_IMPL_ONLY) +// start catch_platform.h + +#ifdef __APPLE__ +# include +# if TARGET_OS_OSX == 1 +# define CATCH_PLATFORM_MAC +# elif TARGET_OS_IPHONE == 1 +# define CATCH_PLATFORM_IPHONE +# endif + +#elif defined(linux) || defined(__linux) || defined(__linux__) +# define CATCH_PLATFORM_LINUX + +#elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || defined(__MINGW32__) +# define CATCH_PLATFORM_WINDOWS +#endif + +// end catch_platform.h + +#ifdef CATCH_IMPL +# ifndef CLARA_CONFIG_MAIN +# define CLARA_CONFIG_MAIN_NOT_DEFINED +# define CLARA_CONFIG_MAIN +# endif +#endif + +// start catch_user_interfaces.h + +namespace Catch { + unsigned int rngSeed(); +} + +// end catch_user_interfaces.h +// start catch_tag_alias_autoregistrar.h + +// start catch_common.h + +// start catch_compiler_capabilities.h + +// Detect a number of compiler features - by compiler +// The following features are defined: +// +// CATCH_CONFIG_COUNTER : is the __COUNTER__ macro supported? +// CATCH_CONFIG_WINDOWS_SEH : is Windows SEH supported? +// CATCH_CONFIG_POSIX_SIGNALS : are POSIX signals supported? +// CATCH_CONFIG_DISABLE_EXCEPTIONS : Are exceptions enabled? +// **************** +// Note to maintainers: if new toggles are added please document them +// in configuration.md, too +// **************** + +// In general each macro has a _NO_ form +// (e.g. CATCH_CONFIG_NO_POSIX_SIGNALS) which disables the feature. +// Many features, at point of detection, define an _INTERNAL_ macro, so they +// can be combined, en-mass, with the _NO_ forms later. + +#ifdef __cplusplus + +# if (__cplusplus >= 201402L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 201402L) +# define CATCH_CPP14_OR_GREATER +# endif + +# if (__cplusplus >= 201703L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) +# define CATCH_CPP17_OR_GREATER +# endif + +#endif + +#if defined(CATCH_CPP17_OR_GREATER) +# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +#endif + +#ifdef __clang__ + +# define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + _Pragma( "clang diagnostic push" ) \ + _Pragma( "clang diagnostic ignored \"-Wexit-time-destructors\"" ) \ + _Pragma( "clang diagnostic ignored \"-Wglobal-constructors\"") +# define CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS \ + _Pragma( "clang diagnostic pop" ) + +# define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ + _Pragma( "clang diagnostic push" ) \ + _Pragma( "clang diagnostic ignored \"-Wparentheses\"" ) +# define CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS \ + _Pragma( "clang diagnostic pop" ) + +# define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ + _Pragma( "clang diagnostic push" ) \ + _Pragma( "clang diagnostic ignored \"-Wunused-variable\"" ) +# define CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS \ + _Pragma( "clang diagnostic pop" ) + +# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ + _Pragma( "clang diagnostic push" ) \ + _Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" ) +# define CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS \ + _Pragma( "clang diagnostic pop" ) + +#endif // __clang__ + +//////////////////////////////////////////////////////////////////////////////// +// Assume that non-Windows platforms support posix signals by default +#if !defined(CATCH_PLATFORM_WINDOWS) + #define CATCH_INTERNAL_CONFIG_POSIX_SIGNALS +#endif + +//////////////////////////////////////////////////////////////////////////////// +// We know some environments not to support full POSIX signals +#if defined(__CYGWIN__) || defined(__QNX__) || defined(__EMSCRIPTEN__) || defined(__DJGPP__) + #define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS +#endif + +#ifdef __OS400__ +# define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS +# define CATCH_CONFIG_COLOUR_NONE +#endif + +//////////////////////////////////////////////////////////////////////////////// +// Android somehow still does not support std::to_string +#if defined(__ANDROID__) +# define CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING +#endif + +//////////////////////////////////////////////////////////////////////////////// +// Not all Windows environments support SEH properly +#if defined(__MINGW32__) +# define CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH +#endif + +//////////////////////////////////////////////////////////////////////////////// +// PS4 +#if defined(__ORBIS__) +# define CATCH_INTERNAL_CONFIG_NO_NEW_CAPTURE +#endif + +//////////////////////////////////////////////////////////////////////////////// +// Cygwin +#ifdef __CYGWIN__ + +// Required for some versions of Cygwin to declare gettimeofday +// see: http://stackoverflow.com/questions/36901803/gettimeofday-not-declared-in-this-scope-cygwin +# define _BSD_SOURCE +// some versions of cygwin (most) do not support std::to_string. Use the libstd check. +// https://gcc.gnu.org/onlinedocs/gcc-4.8.2/libstdc++/api/a01053_source.html line 2812-2813 +# if !((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \ + && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) + +# define CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING + +# endif +#endif // __CYGWIN__ + +//////////////////////////////////////////////////////////////////////////////// +// Visual C++ +#ifdef _MSC_VER + +# if _MSC_VER >= 1900 // Visual Studio 2015 or newer +# define CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +# endif + +// Universal Windows platform does not support SEH +// Or console colours (or console at all...) +# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) +# define CATCH_CONFIG_COLOUR_NONE +# else +# define CATCH_INTERNAL_CONFIG_WINDOWS_SEH +# endif + +// MSVC traditional preprocessor needs some workaround for __VA_ARGS__ +// _MSVC_TRADITIONAL == 0 means new conformant preprocessor +// _MSVC_TRADITIONAL == 1 means old traditional non-conformant preprocessor +# if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL) +# define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +# endif +#endif // _MSC_VER + +#if defined(_REENTRANT) || defined(_MSC_VER) +// Enable async processing, as -pthread is specified or no additional linking is required +# define CATCH_INTERNAL_CONFIG_USE_ASYNC +#endif // _MSC_VER + +//////////////////////////////////////////////////////////////////////////////// +// Check if we are compiled with -fno-exceptions or equivalent +#if defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND) +# define CATCH_INTERNAL_CONFIG_EXCEPTIONS_ENABLED +#endif + +//////////////////////////////////////////////////////////////////////////////// +// DJGPP +#ifdef __DJGPP__ +# define CATCH_INTERNAL_CONFIG_NO_WCHAR +#endif // __DJGPP__ + +//////////////////////////////////////////////////////////////////////////////// +// Embarcadero C++Build +#if defined(__BORLANDC__) + #define CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN +#endif + +//////////////////////////////////////////////////////////////////////////////// + +// Use of __COUNTER__ is suppressed during code analysis in +// CLion/AppCode 2017.2.x and former, because __COUNTER__ is not properly +// handled by it. +// Otherwise all supported compilers support COUNTER macro, +// but user still might want to turn it off +#if ( !defined(__JETBRAINS_IDE__) || __JETBRAINS_IDE__ >= 20170300L ) + #define CATCH_INTERNAL_CONFIG_COUNTER +#endif + +//////////////////////////////////////////////////////////////////////////////// +// Check if string_view is available and usable +// The check is split apart to work around v140 (VS2015) preprocessor issue... +#if defined(__has_include) +#if __has_include() && defined(CATCH_CPP17_OR_GREATER) +# define CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW +#endif +#endif + +//////////////////////////////////////////////////////////////////////////////// +// Check if optional is available and usable +#if defined(__has_include) +# if __has_include() && defined(CATCH_CPP17_OR_GREATER) +# define CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL +# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) +#endif // __has_include + +//////////////////////////////////////////////////////////////////////////////// +// Check if variant is available and usable +#if defined(__has_include) +# if __has_include() && defined(CATCH_CPP17_OR_GREATER) +# if defined(__clang__) && (__clang_major__ < 8) + // work around clang bug with libstdc++ https://bugs.llvm.org/show_bug.cgi?id=31852 + // fix should be in clang 8, workaround in libstdc++ 8.2 +# include +# if defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) +# define CATCH_CONFIG_NO_CPP17_VARIANT +# else +# define CATCH_INTERNAL_CONFIG_CPP17_VARIANT +# endif // defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) +# else +# define CATCH_INTERNAL_CONFIG_CPP17_VARIANT +# endif // defined(__clang__) && (__clang_major__ < 8) +# endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) +#endif // __has_include + +#if defined(CATCH_INTERNAL_CONFIG_COUNTER) && !defined(CATCH_CONFIG_NO_COUNTER) && !defined(CATCH_CONFIG_COUNTER) +# define CATCH_CONFIG_COUNTER +#endif +#if defined(CATCH_INTERNAL_CONFIG_WINDOWS_SEH) && !defined(CATCH_CONFIG_NO_WINDOWS_SEH) && !defined(CATCH_CONFIG_WINDOWS_SEH) && !defined(CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH) +# define CATCH_CONFIG_WINDOWS_SEH +#endif +// This is set by default, because we assume that unix compilers are posix-signal-compatible by default. +#if defined(CATCH_INTERNAL_CONFIG_POSIX_SIGNALS) && !defined(CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS) && !defined(CATCH_CONFIG_NO_POSIX_SIGNALS) && !defined(CATCH_CONFIG_POSIX_SIGNALS) +# define CATCH_CONFIG_POSIX_SIGNALS +#endif +// This is set by default, because we assume that compilers with no wchar_t support are just rare exceptions. +#if !defined(CATCH_INTERNAL_CONFIG_NO_WCHAR) && !defined(CATCH_CONFIG_NO_WCHAR) && !defined(CATCH_CONFIG_WCHAR) +# define CATCH_CONFIG_WCHAR +#endif + +#if !defined(CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING) && !defined(CATCH_CONFIG_NO_CPP11_TO_STRING) && !defined(CATCH_CONFIG_CPP11_TO_STRING) +# define CATCH_CONFIG_CPP11_TO_STRING +#endif + +#if defined(CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL) && !defined(CATCH_CONFIG_NO_CPP17_OPTIONAL) && !defined(CATCH_CONFIG_CPP17_OPTIONAL) +# define CATCH_CONFIG_CPP17_OPTIONAL +#endif + +#if defined(CATCH_INTERNAL_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) && !defined(CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS) && !defined(CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS) +# define CATCH_CONFIG_CPP17_UNCAUGHT_EXCEPTIONS +#endif + +#if defined(CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW) && !defined(CATCH_CONFIG_NO_CPP17_STRING_VIEW) && !defined(CATCH_CONFIG_CPP17_STRING_VIEW) +# define CATCH_CONFIG_CPP17_STRING_VIEW +#endif + +#if defined(CATCH_INTERNAL_CONFIG_CPP17_VARIANT) && !defined(CATCH_CONFIG_NO_CPP17_VARIANT) && !defined(CATCH_CONFIG_CPP17_VARIANT) +# define CATCH_CONFIG_CPP17_VARIANT +#endif + +#if defined(CATCH_CONFIG_EXPERIMENTAL_REDIRECT) +# define CATCH_INTERNAL_CONFIG_NEW_CAPTURE +#endif + +#if defined(CATCH_INTERNAL_CONFIG_NEW_CAPTURE) && !defined(CATCH_INTERNAL_CONFIG_NO_NEW_CAPTURE) && !defined(CATCH_CONFIG_NO_NEW_CAPTURE) && !defined(CATCH_CONFIG_NEW_CAPTURE) +# define CATCH_CONFIG_NEW_CAPTURE +#endif + +#if !defined(CATCH_INTERNAL_CONFIG_EXCEPTIONS_ENABLED) && !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) +# define CATCH_CONFIG_DISABLE_EXCEPTIONS +#endif + +#if defined(CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN) && !defined(CATCH_CONFIG_NO_POLYFILL_ISNAN) && !defined(CATCH_CONFIG_POLYFILL_ISNAN) +# define CATCH_CONFIG_POLYFILL_ISNAN +#endif + +#if defined(CATCH_INTERNAL_CONFIG_USE_ASYNC) && !defined(CATCH_CONFIG_NO_USE_ASYNC) && !defined(CATCH_CONFIG_USE_ASYNC) +# define CATCH_CONFIG_USE_ASYNC +#endif + +#if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) +# define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS +# define CATCH_INTERNAL_UNSUPPRESS_PARENTHESES_WARNINGS +#endif +#if !defined(CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS) +# define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS +# define CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS +#endif +#if !defined(CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS) +# define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS +# define CATCH_INTERNAL_UNSUPPRESS_UNUSED_WARNINGS +#endif +#if !defined(CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS) +# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS +# define CATCH_INTERNAL_UNSUPPRESS_ZERO_VARIADIC_WARNINGS +#endif + +#if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) +#define CATCH_TRY if ((true)) +#define CATCH_CATCH_ALL if ((false)) +#define CATCH_CATCH_ANON(type) if ((false)) +#else +#define CATCH_TRY try +#define CATCH_CATCH_ALL catch (...) +#define CATCH_CATCH_ANON(type) catch (type) +#endif + +#if defined(CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR) && !defined(CATCH_CONFIG_NO_TRADITIONAL_MSVC_PREPROCESSOR) && !defined(CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR) +#define CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +#endif + +// end catch_compiler_capabilities.h +#define INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) name##line +#define INTERNAL_CATCH_UNIQUE_NAME_LINE( name, line ) INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) +#ifdef CATCH_CONFIG_COUNTER +# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __COUNTER__ ) +#else +# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __LINE__ ) +#endif + +#include +#include +#include + +// We need a dummy global operator<< so we can bring it into Catch namespace later +struct Catch_global_namespace_dummy {}; +std::ostream& operator<<(std::ostream&, Catch_global_namespace_dummy); + +namespace Catch { + + struct CaseSensitive { enum Choice { + Yes, + No + }; }; + + class NonCopyable { + NonCopyable( NonCopyable const& ) = delete; + NonCopyable( NonCopyable && ) = delete; + NonCopyable& operator = ( NonCopyable const& ) = delete; + NonCopyable& operator = ( NonCopyable && ) = delete; + + protected: + NonCopyable(); + virtual ~NonCopyable(); + }; + + struct SourceLineInfo { + + SourceLineInfo() = delete; + SourceLineInfo( char const* _file, std::size_t _line ) noexcept + : file( _file ), + line( _line ) + {} + + SourceLineInfo( SourceLineInfo const& other ) = default; + SourceLineInfo& operator = ( SourceLineInfo const& ) = default; + SourceLineInfo( SourceLineInfo&& ) noexcept = default; + SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default; + + bool empty() const noexcept; + bool operator == ( SourceLineInfo const& other ) const noexcept; + bool operator < ( SourceLineInfo const& other ) const noexcept; + + char const* file; + std::size_t line; + }; + + std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info ); + + // Bring in operator<< from global namespace into Catch namespace + // This is necessary because the overload of operator<< above makes + // lookup stop at namespace Catch + using ::operator<<; + + // Use this in variadic streaming macros to allow + // >> +StreamEndStop + // as well as + // >> stuff +StreamEndStop + struct StreamEndStop { + std::string operator+() const; + }; + template + T const& operator + ( T const& value, StreamEndStop ) { + return value; + } +} + +#define CATCH_INTERNAL_LINEINFO \ + ::Catch::SourceLineInfo( __FILE__, static_cast( __LINE__ ) ) + +// end catch_common.h +namespace Catch { + + struct RegistrarForTagAliases { + RegistrarForTagAliases( char const* alias, char const* tag, SourceLineInfo const& lineInfo ); + }; + +} // end namespace Catch + +#define CATCH_REGISTER_TAG_ALIAS( alias, spec ) \ + CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ + namespace{ Catch::RegistrarForTagAliases INTERNAL_CATCH_UNIQUE_NAME( AutoRegisterTagAlias )( alias, spec, CATCH_INTERNAL_LINEINFO ); } \ + CATCH_INTERNAL_UNSUPPRESS_GLOBALS_WARNINGS + +// end catch_tag_alias_autoregistrar.h +// start catch_test_registry.h + +// start catch_interfaces_testcase.h + +#include + +namespace Catch { + + class TestSpec; + + struct ITestInvoker { + virtual void invoke () const = 0; + virtual ~ITestInvoker(); + }; + + class TestCase; + struct IConfig; + + struct ITestCaseRegistry { + virtual ~ITestCaseRegistry(); + virtual std::vector const& getAllTests() const = 0; + virtual std::vector const& getAllTestsSorted( IConfig const& config ) const = 0; + }; + + bool matchTest( TestCase const& testCase, TestSpec const& testSpec, IConfig const& config ); + std::vector filterTests( std::vector const& testCases, TestSpec const& testSpec, IConfig const& config ); + std::vector const& getAllTestCasesSorted( IConfig const& config ); + +} + +// end catch_interfaces_testcase.h +// start catch_stringref.h + +#include +#include +#include + +namespace Catch { + + /// A non-owning string class (similar to the forthcoming std::string_view) + /// Note that, because a StringRef may be a substring of another string, + /// it may not be null terminated. c_str() must return a null terminated + /// string, however, and so the StringRef will internally take ownership + /// (taking a copy), if necessary. In theory this ownership is not externally + /// visible - but it does mean (substring) StringRefs should not be shared between + /// threads. + class StringRef { + public: + using size_type = std::size_t; + + private: + friend struct StringRefTestAccess; + + char const* m_start; + size_type m_size; + + char* m_data = nullptr; + + void takeOwnership(); + + static constexpr char const* const s_empty = ""; + + public: // construction/ assignment + StringRef() noexcept + : StringRef( s_empty, 0 ) + {} + + StringRef( StringRef const& other ) noexcept + : m_start( other.m_start ), + m_size( other.m_size ) + {} + + StringRef( StringRef&& other ) noexcept + : m_start( other.m_start ), + m_size( other.m_size ), + m_data( other.m_data ) + { + other.m_data = nullptr; + } + + StringRef( char const* rawChars ) noexcept; + + StringRef( char const* rawChars, size_type size ) noexcept + : m_start( rawChars ), + m_size( size ) + {} + + StringRef( std::string const& stdString ) noexcept + : m_start( stdString.c_str() ), + m_size( stdString.size() ) + {} + + ~StringRef() noexcept { + delete[] m_data; + } + + auto operator = ( StringRef const &other ) noexcept -> StringRef& { + delete[] m_data; + m_data = nullptr; + m_start = other.m_start; + m_size = other.m_size; + return *this; + } + + operator std::string() const; + + void swap( StringRef& other ) noexcept; + + public: // operators + auto operator == ( StringRef const& other ) const noexcept -> bool; + auto operator != ( StringRef const& other ) const noexcept -> bool; + + auto operator[] ( size_type index ) const noexcept -> char; + + public: // named queries + auto empty() const noexcept -> bool { + return m_size == 0; + } + auto size() const noexcept -> size_type { + return m_size; + } + + auto numberOfCharacters() const noexcept -> size_type; + auto c_str() const -> char const*; + + public: // substrings and searches + auto substr( size_type start, size_type size ) const noexcept -> StringRef; + + // Returns the current start pointer. + // Note that the pointer can change when if the StringRef is a substring + auto currentData() const noexcept -> char const*; + + private: // ownership queries - may not be consistent between calls + auto isOwned() const noexcept -> bool; + auto isSubstring() const noexcept -> bool; + }; + + auto operator + ( StringRef const& lhs, StringRef const& rhs ) -> std::string; + auto operator + ( StringRef const& lhs, char const* rhs ) -> std::string; + auto operator + ( char const* lhs, StringRef const& rhs ) -> std::string; + + auto operator += ( std::string& lhs, StringRef const& sr ) -> std::string&; + auto operator << ( std::ostream& os, StringRef const& sr ) -> std::ostream&; + + inline auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { + return StringRef( rawChars, size ); + } + +} // namespace Catch + +inline auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef { + return Catch::StringRef( rawChars, size ); +} + +// end catch_stringref.h +// start catch_type_traits.hpp + + +#include + +namespace Catch{ + +#ifdef CATCH_CPP17_OR_GREATER + template + inline constexpr auto is_unique = std::true_type{}; + + template + inline constexpr auto is_unique = std::bool_constant< + (!std::is_same_v && ...) && is_unique + >{}; +#else + +template +struct is_unique : std::true_type{}; + +template +struct is_unique : std::integral_constant +::value + && is_unique::value + && is_unique::value +>{}; + +#endif +} + +// end catch_type_traits.hpp +// start catch_preprocessor.hpp + + +#define CATCH_RECURSION_LEVEL0(...) __VA_ARGS__ +#define CATCH_RECURSION_LEVEL1(...) CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(__VA_ARGS__))) +#define CATCH_RECURSION_LEVEL2(...) CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(__VA_ARGS__))) +#define CATCH_RECURSION_LEVEL3(...) CATCH_RECURSION_LEVEL2(CATCH_RECURSION_LEVEL2(CATCH_RECURSION_LEVEL2(__VA_ARGS__))) +#define CATCH_RECURSION_LEVEL4(...) CATCH_RECURSION_LEVEL3(CATCH_RECURSION_LEVEL3(CATCH_RECURSION_LEVEL3(__VA_ARGS__))) +#define CATCH_RECURSION_LEVEL5(...) CATCH_RECURSION_LEVEL4(CATCH_RECURSION_LEVEL4(CATCH_RECURSION_LEVEL4(__VA_ARGS__))) + +#ifdef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +#define INTERNAL_CATCH_EXPAND_VARGS(...) __VA_ARGS__ +// MSVC needs more evaluations +#define CATCH_RECURSION_LEVEL6(...) CATCH_RECURSION_LEVEL5(CATCH_RECURSION_LEVEL5(CATCH_RECURSION_LEVEL5(__VA_ARGS__))) +#define CATCH_RECURSE(...) CATCH_RECURSION_LEVEL6(CATCH_RECURSION_LEVEL6(__VA_ARGS__)) +#else +#define CATCH_RECURSE(...) CATCH_RECURSION_LEVEL5(__VA_ARGS__) +#endif + +#define CATCH_REC_END(...) +#define CATCH_REC_OUT + +#define CATCH_EMPTY() +#define CATCH_DEFER(id) id CATCH_EMPTY() + +#define CATCH_REC_GET_END2() 0, CATCH_REC_END +#define CATCH_REC_GET_END1(...) CATCH_REC_GET_END2 +#define CATCH_REC_GET_END(...) CATCH_REC_GET_END1 +#define CATCH_REC_NEXT0(test, next, ...) next CATCH_REC_OUT +#define CATCH_REC_NEXT1(test, next) CATCH_DEFER ( CATCH_REC_NEXT0 ) ( test, next, 0) +#define CATCH_REC_NEXT(test, next) CATCH_REC_NEXT1(CATCH_REC_GET_END test, next) + +#define CATCH_REC_LIST0(f, x, peek, ...) , f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1) ) ( f, peek, __VA_ARGS__ ) +#define CATCH_REC_LIST1(f, x, peek, ...) , f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST0) ) ( f, peek, __VA_ARGS__ ) +#define CATCH_REC_LIST2(f, x, peek, ...) f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1) ) ( f, peek, __VA_ARGS__ ) + +#define CATCH_REC_LIST0_UD(f, userdata, x, peek, ...) , f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1_UD) ) ( f, userdata, peek, __VA_ARGS__ ) +#define CATCH_REC_LIST1_UD(f, userdata, x, peek, ...) , f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST0_UD) ) ( f, userdata, peek, __VA_ARGS__ ) +#define CATCH_REC_LIST2_UD(f, userdata, x, peek, ...) f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1_UD) ) ( f, userdata, peek, __VA_ARGS__ ) + +// Applies the function macro `f` to each of the remaining parameters, inserts commas between the results, +// and passes userdata as the first parameter to each invocation, +// e.g. CATCH_REC_LIST_UD(f, x, a, b, c) evaluates to f(x, a), f(x, b), f(x, c) +#define CATCH_REC_LIST_UD(f, userdata, ...) CATCH_RECURSE(CATCH_REC_LIST2_UD(f, userdata, __VA_ARGS__, ()()(), ()()(), ()()(), 0)) + +#define CATCH_REC_LIST(f, ...) CATCH_RECURSE(CATCH_REC_LIST2(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0)) + +#define INTERNAL_CATCH_EXPAND1(param) INTERNAL_CATCH_EXPAND2(param) +#define INTERNAL_CATCH_EXPAND2(...) INTERNAL_CATCH_NO## __VA_ARGS__ +#define INTERNAL_CATCH_DEF(...) INTERNAL_CATCH_DEF __VA_ARGS__ +#define INTERNAL_CATCH_NOINTERNAL_CATCH_DEF +#define INTERNAL_CATCH_STRINGIZE(...) INTERNAL_CATCH_STRINGIZE2(__VA_ARGS__) +#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +#define INTERNAL_CATCH_STRINGIZE2(...) #__VA_ARGS__ +#define INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_REMOVE_PARENS(param)) +#else +// MSVC is adding extra space and needs another indirection to expand INTERNAL_CATCH_NOINTERNAL_CATCH_DEF +#define INTERNAL_CATCH_STRINGIZE2(...) INTERNAL_CATCH_STRINGIZE3(__VA_ARGS__) +#define INTERNAL_CATCH_STRINGIZE3(...) #__VA_ARGS__ +#define INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) (INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_REMOVE_PARENS(param)) + 1) +#endif + +#define INTERNAL_CATCH_MAKE_NAMESPACE2(...) ns_##__VA_ARGS__ +#define INTERNAL_CATCH_MAKE_NAMESPACE(name) INTERNAL_CATCH_MAKE_NAMESPACE2(name) + +#define INTERNAL_CATCH_REMOVE_PARENS(...) INTERNAL_CATCH_EXPAND1(INTERNAL_CATCH_DEF __VA_ARGS__) + +#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR +#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) decltype(get_wrapper()) +#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__)) +#else +#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) INTERNAL_CATCH_EXPAND_VARGS(decltype(get_wrapper())) +#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__))) +#endif + +#define INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(...)\ + CATCH_REC_LIST(INTERNAL_CATCH_MAKE_TYPE_LIST,__VA_ARGS__) + +#define INTERNAL_CATCH_REMOVE_PARENS_1_ARG(_0) INTERNAL_CATCH_REMOVE_PARENS(_0) +#define INTERNAL_CATCH_REMOVE_PARENS_2_ARG(_0, _1) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_1_ARG(_1) +#define INTERNAL_CATCH_REMOVE_PARENS_3_ARG(_0, _1, _2) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_2_ARG(_1, _2) +#define INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_0, _1, _2, _3) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_3_ARG(_1, _2, _3) +#define INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_0, _1, _2, _3, _4) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_1, _2, _3, _4) +#define INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_0, _1, _2, _3, _4, _5) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_1, _2, _3, _4, _5) +#define INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_0, _1, _2, _3, _4, _5, _6) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_1, _2, _4, _5, _6) +#define INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_0, _1, _2, _3, _4, _5, _6, _7) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_1, _2, _3, _4, _5, _6, _7) +#define INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_1, _2, _3, _4, _5, _6, _7, _8) +#define INTERNAL_CATCH_REMOVE_PARENS_10_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9) +#define INTERNAL_CATCH_REMOVE_PARENS_11_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_10_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) + +#define INTERNAL_CATCH_VA_NARGS_IMPL(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...) N + +#define INTERNAL_CATCH_TYPE_GEN\ + template struct TypeList {};\ + template\ + constexpr auto get_wrapper() noexcept -> TypeList { return {}; }\ + \ + template class L1, typename...E1, template class L2, typename...E2> \ + constexpr auto append(L1, L2) noexcept -> L1 { return {}; }\ + template< template class L1, typename...E1, template class L2, typename...E2, typename...Rest>\ + constexpr auto append(L1, L2, Rest...) noexcept -> decltype(append(L1{}, Rest{}...)) { return {}; }\ + template< template class L1, typename...E1, typename...Rest>\ + constexpr auto append(L1, TypeList, Rest...) noexcept -> L1 { return {}; }\ + \ + template< template class Container, template class List, typename...elems>\ + constexpr auto rewrap(List) noexcept -> TypeList> { return {}; }\ + template< template class Container, template class List, class...Elems, typename...Elements>\ + constexpr auto rewrap(List,Elements...) noexcept -> decltype(append(TypeList>{}, rewrap(Elements{}...))) { return {}; }\ + \ + template