diff --git a/CHANGELOG.md b/CHANGELOG.md index b022e78a6a..ed5dbbe5a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,199 @@ +vcpkg (2018.11.23) +-------------- + * Add ports: + - aixlog 1.2.1 + - civetweb 1.11-1 + - cli11 1.6.1 + - cub 1.8.0 + - cutelyst2 2.5.2-1 + - easyloggingpp 9.96.5-1 + - ecsutil 1.0.1.2-1 + - fdlibm 5.3-2 + - fizz 2018.10.15.00 + - fmi4cpp 0.4.0 + - fribidi 1.0.5 + - glad 0.1.28-3 + - igloo 1.1.1 + - libtins 4.0-2 + - linalg 2.1 + - miniupnpc 2.1 + - nanovg master + - orc 1.5.2-f47e02c-2 + - pixel 0.3 + - plustache 0.4.0-1 + - prometheus-cpp 0.6.0 + - rapidcheck 2018-11-05-1 + - reproc v1.0.0 + - sdl1 1.2.15-3 + - sdl1-net 1.2.8-2 + - snowhouse 3.0.1 + - so5extra 1.2.1 + - socket-io-client 1.6.1 + - stlab 1.3.3 + - tl-optional 0.5-1 + - trompeloeil 32-1 + - vulkan 1.1.82.1 + * Update ports: + - abseil 2018-09-18-3 -> 2018-11-08 + - args 2018-06-28 -> 2018-10-25 + - asio 1.12.1 -> 1.12.1-1 + - asmjit 673dcefaa048c5f5a2bf8b85daf8f7b9978d018a -> 2018-11-08 + - assimp 4.1.0-2 -> 4.1.0-3 + - aws-sdk-cpp 1.6.12-1 -> 1.6.47 + - azure-c-shared-utility 1.1.5 -> 1.1.10-1 + - azure-iot-sdk-c 1.2.3 -> 1.2.10-1 + - azure-storage-cpp 5.1.1 -> 5.2.0 + - azure-uamqp-c 1.2.3 -> 1.2.10-1 + - azure-uhttp-c LTS_01_2018_Ref01 -> 1.1.10-1 + - azure-umqtt-c 1.1.5 -> 1.1.10-1 + - berkeleydb 4.8.30 -> 4.8.30-2 + - boost-modular-build-helper 2018-08-21 -> 2018-10-19 + - brynet 0.9.0 -> 1.0.0 + - bzip2 1.0.6-2 -> 1.0.6-3 + - c-ares cares-1_14_0 -> cares-1_15_0 + - catch2 2.4.0 -> 2.4.2 + - celero 2.3.0-1 -> 2.4.0 + - cgal 4.13-1 -> 4.13-2 + - chakracore 1.11.1-1 -> 1.11.2 + - cimg 2.3.6 -> 2.4.1 + - clara 2018-04-02 -> 2018-11-01 + - corrade 2018.04-1 -> 2018.10-1 + - cpprestsdk 2.10.6-1 -> 2.10.6-3 + - cxxopts 2.1.0-1 -> 2.1.1 + - dimcli 3.1.1-2 -> 4.0.1-1 + - directxmesh aug2018 -> oct2018 + - directxtex aug2018b -> oct2018 + - directxtk aug2018 -> oct2018b + - doctest 2.0.0 -> 2.0.1 + - double-conversion 3.1.0 -> 3.1.0-1 + - eastl 3.12.01 -> 3.12.04 + - egl-registry 2018-06-30 -> 2018-06-30-1 + - entityx 1.2.0-1 -> 1.2.0-2 + - entt 2.7.3 -> 2.7.3-1 + - exiv2 2018-09-18 -> 2018-11-08 + - exprtk 2018.09.30-9836f21 -> 2018-10-11 + - fastcdr 1.0.6-1 -> 1.0.6-2 + - fftw3 3.3.7-2 -> 3.3.8 + - flann 1.9.1-7 -> 1.9.1-8 + - fmt 5.2.0 -> 5.2.1 + - folly 2018.09.17.00 -> 2018.11.05.00 + - forest 9.0.5 -> 9.0.6 + - freeimage 3.17.0-4 -> 3.18.0-2 + - gdcm2 2.8.7 -> 2.8.8 + - glm 0.9.9.2 -> 0.9.9.3 + - google-cloud-cpp 0.1.0-1 -> 0.3.0-1 + - gtest 1.8.0-9 -> 1.8.1-1 + - gtk 3.22.19-1 -> 3.22.19-2 + - hunspell 1.6.1-2 -> 1.6.1-3 + - jsonnet 2018-09-18 -> 2018-11-01 + - libfreenect2 0.2.0 -> 0.2.0-1 + - libgd 2.2.4-3 -> 2.2.4-4 + - libgeotiff 1.4.2-4 -> 1.4.2-6 + - liblinear 2.20 -> 221 + - libpng 1.6.35 -> 1.6.35-1 + - libpq 9.6.1-4 -> 9.6.1-5 + - libusb 1.0.21-fc99620 -> 1.0.22-1 + - libuv 1.23.0 -> 1.24.0 + - libwebm 1.0.0.27-2 -> 1.0.0.27-3 + - magnum 2018.04-1 -> 2018.10-1 + - magnum-extras 2018.04-1 -> 2018.10-1 + - magnum-integration 2018.04-1 -> 2018.10-1 + - magnum-plugins 2018.04-1 -> 2018.10-1 + - matio 1.5.12 -> 1.5.13 + - metis 5.1.0-1 -> 5.1.0-2 + - minizip 1.2.11-2 -> 1.2.11-3 + - mpir 3.0.0-4 -> 3.0.0-5 + - ms-gsl 2018-09-18 -> 2018-11-08 + - nghttp2 1.33.0 -> 1.34.0 + - nlohmann-json 3.3.0 -> 3.4.0 + - nng 1.0.1 -> 1.1.0 + - nuklear 2018-09-18 -> 2018-11-01 + - openal-soft 1.19.0 -> 1.19.1 + - opencv 3.4.1 -> 3.4.3-3 + - opengl-registry 2018-06-30 -> 2018-06-30-1 + - openimageio Release-1.8.13 -> 1.8.16 + - openssl-unix 1.0.2p -> 1.0.2p-1 + - opus 1.2.1-1 -> 1.3 + - osgearth 2.9-1 -> 2.9-2 + - pcl 1.8.1-12 -> 1.9.0-1 + - pixman 0.34.0-4 -> 0.34.0-5 + - portaudio 19.0.6.00-2 -> 19.0.6.00-4 + - qhull 2015.2-2 -> 2015.2-3 + - qscintilla 2.10-4 -> 2.10-7 + - qt5 5.9.2-1 -> 5.11.2 + - qt5-3d 5.9.2-0 -> 5.11.2 + - qt5-activeqt 5.9.2-0 -> 5.11.2 + - qt5-base 5.9.2-7 -> 5.11.2-1 + - qt5-charts 5.9.2-0 -> 5.11.2 + - qt5-datavis3d 5.9.2-0 -> 5.11.2 + - qt5-declarative 5.9.2-0 -> 5.11.2 + - qt5-gamepad 5.9.2-0 -> 5.11.2 + - qt5-graphicaleffects 5.9.2-0 -> 5.11.2 + - qt5-imageformats 5.9.2-0 -> 5.11.2 + - qt5-modularscripts 4 -> 2018-11-01-1 + - qt5-multimedia 5.9.2-0 -> 5.11.2 + - qt5-networkauth 5.9.2-0 -> 5.11.2 + - qt5-quickcontrols 5.9.2-1 -> 5.11.2 + - qt5-quickcontrols2 5.9.2-1 -> 5.11.2 + - qt5-script 5.9.2 -> 5.11.2 + - qt5-scxml 5.9.2-0 -> 5.11.2 + - qt5-serialport 5.9.2-0 -> 5.11.2 + - qt5-speech 5.9.2-0 -> 5.11.2 + - qt5-svg 5.9.2-0 -> 5.11.2 + - qt5-tools 5.9.2-0 -> 5.11.2 + - qt5-virtualkeyboard 5.9.2-0 -> 5.11.2 + - qt5-websockets 5.9.2-0 -> 5.11.2 + - qt5-winextras 5.9.2-0 -> 5.11.2 + - qt5-xmlpatterns 5.9.2-0 -> 5.11.2 + - qwt 6.1.3-5 -> 6.1.3-6 + - range-v3 0.3.5 -> 0.4.0-20181122 + - rapidjson 1.1.0-1 -> 1.1.0-2 + - re2 2018-09-18 -> 2018-11-01 + - rocksdb 5.14.2 -> 5.15.10 + - rs-core-lib 2018-09-18 -> 2018-10-25 + - rttr 0.9.5-2 -> 0.9.5-3 + - scintilla 4.0.3 -> 4.1.2 + - sdl2 2.0.8-1 -> 2.0.9-1 + - sfml 2.5.0-2 -> 2.5.1 + - sobjectizer 5.5.22.1 -> 5.5.23 + - spdlog 1.0.0 -> 1.2.1 + - sqlite3 3.24.0-1 -> 3.25.2 + - suitesparse 4.5.5-4 -> 5.1.2 + - tbb 2018_U5-4 -> 2018_U6 + - thrift 2018-09-18 -> 2018-11-01 + - tiff 4.0.9-4 -> 4.0.10 + - tiny-dnn 2018-09-18 -> 2018-10-25 + - unicorn 2018-09-18 -> 2018-10-25 + - unicorn-lib 2018-09-18 -> 2018-10-25 + - uriparser 0.8.6 -> 0.9.0 + - vtk 8.1.0-1 -> 8.1.0-3 + - vxl 20180414-7a130cf-1 -> v1.18.0-2 + - wangle v2018.07.30.00-1 -> 2018.11.05.00 + - websocketpp 0.7.0-1 -> 0.8.1 + - winpcap 4.1.3-1 -> 4.1.3-2 + - xalan-c 1.11-1 -> 1.11-4 + - xerces-c 3.1.4-3 -> 3.2.2-5 + - yoga 1.9.0 -> 1.10.0 + - zeromq 2018-09-18 -> 2018-11-01 + * `vcpkg install`: Improve error messages + * `vcpkg hash`: Now also tries `shaABCsum tools`, instead of only `shasum`. Allows building in OSes like Alpine. + * `vcpkg edit`: No longer launches the editor in a clean (purged) environment. + * `vcpkg upgrade`: now tab-completed in powershell (it was missing before). + * Add new function: `vcpkg_from_git()` + * Enable Visual Studio versions greater than 15. + * Add Visual Studio Code autotection on OSX (#4589) + * Work-around hash issue caused by NuGet adding signatures to all their files. + * Improve building `vcpkg.exe` (Windows-only): + - Builds out of source + - Temporary files are removed after bootstrap + - User Property Pages are ignored (#4620) + * `vcpkg` now prints URL and filepath, when downloading a tool (#4640) + * Bump version of `cmake` to 3.12.4 + * Bump version of `git` to 2.9.1 + +-- vcpkg team FRI, 23 Nov 2018 14:30:00 -0800 + + vcpkg (2018.10.20) -------------- * Add ports: diff --git a/README.md b/README.md index 23cb4e5f4a..93262a1cab 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Prerequisites: - Windows 10, 8.1, 7, Linux, or MacOS - Visual Studio 2017 or Visual Studio 2015 Update 3 (on Windows) - Git -- *Optional:* CMake 3.10.2 +- *Optional:* CMake 3.12.4 To get started: ``` @@ -37,7 +37,7 @@ The best way to use installed libraries with CMake is via the toolchain file `sc In Visual Studio, you can create a New Project (or open an existing one). All installed libraries are immediately ready to be `#include`'d and used in your project without additional configuration. -For more information, see our [using a package](docs/examples/using-sqlite.md) example for the specifics. +For more information, see our [using a package](docs/examples/installing-and-using-packages.md) example for the specifics. Additional notes on macOS and Linux support can be found in the [official announcement](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/). @@ -50,7 +50,7 @@ and restart Powershell. ## Examples -See the [documentation](docs/index.md) for specific walkthroughs, including [using a package](docs/examples/using-sqlite.md) and [adding a new package](docs/examples/packaging-zlib.md). +See the [documentation](docs/index.md) for specific walkthroughs, including [installing and using a package](docs/examples/installing-and-using-packages.md), [adding a new package from a zipfile](docs/examples/packaging-zipfiles.md), and [adding a new package from a GitHub repo](docs/examples/packaging-github-repos.md). Our docs are now also available online at ReadTheDocs: ! diff --git a/docs/about/faq.md b/docs/about/faq.md index 0178e051a3..b7c9d67c88 100644 --- a/docs/about/faq.md +++ b/docs/about/faq.md @@ -10,12 +10,12 @@ Yes! See [the `export` command](../users/integration.md#export). The `vcpkg update` command lists all packages which are out-of-sync with your current portfiles. To update a package, follow the instructions in the command. ## How do I get more libraries? -The list of libraries is enumerated from the [`ports\`](https://github.com/Microsoft/vcpkg/blob/master/ports) directory. By design, you can add and remove libraries from this directory as you see fit for yourself or your company -- see [Example #2](../examples/packaging-zlib.md). +The list of libraries is enumerated from the [`ports\`](https://github.com/Microsoft/vcpkg/blob/master/ports) directory. By design, you can add and remove libraries from this directory as you see fit for yourself or your company -- see our examples on packaging [zipfiles](../examples/packaging-zipfiles.md) and [GitHub repos](../examples/packaging-github-repos.md). We recommend cloning directly from [GitHub](https://github.com/microsoft/vcpkg) and using `git pull` to update the list of portfiles. Once you've updated your portfiles, `vcpkg update` will indicate any installed libraries that are now out of date. ## Can I build a private library with this tool? -Yes. Follow [our Packaging zlib Example](../examples/packaging-zlib.md) for creating a portfile using a fake URL. Then, either pre-seed the `downloads\` folder with a zip containing your private sources or replace the normal calls to `vcpkg_download_distfile` and `vcpkg_extract_source_archive` with functions that unpack your source code. +Yes. Follow [our packaging zlib Example](../examples/packaging-zipfiles.md) for creating a portfile using a fake URL. Then, either pre-seed the `downloads\` folder with a zip containing your private sources or replace the normal calls to `vcpkg_download_distfile` and `vcpkg_extract_source_archive` with functions that unpack your source code. ## Can I use a prebuilt private library with this tool? Yes. The `portfile.cmake` for a library is fundamentally a script that places the headers and binaries into the correct arrangement in the `${CURRENT_PACKAGES_DIR}`, so to pull in prebuilt binaries you can write a portfile which directly downloads and arranges the files. diff --git a/docs/examples/using-sqlite.md b/docs/examples/installing-and-using-packages.md similarity index 97% rename from docs/examples/using-sqlite.md rename to docs/examples/installing-and-using-packages.md index 35da141d0c..50200c8778 100644 --- a/docs/examples/using-sqlite.md +++ b/docs/examples/installing-and-using-packages.md @@ -1,4 +1,4 @@ -# Example: Using Sqlite +## Installing and Using Packages Example: SQLite - [Step 1: Install](#install) - [Step 2: Use](#use) @@ -10,7 +10,7 @@ ## Step 1: Install -First, we need to know what name [Sqlite](https://sqlite.org) goes by in the ports tree. To do that, we'll run the `search` command and inspect the output: +First, we need to know what name [SQLite](https://sqlite.org) goes by in the ports tree. To do that, we'll run the `search` command and inspect the output: ```no-highlight PS D:\src\vcpkg> .\vcpkg search sqlite libodb-sqlite 2.4.0 Sqlite support for the ODB ORM library @@ -82,7 +82,7 @@ Installing new libraries will make them instantly available. ``` *Note: You will need to restart Visual Studio or perform a Build to update intellisense with the changes.* -You can now simply use File -> New Project in Visual Studio 2015 or Visual Studio 2017 and the library will be automatically available. For Sqlite, you can try out their [C/C++ sample](https://sqlite.org/quickstart.html). +You can now simply use File -> New Project in Visual Studio 2015 or Visual Studio 2017 and the library will be automatically available. For SQLite, you can try out their [C/C++ sample](https://sqlite.org/quickstart.html). To remove the integration for your user, you can use `.\vcpkg integrate remove`. diff --git a/docs/examples/packaging-github-repos.md b/docs/examples/packaging-github-repos.md new file mode 100644 index 0000000000..af2e6141ac --- /dev/null +++ b/docs/examples/packaging-github-repos.md @@ -0,0 +1,59 @@ +## Packaging Github Repos Example: libogg +### Create the CONTROL file +The `CONTROL` file is a simple set of fields describing the package's metadata. + +*For libogg, we'll create the file `ports\libogg\CONTROL` with the following contents:* +```no-highlight +Source: libogg +Version: 1.3.3 +Description: Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs. +``` + +### Create the portfile +`portfile.cmake` describes how to build and install the package. First we include `vcpkg_common_functions` to give us utilities for carrying this out: + +```no-highlight +include(vcpkg_common_functions) +``` + +Now we download the project from Github with [`vcpkg_from_github`](../maintainers/vcpkg_from_github.md): + +```no-highlight +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO xiph/ogg + REF v1.3.3 + SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b + HEAD_REF master +) +``` + +The important parts to update are `REPO` for the GitHub repository path, `REF` for a stable tag/commit to use, and `SHA512` with the checksum of the downloaded zipfile (you can get this easily by setting it to `1`, trying to install the package, and copying the checksum). + +Finally, we configure the project with CMake, install the package, and copy over the license file: + +```no-highlight +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) +vcpkg_install_cmake() +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libogg RENAME copyright) +``` + +Check the documentation for [`vcpkg_configure_cmake`](../maintainers/vcpkg_configure_cmake.md) and [`vcpkg_install_cmake`](../maintainers/vcpkg_install_cmake.md) if your package needs additional options. + +Now you can run `vcpkg install libogg` to build and install the package. + +### Suggested example portfiles +In the `ports\` directory are many libraries that can be used as examples, including many that are not based on CMake. + +- Header only libraries + - rapidjson + - range-v3 +- MSBuild-based + - cppunit + - mpg123 +- Non-CMake, custom buildsystem + - openssl + - ffmpeg diff --git a/docs/examples/packaging-zlib.md b/docs/examples/packaging-zipfiles.md similarity index 99% rename from docs/examples/packaging-zlib.md rename to docs/examples/packaging-zipfiles.md index 1d61cfee15..ed63637fd7 100644 --- a/docs/examples/packaging-zlib.md +++ b/docs/examples/packaging-zipfiles.md @@ -1,4 +1,4 @@ -## Example 2: Packaging zlib +## Packaging Zipfiles Example: zlib ### Bootstrap with `create` First, locate a globally accessible archive of the library's sources. Zip, gzip, and bzip are all supported. Strongly prefer official sources or mirrors over unofficial mirrors. diff --git a/docs/examples/patching-libpng.md b/docs/examples/patching.md similarity index 99% rename from docs/examples/patching-libpng.md rename to docs/examples/patching.md index 2337b73dac..98115400ee 100644 --- a/docs/examples/patching-libpng.md +++ b/docs/examples/patching.md @@ -1,4 +1,4 @@ -## Example 3: Patching libpng to work for x86-uwp +## Patching Example: Patching libpng to work for x86-uwp ### Initial error logs First, try building: diff --git a/docs/index.md b/docs/index.md index 90245d36af..cde241e92d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,18 +2,18 @@ Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This tool and ecosystem are constantly evolving; your involvement are vital to its success! -- [How to use Sqlite in your application](examples/using-sqlite.md) - ### Examples -- [Example 1: Using Sqlite](examples/using-sqlite.md) -- [Example 2: Packaging zlib](examples/packaging-zlib.md) -- [Example 3: Patching libpng for x86-uwp](examples/patching-libpng.md) +- [Installing and Using Packages Example: sqlite](examples/installing-and-using-packages.md) +- [Packaging Zipfiles Example: zlib](examples/packaging-zipfiles.md) +- [Packaging GitHub Repositories Example: libogg](examples/packaging-github-repos.md) +- [Patching Example: Patching libpng to work for x86-uwp](examples/patching.md) ### User Help - [Integration with build systems](users/integration.md) - [Triplet files](users/triplets.md) +- [Configuration and Environment](users/config-environment.md) ### Maintainer help @@ -23,6 +23,7 @@ Vcpkg helps you manage C and C++ libraries on Windows, Linux and MacOS. This too ### Specifications - [Export](specifications/export-command.md) +- [Feature Packages](specifications/feature-packages.md) ### Blog posts - [Announcing a single C++ library manager for Linux, macOS and Windows: Vcpkg](https://blogs.msdn.microsoft.com/vcblog/2018/04/24/announcing-a-single-c-library-manager-for-linux-macos-and-windows-vcpkg/) diff --git a/docs/maintainers/portfile-functions.md b/docs/maintainers/portfile-functions.md index 3180609ad0..f159f7f64f 100644 --- a/docs/maintainers/portfile-functions.md +++ b/docs/maintainers/portfile-functions.md @@ -14,8 +14,10 @@ - [vcpkg\_download\_distfile](vcpkg_download_distfile.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\_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) diff --git a/docs/maintainers/vcpkg_extract_source_archive.md b/docs/maintainers/vcpkg_extract_source_archive.md index 104032ffc9..4971df9604 100644 --- a/docs/maintainers/vcpkg_extract_source_archive.md +++ b/docs/maintainers/vcpkg_extract_source_archive.md @@ -1,6 +1,6 @@ # vcpkg_extract_source_archive -Extract an archive into the source directory. +Extract an archive into the source directory. Deprecated in favor of [`vcpkg_extract_source_archive_ex`](vcpkg_extract_source_archive_ex.md). ## Usage ```cmake diff --git a/docs/maintainers/vcpkg_extract_source_archive_ex.md b/docs/maintainers/vcpkg_extract_source_archive_ex.md new file mode 100644 index 0000000000..92c90b2960 --- /dev/null +++ b/docs/maintainers/vcpkg_extract_source_archive_ex.md @@ -0,0 +1,52 @@ +# vcpkg_extract_source_archive_ex + +Extract an archive into the source directory. Replaces [`vcpkg_extract_source_archive`](vcpkg_extract_source_archive.md). + +## Usage +```cmake +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH + ARCHIVE <${ARCHIVE}> + [REF <1.0.0>] + [NO_REMOVE_ONE_LEVEL] + [WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/src>] + [PATCHES ...] +) +``` +## Parameters +### OUT_SOURCE_PATH +Specifies the out-variable that will contain the extracted location. + +This should be set to `SOURCE_PATH` by convention. + +### ARCHIVE +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. + +By convention, this is set to the version number or tag fetched + +### WORKING_DIRECTORY +If specified, the archive will be extracted into the working directory instead of `${CURRENT_BUILDTREES_DIR}/src/`. + +Note that the archive will still be extracted into a subfolder underneath that directory (`${WORKING_DIRECTORY}/${REF}-${HASH}/`). + +### PATCHES +A list of patches to be applied to the extracted sources. + +Relative paths are based on the port directory. + +### NO_REMOVE_ONE_LEVEL +Specifies that the default removal of the top level folder should not occur. + +## Examples + +* [bzip2](https://github.com/Microsoft/vcpkg/blob/master/ports/bzip2/portfile.cmake) +* [sqlite3](https://github.com/Microsoft/vcpkg/blob/master/ports/sqlite3/portfile.cmake) +* [cairo](https://github.com/Microsoft/vcpkg/blob/master/ports/cairo/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_extract_source_archive_ex.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_extract_source_archive_ex.cmake) diff --git a/docs/maintainers/vcpkg_from_git.md b/docs/maintainers/vcpkg_from_git.md new file mode 100644 index 0000000000..6b24a558dd --- /dev/null +++ b/docs/maintainers/vcpkg_from_git.md @@ -0,0 +1,48 @@ +# vcpkg_from_git + +Download and extract a project from git + +## Usage: +```cmake +vcpkg_from_git( + OUT_SOURCE_PATH + URL + REF <59f7335e4d...> + SHA512 + [PATCHES ...] +) +``` + +## Parameters: +### OUT_SOURCE_PATH +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. + +### 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. + +### PATCHES +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. + +## Examples: + +* [fdlibm](https://github.com/Microsoft/vcpkg/blob/master/ports/fdlibm/portfile.cmake) + +## Source +[scripts/cmake/vcpkg_from_git.cmake](https://github.com/Microsoft/vcpkg/blob/master/scripts/cmake/vcpkg_from_git.cmake) diff --git a/docs/users/config-environment.md b/docs/users/config-environment.md new file mode 100644 index 0000000000..103c1c5475 --- /dev/null +++ b/docs/users/config-environment.md @@ -0,0 +1,42 @@ +## Environment and Configuration + +### Environment Variables + +#### VCPKG_DOWNLOADS + +This environment variable can be set to an existing directory to use for storing downloads instead of the internal +`downloads/` directory. It should always be set to an absolute path. + +#### VCPKG_FEATURE_FLAGS + +This environment variable can be set to a comma-separated list of off-by-default features in vcpkg. These features are +subject to change without notice and should be considered highly unstable. + +Non-exhaustive list of off-by-default features: + +- `binarycaching` + +#### EDITOR + +This environment variable can be set to the full path of an executable to be used for `vcpkg edit`. Please see +`vcpkg help edit` for command-specific help. + +#### VCPKG_ROOT + +This environment variable can be set to a directory to use as the root of the vcpkg instance. Note that mixing vcpkg +repo versions and executable versions can cause issues. + +#### VCPKG_DEFAULT_VS_PATH + +This environment variable can be set to the full path to a Visual Studio instance on the machine. This Visual Studio instance +will be used if the triplet does not override it via the [`VCPKG_VISUAL_STUDIO_PATH` triplet setting](triplets.md#VCPKG_VISUAL_STUDIO_PATH). + +Example: `D:\2017` + +#### VCPKG_DEFAULT_TRIPLET + +This environment variable can be set to a triplet name which will be used for unqualified triplet references in command lines. + +#### VCPKG_FORCE_SYSTEM_BINARIES + +This environment variable, if set, suppresses the downloading of CMake and Ninja and forces the use of the system binaries. diff --git a/docs/users/integration.md b/docs/users/integration.md index ce52abe23e..fbaea41d91 100644 --- a/docs/users/integration.md +++ b/docs/users/integration.md @@ -35,7 +35,7 @@ cmake ../my/project -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.c ``` Projects configured with the Vcpkg toolchain file will have the appropriate Vcpkg folders added to the cmake search paths. This makes all libraries available to be found through `find_package()`, `find_path()`, and `find_library()`. -See [Example: Using Sqlite](../examples/using-sqlite.md) for a fully worked example using our CMake toolchain. +See [Installing and Using Packages Example: sqlite](../examples/installing-and-using-packages.md) for a fully worked example using our CMake toolchain. Note that we do not automatically add ourselves to your compiler include paths. To use a header-only library, simply use `find_path()`, which will correctly work on all platforms: ```cmake diff --git a/docs/users/triplets.md b/docs/users/triplets.md index 9ff372aedb..4f23c8e27f 100644 --- a/docs/users/triplets.md +++ b/docs/users/triplets.md @@ -33,24 +33,6 @@ Valid options include any CMake system name, such as: - `Darwin` (Mac OSX) - `Linux` (Linux) -### VCPKG_PLATFORM_TOOLSET -Specifies the VS-based C/C++ compiler toolchain to use. - -This can be set to `v141`, `v140`, or left blank. If left blank, we select the latest compiler toolset available on your machine. - -Visual Studio 2015 platform toolset is `v140` -Visual Studio 2017 platform toolset is `v141` - -### VCPKG_VISUAL_STUDIO_PATH -Specifies the Visual Studio installation to use. - -When unspecified, a Visual Studio instance is selected automatically, preferring Stable 2017, then Preview 2017, then 2015. - -The path should be absolute, formatted with backslashes, and have no trailing slash: -```cmake -set(VCPKG_VISUAL_STUDIO_PATH "C:\\Program Files (x86)\\Microsoft Visual Studio\\Preview\\Community") -``` - ### VCPKG_CHAINLOAD_TOOLCHAIN_FILE Specifies an alternate CMake Toolchain file to use. @@ -69,7 +51,28 @@ This option also has forms for configuration-specific and C flags: - `VCPKG_C_FLAGS_DEBUG` - `VCPKG_C_FLAGS_RELEASE` -## macOS Variables +## Windows Variables + +### VCPKG_PLATFORM_TOOLSET +Specifies the VS-based C/C++ compiler toolchain to use. + +This can be set to `v141`, `v140`, or left blank. If left blank, we select the latest compiler toolset available on your machine. + +Visual Studio 2015 platform toolset is `v140` +Visual Studio 2017 platform toolset is `v141` + + +### VCPKG_VISUAL_STUDIO_PATH +Specifies the Visual Studio installation to use. + +When unspecified, a Visual Studio instance is selected automatically, preferring Stable 2017, then Preview 2017, then 2015. + +The path should be absolute, formatted with backslashes, and have no trailing slash: +```cmake +set(VCPKG_VISUAL_STUDIO_PATH "C:\\Program Files (x86)\\Microsoft Visual Studio\\Preview\\Community") +``` + +## MacOS Variables ### VCPKG_INSTALL_NAME_DIR Sets the install name used when building macOS dynamic libraries. Default value is `@rpath`. See the CMake documentation for [CMAKE_INSTALL_NAME_DIR](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_NAME_DIR.html) for more information. diff --git a/ports/abseil/CMakeLists.txt b/ports/abseil/CMakeLists.txt index b4b8a646dd..d98914e604 100644 --- a/ports/abseil/CMakeLists.txt +++ b/ports/abseil/CMakeLists.txt @@ -62,6 +62,7 @@ add_sublibrary(algorithm) add_sublibrary(base) add_sublibrary(container) add_sublibrary(debugging) +add_sublibrary(hash) add_sublibrary(memory) add_sublibrary(meta) add_sublibrary(numeric) @@ -75,6 +76,7 @@ add_sublibrary(utility) target_link_public_libraries(algorithm base meta) target_link_public_libraries(container algorithm base memory) 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) diff --git a/ports/abseil/CONTROL b/ports/abseil/CONTROL index ada8334660..95191fcf00 100644 --- a/ports/abseil/CONTROL +++ b/ports/abseil/CONTROL @@ -1,5 +1,5 @@ Source: abseil -Version: 2018-10-25 +Version: 2018-11-08-1 Description: an open-source collection designed to augment the C++ standard library. Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives. In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you. diff --git a/ports/abseil/portfile.cmake b/ports/abseil/portfile.cmake index e83b1a0576..cc70f72509 100644 --- a/ports/abseil/portfile.cmake +++ b/ports/abseil/portfile.cmake @@ -7,8 +7,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO abseil/abseil-cpp - REF 94c298e2a0ae409e283cab96c954a685bd865a70 - SHA512 217b903255a745613296707568f190368d7d54e0299e455369cb14226c191ba5867b1e7d68698b2f6377d4049fe900a3aa49cba8fa69acc378fd7c5c70461551 + REF 070f6e47b33a2909d039e620c873204f78809492 + SHA512 84bc7b17519d3cae471f0e2602ed32111e99d20abfdff26f1e36fd712ff9013b9768b3d37b9179dc40cb1b4a350da1b6955a881c5300ea9b608f97a3101c2762 HEAD_REF master ) diff --git a/ports/ace/CONTROL b/ports/ace/CONTROL index 8323188d90..ed08a12c22 100644 --- a/ports/ace/CONTROL +++ b/ports/ace/CONTROL @@ -1,3 +1,3 @@ Source: ace -Version: 6.5.2 +Version: 6.5.3 Description: The ADAPTIVE Communication Environment diff --git a/ports/ace/portfile.cmake b/ports/ace/portfile.cmake index 98b0001227..e10e82e0e2 100644 --- a/ports/ace/portfile.cmake +++ b/ports/ace/portfile.cmake @@ -9,9 +9,9 @@ endif() include(vcpkg_common_functions) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/ACE_wrappers/ace) vcpkg_download_distfile(ARCHIVE - URLS "http://download.dre.vanderbilt.edu/previous_versions/ACE-6.5.2.zip" - FILENAME "ACE-6.5.2.zip" - SHA512 ca8a55942b50628e851cad7074a249c480d82f916979a50bb24174432248037fb7a79ca055c7e6553d96aa58f14b97e8e8bf5dbc8671b72b8712e8a65f63ac98 + URLS "https://github.com/DOCGroup/ACE_TAO/releases/download/ACE%2BTAO-6_5_3/ACE-6.5.3.zip" + FILENAME ACE-6.5.3.zip + SHA512 1c24c7a138b6580e0f2a71d3e797ed846a3c046854c19d10175198dc519b610b2ac684d6e0e3999705319304b6eee3f09405cb43ce48a869d2f1446342da469d ) vcpkg_extract_source_archive(${ARCHIVE}) diff --git a/ports/aixlog/CONTROL b/ports/aixlog/CONTROL new file mode 100644 index 0000000000..12e2a88c9e --- /dev/null +++ b/ports/aixlog/CONTROL @@ -0,0 +1,3 @@ +Source: aixlog +Version: 1.2.1 +Description: Header-only C++ logging library diff --git a/ports/aixlog/portfile.cmake b/ports/aixlog/portfile.cmake new file mode 100644 index 0000000000..4838372d67 --- /dev/null +++ b/ports/aixlog/portfile.cmake @@ -0,0 +1,32 @@ +# 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 + ) + + + +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) + +# Post-build test for cmake libraries +# vcpkg_test_cmake(PACKAGE_NAME aixlog) diff --git a/ports/asio/CONTROL b/ports/asio/CONTROL index 34543b9cd7..295b01db8e 100644 --- a/ports/asio/CONTROL +++ b/ports/asio/CONTROL @@ -1,3 +1,3 @@ Source: asio -Version: 1.12.1 +Version: 1.12.1-1 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 279f2c6090..60d329ed81 100644 --- a/ports/asio/portfile.cmake +++ b/ports/asio/portfile.cmake @@ -1,25 +1,19 @@ #header-only library include(vcpkg_common_functions) -vcpkg_download_distfile( - ARCHIVE_FILE - URLS "https://sourceforge.net/projects/asio/files/asio/1.12.1%20%28Stable%29/asio-1.12.1.zip/download" - FILENAME "asio-1.12.1.zip" - SHA512 f35a519cde88824f65bde095c19d69449d0779e75da9e9ebb6a04f4847802213e8730715756a21632c4d27722cd5568ff7878d656ac79165a8bdf8652fbc1bd8 +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO chriskohlhoff/asio + REF asio-1-12-1 + SHA512 e335eea05c27a72faae95dd5d5ca997ac8bb144cd5fb68e5538129ea6afb3b4d88e2be1c31a1effdbbbe4c93e07ee274a7e5817453c29faf56abf9ab692b2dd6 + HEAD_REF master ) -vcpkg_extract_source_archive( - ${ARCHIVE_FILE} -) - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/asio-1.12.1) - # Handle 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}/asio/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) # Copy the asio header files -file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp") +file(INSTALL ${SOURCE_PATH}/asio/include DESTINATION ${CURRENT_PACKAGES_DIR} FILES_MATCHING PATTERN "*.hpp" PATTERN "*.ipp") # Always use "ASIO_STANDALONE" to avoid boost dependency file(READ "${CURRENT_PACKAGES_DIR}/include/asio/detail/config.hpp" _contents) diff --git a/ports/asmjit/CONTROL b/ports/asmjit/CONTROL index 37e16b63a8..f4a9931f85 100644 --- a/ports/asmjit/CONTROL +++ b/ports/asmjit/CONTROL @@ -1,3 +1,3 @@ Source: asmjit -Version: 673dcefaa048c5f5a2bf8b85daf8f7b9978d018a +Version: 2018-11-08 Description: Complete x86/x64 JIT and Remote Assembler for C++ diff --git a/ports/asmjit/portfile.cmake b/ports/asmjit/portfile.cmake index 3efe1e0258..5d2e7b230a 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 673dcefaa048c5f5a2bf8b85daf8f7b9978d018a - SHA512 f3cf4b603424ec0bf7e00463ad94e157bd549265730be66e5e29af31182ca3a6a318ff4c1b1d0fcd2595163df51ad6d34041583b8cbe73be1155562739c25555 + REF 771d66b301e60ebc3ffa69b11765622c547df6ab + SHA512 02ae822a33d50810fc0833b647bd6c29851b147ae4e388fd29d54567e6ed928173b961d3f3f323b243719092c2947bd6f374bc5d6051817e8153688868473830 HEAD_REF master ) diff --git a/ports/aws-sdk-cpp/CONTROL b/ports/aws-sdk-cpp/CONTROL index eda565cffc..18d0bbaa93 100644 --- a/ports/aws-sdk-cpp/CONTROL +++ b/ports/aws-sdk-cpp/CONTROL @@ -1,5 +1,5 @@ Source: aws-sdk-cpp -Version: 1.6.38 +Version: 1.6.47 Description: AWS SDK for C++ Build-Depends: openssl (!uwp&!windows), curl (!uwp&!windows) Default-Features: dynamodb, s3, kinesis diff --git a/ports/aws-sdk-cpp/portfile.cmake b/ports/aws-sdk-cpp/portfile.cmake index 03e5526bab..a7b1b6a680 100644 --- a/ports/aws-sdk-cpp/portfile.cmake +++ b/ports/aws-sdk-cpp/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO aws/aws-sdk-cpp - REF 1.6.38 - SHA512 1f70b43c8fcac62fb73ced8aeab5f979266dea5ef8dc683bf4420f4a30477dc4d7223b752a1b82cf0992d19bd8e0ef044c819b85f9781931eb9af2c060d15bfd + REF 1.6.47 + SHA512 84d8ec8672f5de97735587aa25af410e77a4e827648379ab9683911133c2a05517e0a435fa1b8e0931cae8aa8f0e74500fa8ed8e75d493171919dfcc665bbf1c HEAD_REF master ) diff --git a/ports/azure-c-shared-utility/CONTROL b/ports/azure-c-shared-utility/CONTROL index d676552ce4..c5e51adaf0 100644 --- a/ports/azure-c-shared-utility/CONTROL +++ b/ports/azure-c-shared-utility/CONTROL @@ -1,4 +1,4 @@ Source: azure-c-shared-utility -Version: 1.1.5 +Version: 1.1.11-1 Description: Azure C SDKs common code Build-Depends: curl (linux), openssl (linux) diff --git a/ports/azure-c-shared-utility/portfile.cmake b/ports/azure-c-shared-utility/portfile.cmake index 48763bef26..838528ce4b 100644 --- a/ports/azure-c-shared-utility/portfile.cmake +++ b/ports/azure-c-shared-utility/portfile.cmake @@ -1,20 +1,15 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("azure-c-shared-utility only supports static linkage") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-c-shared-utility - REF e7aef25f8012e9e9333c72433a1d21f90f3a28b4 - SHA512 73b644bc1ea3d87fcdc0916f969fd779a20ed5ae263643dd21cc600265f84cab443f6578ff30f364ddea9e91ca4488615b78898e9c06f15cbc5d0af725ebfa00 + REF bcf6393b1ce3cecf0fcdf8988621fd6e4d414df3 + SHA512 e5ae3c895777df90e725da7686939b46fa4df19ce5626bbe13a5aaf1b844ee56c96ddf2a9ad8426a96cdc34e8be338c95b6759e618143e19445c5180fb0f7ed1 HEAD_REF master ) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -22,7 +17,7 @@ vcpkg_configure_cmake( -Dskip_samples=ON -Duse_installed_dependencies=ON -Duse_default_uuid=ON - -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC} + -Dbuild_as_dynamic=OFF ) vcpkg_install_cmake() @@ -33,8 +28,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR file(COPY ${SOURCE_PATH}/configs/azure_iot_build_rules.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-c-shared-utility) -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-c-shared-utility RENAME copyright) +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 a706b195c9..9c9410bfef 100644 --- a/ports/azure-iot-sdk-c/CONTROL +++ b/ports/azure-iot-sdk-c/CONTROL @@ -1,4 +1,4 @@ Source: azure-iot-sdk-c -Version: 1.2.3 +Version: 1.2.11-1 Build-Depends: azure-uamqp-c, azure-umqtt-c, azure-c-shared-utility, parson Description: A C99 SDK for connecting devices to Microsoft Azure IoT services diff --git a/ports/azure-iot-sdk-c/improve-external-deps-2.patch b/ports/azure-iot-sdk-c/improve-external-deps-2.patch deleted file mode 100644 index 04795fa1f2..0000000000 --- a/ports/azure-iot-sdk-c/improve-external-deps-2.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index aa2dfad..f1656ea 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -129,15 +129,6 @@ endif() - #Use solution folders. - set_property(GLOBAL PROPERTY USE_FOLDERS ON) - --# build the parson library for json parsing --add_library(parson -- ./deps/parson/parson.c -- ./deps/parson/parson.h --) --if(MSVC) -- set_source_files_properties(../deps/parson/parson.c PROPERTIES COMPILE_FLAGS "/wd4244 /wd4232") --endif() -- - if(IN_OPENWRT) - ADD_DEFINITIONS("$ENV{TARGET_LDFLAGS}" "$ENV{TARGET_CPPFLAGS}" "$ENV{TARGET_CFLAGS}") - INCLUDE_DIRECTORIES("$ENV{TOOLCHAIN_DIR}/usr/include" "$ENV{TARGET_LDFLAGS}" "$ENV{TARGET_CPPFLAGS}" "$ENV{TARGET_CFLAGS}") diff --git a/ports/azure-iot-sdk-c/improve-external-deps.patch b/ports/azure-iot-sdk-c/improve-external-deps.patch index d96e0fe386..171964bafc 100644 --- a/ports/azure-iot-sdk-c/improve-external-deps.patch +++ b/ports/azure-iot-sdk-c/improve-external-deps.patch @@ -1,3 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a8011fb..9fc05c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -155,17 +155,6 @@ endif() + # Use solution folders. + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +-# build the parson library for json parsing +-add_library(parson +- ./deps/parson/parson.c +- ./deps/parson/parson.h +-) +-if (MSVC) +- set_source_files_properties(../deps/parson/parson.c PROPERTIES COMPILE_FLAGS "/wd4244 /wd4232") +-endif() +-set(parson_h_install_files ./deps/parson/parson.h) +-set(parson_install_libs parson) +- + if (IN_OPENWRT) + ADD_DEFINITIONS("$ENV{TARGET_LDFLAGS}" "$ENV{TARGET_CPPFLAGS}" "$ENV{TARGET_CFLAGS}") + INCLUDE_DIRECTORIES("$ENV{TOOLCHAIN_DIR}/usr/include" "$ENV{TARGET_LDFLAGS}" "$ENV{TARGET_CPPFLAGS}" "$ENV{TARGET_CFLAGS}") diff --git a/configs/azure_iot_sdksConfig.cmake b/configs/azure_iot_sdksConfig.cmake index b9c62e8..edf5847 100644 --- a/configs/azure_iot_sdksConfig.cmake @@ -14,16 +36,17 @@ index b9c62e8..edf5847 100644 include("${CMAKE_CURRENT_LIST_DIR}/azure_iot_sdksTargets.cmake") diff --git a/dependencies.cmake b/dependencies.cmake -index 063733a..71bfc7d 100644 +index fd06df6..c0e06fa 100644 --- a/dependencies.cmake +++ b/dependencies.cmake -@@ -18,6 +18,8 @@ if(${use_installed_dependencies}) - endif() - endif() +@@ -18,6 +18,9 @@ if(${use_installed_dependencies}) + endif () + endif () + find_package(unofficial-parson REQUIRED) + link_libraries(unofficial::parson::parson) - else() ++ + else () add_subdirectory(c-utility) diff --git a/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt b/iothub_client/tests/iothubclient_amqp_dt_e2e/CMakeLists.txt @@ -78,10 +101,10 @@ index d05d654..5872c8d 100644 ) diff --git a/iothub_service_client/CMakeLists.txt b/iothub_service_client/CMakeLists.txt -index 11a9a9a..4097293 100644 +index e47473e..b073513 100644 --- a/iothub_service_client/CMakeLists.txt +++ b/iothub_service_client/CMakeLists.txt -@@ -72,9 +72,7 @@ endif() +@@ -81,9 +81,7 @@ endif() setSdkTargetBuildProperties(iothub_service_client) if(NOT ${nuget_e2e_tests}) diff --git a/ports/azure-iot-sdk-c/portfile.cmake b/ports/azure-iot-sdk-c/portfile.cmake index 0abffcb0f5..6ec8ba3eb7 100644 --- a/ports/azure-iot-sdk-c/portfile.cmake +++ b/ports/azure-iot-sdk-c/portfile.cmake @@ -1,29 +1,18 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("azure-iot-sdk-c only supports static linkage") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-iot-sdk-c - REF 1.2.3 - SHA512 6192d454bb2ecb01989f7636751acd6919021b55b772f4ea25a6d0ddd263e7f988275f7fb0b1c304d4ebd30418c9f870eb1c504a4a504f2faeb712ef8e669d5a + REF acff8b1677150cb165a7b111745144cf8fab76cc + SHA512 7e7e0679d48e76539a607a593b1c9ccc57eeb4f8bf33fb49051ad99203d1568f0ac2a38fe32ba0b3670cea32a2318e8c135c709ba5712f95cd8005ff21572e28 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/improve-external-deps.patch - ${CMAKE_CURRENT_LIST_DIR}/improve-external-deps-2.patch + PATCHES improve-external-deps.patch ) file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -31,7 +20,7 @@ vcpkg_configure_cmake( -Dskip_samples=ON -Duse_installed_dependencies=ON -Duse_default_uuid=ON - -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC} + -Dbuild_as_dynamic=OFF ) vcpkg_install_cmake() @@ -40,8 +29,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/azure_iot_sdks) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-iot-sdk-c RENAME copyright) +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/azure-iot-sdk-c/copyright COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/azure-uamqp-c/CONTROL b/ports/azure-uamqp-c/CONTROL index 098209ac9b..8f5f63c082 100644 --- a/ports/azure-uamqp-c/CONTROL +++ b/ports/azure-uamqp-c/CONTROL @@ -1,4 +1,4 @@ Source: azure-uamqp-c -Version: 1.2.3 +Version: 1.2.11-1 Build-Depends: azure-c-shared-utility Description: AMQP library for C diff --git a/ports/azure-uamqp-c/glob-headers.patch b/ports/azure-uamqp-c/glob-headers.patch deleted file mode 100644 index 245744f2b3..0000000000 --- a/ports/azure-uamqp-c/glob-headers.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dbf79e5..aec44e5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -74,7 +74,8 @@ if(WIN32) - include_directories($ENV{OpenSSLDir}/include) - endif() - --set(uamqp_h_files -+file(GLOB uamqp_h_files -+ ./inc/azure_uamqp_c/* - ./inc/azure_uamqp_c/amqp_definitions.h - ./inc/azure_uamqp_c/amqp_frame_codec.h - ./inc/azure_uamqp_c/amqp_management.h diff --git a/ports/azure-uamqp-c/portfile.cmake b/ports/azure-uamqp-c/portfile.cmake index c037010f1a..0f75910995 100644 --- a/ports/azure-uamqp-c/portfile.cmake +++ b/ports/azure-uamqp-c/portfile.cmake @@ -1,31 +1,24 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("azure-uamqp-c only supports static linkage") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uamqp-c - REF 1.2.3 - SHA512 18fc978517371fcb19e1c078f07d06b3bf8ec046c5cba955dd3cfe0a364d8775542acc970d81fa42384942ea4db7fb60d8939e80e90baf582c9d9e6ff0b577b5 + REF 075b5a669f49b9d3b68b7bf9b465fe92e1c740aa + SHA512 54b7c9ebdaca13d44634e99a064aac54e9eadaedcbed723aabc62c70414ef54d62c5f58ddc836e8020eba4ca0d03d27c2d73391d4071f973fda228866215ec58 HEAD_REF master ) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} PATCHES ${CMAKE_CURRENT_LIST_DIR}/glob-headers.patch) - file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/azure-c-shared-utility/configs/) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -Dskip_samples=ON -Duse_installed_dependencies=ON - -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC} + -Dbuild_as_dynamic=OFF ) vcpkg_install_cmake() @@ -34,8 +27,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/uamqp) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-uamqp-c RENAME copyright) +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/azure-uamqp-c/copyright COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/azure-uhttp-c/CONTROL b/ports/azure-uhttp-c/CONTROL index d5236d62ae..e415436873 100644 --- a/ports/azure-uhttp-c/CONTROL +++ b/ports/azure-uhttp-c/CONTROL @@ -1,4 +1,4 @@ Source: azure-uhttp-c -Version: LTS_01_2018_Ref01 +Version: 1.1.11-2 Build-Depends: azure-c-shared-utility Description: Azure HTTP Library written in C diff --git a/ports/azure-uhttp-c/portfile.cmake b/ports/azure-uhttp-c/portfile.cmake index 7a2c51545b..de34ba4ddd 100644 --- a/ports/azure-uhttp-c/portfile.cmake +++ b/ports/azure-uhttp-c/portfile.cmake @@ -1,29 +1,24 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("azure-uhttp-c only supports static linkage") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-uhttp-c - REF LTS_01_2018_Ref01 - SHA512 baf7366e499c32210d0227188044ea1f7f7a78e2bad83d52ca6a71a76a59118ab2cd08ae9e7c511b612b885dcd94fe7a24a619136d3ee03187f780a9bc862218 + REF ed7d104c4ab96aaa68e429066953874f12be70eb + SHA512 512f8fd46dbc40ff79ffdbc2ea881a29aaa72db4c36f16f96f30a224220183e295d8e39a4965d788f92f4976fa6d37b197c04b32bbd187d456d5c5d516b95c9f HEAD_REF master ) file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/c-utility/configs/) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -Dskip_samples=ON -Duse_installed_dependencies=ON - -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC} + -Dbuild_as_dynamic=OFF -DCMAKE_INSTALL_INCLUDEDIR=include ) @@ -33,8 +28,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/uhttp) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-uhttp-c RENAME copyright) +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/azure-uhttp-c/copyright COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/azure-umqtt-c/CONTROL b/ports/azure-umqtt-c/CONTROL index d819a2f534..9a5f5e030f 100644 --- a/ports/azure-umqtt-c/CONTROL +++ b/ports/azure-umqtt-c/CONTROL @@ -1,4 +1,4 @@ Source: azure-umqtt-c -Version: 1.1.5 +Version: 1.1.11-1 Build-Depends: azure-c-shared-utility 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 396a066562..cb14cfaa8a 100644 --- a/ports/azure-umqtt-c/portfile.cmake +++ b/ports/azure-umqtt-c/portfile.cmake @@ -1,29 +1,24 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - message("azure-umqtt-c only supports static linkage") - set(VCPKG_LIBRARY_LINKAGE "static") -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Azure/azure-umqtt-c - REF 244f1478dbc426b62cc42f1ef24ba4b6c6333540 - SHA512 74381d35c0ab967f2d2addcba1ff796633b790b1a7ee173ceee91922c14402043fc5472131b9e486728d360ffe6adc4d3779db1698ef7a1dd7e85202f2d142f4 + REF ff05514c9b4742ae8d7785719a399a7fe6eac09b + SHA512 d750390d38555ab00e5d5cc5aa0b07ae452afd2e2af0dade5fc1c55f63ad367688b5ff7e97e65ab00f0153340b8bcc1e5039e80e5795b9f9c0cd2c48eedad081 HEAD_REF master ) file(COPY ${CURRENT_INSTALLED_DIR}/share/azure-c-shared-utility/azure_iot_build_rules.cmake DESTINATION ${SOURCE_PATH}/deps/c-utility/configs/) -string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_AS_DYNAMIC) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS -Dskip_samples=ON -Duse_installed_dependencies=ON - -Dbuild_as_dynamic=${BUILD_AS_DYNAMIC} + -Dbuild_as_dynamic=OFF ) vcpkg_install_cmake() @@ -32,8 +27,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH cmake TARGET_PATH share/umqtt) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL - ${SOURCE_PATH}/LICENSE - DESTINATION ${CURRENT_PACKAGES_DIR}/share/azure-umqtt-c RENAME copyright) +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/azure-umqtt-c/copyright COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/berkeleydb/CMakeLists.txt b/ports/berkeleydb/CMakeLists.txt index eada8360a7..9297aacefa 100644 --- a/ports/berkeleydb/CMakeLists.txt +++ b/ports/berkeleydb/CMakeLists.txt @@ -15,12 +15,12 @@ add_definitions( if (BUILD_SHARED_LIBS) add_definitions( - -D_LIB + -DDB_CREATE_DLL + -D_USRDLL ) else() add_definitions( - -DDB_CREATE_DLL - -D_USRDLL + -D_LIB ) endif() diff --git a/ports/berkeleydb/CONTROL b/ports/berkeleydb/CONTROL index 18eaae5d92..e77e5793a4 100644 --- a/ports/berkeleydb/CONTROL +++ b/ports/berkeleydb/CONTROL @@ -1,3 +1,3 @@ Source: berkeleydb -Version: 4.8.30-1 +Version: 4.8.30-2 Description: A high-performance embedded database for key/value data. diff --git a/ports/bitserializer-cpprestjson/CONTROL b/ports/bitserializer-cpprestjson/CONTROL new file mode 100644 index 0000000000..f75cd41a2d --- /dev/null +++ b/ports/bitserializer-cpprestjson/CONTROL @@ -0,0 +1,4 @@ +Source: bitserializer-cpprestjson +Version: 0.8 +Build-Depends: bitserializer, cpprestsdk +Description: This is an implementation of the BitSerializer archive for serialization JSON (based on CppRestSDK library). diff --git a/ports/bitserializer-cpprestjson/portfile.cmake b/ports/bitserializer-cpprestjson/portfile.cmake new file mode 100644 index 0000000000..28430d5908 --- /dev/null +++ b/ports/bitserializer-cpprestjson/portfile.cmake @@ -0,0 +1,13 @@ +include(vcpkg_common_functions) +vcpkg_from_bitbucket( + OUT_SOURCE_PATH SOURCE_PATH + REPO Pavel_Kisliak/BitSerializer + REF 0.8 + SHA512 6df5b3f7a472a55ba0aace22c44cb2adaf178fbc7f920dcaf7d7015f81badde98d64911ddb620e99a708214140d7c29561775c1b0fe60fef6f24d465a4eac093 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/archives/bitserializer_cpprest_json DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bitserializer-cpprestjson RENAME copyright) diff --git a/ports/bitserializer-rapidjson/CONTROL b/ports/bitserializer-rapidjson/CONTROL new file mode 100644 index 0000000000..db65c52aef --- /dev/null +++ b/ports/bitserializer-rapidjson/CONTROL @@ -0,0 +1,4 @@ +Source: bitserializer-rapidjson +Version: 0.8 +Build-Depends: bitserializer, rapidjson +Description: This is an implementation of the BitSerializer archive for serialization JSON (based on the RapidJson library). diff --git a/ports/bitserializer-rapidjson/portfile.cmake b/ports/bitserializer-rapidjson/portfile.cmake new file mode 100644 index 0000000000..4050b73bc9 --- /dev/null +++ b/ports/bitserializer-rapidjson/portfile.cmake @@ -0,0 +1,13 @@ +include(vcpkg_common_functions) +vcpkg_from_bitbucket( + OUT_SOURCE_PATH SOURCE_PATH + REPO Pavel_Kisliak/BitSerializer + REF 0.8 + SHA512 6df5b3f7a472a55ba0aace22c44cb2adaf178fbc7f920dcaf7d7015f81badde98d64911ddb620e99a708214140d7c29561775c1b0fe60fef6f24d465a4eac093 + HEAD_REF master +) + +file(INSTALL ${SOURCE_PATH}/archives/bitserializer_rapidjson DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bitserializer-rapidjson RENAME copyright) diff --git a/ports/bitserializer/CONTROL b/ports/bitserializer/CONTROL index 95e36f5b9f..35e02fe030 100644 --- a/ports/bitserializer/CONTROL +++ b/ports/bitserializer/CONTROL @@ -1,4 +1,3 @@ Source: bitserializer -Version: 0.7 -Build-Depends: cpprestsdk -Description: The library for simple serialization of arbitrary C++ types to various output formats (currently just supported JSON based on CppRestSDK). +Version: 0.8 +Description: The core part of library for serialization of arbitrary C++ types to various output formats. diff --git a/ports/bitserializer/portfile.cmake b/ports/bitserializer/portfile.cmake index 5e59f0c71d..50eb93481b 100644 --- a/ports/bitserializer/portfile.cmake +++ b/ports/bitserializer/portfile.cmake @@ -2,12 +2,12 @@ include(vcpkg_common_functions) vcpkg_from_bitbucket( OUT_SOURCE_PATH SOURCE_PATH REPO Pavel_Kisliak/BitSerializer - REF 0.7 - SHA512 3a50b1b3077115f60d298f4257ae6a5a350c1d8b3d575af83b4f0746757ab3393da7c81ac9c7db4e30540fe94f1742b1d39de724b2dec080faf727b885bb19a4 + REF 0.8 + SHA512 6df5b3f7a472a55ba0aace22c44cb2adaf178fbc7f920dcaf7d7015f81badde98d64911ddb620e99a708214140d7c29561775c1b0fe60fef6f24d465a4eac093 HEAD_REF master ) -file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) +file(INSTALL ${SOURCE_PATH}/core/bitserializer DESTINATION ${CURRENT_PACKAGES_DIR}/include) # Handle copyright file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/bitserializer RENAME copyright) diff --git a/ports/brynet/CONTROL b/ports/brynet/CONTROL index f94ec56eef..3309ab1cf9 100644 --- a/ports/brynet/CONTROL +++ b/ports/brynet/CONTROL @@ -1,3 +1,4 @@ Source: brynet -Version: 0.9.0 +Version: 1.0.0-1 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 7922b704c0..9c9097bfc6 100644 --- a/ports/brynet/portfile.cmake +++ b/ports/brynet/portfile.cmake @@ -1,15 +1,12 @@ include(vcpkg_common_functions) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - message(STATUS "brynet does not support dynamic linkage. Building statically.") - set(VCPKG_LIBRARY_LINKAGE static) -endif() +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO IronsDu/brynet - REF v0.9.0 - SHA512 49543833be0d8eb2dce2b00a85d48087e9756b93febaae0c7cd83b7f44f9cd8d81976069f8b84344807bee2df785b80fbb65a1a93e8c6a9c942f9554063a05c1 + REF v1.0.0 + SHA512 f2ad0514d5b25828b38d929bf352a8a35c39816982f7a3aaca2b6d74a7e592d8a37d2af6b77d6babf2eec25063ed1bb50704e8871d18d7e5f777021d18604b9c HEAD_REF master ) diff --git a/ports/bzip2/CMakeLists.txt b/ports/bzip2/CMakeLists.txt index d79c288185..2f70c54045 100644 --- a/ports/bzip2/CMakeLists.txt +++ b/ports/bzip2/CMakeLists.txt @@ -36,7 +36,7 @@ install(TARGETS libbz2 if(NOT BZIP2_SKIP_TOOLS) add_executable(bzip2 bzip2.c ${LIBBZ2_SOURCES}) add_executable(bzip2recover bzip2recover.c ${LIBBZ2_SOURCES}) - install(TARGETS bzip2 bzip2recover DESTINATION tools) + install(TARGETS bzip2 bzip2recover DESTINATION tools/bzip2) endif() if(NOT BZIP2_SKIP_HEADERS) diff --git a/ports/bzip2/CONTROL b/ports/bzip2/CONTROL index 613d3f2517..fad3033997 100644 --- a/ports/bzip2/CONTROL +++ b/ports/bzip2/CONTROL @@ -1,3 +1,3 @@ Source: bzip2 -Version: 1.0.6-2 +Version: 1.0.6-3 Description: High-quality data compressor. diff --git a/ports/bzip2/portfile.cmake b/ports/bzip2/portfile.cmake index 00d92c90a1..25e3df10f1 100644 --- a/ports/bzip2/portfile.cmake +++ b/ports/bzip2/portfile.cmake @@ -1,26 +1,27 @@ - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/bzip2-1.0.6) +set(BZIP2_VERSION 1.0.6) vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/past-due/bzip2-mirror/releases/download/v1.0.6/bzip2-1.0.6.tar.gz" - FILENAME "bzip2-1.0.6.tar.gz" + URLS "https://github.com/past-due/bzip2-mirror/releases/download/v${BZIP2_VERSION}/bzip2-${BZIP2_VERSION}.tar.gz" + FILENAME "bzip2-${BZIP2_VERSION}.tar.gz" SHA512 00ace5438cfa0c577e5f578d8a808613187eff5217c35164ffe044fbafdfec9e98f4192c02a7d67e01e5a5ccced630583ad1003c37697219b0f147343a3fdd12) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${BZIP2_VERSION} + PATCHES + fix-import-export-macros.patch +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/fix-import-export-macros.patch) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS_DEBUG -DBZIP2_SKIP_HEADERS=ON - -DBZIP2_SKIP_TOOLS=ON) + -DBZIP2_SKIP_TOOLS=ON +) vcpkg_install_cmake() vcpkg_copy_pdbs() @@ -33,7 +34,6 @@ else() endif() file(WRITE ${CURRENT_PACKAGES_DIR}/include/bzlib.h "${BZLIB_H}") - file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/bzip2) file(RENAME ${CURRENT_PACKAGES_DIR}/share/bzip2/LICENSE ${CURRENT_PACKAGES_DIR}/share/bzip2/copyright) diff --git a/ports/catch2/CONTROL b/ports/catch2/CONTROL index a120bc416e..de2d71c35a 100644 --- a/ports/catch2/CONTROL +++ b/ports/catch2/CONTROL @@ -1,4 +1,4 @@ Source: catch2 -Version: 2.4.1 +Version: 2.4.2 Description: A modern, header-only test framework for unit testing. Issues, PRs and changelogs can be found at https://github.com/catchorg/Catch2 diff --git a/ports/catch2/portfile.cmake b/ports/catch2/portfile.cmake index 202ac87016..b36595d2c1 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.4.1 - SHA512 054751959b675a4c871538f2e65b50e0efbaee8d0fafb26f0013a2b0da6fab406dbe9493dc4888c5651bce3da32ab7d7a56694dd68427377c6b0b25804657356 + REF v2.4.2 + SHA512 7422c5c114d93b57cac5596e573d0993ecc6db37708df3491d346bb3aad7a1ee1d1008689ae7b8ef4b0b4fa41aa66566580f807778ae2e4f278687d6fe7aa38b HEAD_REF master ) diff --git a/ports/cgal/CONTROL b/ports/cgal/CONTROL index ef39cf54e4..a84c50ce12 100644 --- a/ports/cgal/CONTROL +++ b/ports/cgal/CONTROL @@ -1,5 +1,5 @@ Source: cgal -Version: 4.13-1 +Version: 4.13-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 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/portfile.cmake b/ports/cgal/portfile.cmake index bf261f66a5..40475b7c2e 100644 --- a/ports/cgal/portfile.cmake +++ b/ports/cgal/portfile.cmake @@ -45,7 +45,9 @@ endif() file(READ ${CURRENT_PACKAGES_DIR}/share/cgal/CGALConfig.cmake _contents) string(REPLACE "CGAL_IGNORE_PRECONFIGURED_GMP" "1" _contents "${_contents}") string(REPLACE "CGAL_IGNORE_PRECONFIGURED_MPFR" "1" _contents "${_contents}") -file(WRITE ${CURRENT_PACKAGES_DIR}/lib/cgal/CGALConfig.cmake "${_contents}") + +file(WRITE ${CURRENT_PACKAGES_DIR}/share/cgal/CGALConfig.cmake "${_contents}") +file(WRITE ${CURRENT_PACKAGES_DIR}/lib/cgal/CGALConfig.cmake "include (\$\{CMAKE_CURRENT_LIST_DIR\}/../../share/cgal/CGALConfig.cmake)") file(COPY ${SOURCE_PATH}/Installation/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cgal) file(RENAME ${CURRENT_PACKAGES_DIR}/share/cgal/LICENSE ${CURRENT_PACKAGES_DIR}/share/cgal/copyright) diff --git a/ports/cimg/CONTROL b/ports/cimg/CONTROL index 6170fb6780..9d8704ea19 100644 --- a/ports/cimg/CONTROL +++ b/ports/cimg/CONTROL @@ -1,3 +1,3 @@ Source: cimg -Version: 2.4.0 +Version: 2.4.1 Description: The CImg Library is a small, open-source, and modern C++ toolkit for image processing diff --git a/ports/cimg/portfile.cmake b/ports/cimg/portfile.cmake index 8dd1626f67..70b397e45d 100644 --- a/ports/cimg/portfile.cmake +++ b/ports/cimg/portfile.cmake @@ -2,9 +2,9 @@ include(vcpkg_common_functions) vcpkg_from_github(OUT_SOURCE_PATH SOURCE_PATH REPO "dtschump/CImg" - REF v.2.4.0 + REF v.2.4.1 HEAD_REF master - SHA512 5aae75afcccc965e11eae6f322a15d245d2f75b7ad4914c61add3638c1bfaf5d9cf8cc52b52743cd21b149e0397ce180ab5e5f29dc09d37b443c3f3550c8a5a5) + SHA512 b0582a158024a13c9d6779e4e6a37487bb8c18b3e91f8fa56a6d0ee3dbaede2567f00c29432f41ca8e3845e98566375b285fb674721225705f6ade91894db081) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/civetweb/CONTROL b/ports/civetweb/CONTROL new file mode 100644 index 0000000000..a8b0832e04 --- /dev/null +++ b/ports/civetweb/CONTROL @@ -0,0 +1,3 @@ +Source: civetweb +Version: 1.11-1 +Description: Easy to use, powerful, C/C++ embeddable web server. diff --git a/ports/civetweb/portfile.cmake b/ports/civetweb/portfile.cmake new file mode 100644 index 0000000000..8ad7af5381 --- /dev/null +++ b/ports/civetweb/portfile.cmake @@ -0,0 +1,36 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +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 civetweb/civetweb + REF v1.11 + SHA512 e1520fd2f4a54b6ab4838f4da2ce3f0956e9884059467d196078935a3fce61dad619f3bb1bc2b4c6a757e1a8abfed0e83cba38957c7c52fff235676e9dd1d428 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCIVETWEB_BUILD_TESTING=OFF + -DCIVETWEB_ENABLE_ASAN=OFF + -DCIVETWEB_ENABLE_CXX=ON + -DCIVETWEB_ENABLE_IPV6=ON + -DCIVETWEB_ENABLE_SERVER_EXECUTABLE=OFF + -DCIVETWEB_ENABLE_SSL=OFF +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/civetweb/copyright COPYONLY) diff --git a/ports/clara/CONTROL b/ports/clara/CONTROL index 4e7d58482c..cce19cdf1a 100644 --- a/ports/clara/CONTROL +++ b/ports/clara/CONTROL @@ -1,3 +1,3 @@ Source: clara -Version: 2018-10-25 +Version: 2018-11-01 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 441be3b6b8..142b301200 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 a19db09c015f96f80d282e445ed3091ff20b4248 - SHA512 e7a9574d92ff8cc4b91094d30572bc5b36c30f5dc52c418e76ba2227c526551572f51d4a2fa29e9afab21be82e330070dd8a2118d75bdd49ac1e510755b4cdf4 + REF a6dfbbd011a79a5f729950d6f4b72c08f9529283 + SHA512 ec3004807c35b54b2defbec7d794817cd90dad5e442fa30c7a4ef3f72d6fcfd789302388bae8752b98d7145071d43851326e476d053b15f800f9117e1a3a0d74 HEAD_REF master ) file(INSTALL ${SOURCE_PATH}/single_include/clara.hpp DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/cli11/CONTROL b/ports/cli11/CONTROL new file mode 100644 index 0000000000..5174d70376 --- /dev/null +++ b/ports/cli11/CONTROL @@ -0,0 +1,3 @@ +Source: cli11 +Version: 1.6.1 +Description: CLI11 is a command line parser for C++11 and beyond that provides a rich feature set with a simple and intuitive interface. diff --git a/ports/cli11/portfile.cmake b/ports/cli11/portfile.cmake new file mode 100644 index 0000000000..bda9fa2b36 --- /dev/null +++ b/ports/cli11/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO CLIUtils/CLI11 + REF v1.6.1 + SHA512 df12510bb78823908535a68af65fb8ea0b8b33b362e0b5f2cfa91223db7ebd9e71a55dfe31902c5d10e29c02a9bb59be58f8c69da7a9b4ab456ace64f200ac93 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCLI11_TESTING=OFF + -DCLI11_EXAMPLES=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/CLI11) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cli11 RENAME copyright) + +# Post-build test for cmake libraries +# vcpkg_test_cmake(PACKAGE_NAME cli11) diff --git a/ports/cpp-taskflow/CONTROL b/ports/cpp-taskflow/CONTROL new file mode 100644 index 0000000000..4abf5457fc --- /dev/null +++ b/ports/cpp-taskflow/CONTROL @@ -0,0 +1,3 @@ +Source: cpp-taskflow +Version: 2018-11-30 +Description: Fast Parallel Tasking Programming Library using Modern C++. diff --git a/ports/cpp-taskflow/portfile.cmake b/ports/cpp-taskflow/portfile.cmake new file mode 100644 index 0000000000..1f596f0d49 --- /dev/null +++ b/ports/cpp-taskflow/portfile.cmake @@ -0,0 +1,29 @@ +# header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cpp-taskflow/cpp-taskflow + REF 97252f7d782c6e896122645175c08131ce10e649 + SHA512 df8ae9ea449663cb548f3c37346c2e0c785add2d86b9c618aea2741d81fe88c34b0d3d0e610a4b571973f9bc18631becedfe28e029ecf0c0cc87e4c35a280a29 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DTF_BUILD_EXAMPLES=OFF + -DTF_BUILD_TESTS=OFF + -DTF_BUILD_BENCHMARKS=OFF +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/cpp-taskflow/copyright COPYONLY) diff --git a/ports/cppgraphqlgen/CONTROL b/ports/cppgraphqlgen/CONTROL new file mode 100644 index 0000000000..7eaa3d6bed --- /dev/null +++ b/ports/cppgraphqlgen/CONTROL @@ -0,0 +1,4 @@ +Source: cppgraphqlgen +Version: 0.6 +Build-Depends: pegtl, rapidjson +Description: C++ GraphQL schema service generator diff --git a/ports/cppgraphqlgen/portfile.cmake b/ports/cppgraphqlgen/portfile.cmake new file mode 100644 index 0000000000..70ff810706 --- /dev/null +++ b/ports/cppgraphqlgen/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Microsoft/cppgraphqlgen + REF v0.6 + SHA512 cc2596f5cd975377fcc9432eee11973e2ff044c244c3ac13c3f45549874c2fe0ac5c48bccb96813b48a1b7c940bb54decc194d9eb358c6ae39d1288b9ce58b01 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA # Disable this option if project cannot be built with Ninja + OPTIONS -DBUILD_TESTS=OFF -DUPDATE_SAMPLES=OFF + # OPTIONS_RELEASE -DOPTIMIZE=1 + # OPTIONS_DEBUG -DDEBUGGABLE=1 +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets() + +vcpkg_copy_pdbs() + +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/cppgraphqlgen/copyright COPYONLY) + +vcpkg_test_cmake(PACKAGE_NAME cppgraphqlgen) diff --git a/ports/cpprestsdk/CONTROL b/ports/cpprestsdk/CONTROL index 800d54d421..e5da66ef70 100644 --- a/ports/cpprestsdk/CONTROL +++ b/ports/cpprestsdk/CONTROL @@ -1,10 +1,18 @@ Source: cpprestsdk -Version: 2.10.6-3 +Version: 2.10.7 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) 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: websockets +Default-Features: default-features + +Feature: default-features +Build-Depends: cpprestsdk[brotli] (windows), cpprestsdk[websockets] +Description: Features installed by default Feature: websockets Build-Depends: websocketpp (!uwp), openssl (!uwp), boost-system (!uwp), boost-date-time (!uwp), boost-regex (!uwp) Description: Websockets support + +Feature: brotli +Build-Depends: brotli +Description: Brotli compression support diff --git a/ports/cpprestsdk/portfile.cmake b/ports/cpprestsdk/portfile.cmake index c94b01b806..d6390836cb 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.6 - SHA512 f0848f329df80ced68132600914f0f4ba1ed42c7c16188e0f2bd41cf0c50173c27ca42c8db72ff239ca881bc8789fa4d1e3189c492832f6c22d36d504b7ce8dd + REF v2.10.8 + SHA512 d80a7db59cfe81d8e0c645acff7bcc2ed9ad04e2f3d14dc4ab2a624290d0ea43a2c7adebb54b52a166fd07375352cfd5f1fe244d7c062ce94ec60b977437b2df HEAD_REF master ) @@ -21,6 +21,11 @@ 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() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH}/Release PREFER_NINJA @@ -37,18 +42,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -if (EXISTS "${CURRENT_PACKAGES_DIR}/lib/share") # transition - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/share/cpprestsdk) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/share ${CURRENT_PACKAGES_DIR}/lib/share) -else() - vcpkg_fixup_cmake_targets() # v2.10.6 and below -endif() - - +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/share/cpprestsdk) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/share ${CURRENT_PACKAGES_DIR}/lib/share) file(INSTALL ${SOURCE_PATH}/license.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/cpprestsdk RENAME copyright) vcpkg_copy_pdbs() - diff --git a/ports/cppzmq/CONTROL b/ports/cppzmq/CONTROL index e970bac539..d54de7494d 100644 --- a/ports/cppzmq/CONTROL +++ b/ports/cppzmq/CONTROL @@ -1,4 +1,4 @@ Source: cppzmq -Version: 4.2.2-1 +Version: 4.3.0-1 Build-Depends: zeromq Description: lightweight messaging kernel, C++ bindings diff --git a/ports/cppzmq/portfile.cmake b/ports/cppzmq/portfile.cmake index 282a86dfd6..cd281513af 100644 --- a/ports/cppzmq/portfile.cmake +++ b/ports/cppzmq/portfile.cmake @@ -1,24 +1,24 @@ -#header-only library include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/cppzmq - REF v4.2.2 - SHA512 5f61ea4a16987c1363c3029cf46b3e83ddd86d65e8d639b0332d691f8fdb5cee121b5d72a9b8c89221daf52ea5892219e0bc4ea4e761bb1e7deb1659011dd3c9 + REF v4.3.0 + SHA512 c9e08e48795b9043c689ffa6953ac59e0fe79d9110d79e06609ab67bf76bea52147b59ecf033f7a06e57d5eb0c3c6bc79634af789966ff22d7d80091d19b135d HEAD_REF master ) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS -DCPPZMQ_BUILD_TESTS=OFF ) vcpkg_install_cmake() vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake/cppzmq) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/share/cppzmq/libzmq-pkg-config) # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/cppzmq) diff --git a/ports/ctre/CONTROL b/ports/ctre/CONTROL new file mode 100644 index 0000000000..3351ecf258 --- /dev/null +++ b/ports/ctre/CONTROL @@ -0,0 +1,3 @@ +Source: ctre +Version: 2.2-1 +Description: A Compile time PCRE (almost) compatible regular expression matcher diff --git a/ports/ctre/portfile.cmake b/ports/ctre/portfile.cmake new file mode 100644 index 0000000000..76a4a7857d --- /dev/null +++ b/ports/ctre/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO hanickadot/compile-time-regular-expressions + REF v2.2 + SHA512 f6f18e3e5bc654ff94cd540a3b665615151678541575dfc8d4113c317fba5ea83f57694dc330c174110e6263c9b64a128f2a9234cc626a952e7518c423fda703 + HEAD_REF master +) + +# Install header files +file(INSTALL ${SOURCE_PATH}/include DESTINATION ${CURRENT_PACKAGES_DIR}) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/ctre RENAME copyright) diff --git a/ports/cub/CONTROL b/ports/cub/CONTROL new file mode 100644 index 0000000000..7c62c25a2d --- /dev/null +++ b/ports/cub/CONTROL @@ -0,0 +1,4 @@ +Source: cub +Version: 1.8.0 +Description: CUB is a flexible library of cooperative threadblock primitives and other utilities for CUDA kernel programming +Build-Depends: cuda diff --git a/ports/cub/portfile.cmake b/ports/cub/portfile.cmake new file mode 100644 index 0000000000..302bfb706e --- /dev/null +++ b/ports/cub/portfile.cmake @@ -0,0 +1,12 @@ +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO NVlabs/cub + REF v1.8.0 + SHA512 c4ba51ca4e369c8ef87bc411aa011470478fcc2526b667f088e9ac8c62e6532dc2368e869f5147b56f22b3e8718c7276434c3294d9d67cb3a92c700d163e8fa7 + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/cub/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/cub) + +configure_file(${SOURCE_PATH}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/cub/copyright COPYONLY) diff --git a/ports/curl/CONTROL b/ports/curl/CONTROL index 95040eba1f..f76c991245 100644 --- a/ports/curl/CONTROL +++ b/ports/curl/CONTROL @@ -1,9 +1,8 @@ Source: curl -Version: 7.61.1-1 +Version: 7.61.1-2 Build-Depends: zlib Description: A library for transferring data with URLs Default-Features: ssl -# For WINSSL add set(CURL_USE_WINSSL ON) to your triplet file Feature: tool Description: Builds curl executable @@ -16,9 +15,21 @@ Build-Depends: nghttp2, curl[ssl] Description: HTTP2 support Feature: ssl -Build-Depends: openssl -Description: SSL support +Build-Depends: curl[openssl] (!windows), curl[winssl] (windows) +Description: Default SSL backend Feature: ssh Build-Depends: libssh2, curl[non-http] Description: SSH support via libssh2 + +# SSL backends +Feature: openssl +Build-Depends: openssl +Description: SSL support (OpenSSL) + +Feature: winssl +Description: SSL support (Secure Channel / "WinSSL") + +Feature: mbedtls +Build-Depends: mbedtls +Description: SSL support (mbedTLS) diff --git a/ports/curl/portfile.cmake b/ports/curl/portfile.cmake index 0b156c4d08..534a54aea0 100644 --- a/ports/curl/portfile.cmake +++ b/ports/curl/portfile.cmake @@ -7,15 +7,15 @@ vcpkg_from_github( SHA512 09fa3c87f8d516eabe3241247a5094c32ee0481961cf85bf78ecb13acdf23bb2ec82f113d2660271d22742c79e76d73fb122730fa28e34c7f5477c05a4a6534c HEAD_REF master PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001_cmake.patch - ${CMAKE_CURRENT_LIST_DIR}/0002_fix_uwp.patch - ${CMAKE_CURRENT_LIST_DIR}/0003_fix_libraries.patch - ${CMAKE_CURRENT_LIST_DIR}/0004_nghttp2_staticlib.patch + 0001_cmake.patch + 0002_fix_uwp.patch + 0003_fix_libraries.patch + 0004_nghttp2_staticlib.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CURL_STATICLIB) -# Support HTTP2 TSL Download https://curl.haxx.se/ca/cacert.pem rename to curl-ca-bundle.crt, copy it to libcurl.dll location. +# Support HTTP2 TLS Download https://curl.haxx.se/ca/cacert.pem rename to curl-ca-bundle.crt, copy it to libcurl.dll location. set(HTTP2_OPTIONS) if("http2" IN_LIST FEATURES) set(HTTP2_OPTIONS -DUSE_NGHTTP2=ON) @@ -23,13 +23,21 @@ endif() # SSL set(USE_OPENSSL OFF) +if("openssl" IN_LIST FEATURES) + set(USE_OPENSSL ON) +endif() + set(USE_WINSSL OFF) -if("ssl" IN_LIST FEATURES) - if(CURL_USE_WINSSL) - set(USE_WINSSL ON) - else() - set(USE_OPENSSL ON) +if("winssl" IN_LIST FEATURES) + if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "winssl is not supported on non-Windows platforms") endif() + set(USE_WINSSL ON) +endif() + +set(USE_MBEDTLS OFF) +if("mbedtls" IN_LIST FEATURES) + set(USE_MBEDTLS ON) endif() # SSH @@ -64,7 +72,7 @@ endif() vcpkg_find_acquire_program(PERL) get_filename_component(PERL_PATH ${PERL} DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${PERL_PATH}") +vcpkg_add_to_path(${PERL_PATH}) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} @@ -78,6 +86,7 @@ vcpkg_configure_cmake( -DCURL_STATICLIB=${CURL_STATICLIB} -DCMAKE_USE_OPENSSL=${USE_OPENSSL} -DCMAKE_USE_WINSSL=${USE_WINSSL} + -DCMAKE_USE_MBEDTLS=${USE_MBEDTLS} -DCMAKE_USE_LIBSSH2=${USE_LIBSSH2} -DHTTP_ONLY=${USE_HTTP_ONLY} OPTIONS_RELEASE diff --git a/ports/cutelyst2/CONTROL b/ports/cutelyst2/CONTROL new file mode 100644 index 0000000000..888883a447 --- /dev/null +++ b/ports/cutelyst2/CONTROL @@ -0,0 +1,4 @@ +Source: cutelyst2 +Version: 2.5.2-1 +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/portfile.cmake b/ports/cutelyst2/portfile.cmake new file mode 100644 index 0000000000..118129e27c --- /dev/null +++ b/ports/cutelyst2/portfile.cmake @@ -0,0 +1,48 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO cutelyst/cutelyst + REF 7f594d2b2d227e9e6a0474a55906db7d1ee1cd7e + SHA512 de04efd7bd9b07f7b0dd2b014eed93e26f0760ef8e458f8c56dc655977235f237bbc71cfe1c05d6791c2237073497ca4566548327ad01b99b4dbec7c491542c7 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTS:BOOL=OFF +) + +vcpkg_install_cmake() + +# Move CMake config files to the right place +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/Cutelyst2Qt5 TARGET_PATH share/cutelyst2qt5) + +file(GLOB EXES ${CURRENT_PACKAGES_DIR}/bin/cutelyst2 ${CURRENT_PACKAGES_DIR}/bin/cutelyst2-wsgi ${CURRENT_PACKAGES_DIR}/bin/cutelyst2.exe ${CURRENT_PACKAGES_DIR}/bin/cutelyst-wsgi2.exe) +file(GLOB DEBUG_EXES ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2 ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2-wsgi ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2.exe ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst-wsgi2.exe) +if(EXES OR DEBUG_EXES) + file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/cutelyst2) + file(REMOVE ${EXES} ${DEBUG_EXES}) + vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/cutelyst2) +endif() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cutelyst2-plugins/ActionREST.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cutelyst2-plugins ${CURRENT_PACKAGES_DIR}/bin/cutelyst2-plugins) +endif() +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/cutelyst2-plugins/ActionREST.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/cutelyst2-plugins ${CURRENT_PACKAGES_DIR}/debug/bin/cutelyst2-plugins) +endif() + +file(GLOB BINS ${CURRENT_PACKAGES_DIR}/bin/* ${CURRENT_PACKAGES_DIR}/debug/bin/*) +if(NOT BINS) + 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) + +# Handle copyright +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/cutelyst2/copyright COPYONLY) + +vcpkg_copy_pdbs() diff --git a/ports/cxxopts/CONTROL b/ports/cxxopts/CONTROL index 915124fb98..6b3928ce18 100644 --- a/ports/cxxopts/CONTROL +++ b/ports/cxxopts/CONTROL @@ -1,3 +1,3 @@ Source: cxxopts -Version: 2.1.0-1 +Version: 2.1.1 Description: This is a lightweight C++ option parser library, supporting the standard GNU style syntax for options diff --git a/ports/cxxopts/portfile.cmake b/ports/cxxopts/portfile.cmake index 40d240b37b..0710eb09bd 100644 --- a/ports/cxxopts/portfile.cmake +++ b/ports/cxxopts/portfile.cmake @@ -2,8 +2,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO jarro2783/cxxopts - REF v2.1.0 - SHA512 b3549bb36fd3cb27b30a7164992ce19ddf129e7ee071956d58047101e4181cd9f08c8dd4c5e2d5499628deeb52a40bbc2fecfe68e9875c07396e6b7434161603 + REF v2.1.1 + SHA512 1da6ed65c3e0ee3e0beb39a5d0bccf6e32f44bbb37f8e849ada1421f03630981e4ede6d9966284bb642af6e75c71a1c9f7c9262ba9578d183d4514c011cbfa8e HEAD_REF master ) diff --git a/ports/devil/CONTROL b/ports/devil/CONTROL index cddc992228..18d263348a 100644 --- a/ports/devil/CONTROL +++ b/ports/devil/CONTROL @@ -1,5 +1,5 @@ Source: devil -Version: 1.8.0-2 +Version: 1.8.0-3 Build-Depends: Description: A full featured cross-platform image library Default-Features: libpng, tiff, libjpeg, openexr, jasper, lcms diff --git a/ports/devil/portfile.cmake b/ports/devil/portfile.cmake index e49507386a..ff4e7ee0c0 100644 --- a/ports/devil/portfile.cmake +++ b/ports/devil/portfile.cmake @@ -1,11 +1,9 @@ include(vcpkg_common_functions) -set(DEVIL_VERSION 1.8.0) - vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO DentonW/DevIL - REF v${DEVIL_VERSION} + REF v1.8.0 SHA512 4aed5e50a730ece8b1eb6b2f6204374c6fb6f5334cf7c880d84c0f79645ea7c6b5118f57a7868a487510fc59c452f51472b272215d4c852f265f58b5857e17c7 HEAD_REF master PATCHES @@ -20,7 +18,7 @@ if("libpng" IN_LIST FEATURES) endif() set(IL_NO_TIF 1) -if("libtiff" IN_LIST FEATURES) +if("tiff" IN_LIST FEATURES) set(IL_NO_TIF 0) endif() diff --git a/ports/directxmesh/CONTROL b/ports/directxmesh/CONTROL index e625af354a..728f61b5f8 100644 --- a/ports/directxmesh/CONTROL +++ b/ports/directxmesh/CONTROL @@ -1,3 +1,3 @@ Source: directxmesh -Version: aug2018 +Version: oct2018 Description: DirectXMesh geometry processing library \ No newline at end of file diff --git a/ports/directxmesh/portfile.cmake b/ports/directxmesh/portfile.cmake index 4263b2aa87..81adb18b6a 100644 --- a/ports/directxmesh/portfile.cmake +++ b/ports/directxmesh/portfile.cmake @@ -12,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXMesh - REF aug2018 - SHA512 5aaafd434024327b9ab59eab7f0247a5e0d439e5cad22929adc78edd41ac987c5da70e3ae26637beea923333651ceae3127f1ff274aad3497948508a1a8b1912 + REF oct2018 + SHA512 eb96fa3104932650bff3b051005e84f1eb52c135085ec1f4f56b7bbd99300ca600721cd18c3a9c8d4334e3280369df7d1d92ab6556fc82c72e1a54d04853331a HEAD_REF master ) diff --git a/ports/directxtex/CONTROL b/ports/directxtex/CONTROL index 3196c68b18..05edc22388 100644 --- a/ports/directxtex/CONTROL +++ b/ports/directxtex/CONTROL @@ -1,3 +1,3 @@ Source: directxtex -Version: aug2018b +Version: oct2018 Description: DirectXTex texture processing library \ No newline at end of file diff --git a/ports/directxtex/portfile.cmake b/ports/directxtex/portfile.cmake index bcdeebfbda..a5d6deca51 100644 --- a/ports/directxtex/portfile.cmake +++ b/ports/directxtex/portfile.cmake @@ -12,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTex - REF aug2018b - SHA512 51ccd4855d399db4980a0f859da25e9473cf5b4ae44f2594b13ba7813d4fd3f4c424ce750ca0b096e40999c935269522fb6bfe2b2e1910f0f8a6c6c1ea76c399 + REF oct2018 + SHA512 6bb395c92ca60af03fb3b86dd64542feb0a633b49386a438d0e73f108a4af60913bd695a1c90069eeb83df4ec49289e1a8ae3ac131ddca372eb6dd20d14590d7 HEAD_REF master ) diff --git a/ports/directxtk/CONTROL b/ports/directxtk/CONTROL index 1f0637c447..100f7f99a7 100644 --- a/ports/directxtk/CONTROL +++ b/ports/directxtk/CONTROL @@ -1,3 +1,3 @@ Source: directxtk -Version: aug2018 +Version: oct2018b 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 5ef37d1f29..2e6267bad3 100644 --- a/ports/directxtk/portfile.cmake +++ b/ports/directxtk/portfile.cmake @@ -12,8 +12,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Microsoft/DirectXTK - REF aug2018 - SHA512 9408916864900a098bb77244144c71d1786b3fe76468c50a92fbf21f71407c7f7c6834d9e69a13b4b93161362252599ccb12f6a87b6ca7a8b23d12e6e73dd166 + REF oct2018b + SHA512 d9eb0d0537dd6638bfe089bbaa77ad4c4065d43c53143686e60b8c62814f1c7a0fc9a0361a418b1f0fa0881faa14c92c604fffb6670dd8c1260e67d56fea9bab HEAD_REF master ) diff --git a/ports/discord-rpc/CONTROL b/ports/discord-rpc/CONTROL index ea7bc5d235..b6af1dc984 100644 --- a/ports/discord-rpc/CONTROL +++ b/ports/discord-rpc/CONTROL @@ -1,4 +1,4 @@ Source: discord-rpc -Version: 3.3.0-1 +Version: 3.3.0-2 Description: Rich Presence allows you to leverage the totally overhauled "Now Playing" section in a Discord user's profile to help people play your game together. Build-Depends: rapidjson diff --git a/ports/discord-rpc/disable-downloading.patch b/ports/discord-rpc/disable-downloading.patch new file mode 100644 index 0000000000..bb85049608 --- /dev/null +++ b/ports/discord-rpc/disable-downloading.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5dad9e9..961f02d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,6 +12,7 @@ file(GLOB_RECURSE ALL_SOURCE_FILES + src/*.cpp src/*.h src/*.c + ) + ++if(0) + # Set CLANG_FORMAT_SUFFIX if you are using custom clang-format, e.g. clang-format-5.0 + find_program(CLANG_FORMAT_CMD clang-format${CLANG_FORMAT_SUFFIX}) + +@@ -43,7 +44,7 @@ if (NOT RAPIDJSONTEST) + ) + file(REMOVE ${RJ_TAR_FILE}) + endif(NOT RAPIDJSONTEST) +- ++endif() + find_file(RAPIDJSON NAMES rapidjson rapidjson-1.1.0 PATHS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty CMAKE_FIND_ROOT_PATH_BOTH) + + add_library(rapidjson STATIC IMPORTED ${RAPIDJSON}) diff --git a/ports/discord-rpc/portfile.cmake b/ports/discord-rpc/portfile.cmake index 1fc21e8e6c..1dd6d30010 100644 --- a/ports/discord-rpc/portfile.cmake +++ b/ports/discord-rpc/portfile.cmake @@ -6,6 +6,7 @@ vcpkg_from_github( REF v3.3.0 SHA512 8bb2674edefabf75670ceca29364d69e2002152bff9fe55757f4cda03544b4d827ff33595d98e6d8acdc73ca61cef8ab8054ad0a1ffc905cb26496068b15025f HEAD_REF master + PATCHES disable-downloading.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT) @@ -21,6 +22,10 @@ vcpkg_configure_cmake( -DRAPIDJSON=${CURRENT_INSTALLED_DIR} ) +if(EXISTS ${SOURCE_PATH}/thirdparty) + message(FATAL_ERROR "The source directory should not be modified during the build.") +endif() + vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/eastl/CONTROL b/ports/eastl/CONTROL index c45a2c7402..5674e0345e 100644 --- a/ports/eastl/CONTROL +++ b/ports/eastl/CONTROL @@ -1,4 +1,4 @@ Source: eastl -Version: 3.12.01 +Version: 3.12.04 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/portfile.cmake b/ports/eastl/portfile.cmake index ddc5950b64..c090f0fa86 100644 --- a/ports/eastl/portfile.cmake +++ b/ports/eastl/portfile.cmake @@ -8,8 +8,8 @@ set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/eastl) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO electronicarts/EASTL - REF 3.12.01 - SHA512 22053823299386337934abb473be5bad4766db571656ee8f93eb04f6079c1860fd598ae8b7a955ca5dcf26661370d558aaf35037c989ec5a976feae87a445aad + REF 3.12.04 + SHA512 99e8fdc5fb589410187f3538b6f491bc6f988babcb29b74be90a938ba6c94ad1b16d55ff62ddcf5ae539c67f473d43a6af581278b8b39d0d8686b0161dd0e5cf HEAD_REF master ) diff --git a/ports/easyloggingpp/CONTROL b/ports/easyloggingpp/CONTROL new file mode 100644 index 0000000000..3f462dfbdd --- /dev/null +++ b/ports/easyloggingpp/CONTROL @@ -0,0 +1,3 @@ +Source: easyloggingpp +Version: 9.96.5-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 new file mode 100644 index 0000000000..ecb6787462 --- /dev/null +++ b/ports/easyloggingpp/portfile.cmake @@ -0,0 +1,23 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO muflihun/easyloggingpp + REF v9.96.5 + SHA512 51493693095df03f8772174a8ec4fc681832319bd723224a544539efdcf73c7653d3973ec0ae0cd004e496bf98c105c278e4a72694ebf34b207c658b3225a87b + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -Dbuild_static_lib=ON +) +vcpkg_install_cmake() + +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/easyloggingpp RENAME copyright) diff --git a/ports/ecsutil/CONTROL b/ports/ecsutil/CONTROL index fada181acb..c96e1b0b8e 100644 --- a/ports/ecsutil/CONTROL +++ b/ports/ecsutil/CONTROL @@ -1,4 +1,4 @@ Source: ecsutil -Version: 1.0.1.2-1 +Version: 1.0.1.4 Description: Native Windows SDK for accessing ECS via the S3 HTTP protocol. Build-Depends: atlmfc diff --git a/ports/ecsutil/NoLibSyms.patch b/ports/ecsutil/NoLibSyms.patch new file mode 100644 index 0000000000..e4f7e77bdf --- /dev/null +++ b/ports/ecsutil/NoLibSyms.patch @@ -0,0 +1,41 @@ + 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 4a8e48b2ba..0dc5fa8fa2 100644 --- a/ports/ecsutil/portfile.cmake +++ b/ports/ecsutil/portfile.cmake @@ -28,10 +28,10 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO EMCECS/ecs-object-client-windows-cpp - REF v1.0.1.2 - SHA512 ee6c9086111f9cb4a3b9b0645a6a8921bae1d3e8fba0d054d824935b0ff82a57db5c1476183202694afe33f89bfc47db1ef91696a739a1a43a1e2411e4361e6f + REF v1.0.1.4 + SHA512 796ed227268cd92fce3eba2a842260d552222900b1df1261200032a7678a48776388dd566f408df2ee4dbc0cee39b70090d524a99e6741e0c8f92594d207761a HEAD_REF master - PATCHES disable-setversion.patch + PATCHES NoLibSyms.patch ) vcpkg_install_msbuild( @@ -44,6 +44,10 @@ vcpkg_install_msbuild( DEBUG_CONFIGURATION ${ECSUtil_CONFIGURATION_DEBUG} ) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + file(COPY ${SOURCE_PATH}/ECSUtil DESTINATION ${CURRENT_PACKAGES_DIR}/include FILES_MATCHING PATTERN *.h) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/ECSUtil/res ${CURRENT_PACKAGES_DIR}/tools) file(REMOVE ${CURRENT_PACKAGES_DIR}/bin/NatvisAddIn.dll ${CURRENT_PACKAGES_DIR}/debug/bin/NatvisAddIn.dll) diff --git a/ports/egl-registry/CONTROL b/ports/egl-registry/CONTROL index c1187a6bfa..dc7cdec795 100644 --- a/ports/egl-registry/CONTROL +++ b/ports/egl-registry/CONTROL @@ -1,3 +1,3 @@ Source: egl-registry -Version: 2018-06-30 +Version: 2018-06-30-1 Description: the EGL API and Extension Registry diff --git a/ports/egl-registry/portfile.cmake b/ports/egl-registry/portfile.cmake index 1278e2c923..ee6fc23dc8 100644 --- a/ports/egl-registry/portfile.cmake +++ b/ports/egl-registry/portfile.cmake @@ -15,6 +15,12 @@ file( DESTINATION ${CURRENT_PACKAGES_DIR}/include ) +file( + COPY + ${SOURCE_PATH}/api/egl.xml + DESTINATION ${CURRENT_PACKAGES_DIR}/share/egl-registry +) + file( INSTALL ${SOURCE_PATH}/sdk/docs/man/copyright.xml DESTINATION ${CURRENT_PACKAGES_DIR}/share/egl-registry diff --git a/ports/entt/CONTROL b/ports/entt/CONTROL index 1e0e1410f6..3489f8e78e 100644 --- a/ports/entt/CONTROL +++ b/ports/entt/CONTROL @@ -1,3 +1,3 @@ Source: entt -Version: cpp14 +Version: 2.7.3-1 Description: Gaming meets modern C++ - a fast and reliable entity-component system and much more. diff --git a/ports/entt/portfile.cmake b/ports/entt/portfile.cmake index 05462c4532..e69ed624fa 100644 --- a/ports/entt/portfile.cmake +++ b/ports/entt/portfile.cmake @@ -4,15 +4,27 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO skypjack/entt - REF cpp14 - SHA512 aa3ced9084a0a973ed5c9384ab3950c8ed54239df7ae605600d8cd7c2774c4173d16ad5ea7442751dfbc675f881cab952844ba794fdf464710a85fc9d77a8a5d + REF v2.7.3 + SHA512 ffdb26f43ebf0090eed5de589df4194282e2ab89e5014bfe4acc2670729b86c93ea85e25b4b1e72de975287b8f0aa9e72d89e1cfb649e0a0f4f72838b00e5215 + HEAD_REF master ) -file(INSTALL - ${SOURCE_PATH}/src/entt - DESTINATION ${CURRENT_PACKAGES_DIR}/include +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DBUILD_TESTING=OFF ) -# Handle copyright/readme/package files +vcpkg_install_cmake() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +else() + vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/entt) +endif() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) + +# Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/entt RENAME copyright) -file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/entt) diff --git a/ports/exiv2/CONTROL b/ports/exiv2/CONTROL index 7a09655f2c..35b2bce9d9 100644 --- a/ports/exiv2/CONTROL +++ b/ports/exiv2/CONTROL @@ -1,4 +1,4 @@ Source: exiv2 -Version: 2018-10-25 +Version: 2018-11-08 Build-Depends: zlib, expat, libiconv Description: Image metadata library and tools http://www.exiv2.org diff --git a/ports/exiv2/portfile.cmake b/ports/exiv2/portfile.cmake index 44930d2fa9..e046e0bde6 100644 --- a/ports/exiv2/portfile.cmake +++ b/ports/exiv2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO Exiv2/exiv2 - REF dc086d2ebbb04817458b214708c5038600e96095 - SHA512 8a3dc2d948a31f6355f8c23620f4730599379fe83a6cacfe1c88d45f35cfd4a2e37c6e0c36e951961b3b9083aef9b881ccee1989c6f139e699e04db1f2d9dba9 + REF 274ef04f7ebbff567135e732434c9c8353265d6c + SHA512 8e8d32a4c51da2a61026a4541885da72df88c3e30452944c5e2d2d8e6d8d03dcdea72c4e3bfe9673554453ddc547651d160cfba2bfab1450a1770f4af2be740a HEAD_REF master PATCHES iconv.patch ) diff --git a/ports/fastrtps/CONTROL b/ports/fastrtps/CONTROL index 97748211c1..c80f7638c7 100644 --- a/ports/fastrtps/CONTROL +++ b/ports/fastrtps/CONTROL @@ -1,4 +1,4 @@ Source: fastrtps -Version: 1.5.0-1 +Version: 1.5.0-2 Description: Eprosima Fast RTPS is a C++ implementation of the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium. Build-Depends: openssl, asio, tinyxml2 \ No newline at end of file diff --git a/ports/fastrtps/namespace_tinyxml2.patch b/ports/fastrtps/namespace_tinyxml2.patch new file mode 100644 index 0000000000..3df65996f4 --- /dev/null +++ b/ports/fastrtps/namespace_tinyxml2.patch @@ -0,0 +1,17 @@ +diff --git a/cmake/modules/FindTinyXML2.cmake b/cmake/modules/FindTinyXML2.cmake +index 24aa98a..4e2188e 100644 +--- a/cmake/modules/FindTinyXML2.cmake ++++ b/cmake/modules/FindTinyXML2.cmake +@@ -7,10 +7,10 @@ option(TINYXML2_FROM_SOURCE "Integrate TinyXML2 source code inside Fast RTPS" OF + find_package(TinyXML2 CONFIG QUIET) + if(TinyXML2_FOUND) + message(STATUS "Found TinyXML2: ${TinyXML2_DIR}") +- if(NOT TINYXML2_LIBRARY AND TARGET tinyxml2) ++ if(NOT TINYXML2_LIBRARY AND TARGET tinyxml2::tinyxml2) + # in this case, we're probably using TinyXML2 version 5.0.0 or greater + # in which case tinyxml2 is an exported target and we should use that +- set(TINYXML2_LIBRARY tinyxml2) ++ set(TINYXML2_LIBRARY tinyxml2::tinyxml2) + endif() + else() + if(THIRDPARTY) diff --git a/ports/fastrtps/portfile.cmake b/ports/fastrtps/portfile.cmake index 8111de74df..9aed75f5bf 100644 --- a/ports/fastrtps/portfile.cmake +++ b/ports/fastrtps/portfile.cmake @@ -6,7 +6,9 @@ vcpkg_from_github( REF b1779b608c7b5b2dcb101728f4213c58bdde74ee # waiting for next release SHA512 9ec4a1e41296df1c0bc00926d925e0947602fabb68e9b28311e92739b0e1909a2993b15fc05eb31aeb9842ed50127f8d56571d09e57dd64ac6f37d0fed6cea73 HEAD_REF master - PATCHES fix-install.patch + PATCHES + fix-install.patch + namespace_tinyxml2.patch ) vcpkg_configure_cmake( diff --git a/ports/fdlibm/CMakeLists.txt b/ports/fdlibm/CMakeLists.txt new file mode 100644 index 0000000000..c31f04ab4a --- /dev/null +++ b/ports/fdlibm/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.8) +project(fdlibm C) + +file(GLOB fdlibm_SOURCES "*.c") + +include_directories(".") + +if(WIN32) +set(fdlibm_SOURCES ${fdlibm_SOURCES} libm5.def) +endif() + + +add_library(fdlibm ${fdlibm_SOURCES}) + +install( + TARGETS fdlibm + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib/manual-link + ARCHIVE DESTINATION lib/manual-link +) + +if(NOT DISABLE_INSTALL_HEADERS) + install( + FILES + fdlibm.h + DESTINATION include + ) +endif() diff --git a/ports/fdlibm/CONTROL b/ports/fdlibm/CONTROL new file mode 100644 index 0000000000..e519980bb6 --- /dev/null +++ b/ports/fdlibm/CONTROL @@ -0,0 +1,3 @@ +Source: fdlibm +Version: 5.3-2 +Description: FDLIBM (Freely Distributable LIBM) is a C math library for machines that support IEEE 754 floating-point arithmetic diff --git a/ports/fdlibm/libm5.def b/ports/fdlibm/libm5.def new file mode 100644 index 0000000000..2de0ad485b --- /dev/null +++ b/ports/fdlibm/libm5.def @@ -0,0 +1,88 @@ +EXPORTS + __ieee754_acos @ 1 ; + __ieee754_acosh @ 2 ; + __ieee754_asin @ 3 ; + __ieee754_atan2 @ 4 ; + __ieee754_atanh @ 5 ; + __ieee754_cosh @ 6 ; + __ieee754_exp @ 7 ; + __ieee754_fmod @ 8 ; + __ieee754_gamma @ 9 ; + __ieee754_gamma_r @ 10 ; + __ieee754_hypot @ 11 ; + __ieee754_j0 @ 12 ; + __ieee754_j1 @ 13 ; + __ieee754_jn @ 14 ; + __ieee754_lgamma @ 15 ; + __ieee754_lgamma_r @ 16 ; + __ieee754_log @ 17 ; + __ieee754_log10 @ 18 ; + __ieee754_pow @ 19 ; + __ieee754_rem_pio2 @ 20 ; + __ieee754_remainder @ 21 ; + __ieee754_scalb @ 22 ; + __ieee754_sinh @ 23 ; + __ieee754_sqrt @ 24 ; + __ieee754_y0 @ 25 ; + __ieee754_y1 @ 26 ; + __ieee754_yn @ 27 ; + __kernel_cos @ 28 ; + __kernel_rem_pio2 @ 29 ; + __kernel_sin @ 30 ; + __kernel_standard @ 31 ; + __kernel_tan @ 32 ; + _fdlib_version @ 33 DATA ; + acos @ 34 ; + acosh @ 35 ; + asin @ 36 ; + asinh @ 37 ; + atan @ 38 ; + atan2 @ 39 ; + atanh @ 40 ; + cbrt @ 41 ; + ceil @ 42 ; + copysign @ 43 ; + cos @ 44 ; + cosh @ 45 ; + erf @ 46 ; + erfc @ 47 ; + exp @ 48 ; + expm1 @ 49 ; + fabs @ 50 ; + ieee_finite @ 51 ; + floor @ 52 ; + fmod @ 53 ; + frexp @ 54 ; + ieee_gamma @ 55 ; + ieee_gamma_r @ 56 ; + hypot @ 57 ; + ilogb @ 58 ; + ieee_isnan @ 59 ; + j0 @ 60 ; + j1 @ 61 ; + jn @ 62 ; + ldexp @ 63 ; + ieee_lgamma @ 64 ; + ieee_lgamma_r @ 65 ; + log @ 66 ; + log10 @ 67 ; + log1p @ 68 ; + logb @ 69 ; + ieee_matherr @ 70 ; + modf @ 71 ; + nextafter @ 72 ; + pow @ 73 ; + remainder @ 74 ; + rint @ 75 ; + ieee_scalb @ 76 ; + scalbn @ 77 ; + signgam @ 78 DATA ; + ieee_significand @ 79 ; + sin @ 80 ; + sinh @ 81 ; + sqrt @ 82 ; + tan @ 83 ; + tanh @ 84 ; + y0 @ 85 ; + y1 @ 86 ; + yn @ 87 ; diff --git a/ports/fdlibm/portfile.cmake b/ports/fdlibm/portfile.cmake new file mode 100644 index 0000000000..6e528f3686 --- /dev/null +++ b/ports/fdlibm/portfile.cmake @@ -0,0 +1,24 @@ +include(vcpkg_common_functions) + +vcpkg_from_git( + OUT_SOURCE_PATH SOURCE_PATH + URL https://android.googlesource.com/platform/external/fdlibm + REF 59f7335e4dd8275a7dc2f8aeb4fd00758fde37ac + SHA512 bc788c840a57716f996513980d31b203bd86ce9af1ac3656a187266bfdc2fbb22a9ddf88f79ffc91dd75f3f1f1e4fd3449a42b566ffe5e49e9384efd91a68613 +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/libm5.def DESTINATION ${SOURCE_PATH}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +# Handle copyright +configure_file(${SOURCE_PATH}/NOTICE ${CURRENT_PACKAGES_DIR}/share/fdlibm/copyright COPYONLY) diff --git a/ports/fftw3/CONTROL b/ports/fftw3/CONTROL index fd9e597660..a0ed881241 100644 --- a/ports/fftw3/CONTROL +++ b/ports/fftw3/CONTROL @@ -1,3 +1,3 @@ Source: fftw3 -Version: 3.3.7-2 +Version: 3.3.8 Description: FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). diff --git a/ports/fftw3/portfile.cmake b/ports/fftw3/portfile.cmake index 2cf78f44ca..ca3201ec3a 100644 --- a/ports/fftw3/portfile.cmake +++ b/ports/fftw3/portfile.cmake @@ -1,5 +1,5 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fftw-3.3.7) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/fftw-3.3.8) # This can be removed in the next source code update if(EXISTS "${SOURCE_PATH}/CMakeLists.txt") @@ -10,9 +10,9 @@ if(EXISTS "${SOURCE_PATH}/CMakeLists.txt") endif() vcpkg_download_distfile(ARCHIVE - URLS "http://www.fftw.org/fftw-3.3.7.tar.gz" - FILENAME "fftw-3.3.7.tar.gz" - SHA512 a5db54293a6d711408bed5894766437eee920be015ad27023c7a91d4581e2ff5b96e3db0201e6eaccf7b064c4d32db1a2a8fab3e6813e524b4743ddd6216ba77 + URLS "http://www.fftw.org/fftw-3.3.8.tar.gz" + FILENAME "fftw-3.3.8.tar.gz" + SHA512 ab918b742a7c7dcb56390a0a0014f517a6dff9a2e4b4591060deeb2c652bf3c6868aa74559a422a276b853289b4b701bdcbd3d4d8c08943acf29167a7be81a38 ) vcpkg_extract_source_archive(${ARCHIVE}) diff --git a/ports/flatbuffers/CONTROL b/ports/flatbuffers/CONTROL index 0b90b40c2e..9dc3a871ff 100644 --- a/ports/flatbuffers/CONTROL +++ b/ports/flatbuffers/CONTROL @@ -1,4 +1,4 @@ Source: flatbuffers -Version: 1.9.0-2 +Version: 1.9.0-3 Description: Memory Efficient Serialization Library http://google.github.io/flatbuffers/ 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. diff --git a/ports/flatbuffers/no-werror.patch b/ports/flatbuffers/no-werror.patch new file mode 100644 index 0000000000..7c2d548b95 --- /dev/null +++ b/ports/flatbuffers/no-werror.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a3388dd..f0626e5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -119,12 +119,16 @@ elseif(CMAKE_COMPILER_IS_GNUCXX) + "${CMAKE_CXX_FLAGS} -std=c++0x") + endif(CYGWIN) + set(CMAKE_CXX_FLAGS +- "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror -Wextra -Werror=shadow") ++ "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Werror=shadow") + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.4) + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0) + set(CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -faligned-new") + endif() ++ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) ++ set(CMAKE_CXX_FLAGS ++ "${CMAKE_CXX_FLAGS} -Wextra") ++ endif() + set(CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -Wunused-result -Werror=unused-result -Wunused-parameter -Werror=unused-parameter") + endif() + diff --git a/ports/flatbuffers/portfile.cmake b/ports/flatbuffers/portfile.cmake index b6a0e6ba54..d98d5ce48c 100644 --- a/ports/flatbuffers/portfile.cmake +++ b/ports/flatbuffers/portfile.cmake @@ -10,7 +10,9 @@ vcpkg_from_github( REF v1.9.0 SHA512 0ba07dbe5b2fde1d0a6e14ee26ee2816062541d934eda204b846a30c019362f2626761b628c900293928b9b546dba8ca477c13182e022c3e0e0a142fd67f0696 HEAD_REF master - PATCHES ${CMAKE_CURRENT_LIST_DIR}/ignore_use_of_cmake_toolchain_file.patch + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/ignore_use_of_cmake_toolchain_file.patch + ${CMAKE_CURRENT_LIST_DIR}/no-werror.patch ) set(OPTIONS) diff --git a/ports/fmi4cpp/CONTROL b/ports/fmi4cpp/CONTROL new file mode 100644 index 0000000000..35090616d1 --- /dev/null +++ b/ports/fmi4cpp/CONTROL @@ -0,0 +1,4 @@ +Source: fmi4cpp +Version: 0.4.0 +Description: FMI 2.0 implementation written in modern C++ +Build-Depends: boost-property-tree, boost-ublas, boost-odeint, bzip2 (linux), openssl (linux), libzip diff --git a/ports/fmi4cpp/portfile.cmake b/ports/fmi4cpp/portfile.cmake new file mode 100644 index 0000000000..435ab2c51f --- /dev/null +++ b/ports/fmi4cpp/portfile.cmake @@ -0,0 +1,40 @@ +# 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 SFI-Mechatronics/FMI4cpp + REF v0.4.0 + SHA512 356485da5799a5720b3bea9bd935a76c36eb5c242cecfd2325f47175bad0eafa1e088fb1b96b639b8419e2a5a39f7b07fbe9d89d3f8e568e00b8910b7e991111 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA # Disable this option if project cannot be built with Ninja + OPTIONS + -DFMI4CPP_BUILD_TESTS=OFF + -DFMI4CPP_BUILD_EXAMPLES=OFF +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/FMI4cpp") + +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() \ No newline at end of file diff --git a/ports/folly/CONTROL b/ports/folly/CONTROL index 8b8e6cc422..1711bda034 100644 --- a/ports/folly/CONTROL +++ b/ports/folly/CONTROL @@ -1,5 +1,5 @@ Source: folly -Version: 2018.10.22.00 +Version: 2018.11.26.00 Description: An open-source C++ library developed and used at Facebook. The library is UNSTABLE on Windows Build-Depends: openssl, libevent, double-conversion, glog, gflags, boost-chrono, boost-context, boost-conversion, boost-crc, boost-date-time, boost-filesystem, boost-multi-index, boost-program-options, boost-regex, boost-system, boost-thread Default-Features: zlib diff --git a/ports/folly/find-gflags.patch b/ports/folly/find-gflags.patch index 986dd6d579..a3e0116832 100644 --- a/ports/folly/find-gflags.patch +++ b/ports/folly/find-gflags.patch @@ -1,13 +1,13 @@ -diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake -index 396fa6c..9d80d99 100644 ---- a/CMake/folly-deps.cmake -+++ b/CMake/folly-deps.cmake -@@ -22,7 +22,7 @@ list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) - list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) - - set(FOLLY_HAVE_LIBGFLAGS OFF) --find_package(GFlags CONFIG QUIET) -+find_package(gflags CONFIG REQUIRED) - if (gflags_FOUND) - message(STATUS "Found gflags from package config") - set(FOLLY_HAVE_LIBGFLAGS ON) +diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake +index 437c0cd..5530a35 100644 +--- a/CMake/folly-deps.cmake ++++ b/CMake/folly-deps.cmake +@@ -22,7 +22,7 @@ list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY}) + list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR}) + + set(FOLLY_HAVE_LIBGFLAGS OFF) +-find_package(gflags CONFIG QUIET) ++find_package(gflags CONFIG REQUIRED) + if (gflags_FOUND) + message(STATUS "Found gflags from package config") + set(FOLLY_HAVE_LIBGFLAGS ON) diff --git a/ports/folly/no-werror.patch b/ports/folly/no-werror.patch index e9ec920dce..32fbc94943 100644 --- a/ports/folly/no-werror.patch +++ b/ports/folly/no-werror.patch @@ -1,12 +1,12 @@ -diff --git a/CMake/FollyCompilerUnix.cmake b/CMake/FollyCompilerUnix.cmake -index b7d994b..a518cbe 100644 ---- a/CMake/FollyCompilerUnix.cmake -+++ b/CMake/FollyCompilerUnix.cmake -@@ -16,7 +16,6 @@ function(apply_folly_compile_options_to_target THETARGET) - -std=gnu++14 - -finput-charset=UTF-8 - -fsigned-char -- -Werror - -Wall - -Wno-deprecated - -Wdeprecated-declarations +diff --git a/CMake/FollyCompilerUnix.cmake b/CMake/FollyCompilerUnix.cmake +index a9cc2c1..de7d714 100644 +--- a/CMake/FollyCompilerUnix.cmake ++++ b/CMake/FollyCompilerUnix.cmake +@@ -34,7 +34,6 @@ function(apply_folly_compile_options_to_target THETARGET) + -std=${CXX_STD} + -finput-charset=UTF-8 + -fsigned-char +- -Werror + -Wall + -Wno-deprecated + -Wno-deprecated-declarations diff --git a/ports/folly/portfile.cmake b/ports/folly/portfile.cmake index a95b1baafc..c66599f7e2 100644 --- a/ports/folly/portfile.cmake +++ b/ports/folly/portfile.cmake @@ -17,8 +17,8 @@ vcpkg_add_to_path("${PYTHON3_DIR}") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/folly - REF v2018.10.22.00 - SHA512 ca039ee85c4269fb79ff01beb9e67a6a17220cdc997f59c5ca27514407e533f3d65c358fc5d99c5008a63d3837703db78707a04ba88093b9e63306012a5759e5 + REF v2018.11.26.00 + SHA512 7a404df7287c9a3278bc47205023881ade188a1d3ade35748ae9ae4f35485faedc9f8c0264cfd0f3565b2d5891235deda0f515946a2c313570ef41751a3693ac HEAD_REF master PATCHES find-gflags.patch diff --git a/ports/freeimage/CMakeLists.txt b/ports/freeimage/CMakeLists.txt index 9f4f1677be..997fba37a7 100644 --- a/ports/freeimage/CMakeLists.txt +++ b/ports/freeimage/CMakeLists.txt @@ -7,6 +7,9 @@ project(FreeImage C CXX) find_package(zlib REQUIRED) find_package(PNG REQUIRED) find_package(JPEG REQUIRED) +if(NOT JPEG_LIBRARY_DEBUG) + set(JPEG_LIBRARY_DEBUG ${JPEG_LIBRARY_RELEASE}) +endif() find_package(TIFF REQUIRED) find_package(OPENJPEG REQUIRED) @@ -36,9 +39,8 @@ set(ROOT_PRIVATE_HEADERS ${REAL_SOURCE_DIR}/CacheFile.h ${REAL_SOURCE_DIR}/Plugin.h ${REAL_SOURCE_DIR}/Quantizers.h ${REAL_SOURCE_DIR}/ToneMapping.h - ${REAL_SOURCE_DIR}/Utilities.h - ${REAL_SOURCE_DIR}/DeprecationManager/DeprecationMgr.h) - + ${REAL_SOURCE_DIR}/Utilities.h) + file(GLOB FREEIMAGE_PRIVATE_HEADERS ${REAL_SOURCE_DIR}/FreeImage/*.h) file(GLOB FREEIMAGE_TOOLKIT_PRIVATE_HEADERS ${REAL_SOURCE_DIR}/FreeImageToolkit/*.h) file(GLOB METADATA_PRIVATE_HEADERS ${REAL_SOURCE_DIR}/Metadata/*.h) diff --git a/ports/freeimage/CONTROL b/ports/freeimage/CONTROL index 6e8de82fc8..d8bd820e69 100644 --- a/ports/freeimage/CONTROL +++ b/ports/freeimage/CONTROL @@ -1,4 +1,4 @@ Source: freeimage -Version: 3.17.0-4 +Version: 3.18.0-2 Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openjpeg, libwebp, libraw, jxrlib, openexr Description: Support library for graphics image formats diff --git a/ports/freeimage/fix-function-overload.patch b/ports/freeimage/fix-function-overload.patch new file mode 100644 index 0000000000..adb1164f6d --- /dev/null +++ b/ports/freeimage/fix-function-overload.patch @@ -0,0 +1,40 @@ +diff --git a/Source/FreeImage/PluginJPEG.cpp b/Source/FreeImage/PluginJPEG.cpp +index 8db177d..efa2c4e 100644 +--- a/Source/FreeImage/PluginJPEG.cpp ++++ b/Source/FreeImage/PluginJPEG.cpp +@@ -503,7 +503,7 @@ marker_is_icc(jpeg_saved_marker_ptr marker) { + return FALSE. You might want to issue an error message instead. + */ + static BOOL +-jpeg_read_icc_profile(j_decompress_ptr cinfo, JOCTET **icc_data_ptr, unsigned *icc_data_len) { ++jpeg_read_icc_profile_(j_decompress_ptr cinfo, JOCTET **icc_data_ptr, unsigned *icc_data_len) { + jpeg_saved_marker_ptr marker; + int num_markers = 0; + int seq_no; +@@ -745,7 +745,7 @@ read_markers(j_decompress_ptr cinfo, FIBITMAP *dib) { + BYTE *icc_profile = NULL; + unsigned icc_length = 0; + +- if( jpeg_read_icc_profile(cinfo, &icc_profile, &icc_length) ) { ++ if( jpeg_read_icc_profile_(cinfo, &icc_profile, &icc_length) ) { + // copy ICC profile data + FreeImage_CreateICCProfile(dib, icc_profile, icc_length); + // clean up +@@ -785,7 +785,7 @@ jpeg_write_comment(j_compress_ptr cinfo, FIBITMAP *dib) { + Write JPEG_APP2 marker (ICC profile) + */ + static BOOL +-jpeg_write_icc_profile(j_compress_ptr cinfo, FIBITMAP *dib) { ++jpeg_write_icc_profile_(j_compress_ptr cinfo, FIBITMAP *dib) { + // marker identifying string "ICC_PROFILE" (null-terminated) + BYTE icc_signature[12] = { 0x49, 0x43, 0x43, 0x5F, 0x50, 0x52, 0x4F, 0x46, 0x49, 0x4C, 0x45, 0x00 }; + +@@ -1038,7 +1038,7 @@ write_markers(j_compress_ptr cinfo, FIBITMAP *dib) { + jpeg_write_comment(cinfo, dib); + + // write ICC profile +- jpeg_write_icc_profile(cinfo, dib); ++ jpeg_write_icc_profile_(cinfo, dib); + + // write IPTC profile + jpeg_write_iptc_profile(cinfo, dib); diff --git a/ports/freeimage/portfile.cmake b/ports/freeimage/portfile.cmake index db8d2537a5..6f3cfaebe0 100644 --- a/ports/freeimage/portfile.cmake +++ b/ports/freeimage/portfile.cmake @@ -2,9 +2,9 @@ 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/FreeImage3170.zip" - FILENAME "FreeImage3170.zip" - SHA512 703c2626c0bcfe73eb40d720f45745208ca9650a7730759680a2b38ad3f6c719a43008477032bc70b76a95761f7d4b6f901b961359d36b54ace906dd78fb391b + URLS "http://downloads.sourceforge.net/freeimage/FreeImage3180.zip" + FILENAME "FreeImage3180.zip" + SHA512 9d9cc7e2d57552c3115e277aeb036e0455204d389026b17a3f513da5be1fd595421655488bb1ec2f76faebed66049119ca55e26e2a6d37024b3fb7ef36ad4818 ) vcpkg_extract_source_archive(${ARCHIVE}) @@ -40,6 +40,7 @@ vcpkg_apply_patches( "${CMAKE_CURRENT_LIST_DIR}/use-external-webp.patch" "${CMAKE_CURRENT_LIST_DIR}/use-external-openexr.patch" "${CMAKE_CURRENT_LIST_DIR}/use-freeimage-config-include.patch" + "${CMAKE_CURRENT_LIST_DIR}/fix-function-overload.patch" ) vcpkg_configure_cmake( diff --git a/ports/freeimage/use-external-webp.patch b/ports/freeimage/use-external-webp.patch index ae63284311..4d1757c395 100644 --- a/ports/freeimage/use-external-webp.patch +++ b/ports/freeimage/use-external-webp.patch @@ -1,14 +1,13 @@ diff --git a/Source/FreeImage/PluginWebP.cpp b/Source/FreeImage/PluginWebP.cpp -index 9fb0b69..c401447 100644 +index 7c9f62f..c401447 100644 --- a/Source/FreeImage/PluginWebP.cpp +++ b/Source/FreeImage/PluginWebP.cpp -@@ -24,10 +24,9 @@ +@@ -24,9 +24,9 @@ #include "../Metadata/FreeImageTag.h" -#include "../LibWebP/src/webp/decode.h" -#include "../LibWebP/src/webp/encode.h" --#include "../LibWebP/src/enc/vp8enci.h" -#include "../LibWebP/src/webp/mux.h" +#include +#include diff --git a/ports/freeimage/use-freeimage-config-include.patch b/ports/freeimage/use-freeimage-config-include.patch index 4927aff5be..579f08845e 100644 --- a/ports/freeimage/use-freeimage-config-include.patch +++ b/ports/freeimage/use-freeimage-config-include.patch @@ -1,9 +1,9 @@ diff --git a/Source/FreeImage.h b/Source/FreeImage.h -index cc66b7d..cc66812 100644 +index 12182cd..86a1e68 100644 --- a/Source/FreeImage.h +++ b/Source/FreeImage.h @@ -32,6 +32,11 @@ - #define FREEIMAGE_MINOR_VERSION 17 + #define FREEIMAGE_MINOR_VERSION 18 #define FREEIMAGE_RELEASE_SERIAL 0 +// vcpkg specific includes -------------------------------------------------- diff --git a/ports/fribidi/CONTROL b/ports/fribidi/CONTROL new file mode 100644 index 0000000000..65e9a2248d --- /dev/null +++ b/ports/fribidi/CONTROL @@ -0,0 +1,3 @@ +Source: fribidi +Version: 1.0.5 +Description: GNU FriBidi is an implementation of the Unicode Bidirectional Algorithm (bidi) diff --git a/ports/fribidi/portfile.cmake b/ports/fribidi/portfile.cmake new file mode 100644 index 0000000000..d366b89ef4 --- /dev/null +++ b/ports/fribidi/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO fribidi/fribidi + REF v1.0.5 + SHA512 c51b67cc3e7610bef9a66f2456f7602fe010164c2c01e7d91026cefa4a08fdce5165b6eb3814e76cd89e766356fb71adc08bf75d9b2f5802f71c18b5d0476887 +HEAD_REF master) + +vcpkg_configure_meson(SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -Ddocs=false + --backend=ninja) + +vcpkg_install_meson() +vcpkg_copy_pdbs() + +file(GLOB EXE_FILES + "${CURRENT_PACKAGES_DIR}/bin/*.exe" + "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe" +) +if (EXE_FILES) + file(REMOVE ${EXE_FILES}) +endif() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/fribidi RENAME copyright) \ No newline at end of file diff --git a/ports/gdcm2/CONTROL b/ports/gdcm2/CONTROL index d3ff62aa77..a3a083ed88 100644 --- a/ports/gdcm2/CONTROL +++ b/ports/gdcm2/CONTROL @@ -1,4 +1,4 @@ Source: gdcm2 -Version: 2.8.8 +Version: 2.8.8-2 Description: Grassroots DICOM library -Build-Depends: zlib, expat +Build-Depends: zlib, expat, openjpeg diff --git a/ports/gdcm2/find-openjpeg.patch b/ports/gdcm2/find-openjpeg.patch new file mode 100644 index 0000000000..c3fff18f5f --- /dev/null +++ b/ports/gdcm2/find-openjpeg.patch @@ -0,0 +1,48 @@ +--- a/CMake/FindOpenJPEG.cmake ++++ b/CMake/FindOpenJPEG.cmake +@@ -20,14 +20,38 @@ + + # Try with pkg-config first + find_package(PkgConfig) +-pkg_check_modules(OPENJPEG libopenjp2) ++if (PKG_CONFIG_FOUND) ++ pkg_check_modules(OPENJPEG libopenjp2) ++ include(FindPackageHandleStandardArgs) ++ find_package_handle_standard_args(OpenJPEG REQUIRED_VARS ++ OPENJPEG_LIBRARIES ++ OPENJPEG_INCLUDE_DIRS ++ VERSION_VAR OPENJPEG_VERSION ++ ) ++endif() + +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(OpenJPEG REQUIRED_VARS +- OPENJPEG_LIBRARIES +- OPENJPEG_INCLUDE_DIRS +- VERSION_VAR OPENJPEG_VERSION +-) ++find_path(OPENJPEG_INCLUDE_DIR NAMES openjpeg.h) ++find_library(OPENJPEG_LIBRARY NAMES openjp2) ++if (OPENJPEG_LIBRARY) ++ string(FIND ${OPENJPEG_LIBRARY} debug _debug_substrpos) ++ if (_debug_substrpos EQUAL -1) ++ set(OPENJPEG_LIBRARY_RELEASE ${OPENJPEG_LIBRARY}) ++ string(REPLACE "/lib" "/debug/lib" OPENJPEG_LIBRARY_DEBUG ${OPENJPEG_LIBRARY_RELEASE}) ++ else() ++ set(OPENJPEG_LIBRARY_DEBUG ${OPENJPEG_LIBRARY}) ++ string(REPLACE "/debug/lib" "/lib" OPENJPEG_LIBRARY_RELEASE ${OPENJPEG_LIBRARY_DEBUG}) ++ endif() ++ set(OPENJPEG_LIBRARY optimized ${OPENJPEG_LIBRARY_RELEASE} debug ${OPENJPEG_LIBRARY_DEBUG}) ++ set(OPENJPEG_FOUND TRUE) ++endif() ++ ++if (OPENJPEG_FOUND) ++ set(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY}) ++ set(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR}) ++ message(STATUS "Found OPENJPEG library ${OPENJPEG_LIBRARIES}") ++else() ++ message(FATAL_ERROR "NOT found OPENJPEG") ++endif() + + mark_as_advanced( + OPENJPEG_LIBRARIES diff --git a/ports/gdcm2/portfile.cmake b/ports/gdcm2/portfile.cmake index 3bddfeff68..a6aad4e118 100644 --- a/ports/gdcm2/portfile.cmake +++ b/ports/gdcm2/portfile.cmake @@ -4,7 +4,8 @@ vcpkg_from_github( REPO malaterre/GDCM REF v2.8.8 SHA512 92efa1b85e38a5e463933c36a275e1392608c9da4d7c3ab17acfa70bfa112bc03e8705086eaac4a3ad5153fde5116ccc038093adaa8598b18000f403f39db738 - PATCHES socketxx.patch + HEAD_REF master + PATCHES find-openjpeg.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) @@ -22,17 +23,20 @@ vcpkg_configure_cmake( -DGDCM_INSTALL_INCLUDE_DIR=include -DGDCM_USE_SYSTEM_EXPAT=ON -DGDCM_USE_SYSTEM_ZLIB=ON - ${ADDITIONAL_OPTIONS} + -DGDCM_USE_SYSTEM_OPENJPEG=ON + -DGDCM_BUILD_TESTING=OFF ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/gdcm-2.8 TARGET_PATH share/gdcm) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${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) endif() diff --git a/ports/gdcm2/socketxx.patch b/ports/gdcm2/socketxx.patch deleted file mode 100644 index 0142910b13..0000000000 --- a/ports/gdcm2/socketxx.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Utilities/socketxx/socket++/CMakeLists.txt -+++ b/Utilities/socketxx/socket++/CMakeLists.txt -@@ -76,7 +76,7 @@ - endif() - set_target_properties(${SOCKETXX_LIBRARY_NAME} PROPERTIES ${SOCKETXX_LIBRARY_PROPERTIES}) - if(BUILD_SHARED_LIBS) -- set_target_properties(${SOCKETXX_LIBRARY_NAME} PROPERTIES INTERFACE_LINK_LIBRARIES "" LINK_INTERFACE_LIBRARIES "") -+ set_target_properties(${SOCKETXX_LIBRARY_NAME} PROPERTIES INTERFACE_LINK_LIBRARIES "") - endif() - - # Install library diff --git a/ports/gettext/CMakeLists.txt b/ports/gettext/CMakeLists.txt index 7df8c33dc0..c94ab4c136 100644 --- a/ports/gettext/CMakeLists.txt +++ b/ports/gettext/CMakeLists.txt @@ -23,10 +23,31 @@ else() set(HAVE_ASPRINTF 1) set(HAVE_WPRINTF 1) set(HAVE_NEWLOCALE 1) - add_definitions(-DHAVE_NEWLOCALE=1) + add_definitions(-DHAVE_NEWLOCALE=1) + + set(CMAKE_THREAD_PREFER_PTHREAD TRUE) + set(THREADS_PREFER_PTHREAD_FLAG TRUE) + find_package(Threads REQUIRED) + if(NOT CMAKE_USE_PTHREADS_INIT) + message(FATAL_ERROR "Error: Only pthreads is currently supported.") + endif() + + include(CheckFunctionExists) + include(CheckIncludeFiles) + + if(APPLE) + set(HAVE_CFLOCALECOPYCURRENT 1) + set(HAVE_CFPREFERENCESCOPYAPPVALUE 1) + endif() + check_function_exists(dcgettext HAVE_DCGETTEXT) + check_include_files(features.h HAVE_FEATURES_H) + check_function_exists(gettext HAVE_GETTEXT) + check_include_files(mach-o/dyld.h HAVE_MACH_O_DYLD_H) + check_function_exists(mempcpy HAVE_MEMPCPY) + check_include_files(xlocale.h HAVE_XLOCALE_H) configure_file(intl/libgnuintl.in.h config/libgnuintl.h @ONLY) - configure_file(config.win32.h config/config.h COPYONLY) + configure_file(config.unix.h.in config/config.h @ONLY) endif() if(NOT DISABLE_INSTALL_HEADERS) @@ -85,7 +106,14 @@ add_definitions("-DBUILDING_LIBINTL -DIN_LIBINTL -DENABLE_RELOCATABLE=1 -DIN_LIB add_definitions("-DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate -DDEPENDS_ON_LIBICONV=1 -DHAVE_CONFIG_H -D_CRT_SECURE_NO_WARNINGS") add_library(libintl ${SOURCES}) -target_link_libraries(libintl PRIVATE unofficial::iconv::libcharset unofficial::iconv::libiconv) +target_link_libraries(libintl PRIVATE unofficial::iconv::libcharset unofficial::iconv::libiconv) +if(APPLE) + find_library(COREFOUNDATION_LIBRARY CoreFoundation REQUIRED) + target_link_libraries(libintl PRIVATE ${COREFOUNDATION_LIBRARY}) +endif() +if(NOT WIN32) + target_link_libraries(libintl PRIVATE Threads::Threads) +endif() install(TARGETS libintl RUNTIME DESTINATION bin diff --git a/ports/gettext/CONTROL b/ports/gettext/CONTROL index 9044cd7249..76e1d22d4e 100644 --- a/ports/gettext/CONTROL +++ b/ports/gettext/CONTROL @@ -1,4 +1,4 @@ Source: gettext -Version: 0.19-4 +Version: 0.19-5 Description: The GNU gettext utilities are a set of tools that provides a framework to help other GNU packages produce multi-lingual messages Build-Depends: libiconv diff --git a/ports/gettext/config.unix.h.in b/ports/gettext/config.unix.h.in new file mode 100644 index 0000000000..9f00a6fcda --- /dev/null +++ b/ports/gettext/config.unix.h.in @@ -0,0 +1,1009 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to the number of bits in type 'ptrdiff_t'. */ +#define BITSIZEOF_PTRDIFF_T sizeof(ptrdiff_t) + +/* Define to the number of bits in type 'sig_atomic_t'. */ +#define BITSIZEOF_SIG_ATOMIC_T 32 + +/* Define to the number of bits in type 'size_t'. */ +#define BITSIZEOF_SIZE_T sizeof(size_t) + +/* Define to the number of bits in type 'wchar_t'. */ +#define BITSIZEOF_WCHAR_T 32 + +/* Define to the number of bits in type 'wint_t'. */ +#define BITSIZEOF_WINT_T 32 + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define if mono is the preferred C# implementation. */ +/* #undef CSHARP_CHOICE_MONO */ + +/* Define if pnet is the preferred C# implementation. */ +/* #undef CSHARP_CHOICE_PNET */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define to 1 if // is a file system root distinct from /. */ +/* #undef DOUBLE_SLASH_IS_DISTINCT_ROOT */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if the package shall run at any location in the file system. */ +#define ENABLE_RELOCATABLE 1 + +/* Define to 1 if realpath() can malloc memory, always gives an absolute path, + and handles trailing slash correctly. */ +/* #undef FUNC_REALPATH_WORKS */ + +/* Define if gettimeofday clobbers the localtime buffer. */ +/* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ + +/* Define this to 'void' or 'struct timezone' to match the system's + declaration of the second argument to gettimeofday. */ +#define GETTIMEOFDAY_TIMEZONE void + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module canonicalize-lgpl shall be considered present. */ +#define GNULIB_CANONICALIZE_LGPL 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fscanf shall be considered present. */ +#define GNULIB_FSCANF 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module fwriteerror shall be considered present. */ +#define GNULIB_FWRITEERROR 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module lock shall be considered present. */ +#define GNULIB_LOCK 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module scanf shall be considered present. */ +#define GNULIB_SCANF 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module sigpipe shall be considered present. */ +#define GNULIB_SIGPIPE 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module strerror shall be considered present. */ +#define GNULIB_STRERROR 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ +#define GNULIB_UNISTR_U8_MBTOUCR 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u8-uctomb shall be considered present. */ +#define GNULIB_UNISTR_U8_UCTOMB 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#define HAVE_ALLOCA_H 1 + +/* Define to 1 if you have the `argz_count' function. */ +/* #undef HAVE_ARGZ_COUNT */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ARGZ_H */ + +/* Define to 1 if you have the `argz_next' function. */ +/* #undef HAVE_ARGZ_NEXT */ + +/* Define to 1 if you have the `argz_stringify' function. */ +/* #undef HAVE_ARGZ_STRINGIFY */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BP_SYM_H */ + +/* Define to 1 if the compiler understands __builtin_expect. */ +#define HAVE_BUILTIN_EXPECT 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +#cmakedefine HAVE_CFLOCALECOPYCURRENT 1 + +/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#cmakedefine HAVE_CFPREFERENCESCOPYAPPVALUE 1 + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +#cmakedefine HAVE_DCGETTEXT 1 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `iswblank', and to 0 if you + don't. */ +#define HAVE_DECL_ISWBLANK 1 + +/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you + don't. */ +/* #undef HAVE_DECL_MBRTOWC */ + +/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you + don't. */ +/* #undef HAVE_DECL_MBSINIT */ + +/* Define to 1 if you have the declaration of `program_invocation_name', and + to 0 if you don't. */ +#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0 + +/* Define to 1 if you have the declaration of `program_invocation_short_name', + and to 0 if you don't. */ +#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. + */ +#define HAVE_DECL_SETENV 1 + +/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you + don't. */ +#define HAVE_DECL_STRERROR_R 1 + +/* Define to 1 if you have the declaration of `strnlen', and to 0 if you + don't. */ +#define HAVE_DECL_STRNLEN 1 + +/* Define to 1 if you have the declaration of `towlower', and to 0 if you + don't. */ +/* #undef HAVE_DECL_TOWLOWER */ + +/* Define to 1 if you have the declaration of `wcwidth', and to 0 if you + don't. */ +#define HAVE_DECL_WCWIDTH 1 + +/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you + don't. */ +#define HAVE_DECL__SNPRINTF 0 + +/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you + don't. */ +#define HAVE_DECL__SNWPRINTF 0 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if you have the declaration of environ. */ +/* #undef HAVE_ENVIRON_DECL */ + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_FEATURES_H 1 + +/* Define to 1 if you have the `fwprintf' function. */ +#define HAVE_FWPRINTF 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getegid' function. */ +#define HAVE_GETEGID 1 + +/* Define to 1 if you have the `geteuid' function. */ +#define HAVE_GETEUID 1 + +/* Define to 1 if you have the `getgid' function. */ +#define HAVE_GETGID 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_GETOPT_H 1 + +/* Define to 1 if you have the `getopt_long_only' function. */ +#define HAVE_GETOPT_LONG_ONLY 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#cmakedefine HAVE_GETTEXT 1 + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `getuid' function. */ +#define HAVE_GETUID 1 + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ICONV_H 1 + +/* Define to 1 if the compiler supports one of the keywords 'inline', + '__inline__', '__inline' and effectively inlines functions marked as such. + */ +#define HAVE_INLINE 1 + +/* Define if you have the 'intmax_t' type in or . */ +#define HAVE_INTMAX_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if exists, doesn't clash with , and + declares uintmax_t. */ +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 + +/* Define to 1 if you have the `iswblank' function. */ +#define HAVE_ISWBLANK 1 + +/* Define to 1 if you have the `iswcntrl' function. */ +#define HAVE_ISWCNTRL 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define if your file defines LC_MESSAGES. */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if the system has the type 'long long int'. */ +#define HAVE_LONG_LONG_INT 1 + +/* Define to 1 if you have the `lstat' function. */ +#define HAVE_LSTAT 1 + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_MACH_O_DYLD_H 1 + +/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including + config.h and . */ +#define HAVE_MAP_ANONYMOUS 1 + +/* Define to 1 if you have the `mbrtowc' function. */ +#define HAVE_MBRTOWC 1 + +/* Define to 1 if you have the `mbsinit' function. */ +#define HAVE_MBSINIT 1 + +/* Define to 1 if you have the `mbslen' function. */ +/* #undef HAVE_MBSLEN */ + +/* Define to 1 if declares mbstate_t. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +#cmakedefine HAVE_MEMPCPY 1 + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Define to 1 on MSVC platforms that have the "invalid parameter handler" + concept. */ +/* #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER */ + +/* Define to 1 if you have the `munmap' function. */ +#define HAVE_MUNMAP 1 + +/* Define to 1 if you have the `newlocale' function. */ +#cmakedefine HAVE_NEWLOCALE 1 + +/* Define if your printf() function supports format strings with positions. */ +#define HAVE_POSIX_PRINTF 1 + +/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ +#define HAVE_PTHREAD_MUTEX_RECURSIVE 1 + +/* Define if the POSIX multithreading library has read/write locks. */ +#define HAVE_PTHREAD_RWLOCK 1 + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `raise' function. */ +#define HAVE_RAISE 1 + +/* Define to 1 if you have the `readlink' function. */ +#define HAVE_READLINK 1 + +/* Define to 1 if you have the `readlinkat' function. */ +#define HAVE_READLINKAT 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SEARCH_H 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `setlocale' function. */ +#define HAVE_SETLOCALE 1 + +/* Define to 1 if 'sig_atomic_t' is a signed integer type. */ +/* #undef HAVE_SIGNED_SIG_ATOMIC_T */ + +/* Define to 1 if 'wchar_t' is a signed integer type. */ +/* #undef HAVE_SIGNED_WCHAR_T */ + +/* Define to 1 if 'wint_t' is a signed integer type. */ +/* #undef HAVE_SIGNED_WINT_T */ + +/* Define to 1 if the system has the type `sigset_t'. */ +#define HAVE_SIGSET_T 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define if exists, doesn't clash with , and declares + uintmax_t. */ +#define HAVE_STDINT_H_WITH_UINTMAX 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 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 `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `symlink' function. */ +#define HAVE_SYMLINK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BITYPES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_INTTYPES_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SOCKET_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. */ +/* #undef HAVE_SYS_TIMEB_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `towlower' function. */ +#define HAVE_TOWLOWER 1 + +/* Define to 1 if you have the `tsearch' function. */ +#define HAVE_TSEARCH 1 + +/* Define if you have the 'uintmax_t' type in or . */ +#define HAVE_UINTMAX_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if the system has the type 'unsigned long long int'. */ +#define HAVE_UNSIGNED_LONG_LONG_INT 1 + +/* Define to 1 if you have the `uselocale' function. */ +#define HAVE_USELOCALE 1 + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +#define HAVE_VISIBILITY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Define if you have the 'wchar_t' type. */ +#define HAVE_WCHAR_T 1 + +/* Define to 1 if you have the `wcrtomb' function. */ +#define HAVE_WCRTOMB 1 + +/* Define to 1 if you have the `wcslen' function. */ +#define HAVE_WCSLEN 1 + +/* Define to 1 if you have the `wcsnlen' function. */ +#define HAVE_WCSNLEN 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define to 1 if you have the `wcwidth' function. */ +#define HAVE_WCWIDTH 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_WINSOCK2_H */ + +/* Define if you have the 'wint_t' type. */ +#define HAVE_WINT_T 1 + +/* Define to 1 if O_NOATIME works. */ +#define HAVE_WORKING_O_NOATIME 0 + +/* Define to 1 if O_NOFOLLOW works. */ +#define HAVE_WORKING_O_NOFOLLOW 1 + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_XLOCALE_H 1 + +/* Define to 1 if the system has the type `_Bool'. */ +#define HAVE__BOOL 1 + +/* Define to 1 if you have the `_ftime' function. */ +/* #undef HAVE__FTIME */ + +/* Define to 1 if you have the `_NSGetExecutablePath' function. */ +/* #undef HAVE__NSGETEXECUTABLEPATH */ + +/* Define to 1 if you have the `_set_invalid_parameter_handler' function. */ +/* #undef HAVE__SET_INVALID_PARAMETER_HANDLER */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST + +/* Define to a symbolic name denoting the flavor of iconv_open() + implementation. */ +/* #undef ICONV_FLAVOR */ + +/* Define to the value of ${prefix}, as a string. */ +/* #define INSTALLPREFIX "/usr/local" */ + +/* Define if integer division by zero raises signal SIGFPE. */ +#define INTDIV0_RAISES_SIGFPE 0 + +/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing + slash. */ +/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ + +/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */ +#define MALLOC_0_IS_NONNULL 1 + +/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ +/* #undef MAP_ANONYMOUS */ + +/* Define if the mbrtowc function has the NULL pwc argument bug. */ +/* #undef MBRTOWC_NULL_ARG1_BUG */ + +/* Define if the mbrtowc function has the NULL string argument bug. */ +/* #undef MBRTOWC_NULL_ARG2_BUG */ + +/* Define if the mbrtowc function does not return 0 for a NUL character. */ +/* #undef MBRTOWC_NUL_RETVAL_BUG */ + +/* Define if the mbrtowc function returns a wrong return value. */ +/* #undef MBRTOWC_RETVAL_BUG */ + +/* Name of package */ +#define PACKAGE "gettext-runtime" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "gettext-runtime" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "gettext-runtime 0.19" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "gettext-runtime" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.19" + +/* Define if exists and defines unusable PRI* macros. */ +/* #undef PRI_MACROS_BROKEN */ + +/* Define if the pthread_in_use() detection is hard. */ +/* #undef PTHREAD_IN_USE_DETECTION_HARD */ + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'ptrdiff_t'. */ +#define PTRDIFF_T_SUFFIX + +/* Define to 1 if readlink fails to recognize a trailing slash. */ +/* #undef READLINK_TRAILING_SLASH_BUG */ + +/* Define to 1 if stat needs help when passed a directory name with a trailing + slash */ +/* #undef REPLACE_FUNC_STAT_DIR */ + +/* Define to 1 if stat needs help when passed a file name with a trailing + slash */ +/* #undef REPLACE_FUNC_STAT_FILE */ + +/* Define to 1 if strerror(0) does not return a message implying success. */ +/* #undef REPLACE_STRERROR_0 */ + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'sig_atomic_t'. */ +#define SIG_ATOMIC_T_SUFFIX + +/* Define as the maximum value of type 'size_t', if the system doesn't define + it. */ +#ifndef SIZE_MAX +/* # undef SIZE_MAX */ +#endif + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'size_t'. */ +#define SIZE_T_SUFFIX ul + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if the `S_IS*' macros in do not work properly. */ +/* #undef STAT_MACROS_BROKEN */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if strerror_r returns char *. */ +/* #undef STRERROR_R_CHAR_P */ + +/* Define to the prefix of C symbols at the assembler and linker level, either + an underscore or empty. */ +#define USER_LABEL_PREFIX + +/* Define if the POSIX multithreading library can be used. */ +#define USE_POSIX_THREADS 1 + +/* Define if references to the POSIX multithreading library should be made + weak. */ +/* #undef USE_POSIX_THREADS_WEAK */ + +/* Define if the GNU Pth multithreading library can be used. */ +/* #undef USE_PTH_THREADS */ + +/* Define if references to the GNU Pth multithreading library should be made + weak. */ +/* #undef USE_PTH_THREADS_WEAK */ + +/* Define if the old Solaris multithreading library can be used. */ +/* #undef USE_SOLARIS_THREADS */ + +/* Define if references to the old Solaris multithreading library should be + made weak. */ +/* #undef USE_SOLARIS_THREADS_WEAK */ + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable general extensions on OS X. */ +#ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable X/Open extensions if necessary. HP-UX 11.11 defines + mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of + whether compiling with -Ae or -D_HPUX_SOURCE=1. */ +#ifndef _XOPEN_SOURCE +/* # undef _XOPEN_SOURCE */ +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to 1 if you want getc etc. to use unlocked I/O if available. + Unlocked I/O can improve performance in unithreaded apps, but it is not + safe for multithreaded apps. */ +#define USE_UNLOCKED_IO 1 + +/* Define if the native Windows multithreading API can be used. */ +/* #undef USE_WINDOWS_THREADS */ + +/* Version number of package */ +#define VERSION "0.19" + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'wchar_t'. */ +#define WCHAR_T_SUFFIX + +/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type + 'wint_t'. */ +#define WINT_T_SUFFIX + +/* Define when --enable-shared is used on mingw or Cygwin. */ +/* #undef WOE32DLL */ + +/* Enable large inode numbers on Mac OS X 10.5. */ +#define _DARWIN_USE_64_BIT_INODE 1 + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define to 1 if Gnulib overrides 'struct stat' on Windows so that struct + stat.st_size becomes 64-bit. */ +/* #undef _GL_WINDOWS_64_BIT_ST_SIZE */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to 1 on Solaris. */ +/* #undef _LCONV_C99 */ + +/* Define to 1 if on MINIX. */ +/* #undef _MINIX */ + +/* Define to 1 to make NetBSD features available. MINIX 3 needs this. */ +/* #undef _NETBSD_SOURCE */ + +/* The _Noreturn keyword of C11. */ +#if ! (defined _Noreturn \ + || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__)) +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +/* #undef _POSIX_1_SOURCE */ + +/* Define to 1 if you need to in order for 'stat' and other things to work. */ +/* #undef _POSIX_SOURCE */ + +/* Define to rpl_ if the getopt replacement functions and variables should be + used. */ +#define __GETOPT_PREFIX rpl_ + +/* Please see the Gnulib manual for how to use these macros. + + Suppress extern inline with HP-UX cc, as it appears to be broken; see + . + + Suppress extern inline with Sun C in standards-conformance mode, as it + mishandles inline functions that call each other. E.g., for 'inline void f + (void) { } inline void g (void) { f (); }', c99 incorrectly complains + 'reference to static identifier "f" in extern inline function'. + This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. + + Suppress the use of extern inline on problematic Apple configurations. + OS X 10.8 and earlier mishandle it; see, e.g., + . + OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and + for clang but remains for g++; see . + Perhaps Apple will fix this some day. */ +#if (defined __APPLE__ \ + && (defined __header_inline \ + ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \ + && ! defined __clang__) \ + : ((! defined _DONT_USE_CTYPE_INLINE_ \ + && (defined __GNUC__ || defined __cplusplus)) \ + || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \ + && defined __GNUC__ && ! defined __cplusplus)))) +# define _GL_EXTERN_INLINE_APPLE_BUG +#endif +#if ((__GNUC__ \ + ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + : (199901L <= __STDC_VERSION__ \ + && !defined __HP_cc \ + && !(defined __SUNPRO_C && __STDC__))) \ + && !defined _GL_EXTERN_INLINE_APPLE_BUG) +# define _GL_INLINE inline +# define _GL_EXTERN_INLINE extern inline +# define _GL_EXTERN_INLINE_IN_USE +#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined _GL_EXTERN_INLINE_APPLE_BUG) +# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ + /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ +# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) +# else +# define _GL_INLINE extern inline +# endif +# define _GL_EXTERN_INLINE extern +# define _GL_EXTERN_INLINE_IN_USE +#else +# define _GL_INLINE static _GL_UNUSED +# define _GL_EXTERN_INLINE static _GL_UNUSED +#endif + +#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ +# define _GL_INLINE_HEADER_CONST_PRAGMA +# else +# define _GL_INLINE_HEADER_CONST_PRAGMA \ + _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") +# endif + /* Suppress GCC's bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + . */ +# define _GL_INLINE_HEADER_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ + _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \ + _GL_INLINE_HEADER_CONST_PRAGMA +# define _GL_INLINE_HEADER_END \ + _Pragma ("GCC diagnostic pop") +#else +# define _GL_INLINE_HEADER_BEGIN +# define _GL_INLINE_HEADER_END +#endif + +/* Define to `int' if doesn't define. */ +/* #undef gid_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 + +/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports + the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of + earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. + __APPLE__ && __MACH__ test for Mac OS X. + __APPLE_CC__ tests for the Apple compiler and its version. + __STDC_VERSION__ tests for the C99 mode. */ +#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__ +# define __GNUC_STDC_INLINE__ 1 +#endif + +/* Define to a type if does not define. */ +/* #undef mbstate_t */ + +/* Define to `int' if does not define. */ +/* #undef mode_t */ + +/* Define to the type of st_nlink in struct stat, or a supertype. */ +/* #undef nlink_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define as the type of the result of subtracting two pointers, if the system + doesn't define it. */ +/* #undef ptrdiff_t */ + +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#define restrict __restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define as a signed type of the same size as size_t. */ +/* #undef ssize_t */ + +/* Define to `int' if doesn't define. */ +/* #undef uid_t */ + +/* Define to unsigned long or unsigned long long if and + don't define. */ +/* #undef uintmax_t */ + +/* Define as a marker that can be attached to declarations that might not + be used. This helps to reduce warnings, such as from + GCC -Wunused-parameter. */ +#if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# define _GL_UNUSED __attribute__ ((__unused__)) +#else +# define _GL_UNUSED +#endif +/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name + is a misnomer outside of parameter lists. */ +#define _UNUSED_PARAMETER_ _GL_UNUSED + +/* The __pure__ attribute was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + +/* The __const__ attribute was added in gcc 2.95. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST /* empty */ +#endif + + + +#define __libc_lock_t gl_lock_t +#define __libc_lock_define gl_lock_define +#define __libc_lock_define_initialized gl_lock_define_initialized +#define __libc_lock_init gl_lock_init +#define __libc_lock_lock gl_lock_lock +#define __libc_lock_unlock gl_lock_unlock +#define __libc_lock_recursive_t gl_recursive_lock_t +#define __libc_lock_define_recursive gl_recursive_lock_define +#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized +#define __libc_lock_init_recursive gl_recursive_lock_init +#define __libc_lock_lock_recursive gl_recursive_lock_lock +#define __libc_lock_unlock_recursive gl_recursive_lock_unlock +#define glthread_in_use libintl_thread_in_use +#define glthread_lock_init_func libintl_lock_init_func +#define glthread_lock_lock_func libintl_lock_lock_func +#define glthread_lock_unlock_func libintl_lock_unlock_func +#define glthread_lock_destroy_func libintl_lock_destroy_func +#define glthread_rwlock_init_multithreaded libintl_rwlock_init_multithreaded +#define glthread_rwlock_init_func libintl_rwlock_init_func +#define glthread_rwlock_rdlock_multithreaded libintl_rwlock_rdlock_multithreaded +#define glthread_rwlock_rdlock_func libintl_rwlock_rdlock_func +#define glthread_rwlock_wrlock_multithreaded libintl_rwlock_wrlock_multithreaded +#define glthread_rwlock_wrlock_func libintl_rwlock_wrlock_func +#define glthread_rwlock_unlock_multithreaded libintl_rwlock_unlock_multithreaded +#define glthread_rwlock_unlock_func libintl_rwlock_unlock_func +#define glthread_rwlock_destroy_multithreaded libintl_rwlock_destroy_multithreaded +#define glthread_rwlock_destroy_func libintl_rwlock_destroy_func +#define glthread_recursive_lock_init_multithreaded libintl_recursive_lock_init_multithreaded +#define glthread_recursive_lock_init_func libintl_recursive_lock_init_func +#define glthread_recursive_lock_lock_multithreaded libintl_recursive_lock_lock_multithreaded +#define glthread_recursive_lock_lock_func libintl_recursive_lock_lock_func +#define glthread_recursive_lock_unlock_multithreaded libintl_recursive_lock_unlock_multithreaded +#define glthread_recursive_lock_unlock_func libintl_recursive_lock_unlock_func +#define glthread_recursive_lock_destroy_multithreaded libintl_recursive_lock_destroy_multithreaded +#define glthread_recursive_lock_destroy_func libintl_recursive_lock_destroy_func +#define glthread_once_func libintl_once_func +#define glthread_once_singlethreaded libintl_once_singlethreaded +#define glthread_once_multithreaded libintl_once_multithreaded + + + +/* On Windows, variables that may be in a DLL must be marked specially. */ +#if (defined _MSC_VER && defined _DLL) && !defined IN_RELOCWRAPPER +# define DLL_VARIABLE __declspec (dllimport) +#else +# define DLL_VARIABLE +#endif + +/* Extra OS/2 (emx+gcc) defines. */ +#ifdef __EMX__ +# include "intl/os2compat.h" +#endif + diff --git a/ports/gettext/portfile.cmake b/ports/gettext/portfile.cmake index cb5ea37c1f..7f0b6bc12b 100644 --- a/ports/gettext/portfile.cmake +++ b/ports/gettext/portfile.cmake @@ -17,6 +17,7 @@ vcpkg_extract_source_archive(${ARCHIVE}) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${CMAKE_CURRENT_LIST_DIR}/config.win32.h + ${CMAKE_CURRENT_LIST_DIR}/config.unix.h.in DESTINATION ${SOURCE_PATH}/gettext-runtime ) file(REMOVE ${SOURCE_PATH}/gettext-runtime/intl/libgnuintl.h ${SOURCE_PATH}/gettext-runtime/config.h) diff --git a/ports/gflags/CONTROL b/ports/gflags/CONTROL index 0a8d83aee7..b090f2ba51 100644 --- a/ports/gflags/CONTROL +++ b/ports/gflags/CONTROL @@ -1,3 +1,3 @@ Source: gflags -Version: 2.2.1-3 +Version: 2.2.2-1 Description: A C++ library that implements commandline flags processing diff --git a/ports/gflags/fix_cmake_config.patch b/ports/gflags/fix_cmake_config.patch new file mode 100644 index 0000000000..bea561ecba --- /dev/null +++ b/ports/gflags/fix_cmake_config.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/config.cmake.in b/cmake/config.cmake.in +index a512c2a..e7f50d0 100644 +--- a/cmake/config.cmake.in ++++ b/cmake/config.cmake.in +@@ -78,7 +78,7 @@ if (NOT DEFINED @PACKAGE_PREFIX@_NOTHREADS) + else () + set (@PACKAGE_PREFIX@_NOTHREADS FALSE) + endif () +- elseif (TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}PACKAGE_NAME@_static OR TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared) ++ elseif (TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_static OR TARGET ${@PACKAGE_PREFIX@_TARGET_PREFIX}@PACKAGE_NAME@_shared) + set (@PACKAGE_PREFIX@_NOTHREADS FALSE) + else () + set (@PACKAGE_PREFIX@_NOTHREADS TRUE) diff --git a/ports/gflags/portfile.cmake b/ports/gflags/portfile.cmake index 31ffeafa5d..87053f8499 100644 --- a/ports/gflags/portfile.cmake +++ b/ports/gflags/portfile.cmake @@ -7,15 +7,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO gflags/gflags - REF v2.2.1 - SHA512 e919cbdcff1f993ddbfa9c06d8e595566a4717c27ff62f388a64c0e6b4683a93211c24ce78485eae84c2c76053341574064e6c56af185fc2782e2816b26e1fc9 + REF v2.2.2 + SHA512 98c4703aab24e81fe551f7831ab797fb73d0f7dfc516addb34b9ff6d0914e5fd398207889b1ae555bac039537b1d4677067dae403b64903577078d99c1bdb447 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-patch-dir.patch # gflags was estimating a wrong relative path between the gflags-config.cmake file and the include path; "../.." goes from share/gflags/ to the triplet root + 0001-patch-dir.patch # gflags was estimating a wrong relative path between the gflags-config.cmake file and the include path; "../.." goes from share/gflags/ to the triplet root + fix_cmake_config.patch ) vcpkg_configure_cmake( diff --git a/ports/glad/CONTROL b/ports/glad/CONTROL new file mode 100644 index 0000000000..d74a350892 --- /dev/null +++ b/ports/glad/CONTROL @@ -0,0 +1,4 @@ +Source: glad +Version: 0.1.28-3 +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 new file mode 100644 index 0000000000..cc73b1e394 --- /dev/null +++ b/ports/glad/portfile.cmake @@ -0,0 +1,45 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO Dav1dde/glad + REF v0.1.28 + SHA512 5895e25bffab4ead346f65011cbb52a434779fed1dad619ffde27f68b52994cd0b048a45b4533b22b54971dfdba935d93fcf6bee5789061d0057af869b95998c + HEAD_REF master +) + +vcpkg_find_acquire_program(PYTHON2) +get_filename_component(PYTHON2_DIR "${PYTHON2}" DIRECTORY) +vcpkg_add_to_path("${PYTHON2_DIR}") + +file(COPY + ${CURRENT_INSTALLED_DIR}/include/KHR/khrplatform.h + ${CURRENT_INSTALLED_DIR}/share/egl-registry/egl.xml + ${CURRENT_INSTALLED_DIR}/share/opengl-registry/gl.xml + ${CURRENT_INSTALLED_DIR}/share/opengl-registry/glx.xml + ${CURRENT_INSTALLED_DIR}/share/opengl-registry/wgl.xml + DESTINATION ${SOURCE_PATH}/glad/files +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DGLAD_NO_LOADER=OFF + -DGLAD_EXPORT=OFF + -DGLAD_INSTALL=ON + -DGLAD_REPRODUCIBLE=ON + -DGLAD_SPEC="gl" # {gl,egl,glx,wgl} + -DGLAD_PROFILE="compatibility" # {core,compatibility} + OPTIONS_DEBUG + -DGLAD_GENERATOR="c-debug" +) + +vcpkg_install_cmake() +vcpkg_copy_pdbs() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glad) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/include/KHR) +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/glad/copyright COPYONLY) diff --git a/ports/glfw3/portfile.cmake b/ports/glfw3/portfile.cmake index 0df468bc3b..dcc7da89d5 100644 --- a/ports/glfw3/portfile.cmake +++ b/ports/glfw3/portfile.cmake @@ -1,71 +1,51 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/glfw-3.2.1) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.zip" - FILENAME "glfw-3.2.1.zip" - SHA512 73dd6d4a8d28a2b423f0fb25489659c1a845182b7ef09848d4f442cdc489528aea90f43ac84aeedb9d2301c4487f39782b647ee4959e67e83babb838372b980c -) -vcpkg_extract_source_archive(${ARCHIVE}) -if(NOT EXISTS ${SOURCE_PATH}/patch-config.stamp) - message(STATUS "Patching src/glfw3Config.cmake.in") - file(READ ${SOURCE_PATH}/src/glfw3Config.cmake.in CONFIG) - string(REPLACE "\"@GLFW_LIB_NAME@\"" "NAMES @GLFW_LIB_NAME@ @GLFW_LIB_NAME@dll" - CONFIG ${CONFIG} - ) - #string(REPLACE "@PACKAGE_CMAKE_INSTALL_PREFIX@" "@PACKAGE_CMAKE_INSTALL_PREFIX@/../.." - # CONFIG ${CONFIG} - #) - file(WRITE ${SOURCE_PATH}/src/glfw3Config.cmake.in "${CONFIG}") - file(APPEND ${SOURCE_PATH}/src/glfw3Config.cmake.in "set(GLFW3_LIBRARIES \${GLFW3_LIBRARY})\n") - file(WRITE ${SOURCE_PATH}/patch-config.stamp) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO glfw/glfw + REF 3.2.1 + SHA512 c7921f993b9a99b3b9421fefadb039cd475c42d85f5b5a35d7c5401c70491349bb885a02fd31e527de06a8b40d9d49a1fdb92c964e13c04ae092c6b98eb491dc + HEAD_REF master + PATCHES move-cmake-min-req.patch +) + +if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message( +"GLFW3 currently requires the following libraries from the system package manager: + xinerama + xcursor + +These can be installed on Ubuntu systems via sudo apt install libxinerama-dev libxcursor-dev") endif() -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/move-cmake-min-req.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF - -DPACKAGE_CMAKE_INSTALL_PREFIX=\${CMAKE_CURRENT_LIST_DIR}/../.. ) vcpkg_install_cmake() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share) -file(RENAME ${CURRENT_PACKAGES_DIR}/lib/cmake/glfw3 ${CURRENT_PACKAGES_DIR}/share/glfw3) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/cmake) -file(READ ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets.cmake _contents) -set(pattern "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)\n") -string(REPLACE "${pattern}${pattern}${pattern}" "${pattern}${pattern}" _contents "${_contents}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets.cmake "${_contents}") - -file(READ ${CURRENT_PACKAGES_DIR}/debug/lib/cmake/glfw3/glfw3Targets-debug.cmake _contents) -string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/debug" _contents "${_contents}") -file(WRITE ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets-debug.cmake "${_contents}") -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/cmake) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/glfw3) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/glfw3.dll ${CURRENT_PACKAGES_DIR}/bin/glfw3.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/glfw3.dll ${CURRENT_PACKAGES_DIR}/debug/bin/glfw3.dll) - foreach(_conf release - debug) - file(READ ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets-${_conf}.cmake _contents) - string(REPLACE "lib/glfw3.dll" "bin/glfw3.dll" _contents "${_contents}") - file(WRITE ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets-${_conf}.cmake "${_contents}") - endforeach() - + if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/glfw3.dll OR EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/glfw3.dll) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/glfw3.dll ${CURRENT_PACKAGES_DIR}/bin/glfw3.dll) + file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/glfw3.dll ${CURRENT_PACKAGES_DIR}/debug/bin/glfw3.dll) + foreach(_conf release debug) + file(READ ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets-${_conf}.cmake _contents) + string(REPLACE "lib/glfw3.dll" "bin/glfw3.dll" _contents "${_contents}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/glfw3/glfw3Targets-${_conf}.cmake "${_contents}") + endforeach() + endif() endif() file(COPY ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/glfw3) file(RENAME ${CURRENT_PACKAGES_DIR}/share/glfw3/COPYING.txt ${CURRENT_PACKAGES_DIR}/share/glfw3/copyright) -vcpkg_copy_pdbs() +vcpkg_copy_pdbs() diff --git a/ports/glm/CONTROL b/ports/glm/CONTROL index c7c099c721..3da56cf543 100644 --- a/ports/glm/CONTROL +++ b/ports/glm/CONTROL @@ -1,3 +1,3 @@ Source: glm -Version: 0.9.9.2 +Version: 0.9.9.3 Description: OpenGL Mathematics (GLM) https://glm.g-truc.net diff --git a/ports/glm/portfile.cmake b/ports/glm/portfile.cmake index 90f7875fb1..7eca987665 100644 --- a/ports/glm/portfile.cmake +++ b/ports/glm/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO g-truc/glm - REF 0.9.9.2 - SHA512 80a5fbeaaea5f1034cd6f8ad3f4daf8b5fa8d9410ccce15ced20f37e24c0f6083332fde82b1fa7357399b3e37c1a31dd3a14f257b7847a5f1ddefa627b50351a + REF 0.9.9.3 + SHA512 44152ea6438763feda3b78813287fd59d3574a9630a41647a157825bf5ce4a18fbbecae5a5ccd94acc118ed3d42cbce53d3a67f25632d0c00ab77e7de2bb4650 HEAD_REF master ) diff --git a/ports/google-cloud-cpp/CONTROL b/ports/google-cloud-cpp/CONTROL index 663e2de3af..7a64d2e149 100644 --- a/ports/google-cloud-cpp/CONTROL +++ b/ports/google-cloud-cpp/CONTROL @@ -1,4 +1,4 @@ Source: google-cloud-cpp -Version: 0.1.0-1 -Build-Depends: grpc, gtest +Version: 0.3.0-1 +Build-Depends: grpc, gtest, curl, crc32c Description: C++ Client Libraries for Google Cloud Platform APIs. diff --git a/ports/google-cloud-cpp/include-protobuf.patch b/ports/google-cloud-cpp/include-protobuf.patch index 63602ad720..d0e3529c7e 100644 --- a/ports/google-cloud-cpp/include-protobuf.patch +++ b/ports/google-cloud-cpp/include-protobuf.patch @@ -1,24 +1,13 @@ -diff --git a/bigtable/CMakeLists.txt b/bigtable/CMakeLists.txt -index 1b8089f..771e1ec 100644 ---- a/bigtable/CMakeLists.txt -+++ b/bigtable/CMakeLists.txt -@@ -69,6 +69,10 @@ set(PROTOBUF_IMPORT_DIRS "${PROJECT_THIRD_PARTY_DIR}/googleapis" "${PROJECT_SOUR - if(GRPC_ROOT_DIR) - list(INSERT PROTOBUF_IMPORT_DIRS 0 "${GRPC_ROOT_DIR}/third_party/protobuf/src") - endif(GRPC_ROOT_DIR) -+find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) -+if(PROTO_INCLUDE_DIR) -+ list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") -+endif() - - # Get the destination directories based on the GNU recommendations. - include(GNUInstallDirs) -@@ -110,7 +114,7 @@ enable_testing() - - # Capture the compiler version and the git revision into variables, then - # generate a config file with the values. --if (IS_DIRECTORY ${PROJECT_SOURCE_DIR}/.git) -+if (IS_DIRECTORY ${PROJECT_SOURCE_DIR}/.git AND 0) - execute_process(COMMAND git rev-parse --short HEAD - OUTPUT_VARIABLE GIT_HEAD_LOG ERROR_VARIABLE GIT_HEAD_LOG) - else () +--- a/google/cloud/bigtable/CMakeLists.txt 2018-11-09 10:56:34.029389338 -0500 ++++ a/google/cloud/bigtable/CMakeLists.txt 2018-11-09 10:57:18.461259917 -0500 +@@ -53,6 +53,10 @@ + # Configure the location of proto files, particulary the googleapis protos. + list(APPEND PROTOBUF_IMPORT_DIRS "${PROJECT_THIRD_PARTY_DIR}/googleapis" + "${PROJECT_SOURCE_DIR}") ++find_path(PROTO_INCLUDE_DIR google/protobuf/descriptor.proto) ++if(PROTO_INCLUDE_DIR) ++ list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}") ++endif() + + # Include the functions to compile proto files. + include(CompileProtos) diff --git a/ports/google-cloud-cpp/portfile.cmake b/ports/google-cloud-cpp/portfile.cmake index 8ba1fffe56..2081b20f7e 100644 --- a/ports/google-cloud-cpp/portfile.cmake +++ b/ports/google-cloud-cpp/portfile.cmake @@ -8,18 +8,17 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO GoogleCloudPlatform/google-cloud-cpp - REF v0.1.0 - SHA512 3947cc24ca1ed97309f055f17945afe2d6b22ae8f54f86d3395f8c491b7409d4b7bb12206889d04d07f51236e9fd5afd65b904c8c80521a3313588d8069545c2 + REF v0.3.0 + SHA512 90f876ebf4bea40c5bc12d2bd20d27b48202f951d57a68b657c07b7d468b2ac5a00e39a3a6fca48f92030d89ba7d9706eb52b3c8e734b392aee63632af042b5d HEAD_REF master - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/include-protobuf.patch" + PATCHES include-protobuf.patch ) -set(GOOGLEAPIS_VERSION 92f10d7033c6fa36e1a5a369ab5aa8bafd564009) +set(GOOGLEAPIS_VERSION 6a3277c0656219174ff7c345f31fb20a90b30b97) vcpkg_download_distfile(GOOGLEAPIS - URLS "https://github.com/google/googleapis/archive/92f10d7033c6fa36e1a5a369ab5aa8bafd564009.zip" + URLS "https://github.com/google/googleapis/archive/${GOOGLEAPIS_VERSION}.zip" FILENAME "googleapis-${GOOGLEAPIS_VERSION}.zip" - SHA512 4280ece965a231f6a0bb3ea38a961d15babd9eac517f9b0d57e12f186481bbab6a27e4f0ee03ba3c587c9aa93d3c2e6c95f67f50365c65bb10594f0229279287 + SHA512 809b7cf0429df9867c8ab558857785e9d7d70aea033c6d588b60d29d2754001e9aea5fcdd8cae22fad8145226375bedbd1516d86af7d1e9731fffea331995ad9 ) file(REMOVE_RECURSE ${SOURCE_PATH}/third_party) @@ -30,16 +29,14 @@ vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DGOOGLE_CLOUD_CPP_GRPC_PROVIDER=vcpkg - -DGOOGLE_CLOUD_CPP_GMOCK_PROVIDER=vcpkg + -DGOOGLE_CLOUD_CPP_DEPENDENCY_PROVIDER=vcpkg + -DGOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK=OFF ) vcpkg_install_cmake(ADD_BIN_TO_PATH) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/bigtable/client/testing) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -vcpkg_fixup_cmake_targets(CONFIG_PATH share/cmake TARGET_PATH share/bigtable_client) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake TARGET_PATH share) file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/google-cloud-cpp RENAME copyright) diff --git a/ports/graphicsmagick/CONTROL b/ports/graphicsmagick/CONTROL index f8519040f4..7b89a8fd9a 100644 --- a/ports/graphicsmagick/CONTROL +++ b/ports/graphicsmagick/CONTROL @@ -1,5 +1,5 @@ Source: graphicsmagick Maintainer: josuegomes@gmail.com -Version: 1.3.30-1 +Version: 1.3.31 Build-Depends: zlib, bzip2, freetype, libjpeg-turbo, libpng, tiff Description: Image processing library diff --git a/ports/graphicsmagick/portfile.cmake b/ports/graphicsmagick/portfile.cmake index b04842eb13..87d03bd1f6 100644 --- a/ports/graphicsmagick/portfile.cmake +++ b/ports/graphicsmagick/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(GM_VERSION 1.3.30) +set(GM_VERSION 1.3.31) 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 9e4cfff57ae547f133e6208033213d3aa790cd8c95a061c101c63b8ae8896e7504d02f302efdd20ff24f72c07760a0a5e2b32e21fe454717ed1deb2edeef159c + SHA512 ff67f5e6adf352527264e7a6a76d45ce34470263dc764760d876b9ab5d5078e3a46b9d9cb2e7ab52d53106ffe584d44c66b42f3d4d62c972662d488c86510881 ) vcpkg_extract_source_archive_ex( diff --git a/ports/gtest/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch b/ports/gtest/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch deleted file mode 100644 index b5082a1b20..0000000000 --- a/ports/gtest/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch +++ /dev/null @@ -1,180 +0,0 @@ -diff --git a/.gitignore b/.gitignore -index ce310bc..08a67cd 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -1,2 +1,15 @@ - # Ignore CI build directory - build/ -+_build/ -+ -+# Visual Studio files -+*.sdf -+*.opensdf -+*.VC.opendb -+*.suo -+*.user -+_ReSharper.Caches/ -+Win32-Debug/ -+Win32-Release/ -+x64-Debug/ -+x64-Release/ -diff --git a/googlemock/test/gmock-matchers_test.cc b/googlemock/test/gmock-matchers_test.cc -index 9f62c3d..eaba362 100644 ---- a/googlemock/test/gmock-matchers_test.cc -+++ b/googlemock/test/gmock-matchers_test.cc -@@ -58,6 +58,11 @@ - # include // NOLINT - #endif - -+// Disable MSVC warning: "decorated name length exceeded, name was truncated". -+#ifdef _MSC_VER -+# pragma warning(disable:4503) -+#endif -+ - namespace testing { - - namespace internal { -diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h -index 0094ed5..09779fa 100644 ---- a/googletest/include/gtest/internal/gtest-port.h -+++ b/googletest/include/gtest/internal/gtest-port.h -@@ -323,7 +323,7 @@ - // -std={c,gnu}++{0x,11} is passed. The C++11 standard specifies a - // value for __cplusplus, and recent versions of clang, gcc, and - // probably other compilers set that too in C++11 mode. --# if __GXX_EXPERIMENTAL_CXX0X__ || __cplusplus >= 201103L -+# if __GXX_EXPERIMENTAL_CXX0X__ || __cplusplus >= 201103L || _MSC_VER >= 1900 - // Compiling in at least C++11 mode. - # define GTEST_LANG_CXX11 1 - # else -@@ -355,12 +355,16 @@ - #if GTEST_STDLIB_CXX11 - # define GTEST_HAS_STD_BEGIN_AND_END_ 1 - # define GTEST_HAS_STD_FORWARD_LIST_ 1 --# define GTEST_HAS_STD_FUNCTION_ 1 -+# if !defined(_MSC_VER) || (_MSC_FULL_VER >= 190023824) // works only with VS2015U2 and better -+# define GTEST_HAS_STD_FUNCTION_ 1 -+# endif - # define GTEST_HAS_STD_INITIALIZER_LIST_ 1 - # define GTEST_HAS_STD_MOVE_ 1 - # define GTEST_HAS_STD_SHARED_PTR_ 1 - # define GTEST_HAS_STD_TYPE_TRAITS_ 1 - # define GTEST_HAS_STD_UNIQUE_PTR_ 1 -+# define GTEST_HAS_UNORDERED_MAP_ 1 -+# define GTEST_HAS_UNORDERED_SET_ 1 - #endif - - // C++11 specifies that provides std::tuple. -@@ -616,7 +620,7 @@ struct _RTL_CRITICAL_SECTION; - // Determines if hash_map/hash_set are available. - // Only used for testing against those containers. - #if !defined(GTEST_HAS_HASH_MAP_) --# if _MSC_VER -+# if defined(_MSC_VER) && (_MSC_VER < 1900) - # define GTEST_HAS_HASH_MAP_ 1 // Indicates that hash_map is available. - # define GTEST_HAS_HASH_SET_ 1 // Indicates that hash_set is available. - # endif // _MSC_VER -@@ -629,6 +633,9 @@ struct _RTL_CRITICAL_SECTION; - # if GTEST_OS_LINUX_ANDROID && defined(_STLPORT_MAJOR) - // STLport, provided with the Android NDK, has neither or . - # define GTEST_HAS_TR1_TUPLE 0 -+# elif defined(_MSC_VER) && (_MSC_VER >= 1910) -+// Prevent `warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED.` -+# define GTEST_HAS_TR1_TUPLE 0 - # else - // The user didn't tell us not to do it, so we assume it's OK. - # define GTEST_HAS_TR1_TUPLE 1 -@@ -813,7 +820,7 @@ using ::std::tuple_size; - // value-parameterized tests are enabled. The implementation doesn't - // work on Sun Studio since it doesn't understand templated conversion - // operators. --#if GTEST_HAS_PARAM_TEST && GTEST_HAS_TR1_TUPLE && !defined(__SUNPRO_CC) -+#if GTEST_HAS_PARAM_TEST && (GTEST_HAS_TR1_TUPLE || GTEST_HAS_STD_TUPLE_) && !defined(__SUNPRO_CC) - # define GTEST_HAS_COMBINE 1 - #endif - -diff --git a/googletest/test/gtest-printers_test.cc b/googletest/test/gtest-printers_test.cc -index 3e97cc2..6320563 100644 ---- a/googletest/test/gtest-printers_test.cc -+++ b/googletest/test/gtest-printers_test.cc -@@ -51,10 +51,15 @@ - #include "gtest/gtest.h" - - // hash_map and hash_set are available under Visual C++, or on Linux. --#if GTEST_HAS_HASH_MAP_ -+#if GTEST_HAS_UNORDERED_MAP_ -+# include // NOLINT -+#elif GTEST_HAS_HASH_MAP_ - # include // NOLINT - #endif // GTEST_HAS_HASH_MAP_ --#if GTEST_HAS_HASH_SET_ -+ -+#if GTEST_HAS_UNORDERED_SET_ -+# include // NOLINT -+#elif GTEST_HAS_HASH_SET_ - # include // NOLINT - #endif // GTEST_HAS_HASH_SET_ - -@@ -217,18 +222,46 @@ using ::testing::internal::string; - // The hash_* classes are not part of the C++ standard. STLport - // defines them in namespace std. MSVC defines them in ::stdext. GCC - // defines them in ::. -+#if GTEST_HAS_UNORDERED_MAP_ -+ -+#define GTEST_HAS_HASH_MAP_ 1 -+template -+using hash_map = ::std::unordered_map; -+template -+using hash_multimap = ::std::unordered_multimap; -+ -+#elif GTEST_HAS_HASH_MAP_ -+ - #ifdef _STLP_HASH_MAP // We got from STLport. - using ::std::hash_map; --using ::std::hash_set; - using ::std::hash_multimap; --using ::std::hash_multiset; - #elif _MSC_VER - using ::stdext::hash_map; --using ::stdext::hash_set; - using ::stdext::hash_multimap; -+#endif -+ -+#endif -+ -+#if GTEST_HAS_UNORDERED_SET_ -+ -+#define GTEST_HAS_HASH_SET_ 1 -+template -+using hash_set = ::std::unordered_set; -+template -+using hash_multiset = ::std::unordered_multiset; -+ -+#elif GTEST_HAS_HASH_SET_ -+ -+#ifdef _STLP_HASH_MAP // We got from STLport. -+using ::std::hash_set; -+using ::std::hash_multiset; -+#elif _MSC_VER -+using ::stdext::hash_set; - using ::stdext::hash_multiset; - #endif - -+#endif -+ - // Prints a value to a string using the universal value printer. This - // is a helper for testing UniversalPrinter::Print() for various types. - template -diff --git a/googletest/test/gtest_catch_exceptions_test_.cc b/googletest/test/gtest_catch_exceptions_test_.cc -index d0fc82c..c6d953c 100644 ---- a/googletest/test/gtest_catch_exceptions_test_.cc -+++ b/googletest/test/gtest_catch_exceptions_test_.cc -@@ -138,7 +138,7 @@ TEST_F(CxxExceptionInConstructorTest, ThrowsExceptionInConstructor) { - } - - // Exceptions in destructors are not supported in C++11. --#if !defined(__GXX_EXPERIMENTAL_CXX0X__) && __cplusplus < 201103L -+#if !GTEST_LANG_CXX11 - class CxxExceptionInDestructorTest : public Test { - public: - static void TearDownTestCase() { diff --git a/ports/gtest/CONTROL b/ports/gtest/CONTROL index fbb19eaf64..5b3a7c4658 100644 --- a/ports/gtest/CONTROL +++ b/ports/gtest/CONTROL @@ -1,3 +1,3 @@ Source: gtest -Version: 1.8.0-9 +Version: 1.8.1-1 Description: GoogleTest and GoogleMock testing frameworks. diff --git a/ports/gtest/portfile.cmake b/ports/gtest/portfile.cmake index 87b3ce9070..4b0857de48 100644 --- a/ports/gtest/portfile.cmake +++ b/ports/gtest/portfile.cmake @@ -7,12 +7,11 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/googletest - REF ba96d0b1161f540656efdaed035b3c062b60e006 - SHA512 ce78098f973b45f4a177db387c42a56d5ea34407a2af278760b850c326e8450760a58991d62a5408f5df79f89fefd10fee71745b7e8669b2a6f74fa63a259600 + REF release-1.8.1 + SHA512 e6283c667558e1fd6e49fa96e52af0e415a3c8037afe1d28b7ff1ec4c2ef8f49beb70a9327b7fc77eb4052a58c4ccad8b5260ec90e4bceeac7a46ff59c4369d7 HEAD_REF master - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-Enable-C-11-features-for-VS2015-fix-appveyor-fail.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-z7-override.patch + PATCHES + ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-z7-override.patch ) string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" GTEST_FORCE_SHARED_CRT) @@ -20,16 +19,15 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" GTEST_FORCE_SHARED_CRT) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA - OPTIONS + OPTIONS -DBUILD_GMOCK=ON -DBUILD_GTEST=ON -DCMAKE_DEBUG_POSTFIX=d -Dgtest_force_shared_crt=${GTEST_FORCE_SHARED_CRT} ) -set(ENV{_CL_} "/D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING") - vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/GTest) file( INSTALL @@ -50,35 +48,30 @@ file( file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/googletest/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtest RENAME copyright) -# This block will be unnecessary in googletest 1.9.0 (or later). -# These dll files are installed in ../bin directory by default settings. -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/gtest.dll) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin/) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest.dll ${CURRENT_PACKAGES_DIR}/bin/gtest.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest_main.dll ${CURRENT_PACKAGES_DIR}/bin/gtest_main.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock.dll ${CURRENT_PACKAGES_DIR}/bin/gmock.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock_main.dll ${CURRENT_PACKAGES_DIR}/bin/gmock_main.dll) -endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/gtestd.dll) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin/) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtestd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gtestd.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_maind.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gtest_maind.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmockd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gmockd.dll) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock_maind.dll ${CURRENT_PACKAGES_DIR}/debug/bin/gmock_maind.dll) -endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/gtest.lib) - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gtest.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest_main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gtest_main.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gmock.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock_main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gmock_main.lib) -endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/gtestd.lib) +if(EXISTS ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_maind.lib) file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtestd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gtestd.lib) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gtest_maind.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gtest_maind.lib) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmockd.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gmockd.lib) file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gmock_maind.lib ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/gmock_maind.lib) + + file(READ ${CURRENT_PACKAGES_DIR}/share/gtest/GTestTargets-debug.cmake DEBUG_CONFIG) + string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/gtest_maind.lib" + "\${_IMPORT_PREFIX}/debug/lib/manual-link/gtest_maind.lib" DEBUG_CONFIG "${DEBUG_CONFIG}") + string(REPLACE "\${_IMPORT_PREFIX}/debug/lib/gmock_maind.lib" + "\${_IMPORT_PREFIX}/debug/lib/manual-link/gmock_maind.lib" DEBUG_CONFIG "${DEBUG_CONFIG}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/gtest/GTestTargets-debug.cmake "${DEBUG_CONFIG}") +endif() + +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/gtest_main.lib) + file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/lib/manual-link) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gtest_main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gtest_main.lib) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/gmock_main.lib ${CURRENT_PACKAGES_DIR}/lib/manual-link/gmock_main.lib) + + file(READ ${CURRENT_PACKAGES_DIR}/share/gtest/GTestTargets-release.cmake RELEASE_CONFIG) + string(REPLACE "\${_IMPORT_PREFIX}/lib/gtest_main.lib" + "\${_IMPORT_PREFIX}/lib/manual-link/gtest_main.lib" RELEASE_CONFIG "${RELEASE_CONFIG}") + string(REPLACE "\${_IMPORT_PREFIX}/lib/gmock_main.lib" + "\${_IMPORT_PREFIX}/lib/manual-link/gmock_main.lib" RELEASE_CONFIG "${RELEASE_CONFIG}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/gtest/GTestTargets-release.cmake "${RELEASE_CONFIG}") endif() vcpkg_copy_pdbs() diff --git a/ports/gtest/usage b/ports/gtest/usage index fa226ceede..d40782e0ef 100644 --- a/ports/gtest/usage +++ b/ports/gtest/usage @@ -1,6 +1,6 @@ The package gtest is compatible with built-in CMake targets: enable_testing() - find_package(GTest REQUIRED) + find_package(GTest MODULE REQUIRED) target_link_libraries(main PRIVATE GTest::GTest GTest::Main) add_test(AllTestsInMain main) diff --git a/ports/igloo/CONTROL b/ports/igloo/CONTROL new file mode 100644 index 0000000000..ffa162695e --- /dev/null +++ b/ports/igloo/CONTROL @@ -0,0 +1,3 @@ +Source: igloo +Version: 1.1.1 +Description: A framework for unit testing in C++ diff --git a/ports/igloo/portfile.cmake b/ports/igloo/portfile.cmake new file mode 100644 index 0000000000..a1ab175760 --- /dev/null +++ b/ports/igloo/portfile.cmake @@ -0,0 +1,16 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO joakimkarlsson/igloo + REF igloo.1.1.1 + SHA512 69d8edb840aa1e2c1df4529a39b94e2d33dbc9fb5869ae91a0f062d29b7fbb73d4e2180080e7696cb69fbf5126c7c53c98dddb003e0e5e796812330e1a4ba32e + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/igloo DESTINATION ${CURRENT_PACKAGES_DIR}/include/ FILES_MATCHING PATTERN *.h) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/igloo/external/snowhouse) +file(WRITE "${CURRENT_PACKAGES_DIR}/include/igloo/external/snowhouse/snowhouse/snowhouse.h" "#include ") + +file(COPY ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/igloo) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/igloo/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/igloo/copyright) \ No newline at end of file diff --git a/ports/imgui/CONTROL b/ports/imgui/CONTROL index a973b215b4..8f310b04f5 100644 --- a/ports/imgui/CONTROL +++ b/ports/imgui/CONTROL @@ -1,3 +1,3 @@ Source: imgui -Version: 1.65 +Version: 1.66 Description: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies. diff --git a/ports/imgui/portfile.cmake b/ports/imgui/portfile.cmake index 1f427a0680..8f54520421 100644 --- a/ports/imgui/portfile.cmake +++ b/ports/imgui/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ocornut/imgui - REF v1.65 - SHA512 f68bbf84b781ea3e409beccb02b0bf8fe78d56e1ce7d8fce785f629758310ae75c9624ed62b2b6194e50f00cc7cc17f643191f4fbbad9236aa2e82a9ea4f6aac + REF v1.66 + SHA512 85d41e6fa2141da87b72e5c39d23fe285bea086d6dd758a5ec048a495c29bbcf0a49ee1e9f442d5db3452fd0f28d1e52a2c41b5402cbbaa3ad6612818aaea670 HEAD_REF master ) @@ -21,5 +21,4 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() vcpkg_fixup_cmake_targets(CONFIG_PATH share/imgui) -file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/imgui) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/imgui/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/imgui/copyright) +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/imgui/copyright COPYONLY) diff --git a/ports/jsonnet/CONTROL b/ports/jsonnet/CONTROL index eba2463cef..3a96ceeb15 100644 --- a/ports/jsonnet/CONTROL +++ b/ports/jsonnet/CONTROL @@ -1,3 +1,3 @@ Source: jsonnet -Version: 2018-10-25 +Version: 2018-11-01 Description: Jsonnet - The data templating language diff --git a/ports/jsonnet/portfile.cmake b/ports/jsonnet/portfile.cmake index 09e7d92b4f..6a8e0f5cba 100644 --- a/ports/jsonnet/portfile.cmake +++ b/ports/jsonnet/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/jsonnet - REF edfcffc596af4a5977891849a2b813cf31bbff5e - SHA512 a0568fa00331ef2fe2e14c25c36b6668d15fbe3c4e92453a382832ae715c6eaff5047f0a91a98429052e0eaa16db25b850bb4544f44974abb7769125a1f4a7f2 + REF a0876b301daf8f45e16ac5f7bb814d0617772bb0 + SHA512 a57380ecc578b11f3a763202abb7ab703f2cc3c098ca7602d0bd199594a9e8d1cebc6d51332658edb08bf088e565d6afae0cb2faaf127fa33542a406de1ac055 HEAD_REF master ) diff --git a/ports/libbson/CONTROL b/ports/libbson/CONTROL index 8ba25697ff..2d64c4c1c8 100644 --- a/ports/libbson/CONTROL +++ b/ports/libbson/CONTROL @@ -1,3 +1,3 @@ Source: libbson -Version: 1.9.2 +Version: 1.9.5-1 Description: libbson is a library providing useful routines related to building, parsing, and iterating BSON documents. diff --git a/ports/libbson/portfile.cmake b/ports/libbson/portfile.cmake index 45bc06170d..50b6da1750 100644 --- a/ports/libbson/portfile.cmake +++ b/ports/libbson/portfile.cmake @@ -1,15 +1,11 @@ include(vcpkg_common_functions) -set(LIBBSON_VERSION 1.9.2) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/mongodb/libbson/archive/${LIBBSON_VERSION}.tar.gz" - FILENAME "libbson-${LIBBSON_VERSION}.tar.gz" - SHA512 a05f1e8fbabb34e847692397e2e41fc5923ddd18dba861e5ab8a31acdf6738e13ab719eae8f9f8563f08fc43aab5c8d1f53cb6a47c38c96e132fa4a62a48d2bf -) -vcpkg_extract_source_archive_ex( +vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${LIBBSON_VERSION} + REPO mongodb/libbson + REF 1.9.5 + SHA512 14bc75989baac550f42939ea161fa7872b950e5b669dc8f19e897f0783b04e0212e5e722b3fcdf946308b9a68bc066502ed8238dad92e342e5f49b8b2cc8f484 + HEAD_REF master PATCHES fix-uwp.patch ) @@ -70,7 +66,7 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) endif() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/libbson RENAME copyright) +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) @@ -79,6 +75,7 @@ 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}") @@ -88,4 +85,4 @@ file(COPY ${CURRENT_PACKAGES_DIR}/share/libbson/libbson-${PORT_POSTFIX}-config-v 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() \ No newline at end of file +vcpkg_copy_pdbs() diff --git a/ports/libgd/CONTROL b/ports/libgd/CONTROL index f86afe90f0..a8373f5157 100644 --- a/ports/libgd/CONTROL +++ b/ports/libgd/CONTROL @@ -1,4 +1,4 @@ Source: libgd -Version: 2.2.4-3 +Version: 2.2.4-4 Description: Open source code library for the dynamic creation of images by programmers. Build-Depends: freetype, libjpeg-turbo, libpng, libwebp, tiff, fontconfig diff --git a/ports/libgd/no-write-source-dir.patch b/ports/libgd/no-write-source-dir.patch new file mode 100644 index 0000000000..3017e7ee4a --- /dev/null +++ b/ports/libgd/no-write-source-dir.patch @@ -0,0 +1,14 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b16d4a4..5126085 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -191,7 +191,8 @@ else (USE_EXT_GD) + CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H) + CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) + +- CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${GD_SOURCE_DIR}/src/config.h ESCAPE_QUOTES) ++ CONFIGURE_FILE(${GD_SOURCE_DIR}/src/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config.h ESCAPE_QUOTES) ++ include_directories(${CMAKE_CURRENT_BINARY_DIR}/src) + + option(BUILD_SHARED_LIBS "Build shared libs" ON) + option(BUILD_STATIC_LIBS "Build static libs" OFF) diff --git a/ports/libgd/portfile.cmake b/ports/libgd/portfile.cmake index 61445641e4..7e8051acc6 100644 --- a/ports/libgd/portfile.cmake +++ b/ports/libgd/portfile.cmake @@ -1,19 +1,15 @@ include(vcpkg_common_functions) -set(LIBGD_VERSION 2.2.4) -set(LIBGD_HASH 02ce40c45f31cf1645ad1d3fd9b9b498323b2709d40b0681cd403c11072a1f2149f5af844a6bf9e695c29e3247013bb94c57c0225a54189d728f64caf0a938ee) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libgd-gd-${LIBGD_VERSION}) - -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/libgd/libgd/archive/gd-${LIBGD_VERSION}.tar.gz" - FILENAME "gd-${LIBGD_VERSION}.tar.gz" - SHA512 ${LIBGD_HASH}) - -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-cmake.patch") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libgd/libgd + REF gd-2.2.4 + SHA512 02ce40c45f31cf1645ad1d3fd9b9b498323b2709d40b0681cd403c11072a1f2149f5af844a6bf9e695c29e3247013bb94c57c0225a54189d728f64caf0a938ee + HEAD_REF master + PATCHES + 0001-fix-cmake.patch + no-write-source-dir.patch +) #delete CMake builtins modules file(REMOVE_RECURSE ${SOURCE_PATH}/cmake/modules/CMakeParseArguments.cmake) diff --git a/ports/libiconv/CMakeLists.txt b/ports/libiconv/CMakeLists.txt index 95071be9d3..3c2a6125c0 100644 --- a/ports/libiconv/CMakeLists.txt +++ b/ports/libiconv/CMakeLists.txt @@ -6,24 +6,47 @@ if(BUILD_SHARED_LIBS) else() set(LIBICONV_DYNAMIC "0 /*LIBICONV_DYNAMIC*/") endif() -set(HAVE_WCHAR_T "1 /*HAVE_WCHAR_T*/") -set(USE_MBSTATE_T "0 /*USE_MBSTATE_T*/") -set(BROKEN_WCHAR_H "0 /*BROKEN_WCHAR_H*/") -set(HAVE_VISIBILITY "0 /*HAVE_VISIBILITY*/") -configure_file(config.h.in config.h) -file(READ "${CMAKE_CURRENT_BINARY_DIR}/config.h" _contents) -string(REPLACE "#undef HAVE_WORKING_O_NOFOLLOW" "#define HAVE_WORKING_O_NOFOLLOW 0" _contents "${_contents}") -string(REPLACE "#undef HAVE_MBRTOWC" "#define HAVE_MBRTOWC 1" _contents "${_contents}") -string(REPLACE "#undef HAVE_MBSINIT" "#define HAVE_MBSINIT 1" _contents "${_contents}") -string(REPLACE "#undef HAVE_WCRTOMB" "#define HAVE_WCRTOMB 1" _contents "${_contents}") -string(REPLACE "#undef ICONV_CONST" "#define ICONV_CONST const" _contents "${_contents}") -string(REPLACE "#undef EILSEQ" "" _contents "${_contents}") -string(REPLACE "#undef WORDS_LITTLEENDIAN" "#define WORDS_LITTLEENDIAN 1" _contents "${_contents}") -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.h" "${_contents}") +set(CMAKE_STATIC_LIBRARY_PREFIX) +set(CMAKE_SHARED_LIBRARY_PREFIX) -configure_file(libcharset/include/localcharset.h.build.in localcharset.h) -configure_file(include/iconv.h.build.in iconv.h) +if(WIN32) + set(HAVE_WCHAR_T "1 /*HAVE_WCHAR_T*/") + set(USE_MBSTATE_T "0 /*USE_MBSTATE_T*/") + set(BROKEN_WCHAR_H "0 /*BROKEN_WCHAR_H*/") + set(HAVE_VISIBILITY "0 /*HAVE_VISIBILITY*/") + + configure_file(config.h.in config.h) + file(READ "${CMAKE_CURRENT_BINARY_DIR}/config.h" _contents) + string(REPLACE "#undef HAVE_WORKING_O_NOFOLLOW" "#define HAVE_WORKING_O_NOFOLLOW 0" _contents "${_contents}") + string(REPLACE "#undef HAVE_MBRTOWC" "#define HAVE_MBRTOWC 1" _contents "${_contents}") + string(REPLACE "#undef HAVE_MBSINIT" "#define HAVE_MBSINIT 1" _contents "${_contents}") + string(REPLACE "#undef HAVE_WCRTOMB" "#define HAVE_WCRTOMB 1" _contents "${_contents}") + string(REPLACE "#undef ICONV_CONST" "#define ICONV_CONST const" _contents "${_contents}") + string(REPLACE "#undef EILSEQ" "" _contents "${_contents}") + string(REPLACE "#undef WORDS_LITTLEENDIAN" "#define WORDS_LITTLEENDIAN 1" _contents "${_contents}") + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.h" "${_contents}") + + configure_file(libcharset/include/localcharset.h.build.in localcharset.h) + configure_file(include/iconv.h.build.in iconv.h) +else() + if(BUILD_SHARED_LIBS) + set(STATIC_SHARED --enable-shared --disable-static) + else() + set(STATIC_SHARED --disable-shared --enable-static) + endif() + + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/autoconf) + + execute_process( + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/configure --enable-relocatable ${STATIC_SHARED} --without-libiconv-prefix --without-libintl-prefix + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/autoconf + ) + + configure_file(${CMAKE_CURRENT_BINARY_DIR}/autoconf/config.h config.h @ONLY) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/autoconf/include/iconv.h iconv.h @ONLY) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/autoconf/libcharset/include/localcharset.h localcharset.h @ONLY) +endif() include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/ports/libiconv/CONTROL b/ports/libiconv/CONTROL index 852156dc62..a5e4d0cc4e 100644 --- a/ports/libiconv/CONTROL +++ b/ports/libiconv/CONTROL @@ -1,3 +1,3 @@ Source: libiconv -Version: 1.15-4 +Version: 1.15-5 Description: GNU Unicode text conversion diff --git a/ports/libiconv/portfile.cmake b/ports/libiconv/portfile.cmake index 3ccd85c531..7de4cac0e6 100644 --- a/ports/libiconv/portfile.cmake +++ b/ports/libiconv/portfile.cmake @@ -6,24 +6,27 @@ if(VCPKG_CMAKE_SYSTEM_NAME AND NOT VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStor endif() include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libiconv-1.15) + +set(LIBICONV_VERSION 1.15) + vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz" - FILENAME "libiconv-1.15.tar.gz" + URLS "https://ftp.gnu.org/gnu/libiconv/libiconv-${LIBICONV_VERSION}.tar.gz" + FILENAME "libiconv-${LIBICONV_VERSION}.tar.gz" SHA512 1233fe3ca09341b53354fd4bfe342a7589181145a1232c9919583a8c9979636855839049f3406f253a9d9829908816bb71fd6d34dd544ba290d6f04251376b1a ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${LIBICONV_VERSION} + PATCHES + 0001-Add-export-definitions.patch + 0002-Config-for-MSVC.patch + 0003-Fix-uwp.patch +) #Since libiconv uses automake, make and configure, we use a custom CMake file file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-Add-export-definitions.patch - ${CMAKE_CURRENT_LIST_DIR}/0002-Config-for-MSVC.patch - ${CMAKE_CURRENT_LIST_DIR}/0003-Fix-uwp.patch -) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA diff --git a/ports/libpng/CONTROL b/ports/libpng/CONTROL index d7e4b8e89f..e16f6b1c83 100644 --- a/ports/libpng/CONTROL +++ b/ports/libpng/CONTROL @@ -1,4 +1,4 @@ Source: libpng -Version: 1.6.35 +Version: 1.6.35-1 Build-Depends: zlib Description: libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files. diff --git a/ports/libpng/vcpkg-cmake-wrapper.cmake b/ports/libpng/vcpkg-cmake-wrapper.cmake index 88813d68cd..cb9c74f324 100644 --- a/ports/libpng/vcpkg-cmake-wrapper.cmake +++ b/ports/libpng/vcpkg-cmake-wrapper.cmake @@ -1,4 +1,6 @@ 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/libui/CONTROL b/ports/libui/CONTROL new file mode 100644 index 0000000000..d1a70f0d52 --- /dev/null +++ b/ports/libui/CONTROL @@ -0,0 +1,3 @@ +Source: libui +Version: 2018-11-03 +Description: Simple and portable (but not inflexible) native GUI library in C. diff --git a/ports/libui/fix-cmake.patch b/ports/libui/fix-cmake.patch new file mode 100644 index 0000000000..3d206584bb --- /dev/null +++ b/ports/libui/fix-cmake.patch @@ -0,0 +1,46 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c7193fbb..50c997f8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -152,8 +152,7 @@ add_subdirectory("common") + add_subdirectory("${_OSNAME}") + add_library(libui ${_LIBUI_SOURCES}) + target_include_directories(libui +- PUBLIC . +- PRIVATE ${_LIBUI_INCLUEDIRS}) ++ PUBLIC $) + target_compile_definitions(libui + PRIVATE ${_LIBUI_DEFS}) + # cmake produces this for us by default but only for shared libraries +@@ -229,10 +228,30 @@ macro(_add_exec _name) + # TODOfor some reason these don't propagate + if(NOT WIN32) + target_include_directories(${_name} +- PUBLIC .) ++ PUBLIC $) + target_compile_options(${_name} + PUBLIC ${_COMMON_CFLAGS}) + endif() + endmacro() + add_subdirectory("test") + add_subdirectory("examples") ++ ++if(BUILD_SHARED_LIBS) ++ install(TARGETS ${PROJECT_NAME} ++ EXPORT ${PROJECT_NAME}-config ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++else() ++ install(TARGETS ${PROJECT_NAME} ++ EXPORT ${PROJECT_NAME}-config ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++endif() ++ ++install(EXPORT ${PROJECT_NAME}-config ++ FILE unofficial-${PROJECT_NAME}-config.cmake ++ NAMESPACE unofficial::libui:: ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} ++) ++ ++install(FILES ui.h DESTINATION include) diff --git a/ports/libui/portfile.cmake b/ports/libui/portfile.cmake new file mode 100644 index 0000000000..4f543a89b5 --- /dev/null +++ b/ports/libui/portfile.cmake @@ -0,0 +1,27 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO andlabs/libui + REF 7138276ccfbde94873cb6e2db65642adcbd2ee19 + SHA512 3a9fb27d0c376479f58ba2fc5be3579efa5f462776a7e725313b92413ce78f3ca60897e63b580c419eeaee2cd2101de2be1ee5af80a547ef433c6284a3053d45 + HEAD_REF master + PATCHES + fix-cmake.patch +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/libui TARGET_PATH share/unofficial-libui) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/libui/copyright COPYONLY) + +vcpkg_copy_pdbs() diff --git a/ports/libuv/CMakeLists.txt b/ports/libuv/CMakeLists.txt index 33878471c3..c4b7c3882a 100644 --- a/ports/libuv/CMakeLists.txt +++ b/ports/libuv/CMakeLists.txt @@ -19,22 +19,32 @@ file(GLOB UV_SOURCES_UNIX src/unix/stream.c src/unix/tcp.c src/unix/thread.c - src/unix/timer.c src/unix/tty.c src/unix/udp.c - src/unix/proctitle.c ) file(GLOB UV_SOURCES_LINUX + src/unix/proctitle.c src/unix/linux-core.c src/unix/linux-inotify.c src/unix/linux-syscalls.c + src/unix/procfs-exepath.c + src/unix/sysinfo-loadavg.c + src/unix/sysinfo-memory.c ) file(GLOB UV_SOURCES_DARWIN - src/unix/kqueue.c + src/unix/proctitle.c src/unix/darwin.c src/unix/fsevents.c - src/unix/pthread-barrier.c src/unix/darwin-proctitle.c + src/unix/bsd-ifaddrs.c + src/unix/kqueue.c +) +file(GLOB UV_SOURCES_FREEBSD + src/unix/freebsd.c + src/unix/posix-hrtime.c + src/unix/bsd-proctitle.c + src/unix/bsd-ifaddrs.c + src/unix/kqueue.c ) file(GLOB UV_SOURCES_WIN src/win/*.c) @@ -44,6 +54,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "WindowsSt target_link_libraries(libuv iphlpapi psapi shell32 userenv ws2_32) elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_DARWIN}) +elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_FREEBSD}) else() # Assume some Linux variant add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_LINUX}) endif() diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL index a2bee52b55..e90eaa5459 100644 --- a/ports/libuv/CONTROL +++ b/ports/libuv/CONTROL @@ -1,3 +1,3 @@ Source: libuv -Version: 1.23.2 +Version: 1.24.0 Description: libuv is a multi-platform support library with a focus on asynchronous I/O. diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake index c8c7daf88a..782d946c3f 100644 --- a/ports/libuv/portfile.cmake +++ b/ports/libuv/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libuv/libuv - REF v1.23.2 - SHA512 f91accf4ba9987fad23cc546a9821c3d643f8505cae22e0cbe28c4d5d5cb6b370b3483c6d95195cff3bcddd1e94f1bdab740075c3eaf22f8f673f7a57c1fdfc5 + REF v1.24.0 + SHA512 b75dac19e99497b059b9b8ce646266c4fa10f1259f5fd74554f7f614f7b70f4b62b9c756316d9a3eed6cf6b9d61f5acde9f6eedb88d30431f6a5c87169487ec6 HEAD_REF v1.x ) diff --git a/ports/linalg/CONTROL b/ports/linalg/CONTROL new file mode 100644 index 0000000000..eb2afe6f36 --- /dev/null +++ b/ports/linalg/CONTROL @@ -0,0 +1,3 @@ +Source: linalg +Version: 2.1 +Description: linalg.h is a single header public domain linear algebra library for C++11 diff --git a/ports/linalg/portfile.cmake b/ports/linalg/portfile.cmake new file mode 100644 index 0000000000..4f27777555 --- /dev/null +++ b/ports/linalg/portfile.cmake @@ -0,0 +1,12 @@ +#header-only library +include(vcpkg_common_functions) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sgorsten/linalg + REF v2.1 + SHA512 48d8248ea1bca3d4fe35d038690f496cd0c8c9469d76eca684668ce6fef5df0eb9556f9b49e4da90e2c2e8ef475791877aa815c3f9437c097fbfc303134d02d7 + HEAD_REF master +) + +configure_file(${SOURCE_PATH}/UNLICENSE ${CURRENT_PACKAGES_DIR}/share/linalg/copyright COPYONLY) +configure_file(${SOURCE_PATH}/linalg.h ${CURRENT_PACKAGES_DIR}/include/linalg.h COPYONLY) \ No newline at end of file diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index 293751c0d7..fd05070809 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -50,12 +50,17 @@ vcpkg_configure_cmake( vcpkg_install_cmake() -file(GLOB EXE ${CURRENT_PACKAGES_DIR}/bin/*) -file(GLOB DEBUG_EXE ${CURRENT_PACKAGES_DIR}/debug/bin/*) -file(COPY ${EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/tools/llvm) -file(COPY ${DEBUG_EXE} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/llvm) -file(REMOVE ${EXE}) -file(REMOVE ${DEBUG_EXE}) +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 lib/cmake/clang TARGET_PATH share/clang) vcpkg_fixup_cmake_targets(CONFIG_PATH share/llvm) diff --git a/ports/miniupnpc/CONTROL b/ports/miniupnpc/CONTROL new file mode 100644 index 0000000000..8238e64f7e --- /dev/null +++ b/ports/miniupnpc/CONTROL @@ -0,0 +1,3 @@ +Source: miniupnpc +Version: 2.1 +Description: UPnP client library/tool to access Internet Gateway Devices diff --git a/ports/miniupnpc/cmakelists.diff b/ports/miniupnpc/cmakelists.diff new file mode 100644 index 0000000000..4df7ef74dc --- /dev/null +++ b/ports/miniupnpc/cmakelists.diff @@ -0,0 +1,11 @@ +--- a/miniupnpc/CMakeLists.txt 2018-05-07 13:12:58.000000000 +0200 ++++ b/miniupnpc/CMakeLists.txt 2018-11-13 11:51:57.897598000 +0100 +@@ -124,7 +124,7 @@ + target_link_libraries (libminiupnpc-shared PRIVATE miniupnpc-private) + target_compile_definitions(libminiupnpc-shared PRIVATE MINIUPNP_EXPORTS) + +- target_include_directories(libminiupnpc-static INTERFACE ../${CMAKE_CURRENT_SOURCE_DIR}) ++ target_include_directories(libminiupnpc-shared INTERFACE ../${CMAKE_CURRENT_SOURCE_DIR}) + if (WIN32) + target_link_libraries(libminiupnpc-shared INTERFACE ws2_32 iphlpapi) + endif() diff --git a/ports/miniupnpc/portfile.cmake b/ports/miniupnpc/portfile.cmake new file mode 100644 index 0000000000..2c9aa9ec6d --- /dev/null +++ b/ports/miniupnpc/portfile.cmake @@ -0,0 +1,31 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO miniupnp/miniupnp + REF miniupnpc_2_1 + SHA512 f2ab5116c094982f7838ccab460d3db07a99de1094448277fc45841e0e64ea1b4216d75a7e5dd471c79ff9b0132b89e4d801c3ad1b60d55631c12c916df658f5 + HEAD_REF master +) + +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) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH}/miniupnpc + PREFER_NINJA # Disable this option if project cannot be built with Ninja + OPTIONS + -DUPNPC_BUILD_STATIC=${MINIUPNPC_BUILD_STATIC} + -DUPNPC_BUILD_SHARED=${MINIUPNPC_BUILD_SHARED} + -DUPNPC_BUILD_TESTS=OFF + -DUPNPC_BUILD_SAMPLE=OFF +) + +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 9ebb5d217f..0b572b39c4 100644 --- a/ports/minizip/CMakeLists.txt +++ b/ports/minizip/CMakeLists.txt @@ -15,21 +15,27 @@ include_directories(${MIN_SRC} ${ZLIB_INCLUDE_DIRS} ${BZIP2_INCLUDE_DIR}) set(SRC ${MIN_SRC}/ioapi.c - ${MIN_SRC}/iowin32.c ${MIN_SRC}/unzip.c ${MIN_SRC}/zip.c ${MIN_SRC}/unzip.c ${MIN_SRC}/mztools.c ) +if(WIN32) + list(APPEND SRC ${MIN_SRC}/iowin32.c) +endif() + set(HEADERS ${MIN_SRC}/crypt.h ${MIN_SRC}/ioapi.h - ${MIN_SRC}/iowin32.h ${MIN_SRC}/unzip.h ${MIN_SRC}/zip.h ${MIN_SRC}/unzip.h ${MIN_SRC}/mztools.h ) +if(WIN32) + list(APPEND HEADERS ${MIN_SRC}/iowin32.h) +endif() + if(BUILD_SHARED_LIBS) set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) endif() diff --git a/ports/minizip/CONTROL b/ports/minizip/CONTROL index cc37b5f8cd..60398b039a 100644 --- a/ports/minizip/CONTROL +++ b/ports/minizip/CONTROL @@ -1,4 +1,4 @@ Source: minizip -Version: 1.2.11-2 +Version: 1.2.11-3 Description: Zip compression library Build-Depends: bzip2, zlib diff --git a/ports/mongo-c-driver/CONTROL b/ports/mongo-c-driver/CONTROL index 9a367df3a0..700f65d1a7 100644 --- a/ports/mongo-c-driver/CONTROL +++ b/ports/mongo-c-driver/CONTROL @@ -1,4 +1,4 @@ Source: mongo-c-driver -Version: 1.9.2 +Version: 1.9.5-1 Build-Depends: libbson, openssl (uwp) Description: Client library written in C for MongoDB. diff --git a/ports/mongo-c-driver/portfile.cmake b/ports/mongo-c-driver/portfile.cmake index 74f4bd66b1..54d70aaf89 100644 --- a/ports/mongo-c-driver/portfile.cmake +++ b/ports/mongo-c-driver/portfile.cmake @@ -1,16 +1,11 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mongo-c-driver-1.9.2) - -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/mongodb/mongo-c-driver/archive/1.9.2.tar.gz" - FILENAME "mongo-c-driver-1.9.2.tar.gz" - SHA512 a2c819da77aef93ce261093e98e8e8c41c449af56bd03d875e2838a067ae71b5ceb16fed2fb8df9458c84310451b813464377592806fc9ac39d9df2f4ddba83b -) -vcpkg_extract_source_archive(${ARCHIVE}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/fix-uwp.patch +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO mongodb/mongo-c-driver + REF 1.9.5 + SHA512 bee584c83bb317802eb855fececc98f2013d7c3134f063c3146521ab535c8a89c2dfe89ccfa6ebbe2d7c64edec0e53105ead361da83b885c7778b40e4801de62 + HEAD_REF master + PATCHES fix-uwp.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -36,7 +31,7 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libmongoc-static-1.0") else() vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/libmongoc-1.0") @@ -64,13 +59,13 @@ if (VCPKG_LIBRARY_LINKAGE STREQUAL static) vcpkg_apply_patches( SOURCE_PATH ${CURRENT_PACKAGES_DIR}/include PATCHES - ${CMAKE_CURRENT_LIST_DIR}/static.patch + static.patch ) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin ${CURRENT_PACKAGES_DIR}/bin) endif() -file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver RENAME copyright) +configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/copyright COPYONLY) file(COPY ${SOURCE_PATH}/THIRD_PARTY_NOTICES DESTINATION ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -79,6 +74,7 @@ else() set(PORT_POSTFIX "1.0") endif() +# Create cmake files for _both_ find_package(mongo-c-driver) and find_package(libmongoc-static-1.0)/find_package(libmongoc-1.0) file(READ ${CURRENT_PACKAGES_DIR}/share/mongo-c-driver/libmongoc-${PORT_POSTFIX}-config.cmake 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}") diff --git a/ports/mpir/CONTROL b/ports/mpir/CONTROL index 7a8dd7985e..5a944e6bd3 100644 --- a/ports/mpir/CONTROL +++ b/ports/mpir/CONTROL @@ -1,3 +1,3 @@ Source: mpir -Version: 3.0.0-5 +Version: 3.0.0-7 Description: Multiple Precision Integers and Rationals. diff --git a/ports/mpir/enable-runtimelibrary-toggle.patch b/ports/mpir/enable-runtimelibrary-toggle.patch index d0260e8698..391d4e103b 100644 --- a/ports/mpir/enable-runtimelibrary-toggle.patch +++ b/ports/mpir/enable-runtimelibrary-toggle.patch @@ -2,12 +2,13 @@ diff --git a/build.vc/mpir_debug_lib.props b/build.vc/mpir_debug_lib.props index b2fd57b..3937570 100644 --- a/build.vc/mpir_debug_lib.props +++ b/build.vc/mpir_debug_lib.props -@@ -9,7 +9,7 @@ +@@ -9,7 +9,8 @@ $(IntDir)dum\my\%(RelativeDir) - MultiThreadedDebug + $(RuntimeLibrary) ++ OldStyle $(TargetDir)$(TargetName).pdb diff --git a/ports/mpir/portfile.cmake b/ports/mpir/portfile.cmake index 5f54fa08f7..42dd34c942 100644 --- a/ports/mpir/portfile.cmake +++ b/ports/mpir/portfile.cmake @@ -71,7 +71,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME) ) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/info) - configure_file(${SOURCE_PATH}/COPYING.lib ${CURRENT_PACKAGES_DIR}/share/mpir/copyright COPYONLY) + configure_file(${SOURCE_PATH}/COPYING.LIB ${CURRENT_PACKAGES_DIR}/share/mpir/copyright COPYONLY) else() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/ms-gsl/CONTROL b/ports/ms-gsl/CONTROL index 37285222e1..8d6d021479 100644 --- a/ports/ms-gsl/CONTROL +++ b/ports/ms-gsl/CONTROL @@ -1,3 +1,3 @@ Source: ms-gsl -Version: 2018-09-18 +Version: 2018-11-08 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 22d6fc21e0..a130f9a351 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 1995e86d1ad70519465374fb4876c6ef7c9f8c61 - SHA512 00d512269f9f126c93882001704c2c1926556d72fd5e26f8ba223d92f09d9955194e7bf08b172483b5d649021b0b7b54eca3e3ea2337e16b4cd5a8313a85ba66 + REF c02ddae4bcff82b17826fe3127e835f5aa54b485 + SHA512 5fcb67d410a46a4e202c367bae59b1dd4f4220ac2b75a70bc34503612a616b2792e74a18b50901656d18a031cc32cf42da8673d3412ccfe8a236daa54eae44c7 HEAD_REF master ) diff --git a/ports/nanodbc/portfile.cmake b/ports/nanodbc/portfile.cmake index 7019852ea4..ff90b4b197 100644 --- a/ports/nanodbc/portfile.cmake +++ b/ports/nanodbc/portfile.cmake @@ -1,17 +1,23 @@ -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building not supported yet. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/nanodbc-2.12.4) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/nanodbc/nanodbc/archive/v2.12.4.tar.gz" - FILENAME "nanodbc-2.12.4.tar.gz" +# Only static libraries are supported. +# See https://github.com/nanodbc/nanodbc/issues/13 +if(VCPKG_USE_HEAD_VERSION) # v2.13 + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +else() # v2.12.4 + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nanodbc/nanodbc + REF v2.12.4 SHA512 b9a924516b2a777e5f1497774997672320548722ed53413b0a7ad5d503e2f8ca1099f5059a912b7aae410928f4c4edcdfd02e4cfbf415976cd222697b354b4e6 + HEAD_REF master ) -vcpkg_extract_source_archive(${ARCHIVE}) +# Legacy, remove at release of v2.13 +if(NOT VCPKG_USE_HEAD_VERSION) vcpkg_apply_patches( SOURCE_PATH ${SOURCE_PATH} PATCHES @@ -20,18 +26,27 @@ vcpkg_apply_patches( ${CMAKE_CURRENT_LIST_DIR}/0003_export_def.patch ${CMAKE_CURRENT_LIST_DIR}/0004_unicode.patch ) +endif() +# /Legacy vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS + OPTIONS +# Legacy, remove at release of v2.13 -DNANODBC_EXAMPLES=OFF -DNANODBC_TEST=OFF -DNANODBC_USE_UNICODE=ON +# /Legacy + -DNANODBC_DISABLE_EXAMPLES=ON + -DNANODBC_DISABLE_TESTS=ON + -DNANODBC_ENABLE_UNICODE=ON ) vcpkg_install_cmake() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) + vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) +endif() -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/nanodbc) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/nanodbc/LICENSE ${CURRENT_PACKAGES_DIR}/share/nanodbc/copyright) \ No newline at end of file +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/nanodbc RENAME copyright) diff --git a/ports/nanovg/CMakeLists.txt b/ports/nanovg/CMakeLists.txt new file mode 100644 index 0000000000..87a7d3339b --- /dev/null +++ b/ports/nanovg/CMakeLists.txt @@ -0,0 +1,31 @@ +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) +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) + +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + target_compile_definitions(nanovg PRIVATE DEBUG) +else() + target_compile_definitions(nanovg PRIVATE NDEBUG) +endif() + +install(TARGETS nanovg + EXPORT nanovgTargets + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + PUBLIC_HEADER DESTINATION include) + +install(EXPORT nanovgTargets + FILE nanovgTargets.cmake + NAMESPACE nanovg:: + DESTINATION share/nanovg) + +include(CMakePackageConfigHelpers) +install(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/nanovgConfig.cmake + DESTINATION share/nanovg) diff --git a/ports/nanovg/CONTROL b/ports/nanovg/CONTROL new file mode 100644 index 0000000000..c074c18246 --- /dev/null +++ b/ports/nanovg/CONTROL @@ -0,0 +1,3 @@ +Source: nanovg +Version: master +Description: NanoVG is small antialiased vector graphics rendering library for OpenGL. diff --git a/ports/nanovg/nanovgConfig.cmake b/ports/nanovg/nanovgConfig.cmake new file mode 100644 index 0000000000..e849dff115 --- /dev/null +++ b/ports/nanovg/nanovgConfig.cmake @@ -0,0 +1 @@ +include(${CMAKE_CURRENT_LIST_DIR}/nanovgTargets.cmake) diff --git a/ports/nanovg/portfile.cmake b/ports/nanovg/portfile.cmake new file mode 100644 index 0000000000..39e36720e1 --- /dev/null +++ b/ports/nanovg/portfile.cmake @@ -0,0 +1,41 @@ +# 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 + 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 + # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2 + # OPTIONS_RELEASE -DOPTIMIZE=1 + # OPTIONS_DEBUG -DDEBUGGABLE=1 +) + +vcpkg_install_cmake() +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) diff --git a/ports/nghttp2/CONTROL b/ports/nghttp2/CONTROL index 09297c5077..d68720137e 100644 --- a/ports/nghttp2/CONTROL +++ b/ports/nghttp2/CONTROL @@ -1,3 +1,3 @@ Source: nghttp2 -Version: 1.33.0 +Version: 1.35.0 Description: Implementation of the Hypertext Transfer Protocol version 2 in C diff --git a/ports/nghttp2/portfile.cmake b/ports/nghttp2/portfile.cmake index 96829566c7..52f754afb9 100644 --- a/ports/nghttp2/portfile.cmake +++ b/ports/nghttp2/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) set(LIB_NAME nghttp2) -set(LIB_VERSION 1.33.0) +set(LIB_VERSION 1.35.0) set(LIB_FILENAME ${LIB_NAME}-${LIB_VERSION}.tar.gz) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/${LIB_NAME}-${LIB_VERSION}) @@ -9,7 +9,7 @@ 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 39c37a6579d1da6a6bcfb32c822f59943796ef4c11d82146924b8e279653c4afca496b6cc7fd65b0181f95fa5007a2dd0589038d6f4354c75d65e60d29528268 + SHA512 65889545684e2c8b4aeeb7084ca36e3f78927fa2b6d1df906af3970d8ce6c7c6093b56a5e0713f7bb54a98f06ad52d6e2b323e760297610702afe526b0fdd577 ) vcpkg_extract_source_archive(${ARCHIVE}) diff --git a/ports/nlohmann-json/CONTROL b/ports/nlohmann-json/CONTROL index 8ee107a92c..1e628ba81b 100644 --- a/ports/nlohmann-json/CONTROL +++ b/ports/nlohmann-json/CONTROL @@ -1,3 +1,3 @@ Source: nlohmann-json -Version: 3.3.0 +Version: 3.4.0 Description: JSON for Modern C++ diff --git a/ports/nlohmann-json/portfile.cmake b/ports/nlohmann-json/portfile.cmake index 5cee9565e8..d3926cab63 100644 --- a/ports/nlohmann-json/portfile.cmake +++ b/ports/nlohmann-json/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(SOURCE_VERSION 3.3.0) +set(SOURCE_VERSION 3.4.0) vcpkg_download_distfile(HEADER URLS "https://github.com/nlohmann/json/releases/download/v${SOURCE_VERSION}/json.hpp" FILENAME "nlohmann-json-${SOURCE_VERSION}.hpp" - SHA512 c4e4bb84d1488f87a02c4e12409491225e345cc508e6dbbee1a3542fbd4953052c256d0fe78c4d3ce02d44c3a2155fe66f0c8a93a3851ddf94fec4f9f3fd6918 + SHA512 a1bdb4b434ee34cbc360e0203f500b25e15d7e1a6d25ea6e3bd3b56a5e7ec47d8c0bbe074930b7a07d6ceaf2112eefa24da9c1f0595aaf12c88697048238166d ) vcpkg_download_distfile(LICENSE diff --git a/ports/nng/CONTROL b/ports/nng/CONTROL index b70aaa5b0b..de66fb2c65 100644 --- a/ports/nng/CONTROL +++ b/ports/nng/CONTROL @@ -1,5 +1,5 @@ Source: nng -Version: 1.0.1 +Version: 1.1.0 Description: NNG, like its predecessors nanomsg (and to some extent ZeroMQ), is a lightweight, broker-less library, offering a simple API to solve common recurring messaging problems, such as publish/subscribe, RPC-style request/reply, or service discovery. Feature: mbedtls diff --git a/ports/nng/fix-include-path.patch b/ports/nng/fix-include-path.patch deleted file mode 100644 index 9c18b99332..0000000000 --- a/ports/nng/fix-include-path.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index e59ee5b..b5f6a0d 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -238,6 +238,9 @@ set_target_properties (${PROJECT_NAME} ${PROJECT_NAME} - target_link_libraries (${PROJECT_NAME} PRIVATE ${NNG_REQUIRED_LIBRARIES}) - target_link_libraries (${PROJECT_NAME} PRIVATE Threads::Threads) - -+# See: https://github.com/nanomsg/nanomsg/pull/949/ -+target_include_directories(${PROJECT_NAME} PUBLIC $) -+ - install (TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME}-target - FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT library diff --git a/ports/nng/portfile.cmake b/ports/nng/portfile.cmake index d7465170a7..b16632ff97 100644 --- a/ports/nng/portfile.cmake +++ b/ports/nng/portfile.cmake @@ -3,10 +3,9 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO nanomsg/nng - REF ce9f0cb155ad0e97cfc7703d9d7c8e5bec3201bc - SHA512 e1fca685e3397398bd259d126560902e813d1e2fb5cdb04de9d3f2fd74961f53af53dbaf9a555113a5588f07a3859d16bdc64f0a0ff65a7b5cf89965e764e68d + REF v1.1.0 + SHA512 79f8d66cdf1d8f0f50f888edf59b46671ca7439d1da0f25e5f729bd1365b4bc2969c90a377bbd25c41f84eeb231d03fb0bc7c2d5435e3e55f4cf80ae62f9b934 HEAD_REF master - PATCHES fix-include-path.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" NNG_STATIC_LIB) @@ -31,21 +30,11 @@ vcpkg_configure_cmake( vcpkg_install_cmake() # Move CMake config files to the right place -if(EXISTS ${CURRENT_PACKAGES_DIR}/cmake) - vcpkg_fixup_cmake_targets(CONFIG_PATH cmake) -endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/cmake/nng) - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nng) -endif() +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/nng) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Put the licence file where vcpkg expects it -file(COPY - ${SOURCE_PATH}/LICENSE.txt - DESTINATION ${CURRENT_PACKAGES_DIR}/share/nng) -file(RENAME - ${CURRENT_PACKAGES_DIR}/share/nng/LICENSE.txt - ${CURRENT_PACKAGES_DIR}/share/nng/copyright) +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/nng/copyright COPYONLY) vcpkg_copy_pdbs() diff --git a/ports/nuklear/CONTROL b/ports/nuklear/CONTROL index 15f605ebc9..f7d01c295c 100644 --- a/ports/nuklear/CONTROL +++ b/ports/nuklear/CONTROL @@ -1,3 +1,3 @@ Source: nuklear -Version: 2018-10-25 +Version: 2018-11-01 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 d7570987f0..b7e6bfff89 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 19c14bb777ebccf93fc9ed8a8b295f4a62cb32c9 - SHA512 ff9d9fcbba41b602e13060445dd67a6c07322fce4b9b210cde72e4ba9bb5f3805fec5aad66e2c9aeca191d0fdd4e9b747021e5e8aa62175f927fa39a91847b1a + REF 181cfd86c47ae83eceabaf4e640587b844e613b6 + SHA512 33f6200d046c96b8d42ff851ba788bf4f57d8aa99591b866e8691204378f23d5dce06343521834cd10ffaecc42566d97ce2c3becf48caaadf0cdc270cf69bdbb HEAD_REF master ) file(INSTALL ${SOURCE_PATH}/nuklear.h DESTINATION ${CURRENT_PACKAGES_DIR}/include) diff --git a/ports/ogre/001-cmake-install-dir.patch b/ports/ogre/001-cmake-install-dir.patch index 27c6d2f70f..548f946f7e 100644 --- a/ports/ogre/001-cmake-install-dir.patch +++ b/ports/ogre/001-cmake-install-dir.patch @@ -1,5 +1,5 @@ ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt +--- a/CMake/CMakeLists.txt ++++ b/CMake/CMakeLists.txt @@ -13,10 +13,12 @@ # directory, but can also be used for custom projects. ############################################################# @@ -8,7 +8,7 @@ - set(OGRE_CMAKE_DIR "CMake") -else() - set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") -+if (NOT DEFINED OGRE_CMAKE_DIR) ++if(NOT DEFINED OGRE_CMAKE_DIR) + if(WIN32 OR APPLE) + set(OGRE_CMAKE_DIR "CMake") + else() @@ -16,10 +16,10 @@ + endif() endif() - set(INST_FILES ---- a/cmake/InstallResources.cmake -+++ b/cmake/InstallResources.cmake -@@ -241,10 +241,12 @@ endif () + set(INST_FILES Utils/FindPkgMacros.cmake) +--- a/CMake/InstallResources.cmake ++++ b/CMake/InstallResources.cmake +@@ -242,10 +242,12 @@ # Create the CMake package files include(CMakePackageConfigHelpers) @@ -27,7 +27,7 @@ - set(OGRE_CMAKE_DIR "CMake") -else() - set(OGRE_CMAKE_DIR "${OGRE_LIB_DIRECTORY}/OGRE/cmake") -+if (NOT DEFINED OGRE_CMAKE_DIR) ++if(NOT DEFINED OGRE_CMAKE_DIR) + if(WIN32 OR APPLE) + set(OGRE_CMAKE_DIR "CMake") + else() diff --git a/ports/ogre/002-link-optimized-lib-workaround.patch b/ports/ogre/002-link-optimized-lib-workaround.patch new file mode 100644 index 0000000000..b2678f488d --- /dev/null +++ b/ports/ogre/002-link-optimized-lib-workaround.patch @@ -0,0 +1,37 @@ +--- 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 f7d93e7b25..288e558e94 100644 --- a/ports/ogre/CONTROL +++ b/ports/ogre/CONTROL @@ -1,5 +1,5 @@ Source: ogre -Version: 1.10.11 +Version: 1.11.3-3 Build-Depends: freeimage, freetype, zlib, zziplib Description: 3D Object-Oriented Graphics Rendering Engine diff --git a/ports/ogre/portfile.cmake b/ports/ogre/portfile.cmake index 8281960c6f..74cb8a1c0a 100644 --- a/ports/ogre/portfile.cmake +++ b/ports/ogre/portfile.cmake @@ -3,15 +3,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OGRECave/ogre - REF v1.10.11 - SHA512 2dfedd6f0a0de1a8c687c001439138b233200ca11e5c9940debf43d8a0380ca6472e0b5f4d599f0e22ca2049d0a5d34066ef41b6bc4912130694fa5d851fc900 + REF v1.11.3 + SHA512 af52821022ab6148e64fdf183b1aa4607b101c7d0edc20d2ccc909f50eed218d7a283fa3b58260fd41cd3f324ecafad8c5137c66e05786580b043240551b2c42 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/001-cmake-install-dir.patch" + 001-cmake-install-dir.patch + 002-link-optimized-lib-workaround.patch ) if (VCPKG_LIBRARY_LINKAGE STREQUAL static) @@ -58,10 +55,7 @@ vcpkg_configure_cmake( -DOGRE_INSTALL_CMAKE=ON -DOGRE_INSTALL_VSPROPS=OFF -DOGRE_STATIC=${OGRE_STATIC} - -DOGRE_UNITY_BUILD=OFF - -DOGRE_USE_STD11=ON -DOGRE_CONFIG_THREAD_PROVIDER=std - -DOGRE_NODE_STORAGE_LEGACY=OFF -DOGRE_BUILD_RENDERSYSTEM_D3D11=ON -DOGRE_BUILD_RENDERSYSTEM_GL=ON -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=ON @@ -95,33 +89,31 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) endif() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link ${CURRENT_PACKAGES_DIR}/lib/manual-link) +if(NOT VCPKG_CMAKE_SYSTEM_NAME) + 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 MAIN_REL ${CURRENT_PACKAGES_DIR}/lib/OgreMain.lib ${CURRENT_PACKAGES_DIR}/lib/OgreMainStatic.lib) -file(COPY ${MAIN_REL} DESTINATION ${CURRENT_PACKAGES_DIR}/lib/manual-link) -file(GLOB MAIN_DBG ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMain_d.lib ${CURRENT_PACKAGES_DIR}/debug/lib/OgreMainStatic_d.lib) -file(COPY ${MAIN_DBG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib/manual-link) -file(REMOVE ${MAIN_REL} ${MAIN_DBG}) - -# Ogre installs custom cmake config files which don't follow the normal pattern. -# This normally makes them completely incompatible with multi-config generators, but with some effort it can be done. -file(READ "${CURRENT_PACKAGES_DIR}/share/ogre/OGREConfig.cmake" _contents) -string(REPLACE "${CURRENT_INSTALLED_DIR}" "\${PACKAGE_PREFIX_DIR}" _contents "${_contents}") -string(REPLACE "SDL2main.lib" "SDL2main$<$:d>.lib" _contents "${_contents}") -string(REPLACE "SDL2.lib" "SDL2$<$:d>.lib" _contents "${_contents}") -string(REPLACE "\${PACKAGE_PREFIX_DIR}/lib" "\${PACKAGE_PREFIX_DIR}$<$:/debug>/lib" _contents "${_contents}") -string(REPLACE "{OGRE_PREFIX_DIR}/lib" "{OGRE_PREFIX_DIR}$<$:/debug>/lib" _contents "${_contents}") - -string(REPLACE "\"Ogre\${COMPONENT}\"" "\"Ogre\${COMPONENT}$<$:_d>\"" _contents "${_contents}") -string(REPLACE "\"Ogre\${COMPONENT}Static\"" "\"Ogre\${COMPONENT}Static$<$:_d>\"" _contents "${_contents}") - -string(REPLACE "\"\${TYPE}_\${COMPONENT}\"" "\"\${TYPE}_\${COMPONENT}$<$:_d>\"" _contents "${_contents}") -string(REPLACE "\"\${TYPE}_\${COMPONENT}Static\"" "\"\${TYPE}_\${COMPONENT}Static$<$:_d>\"" _contents "${_contents}") - -string(REPLACE "\"OgreMain\"" "\"\${PACKAGE_PREFIX_DIR}/lib/manual-link/OgreMain$<$:_d>.lib\"" _contents "${_contents}") -string(REPLACE "\"OgreMainStatic\"" "\"\${PACKAGE_PREFIX_DIR}/lib/manual-link/OgreMainStatic$<$:_d>.lib\"" _contents "${_contents}") - -file(WRITE "${CURRENT_PACKAGES_DIR}/share/ogre/OGREConfig.cmake" "${_contents}") + file(GLOB SHARE_FILES ${CURRENT_PACKAGES_DIR}/share/ogre/*.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 RENAME copyright) diff --git a/ports/opencv/0001-winrt-fixes.patch b/ports/opencv/0001-winrt-fixes.patch index f913d92a40..b2fe1a0217 100644 --- a/ports/opencv/0001-winrt-fixes.patch +++ b/ports/opencv/0001-winrt-fixes.patch @@ -1,17 +1,6 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -311,7 +311,7 @@ OCV_OPTION(INSTALL_TESTS "Install accuracy and performance test binar - # OpenCV build options - # =================================================== - OCV_OPTION(ENABLE_CCACHE "Use ccache" (UNIX AND NOT IOS AND (CMAKE_GENERATOR MATCHES "Makefile" OR CMAKE_GENERATOR MATCHES "Ninja")) ) --OCV_OPTION(ENABLE_PRECOMPILED_HEADERS "Use precompiled headers" ON IF (NOT IOS AND NOT CMAKE_CROSSCOMPILING) ) -+OCV_OPTION(ENABLE_PRECOMPILED_HEADERS "Use precompiled headers" ON IF (NOT IOS AND (MSVC OR NOT CMAKE_CROSSCOMPILING)) ) - OCV_OPTION(ENABLE_SOLUTION_FOLDERS "Solution folder in Visual Studio or in other IDEs" (MSVC_IDE OR CMAKE_GENERATOR MATCHES Xcode) ) - OCV_OPTION(ENABLE_PROFILING "Enable profiling in the GCC compiler (Add flags: -g -pg)" OFF IF CMAKE_COMPILER_IS_GNUCXX ) - OCV_OPTION(ENABLE_COVERAGE "Enable coverage collection with GCov" OFF IF CMAKE_COMPILER_IS_GNUCXX ) --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake -@@ -842,7 +842,7 @@ macro(ocv_create_module) +@@ -848,7 +848,7 @@ macro(ocv_create_module) set(the_module_target ${the_module}) endif() @@ -30,8 +19,6 @@ 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 @@ @@ -42,8 +29,6 @@ index 25f4aef..5429f0b 100644 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() diff --git a/ports/opencv/0002-install-options.patch b/ports/opencv/0002-install-options.patch index 830c9f385f..0719a7cb9f 100644 --- a/ports/opencv/0002-install-options.patch +++ b/ports/opencv/0002-install-options.patch @@ -1,6 +1,6 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -307,6 +307,10 @@ OCV_OPTION(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF ) +@@ -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) @@ -8,21 +8,12 @@ +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 # =================================================== -@@ -335,7 +339,7 @@ OCV_OPTION(CV_ENABLE_INTRINSICS "Use intrinsic-based optimized code" ON ) - OCV_OPTION(CV_DISABLE_OPTIMIZATION "Disable explicit optimized code (dispatched code/intrinsics/loop unrolling/etc)" OFF ) - OCV_OPTION(CV_TRACE "Enable OpenCV code trace" ON) - --OCV_OPTION(ENABLE_PYLINT "Add target with Pylint checks" (${BUILD_DOCS} OR ${BUILD_EXAMPLES}) IF (NOT CMAKE_CROSSCOMPILING AND NOT APPLE_FRAMEWORK) ) -+OCV_OPTION(ENABLE_PYLINT "Add target with Pylint checks" (BUILD_DOCS OR BUILD_EXAMPLES) IF (NOT CMAKE_CROSSCOMPILING AND NOT APPLE_FRAMEWORK) ) - - if(ENABLE_IMPL_COLLECTION) - add_definitions(-DCV_COLLECT_IMPL_DATA) -@@ -372,7 +376,9 @@ else() +@@ -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) @@ -31,9 +22,9 @@ ocv_update(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/") else() message(STATUS "Can't detect runtime and/or arch") -@@ -427,12 +433,8 @@ else() +@@ -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}") @@ -46,9 +37,9 @@ ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH samples) ocv_update(OPENCV_JAR_INSTALL_PATH java) ocv_update(OPENCV_OTHER_INSTALL_PATH etc) -@@ -895,7 +897,7 @@ if(NOT OPENCV_LICENSE_FILE) +@@ -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) @@ -60,12 +51,12 @@ @@ -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 @@ -85,20 +76,21 @@ +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 -@@ -994,7 +994,9 @@ macro(_ocv_create_module) +@@ -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(..)?$" ) @@ -114,14 +106,14 @@ @@ -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 diff --git a/ports/opencv/0005-remove-custom-protobuf-find-package.patch b/ports/opencv/0005-remove-custom-protobuf-find-package.patch new file mode 100644 index 0000000000..2944810e56 --- /dev/null +++ b/ports/opencv/0005-remove-custom-protobuf-find-package.patch @@ -0,0 +1,22 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -633,7 +633,7 @@ include(cmake/OpenCVFindLibsGUI.cmake) + include(cmake/OpenCVFindLibsVideo.cmake) + include(cmake/OpenCVFindLibsPerf.cmake) + include(cmake/OpenCVFindLAPACK.cmake) +-include(cmake/OpenCVFindProtobuf.cmake) ++find_package(protobuf) + + # ---------------------------------------------------------------------------- + # 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 ${LAPACK_LIBRARIES}) + if(OPENCV_DNN_OPENCL AND HAVE_OPENCL) + list(APPEND include_dirs ${OPENCL_INCLUDE_DIRS}) + else() diff --git a/ports/opencv/0005-remove-protobuf-target.patch b/ports/opencv/0005-remove-protobuf-target.patch deleted file mode 100644 index b538ee0405..0000000000 --- a/ports/opencv/0005-remove-protobuf-target.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/cmake/OpenCVFindProtobuf.cmake -+++ b/cmake/OpenCVFindProtobuf.cmake -@@ -44,17 +44,6 @@ else() - # end of compatibility block - - if(Protobuf_FOUND) -- if(TARGET protobuf::libprotobuf) -- add_library(libprotobuf INTERFACE) -- target_link_libraries(libprotobuf INTERFACE protobuf::libprotobuf) -- else() -- add_library(libprotobuf UNKNOWN IMPORTED) -- set_target_properties(libprotobuf PROPERTIES -- IMPORTED_LOCATION "${Protobuf_LIBRARY}" -- INTERFACE_INCLUDE_DIRECTORIES "${Protobuf_INCLUDE_DIR}" -- ) -- get_protobuf_version(Protobuf_VERSION "${Protobuf_INCLUDE_DIR}") -- endif() - set(HAVE_PROTOBUF TRUE) - endif() - endif() ---- a/modules/dnn/CMakeLists.txt -+++ b/modules/dnn/CMakeLists.txt -@@ -65,7 +65,7 @@ endif() - - ocv_module_include_directories(${fw_inc} ${CMAKE_CURRENT_LIST_DIR}/src/ocl4dnn/include ${OPENCL_INCLUDE_DIRS}) - ocv_glob_module_sources(SOURCES ${fw_srcs}) --ocv_create_module(libprotobuf ${LAPACK_LIBRARIES}) -+ocv_create_module() - ocv_add_samples() - ocv_add_accuracy_tests() - ocv_add_perf_tests() diff --git a/ports/opencv/CONTROL b/ports/opencv/CONTROL index 5450f39067..5f012d80ee 100644 --- a/ports/opencv/CONTROL +++ b/ports/opencv/CONTROL @@ -1,5 +1,5 @@ Source: opencv -Version: 3.4.1 +Version: 3.4.3-4 Build-Depends: zlib Description: computer vision library Default-Features: opengl, jpeg, png, tiff, eigen, flann diff --git a/ports/opencv/portfile.cmake b/ports/opencv/portfile.cmake index 78ed5fa516..6fbb535cfc 100644 --- a/ports/opencv/portfile.cmake +++ b/ports/opencv/portfile.cmake @@ -1,27 +1,21 @@ include(vcpkg_common_functions) -set(OPENCV_PORT_VERSION "3.4.1") +set(OPENCV_PORT_VERSION "3.4.3") vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO opencv/opencv REF ${OPENCV_PORT_VERSION} - SHA512 e1fc14285090c6fe9e26e721f2d67d7096650c523147e925567426ef76aa7f4c6f12035d6f6ce3ec7991a75a6828a810fd4f9b75f78ed5fcccecefbadd79944b + SHA512 d653a58eb5e3939b9fdb7438ac35f77cf4385cf72d5d22bfd21722a109e1b3283dbb9407985061b7548114f0d05c9395aac9bb62b4d2bc1f68da770a49987fef HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-winrt-fixes.patch" "${CMAKE_CURRENT_LIST_DIR}/0002-install-options.patch" "${CMAKE_CURRENT_LIST_DIR}/0003-disable-downloading.patch" "${CMAKE_CURRENT_LIST_DIR}/0004-use-find-package-required.patch" - "${CMAKE_CURRENT_LIST_DIR}/0005-remove-protobuf-target.patch" + "${CMAKE_CURRENT_LIST_DIR}/0005-remove-custom-protobuf-find-package.patch" ) -file(WRITE "${CURRENT_BUILDTREES_DIR}/src/opencv-${OPENCV_PORT_VERSION}/rework.stamp") - string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" BUILD_WITH_STATIC_CRT) set(CMAKE_MODULE_PATH) @@ -116,17 +110,17 @@ 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/0a0e88972a7ea97708378d0488a65f83e7cc5e69/ffmpeg/opencv_ffmpeg.dll" - FILENAME "opencv-cache/ffmpeg/b8120c07962d591e2e9071a1bf566fd0-opencv_ffmpeg.dll" - SHA512 53325e3bb04de19273270475d7b7d9190c950b0d12e1179feef63c69ba66c9f8593d8ed9b030109dee8c104ab5babea69f18c7cae7366a57d48272d67c00d871 + 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/0a0e88972a7ea97708378d0488a65f83e7cc5e69/ffmpeg/opencv_ffmpeg_64.dll" - FILENAME "opencv-cache/ffmpeg/dc9c50e7b05482acc25d6ce0ac61bf1d-opencv_ffmpeg_64.dll" - SHA512 7d90df6f5d141f842a45e5678cf1349657612321250ece4ad5c6b5fb28a50140735d91ced0ce1a6e81962ef87236cbd1669c0b4410308f70fccee341a7a5c28b + 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/0a0e88972a7ea97708378d0488a65f83e7cc5e69/ffmpeg/ffmpeg_version.cmake" + URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/8041bd6f5ad37045c258904ba3030bb3442e3911/ffmpeg/ffmpeg_version.cmake" FILENAME "opencv-cache/ffmpeg/3b90f67f4b429e77d3da36698cef700c-ffmpeg_version.cmake" SHA512 7d0142c30ac6f6260c1bcabc22753030fd25a708477fa28053e8df847c366967d3b93a8ac14af19a2b7b73d9f8241749a431458faf21a0c8efc7d6d99eecfdcf ) @@ -137,16 +131,16 @@ if("ipp" IN_LIST FEATURES) set(WITH_IPP ON) if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - vcpkg_download_distfile(IPPICV_ARCHIVE - URLS "https://raw.githubusercontent.com/opencv/opencv_3rdparty/dfe3162c237af211e98b8960018b564bc209261d/ippicv/ippicv_2017u3_win_intel64_general_20170822.zip" - FILENAME "opencv-cache/ippicv/0421e642bc7ad741a2236d3ec4190bdd-ippicv_2017u3_win_intel64_general_20170822.zip" - SHA512 1b2b66ac60e5b6ba2fc95a3839d09b7fcfb42628dc6e01648727ee5394f6405702f69f741371627a9e1690294147c730196f1c9872339301c92a1424f159df6c + 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/dfe3162c237af211e98b8960018b564bc209261d/ippicv/ippicv_2017u3_win_ia32_general_20170822.zip" - FILENAME "opencv-cache/ippicv/8a7680ae352c192de2e2e34936164bd0-ippicv_2017u3_win_ia32_general_20170822.zip" - SHA512 6bbe08264b56117d4a00118088d72274396964bb904fb0719fc48beeb458ac31bea3d4d2fa2e0449f55af42471758f2c090c82061c91985c8b7994ed3b71df81 + 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() @@ -218,7 +212,7 @@ if(BUILD_opencv_contrib) OUT_SOURCE_PATH CONTRIB_SOURCE_PATH REPO opencv/opencv_contrib REF ${OPENCV_PORT_VERSION} - SHA512 431dfba0f413071d7faa18bc6e6f5e4f015285e2cc730c5dd69b2a4d6aa4250b7e0bcb1814ac6f06f5c76f103aea1f93f72f32aee6bc0cd7ddacdaf1f40075c1 + SHA512 456c6f878fb3bd5459f6430405cf05c609431f8d7db743aa699fc75c305d019682ee3a804bf0cf5107597dd1dbbb69b08be3535a0e6c717e4773ed7c05d08e59 HEAD_REF master ) set(BUILD_WITH_CONTRIB_FLAG "-DOPENCV_EXTRA_MODULES_PATH=${CONTRIB_SOURCE_PATH}/modules") @@ -297,6 +291,7 @@ vcpkg_configure_cmake( -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} diff --git a/ports/opengl-registry/CONTROL b/ports/opengl-registry/CONTROL index 0d9844ed72..1a3635c350 100644 --- a/ports/opengl-registry/CONTROL +++ b/ports/opengl-registry/CONTROL @@ -1,4 +1,4 @@ Source: opengl-registry -Version: 2018-06-30 +Version: 2018-06-30-1 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 5e997ac239..7b38b2c072 100644 --- a/ports/opengl-registry/portfile.cmake +++ b/ports/opengl-registry/portfile.cmake @@ -9,6 +9,12 @@ vcpkg_from_github( ) file(COPY ${SOURCE_PATH}/api/GL DESTINATION ${CURRENT_PACKAGES_DIR}/include) +file(COPY + ${SOURCE_PATH}/xml/gl.xml + ${SOURCE_PATH}/xml/glx.xml + ${SOURCE_PATH}/xml/wgl.xml + DESTINATION ${CURRENT_PACKAGES_DIR}/share/opengl-registry +) # Using the Makefile because it is the smallest file with a complete copy of the license text file( diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL index 6f3687ca67..86ae5bd550 100644 --- a/ports/openimageio/CONTROL +++ b/ports/openimageio/CONTROL @@ -1,5 +1,5 @@ Source: openimageio -Version: 1.8.15-1 +Version: 1.8.16 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 diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake index 7997a61054..93b04e6275 100644 --- a/ports/openimageio/portfile.cmake +++ b/ports/openimageio/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenImageIO/oiio - REF Release-1.8.15 - SHA512 e022e5c7e300d3dd952bcf3476e1b676a8931f67ba6b3959b26c75b9709907ac1c1b99de651f5876045f9a333e325a161b0d5159cb5bf385eb4f9f90a04707c7 + REF Release-1.8.16 + SHA512 a919341df7d9625a869cad266d8434881b63a47f3da8daccf4bbab6675d45bd121ff780dd911a7447450fee44cd7bdd42d73aec59a99b667d6d98e79682db2c7 HEAD_REF master PATCHES # fix_libraw: replace 'LibRaw_r_LIBRARIES' occurences by 'LibRaw_LIBRARIES' diff --git a/ports/openssl-windows/CONTROL b/ports/openssl-windows/CONTROL index 881c311d00..a62c2fbdcb 100644 --- a/ports/openssl-windows/CONTROL +++ b/ports/openssl-windows/CONTROL @@ -1,3 +1,3 @@ Source: openssl-windows -Version: 1.0.2p-1 +Version: 1.0.2q 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 f9a8bcbbf7..8a95bd6c1e 100644 --- a/ports/openssl-windows/portfile.cmake +++ b/ports/openssl-windows/portfile.cmake @@ -3,7 +3,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME) endif() include(vcpkg_common_functions) -set(OPENSSL_VERSION 1.0.2p) +set(OPENSSL_VERSION 1.0.2q) set(MASTER_COPY_SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openssl-${OPENSSL_VERSION}) vcpkg_find_acquire_program(PERL) @@ -14,7 +14,7 @@ set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}") vcpkg_download_distfile(OPENSSL_SOURCE_ARCHIVE URLS "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" "https://www.openssl.org/source/old/1.0.2/openssl-${OPENSSL_VERSION}.tar.gz" FILENAME "openssl-${OPENSSL_VERSION}.tar.gz" - SHA512 958c5a7c3324bbdc8f07dfb13e11329d9a1b4452c07cf41fbd2d42b5fe29c95679332a3476d24c2dc2b88be16e4a24744aba675a05a388c0905756c77a8a2f16 + SHA512 403e6cad42db3ba860c3fa4fa81c1b7b02f0b873259e5c19a7fc8e42de0854602555f1b1ca74f4e3a7737a4cbd3aac063061e628ec86534586500819fae7fec0 ) vcpkg_extract_source_archive(${OPENSSL_SOURCE_ARCHIVE}) diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL index 7576ff790e..22c216b5cf 100644 --- a/ports/openvdb/CONTROL +++ b/ports/openvdb/CONTROL @@ -5,4 +5,4 @@ Description: Sparse volume data structure and tools Feature: tools Description: OpenVDB utilities: view, print and render -Build-Depends: glew, glfw3 +Build-Depends: glew, glfw3, boost-ptr-container diff --git a/ports/openvr/CONTROL b/ports/openvr/CONTROL index b0f337d0a9..dbbe6f4c9f 100644 --- a/ports/openvr/CONTROL +++ b/ports/openvr/CONTROL @@ -1,3 +1,3 @@ Source: openvr -Version: 1.0.16 +Version: 1.1.3b 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 5e4211907d..2bc15f3686 100644 --- a/ports/openvr/portfile.cmake +++ b/ports/openvr/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO ValveSoftware/openvr - REF v1.0.16 - SHA512 967356563ba4232da5361510c7519d3058e09eced4571aadc00d8a75ab1f299a0aebda2b0b10b0ffb6c6a443fd718634d0c0103964e289961449c93e8d7b9d02 + REF v1.1.3b + SHA512 03d9f61e8a2fee6bed02e087b20ccdc281a06dcbb151afe07a072b8758d56d7f4bed7a5dd8eccd43166c8fac6536930c0e4e81a8deaa081e635fd99a304fc565 HEAD_REF master ) diff --git a/ports/opus/CONTROL b/ports/opus/CONTROL index e5c715bba6..dd92faea54 100644 --- a/ports/opus/CONTROL +++ b/ports/opus/CONTROL @@ -1,3 +1,3 @@ Source: opus -Version: 1.2.1-1 +Version: 1.3 Description: Totally open, royalty-free, highly versatile audio codec diff --git a/ports/opus/portfile.cmake b/ports/opus/portfile.cmake index ed2ed092eb..d15be61f1c 100644 --- a/ports/opus/portfile.cmake +++ b/ports/opus/portfile.cmake @@ -6,8 +6,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO xiph/opus - REF v1.2.1 - SHA512 fdc64b43875dd07dc9eb1c37e9a61d1c10e3095de62ed9597d51b93445136958c9f5fee78c33ae7f90c72a20200083cdc727d8e79f2f9e580ad4e2f8c50cccb4 + REF v1.3 + SHA512 5ac067514b6471432fcd027b912dcaa765e2bdc986ea289a2aeb57660d18fa1460a0a697b9736d8e2b65eb7b72ad4fa36b9b213389fe1e64335db8e9ad51b750 HEAD_REF master PATCHES "${CMAKE_CURRENT_LIST_DIR}/no-main.patch" ) diff --git a/ports/pango/CMakeLists.txt b/ports/pango/CMakeLists.txt index 9c7e7f1825..71b5f9fed3 100644 --- a/ports/pango/CMakeLists.txt +++ b/ports/pango/CMakeLists.txt @@ -5,9 +5,14 @@ set(PANGO_LIB_SUFFIX 1.0) set(PANGO_DLL_SUFFIX 1) set(GLIB_LIB_VERSION 2.0) -configure_file(./config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY) +if(WIN32) + configure_file(./config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY) +else() + configure_file(./config.h.unix ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY) +endif() + add_definitions(-DHAVE_CONFIG_H) -include_directories(. ./pango) +include_directories(. ./pango ${CMAKE_CURRENT_BINARY_DIR}) # find libintl find_path(LIBINTL_INCLUDE_DIR libintl.h) @@ -100,12 +105,14 @@ pango_add_module(pango pango/shape.c pango/pango-enum-types.c) +if(WIN32) pango_add_module(pangowin32 pango/pangowin32.c pango/pangowin32-fontcache.c pango/pangowin32-fontmap.c pango/pangowin32-shape.c) target_link_libraries(pangowin32 usp10 pango) +endif() pango_add_module(pangoft2 pango/pangofc-font.c @@ -122,18 +129,25 @@ pango_add_module(pangoft2 target_link_libraries(pangoft2 pango ${FONT_LIBRARIES}) target_include_directories(pangoft2 PRIVATE ${FONT_INCLUDE_DIRS}) -pango_add_module(pangocairo - pango/pangocairo-fcfont.c +list(APPEND PANGO_CAIRO_SOURCES + pango/pangocairo-fcfont.c pango/pangocairo-fcfontmap.c - pango/pangocairo-win32font.c - pango/pangocairo-win32fontmap.c pango/pangocairo-context.c pango/pangocairo-font.c pango/pangocairo-fontmap.c pango/pangocairo-render.c) + +if(WIN32) + list(APPEND PANGO_CAIRO_SOURCES + pango/pangocairo-win32font.c + pango/pangocairo-win32fontmap.c) +endif() + +pango_add_module(pangocairo ${PANGO_CAIRO_SOURCES}) target_link_libraries(pangocairo ${CAIRO_LIBRARIES} pango pangowin32 pangoft2 ${FONT_LIBRARIES}) target_include_directories(pangocairo PRIVATE ${CAIRO_INCLUDE_DIR} ${FONT_INCLUDE_DIRS}) + if(NOT PANGO_SKIP_HEADERS) install(FILES pango/pango.h diff --git a/ports/pango/CONTROL b/ports/pango/CONTROL index daeeb53dbe..e7b365e0b4 100644 --- a/ports/pango/CONTROL +++ b/ports/pango/CONTROL @@ -1,4 +1,4 @@ Source: pango -Version: 1.40.11-1 +Version: 1.40.11-2 Description: Text and font handling library. Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!windows-static) diff --git a/ports/pango/config.h.unix b/ports/pango/config.h.unix new file mode 100644 index 0000000000..83b2f52fdd --- /dev/null +++ b/ports/pango/config.h.unix @@ -0,0 +1,153 @@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Have usable Cairo library and font backend */ +#define HAVE_CAIRO 1 + +/* Whether Cairo can use FreeType for fonts */ +#define HAVE_CAIRO_FREETYPE 1 + +/* Whether Cairo has PDF support */ +/* #undef HAVE_CAIRO_PDF */ + +/* Whether Cairo has PNG support */ +/* #undef HAVE_CAIRO_PNG */ + +/* Whether Cairo has PS support */ +/* #undef HAVE_CAIRO_PS */ + +/* Whether Cairo can use Quartz for fonts */ +/* #undef HAVE_CAIRO_QUARTZ */ + +/* Whether Cairo can use the Win32 GDI for fonts */ +/* #undef HAVE_CAIRO_WIN32 */ + +/* Whether Cairo has Xlib support */ +/* #undef HAVE_CAIRO_XLIB */ + +/* Whether CoreText is available on the system */ +#ifdef __APPLE_CC__ + #define HAVE_CORE_TEXT 1 +#else + #undef HAVE_CORE_TEXT +#endif + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `FcWeightFromOpenType' function. */ +/* #undef HAVE_FCWEIGHTFROMOPENTYPE */ + +/* Define to 1 if you have the `flockfile' function. */ +#define HAVE_FLOCKFILE 1 + +/* Have FreeType 2 library */ +#define HAVE_FREETYPE 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Whether libthai is available */ +/* #undef HAVE_LIBTHAI */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* 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 `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* 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 + +/* Have Xft library */ +/* #undef HAVE_XFT */ + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "pango" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=pango" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "pango" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "pango 1.40.11" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "pango" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.40.11" + +/* PANGO binary age */ +#define PANGO_BINARY_AGE 4011 + +/* PANGO interface age */ +#define PANGO_INTERFACE_AGE 11 + +/* PANGO major version */ +#define PANGO_VERSION_MAJOR 1 + +/* PANGO micro version */ +#define PANGO_VERSION_MICRO 11 + +/* PANGO minor version */ +#define PANGO_VERSION_MINOR 40 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION "1.40.11" + +/* defines how to decorate public symbols while building */ +#define _PANGO_EXTERN __attribute__((visibility("default"))) extern diff --git a/ports/pango/portfile.cmake b/ports/pango/portfile.cmake index 009953534e..926efd98dd 100644 --- a/ports/pango/portfile.cmake +++ b/ports/pango/portfile.cmake @@ -1,24 +1,26 @@ include(vcpkg_common_functions) + set(PANGO_VERSION 1.40.11) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/pango-${PANGO_VERSION}) 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(${ARCHIVE}) +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}) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - ${CMAKE_CURRENT_LIST_DIR}/0001-fix-static-symbols-export.diff) +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) + OPTIONS_DEBUG + -DPANGO_SKIP_HEADERS=ON +) vcpkg_install_cmake() vcpkg_copy_pdbs() diff --git a/ports/pbc/CONTROL b/ports/pbc/CONTROL new file mode 100644 index 0000000000..a8ee104864 --- /dev/null +++ b/ports/pbc/CONTROL @@ -0,0 +1,4 @@ +Source: pbc +Version: 0.5.14 +Build-Depends: mpir +Description: Pairing-Based Crypto library provides low-level routines for pairing-based cryptosystems. diff --git a/ports/pbc/linux.patch b/ports/pbc/linux.patch new file mode 100644 index 0000000000..198277739f --- /dev/null +++ b/ports/pbc/linux.patch @@ -0,0 +1,45 @@ +--- configure.ac 2018-11-29 13:51:14.495012138 +0100 ++++ configure.ac 2018-11-29 13:51:45.308095312 +0100 +@@ -10,7 +10,6 @@ + LT_INIT + #AC_CANONICAL_HOST + +-CFLAGS= + default_fink_path=/sw + case $host_os in + darwin*) +@@ -78,20 +77,7 @@ + AC_PROG_MAKE_SET + + AC_PROG_LEX +-if test "x$LEX" != xflex; then +- echo "************************" +- echo "flex not found" +- echo "************************" +- exit -1 +-fi +- + AC_PROG_YACC +-if test "x$YACC" != "xbison -y"; then +- echo "************************" +- echo "bison not found" +- echo "************************" +- exit -1 +-fi + + # Checks for libraries. + lib_err_msg="add its path to LDFLAGS\nsee ./configure --help" +@@ -121,13 +134,6 @@ + + CFLAGS="$CFLAGS -Wall -W -Wfloat-equal -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wredundant-decls \ + -Wendif-labels -Wshadow -pipe -ffast-math -U__STRICT_ANSI__ -std=gnu99" +-if test "$with_debug" == "y"; then +- CFLAGS="$CFLAGS -g3 -O0" +-elif test "$with_enable_optimized" != "no"; then +- CFLAGS="$CFLAGS -g -O2" +-else +- CFLAGS="$CFLAGS -fomit-frame-pointer -O3" +-fi + + if test "$with_safe_clean" != "n"; then + CFLAGS="$CFLAGS -DSAFE_CLEAN" diff --git a/ports/pbc/portfile.cmake b/ports/pbc/portfile.cmake new file mode 100644 index 0000000000..32e233420c --- /dev/null +++ b/ports/pbc/portfile.cmake @@ -0,0 +1,153 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "PBC currently can only be built for desktop") +endif() + +if(VCPKG_CRT_LINKAGE STREQUAL "static" AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + message(FATAL_ERROR "PBC currently can only be built using the dynamic CRT when building DLLs") +endif() + +set(PBC_VERSION 0.5.14) + +if(VCPKG_CMAKE_SYSTEM_NAME) + vcpkg_download_distfile( + ARCHIVE + URLS "https://crypto.stanford.edu/pbc/files/pbc-${PBC_VERSION}.tar.gz" + FILENAME pbc-${PBC_VERSION}.tar.gz + SHA512 d75d4ceb3f67ee62c7ca41e2a91ee914fbffaeb70256675aed6734d586950ea8e64e2f16dc069d71481eddb703624df8d46497005fb58e75cf098dd7e7961333 + ) + + vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${PBC_VERSION} + PATCHES linux.patch + ) + + vcpkg_find_acquire_program(BISON) + vcpkg_find_acquire_program(FLEX) + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(SHARED_STATIC --enable-static --disable-shared) + else() + set(SHARED_STATIC --disable-static --enable-shared) + endif() + + set(OPTIONS ${SHARED_STATIC} LEX=${FLEX} YACC=${BISON}\ -y) + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/setup + WORKING_DIRECTORY ${SOURCE_PATH} + LOGNAME setup-${TARGET_TRIPLET} + ) + + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) + message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") + set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_DEBUG} -O0 -g -I${SOURCE_PATH}/include") + set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}") + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR}/debug ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_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 + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg + LOGNAME install-${TARGET_TRIPLET}-dbg + ) + + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel) + message(STATUS "Configuring ${TARGET_TRIPLET}-rel") + set(ENV{CFLAGS} "${VCPKG_C_FLAGS} ${VCPKG_C_FLAGS_RELEASE} -O3 -I${SOURCE_PATH}/include") + set(ENV{LDFLAGS} "${VCPKG_LINKER_FLAGS}") + vcpkg_execute_required_process( + COMMAND ${SOURCE_PATH}/configure --prefix=${CURRENT_PACKAGES_DIR} ${OPTIONS} --with-sysroot=${CURRENT_INSTALLED_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 + WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel + LOGNAME install-${TARGET_TRIPLET}-rel + ) + + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share ${CURRENT_PACKAGES_DIR}/share/info) + configure_file(${SOURCE_PATH}/COPYING ${CURRENT_PACKAGES_DIR}/share/pbc/copyright COPYONLY) +else() + vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO blynn/pbc + REF fbf4589036ce4f662e2d06905862c9e816cf9d08 + SHA512 9348afd3866090b9fca189ae3a6bbb86c842b5f6ee7e1972f1a579993e589952c5926cb0795d4db1e647e3af263827e22c7602314c39bd97e03ffe9ad0fb48ab + HEAD_REF master + PATCHES windows.patch + ) + + set(CMAKE_FIND_LIBRARY_PREFIXES "") + set(CMAKE_FIND_LIBRARY_SUFFIXES "") + + find_path(MPIR_INCLUDE_DIR "gmp.h" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES include) + if(NOT MPIR_INCLUDE_DIR) + message(FATAL_ERROR "GMP includes not found") + endif() + + find_library(MPIR_LIBRARIES_REL NAMES "mpir.lib" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES lib) + if(NOT MPIR_LIBRARIES_REL) + message(FATAL_ERROR "mpir library not found") + endif() + + find_library(MPIR_LIBRARIES_DBG NAMES "mpir.lib" HINTS ${CURRENT_INSTALLED_DIR} PATH_SUFFIXES debug/lib) + if(NOT MPIR_LIBRARIES_DBG) + message(FATAL_ERROR "mpir debug library not found") + endif() + + if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + set(LibrarySuffix "lib") + set(ConfigurationSuffix "") + else() + set(LibrarySuffix "dll") + set(ConfigurationSuffix " DLL") + endif() + + if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(RuntimeLibraryExt "") + else() + set(RuntimeLibraryExt "DLL") + endif() + + if(TRIPLET_SYSTEM_ARCH STREQUAL "x86") + set(Platform "Win32") + else() + set(Platform ${TRIPLET_SYSTEM_ARCH}) + endif() + + # PBC expects mpir directory in build root + get_filename_component(SOURCE_PATH_PARENT ${SOURCE_PATH} DIRECTORY) + file(REMOVE_RECURSE ${SOURCE_PATH_PARENT}/mpir) + file(MAKE_DIRECTORY ${SOURCE_PATH_PARENT}/mpir) + file(GLOB FILES ${MPIR_INCLUDE_DIR}/gmp*.h) + file(COPY ${FILES} ${MPIR_LIBRARIES_REL} DESTINATION "${SOURCE_PATH_PARENT}/mpir/${LibrarySuffix}/${Platform}/Release") + file(COPY ${FILES} ${MPIR_LIBRARIES_DBG} DESTINATION "${SOURCE_PATH_PARENT}/mpir/${LibrarySuffix}/${Platform}/Debug") + + get_filename_component(SOURCE_PATH_SUFFIX ${SOURCE_PATH} NAME) + vcpkg_install_msbuild(SOURCE_PATH ${SOURCE_PATH_PARENT} + PROJECT_SUBPATH ${SOURCE_PATH_SUFFIX}/pbcwin/projects/pbclib.vcxproj + INCLUDES_SUBPATH ${SOURCE_PATH_SUFFIX}/include + LICENSE_SUBPATH ${SOURCE_PATH_SUFFIX}/COPYING + RELEASE_CONFIGURATION "Release${ConfigurationSuffix}" + DEBUG_CONFIGURATION "Debug${ConfigurationSuffix}" + OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}" + OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}" + OPTIONS /p:SolutionDir=../ + ALLOW_ROOT_INCLUDES ON + ) + + # clean up mpir stuff + file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/mpir.lib ${CURRENT_PACKAGES_DIR}/debug/lib/mpir.lib) +endif() diff --git a/ports/pbc/windows.patch b/ports/pbc/windows.patch new file mode 100644 index 0000000000..5b790767af --- /dev/null +++ b/ports/pbc/windows.patch @@ -0,0 +1,108 @@ +diff --git "a/include/pbc_vc_compat.win32.h" "b/include/pbc_vc_compat.win32.h" +index 27d3bba..7f772d4 100644 +--- "a/include/pbc_vc_compat.win32.h" ++++ "b/include/pbc_vc_compat.win32.h" +@@ -3,7 +3,3 @@ + #define __attribute__(X) + #define inline + #define __func__ __FUNCTION__ +- +-#define NULL 0 +- +-#define snprintf _snprintf +\ No newline at end of file +diff --git "a/pbcwin/projects/pbclib.vcxproj" "b/pbcwin/projects/pbclib.vcxproj" +index f0a9b3f..507c24d 100644 +--- "a/pbcwin/projects/pbclib.vcxproj" ++++ "b/pbcwin/projects/pbclib.vcxproj" +@@ -214,13 +214,13 @@  + + + $(SolutionDir)..\include;$(SolutionDir)..;$(SolutionDir)..\..\mpir\lib\$(Platform)\Release;$(IncludePath) +- $(SolutionDir)..\..\mpir\lib\x64\Release;$(LibraryPath) ++ $(SolutionDir)..\..\mpir\lib\$(Platform)\Release;$(LibraryPath) + $(SolutionDir)lib\$(Platform)\Release\ + $(SolutionDir)obj\$(Platform)\$(Configuration)\$(ProjectName)\ + + +- $(SolutionDir)..\include;$(SolutionDir)..;$(SolutionDir)..\..\mpir\lib\x64\Release;$(IncludePath) +- $(SolutionDir)..\..\mpir\lib\x64\Release;$(LibraryPath) ++ $(SolutionDir)..\include;$(SolutionDir)..;$(SolutionDir)..\..\mpir\lib\$(Platform)\Release;$(IncludePath) ++ $(SolutionDir)..\..\mpir\lib\$(Platform)\Release;$(LibraryPath) + $(SolutionDir)lib\$(Platform)\Release\ + $(SolutionDir)obj\$(Platform)\$(Configuration)\$(ProjectName)\ + +@@ -245,7 +245,8 @@  + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + pbc_vc_compat.win32.h + 4068 +- MultiThreadedDebug ++ $(RuntimeLibrary) ++ OldStyle + + + true +@@ -275,7 +276,8 @@ echo *************************************************************************** + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + pbc_vc_compat.win32.h + 4068 +- MultiThreadedDebug ++ $(RuntimeLibrary) ++ OldStyle + + + true +@@ -305,7 +307,7 @@ echo *************************************************************************** + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + pbc_vc_compat.win32.h + 4068 +- MultiThreadedDebugDLL ++ $(RuntimeLibrary) + + + true +@@ -332,7 +334,7 @@ echo *************************************************************************** + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + pbc_vc_compat.win32.h + 4068 +- MultiThreadedDebugDLL ++ $(RuntimeLibrary) + + + true +@@ -361,7 +363,7 @@ echo *************************************************************************** + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + pbc_vc_compat.win32.h + 4068 +- MultiThreaded ++ $(RuntimeLibrary) + + + true +@@ -395,7 +397,7 @@ echo *************************************************************************** + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + pbc_vc_compat.win32.h + 4068 +- MultiThreaded ++ $(RuntimeLibrary) + + + true +@@ -429,7 +431,7 @@ echo *************************************************************************** + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + pbc_vc_compat.win32.h + 4068 +- MultiThreadedDLL ++ $(RuntimeLibrary) + + + true +@@ -460,7 +462,7 @@ echo *************************************************************************** + _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + pbc_vc_compat.win32.h + 4068 +- MultiThreadedDLL ++ $(RuntimeLibrary) + + + true diff --git a/ports/pcl/CONTROL b/ports/pcl/CONTROL index b1b20fe06a..a9f23813d2 100644 --- a/ports/pcl/CONTROL +++ b/ports/pcl/CONTROL @@ -1,5 +1,5 @@ Source: pcl -Version: 1.8.1-12 +Version: 1.9.1-1 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 diff --git a/ports/pcl/boost_uuid_random_generator_compat.patch b/ports/pcl/boost_uuid_random_generator_compat.patch deleted file mode 100644 index 891890b46b..0000000000 --- a/ports/pcl/boost_uuid_random_generator_compat.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0405dca2..00e5238e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -168,6 +168,8 @@ if(CMAKE_COMPILER_IS_MSVC) - endif() - endif() - -+add_definitions(-DBOOST_UUID_RANDOM_GENERATOR_COMPAT) -+ - if(CMAKE_COMPILER_IS_PATHSCALE) - if("${CMAKE_CXX_FLAGS}" STREQUAL "") - SET(CMAKE_CXX_FLAGS "-Wno-uninitialized -zerouv -pthread -mp") diff --git a/ports/pcl/cmakelists.patch b/ports/pcl/cmakelists.patch deleted file mode 100644 index d385fd2913..0000000000 --- a/ports/pcl/cmakelists.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d36a581fb..b68962e97 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -258,7 +258,7 @@ if(OPENMP_FOUND) - set(OPENMP_DLL VCOMP120) - elseif(MSVC_VERSION EQUAL 1900) - set(OPENMP_DLL VCOMP140) -- elseif(MSVC_VERSION EQUAL 1910) -+ elseif(MSVC_VERSION MATCHES "^191[0-9]$") - set(OPENMP_DLL VCOMP140) - endif() - if(OPENMP_DLL) -@@ -327,9 +327,9 @@ endif(WITH_PNG) - # Qhull - option(WITH_QHULL "Include convex-hull operations" TRUE) - if(WITH_QHULL) -- if(NOT PCL_SHARED_LIBS OR WIN32) -+ if(NOT PCL_SHARED_LIBS) - set(QHULL_USE_STATIC ON) -- endif(NOT PCL_SHARED_LIBS OR WIN32) -+ endif(NOT PCL_SHARED_LIBS) - find_package(Qhull) - if(QHULL_FOUND) - include_directories(${QHULL_INCLUDE_DIRS}) diff --git a/ports/pcl/config_install.patch b/ports/pcl/config_install.patch deleted file mode 100644 index ae5e8257b7..0000000000 --- a/ports/pcl/config_install.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/cmake/pcl_utils.cmake b/cmake/pcl_utils.cmake -index 69f1e76a4..37305815e 100644 ---- a/cmake/pcl_utils.cmake -+++ b/cmake/pcl_utils.cmake -@@ -105,7 +105,7 @@ macro(SET_INSTALL_DIRS) - endif (NOT DEFINED LIB_INSTALL_DIR) - if(NOT ANDROID) - set(INCLUDE_INSTALL_ROOT -- "include/${PROJECT_NAME_LOWER}-${PCL_MAJOR_VERSION}.${PCL_MINOR_VERSION}") -+ "include") - else(NOT ANDROID) - set(INCLUDE_INSTALL_ROOT "include") # Android, don't put into subdir - endif(NOT ANDROID) -@@ -114,7 +114,7 @@ macro(SET_INSTALL_DIRS) - set(BIN_INSTALL_DIR "bin") - set(PKGCFG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig") - if(WIN32 AND NOT MINGW) -- set(PCLCONFIG_INSTALL_DIR "cmake") -+ set(PCLCONFIG_INSTALL_DIR "share/pcl") - else(WIN32 AND NOT MINGW) - set(PCLCONFIG_INSTALL_DIR "share/${PROJECT_NAME_LOWER}-${PCL_MAJOR_VERSION}.${PCL_MINOR_VERSION}") - endif(WIN32 AND NOT MINGW) diff --git a/ports/pcl/find_cuda.patch b/ports/pcl/find_cuda.patch deleted file mode 100644 index 6e872cdab4..0000000000 --- a/ports/pcl/find_cuda.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cmake/pcl_find_cuda.cmake b/cmake/pcl_find_cuda.cmake -index fd9cfa9..ae9e612 100644 ---- a/cmake/pcl_find_cuda.cmake -+++ b/cmake/pcl_find_cuda.cmake -@@ -43,7 +43,9 @@ if(CUDA_FOUND) - - # Find a complete list for CUDA compute capabilities at http://developer.nvidia.com/cuda-gpus - -- if(NOT ${CUDA_VERSION_STRING} VERSION_LESS "8.0") -+ if(NOT ${CUDA_VERSION_STRING} VERSION_LESS "9.0") -+ set(__cuda_arch_bin "3.0 3.5 5.0 5.2 5.3 6.0 6.1 7.0") -+ elseif(NOT ${CUDA_VERSION_STRING} VERSION_LESS "8.0") - set(__cuda_arch_bin "2.0 2.1(2.0) 3.0 3.5 5.0 5.2 5.3 6.0 6.1") - elseif(NOT ${CUDA_VERSION_STRING} VERSION_LESS "6.5") - set(__cuda_arch_bin "2.0 2.1(2.0) 3.0 3.5 5.0 5.2") diff --git a/ports/pcl/find_flann.patch b/ports/pcl/find_flann.patch index e9760e502d..263be29261 100644 --- a/ports/pcl/find_flann.patch +++ b/ports/pcl/find_flann.patch @@ -1,5 +1,5 @@ diff --git a/cmake/Modules/FindFLANN.cmake b/cmake/Modules/FindFLANN.cmake -index b5739dc95..d2c3fd07e 100644 +index 1cecacfa9..3169d6d7b 100644 --- a/cmake/Modules/FindFLANN.cmake +++ b/cmake/Modules/FindFLANN.cmake @@ -10,8 +10,8 @@ @@ -13,12 +13,3 @@ index b5739dc95..d2c3fd07e 100644 else(FLANN_USE_STATIC) set(FLANN_RELEASE_NAME flann_cpp) set(FLANN_DEBUG_NAME flann_cpp-gd) -@@ -41,7 +41,7 @@ find_library(FLANN_LIBRARY_DEBUG - NAMES ${FLANN_DEBUG_NAME} ${FLANN_RELEASE_NAME} - HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}" - PATHS "$ENV{PROGRAMFILES}/Flann" "$ENV{PROGRAMW6432}/Flann" -- PATH_SUFFIXES lib) -+ PATH_SUFFIXES lib debug/lib) - - if(NOT FLANN_LIBRARY_DEBUG) - set(FLANN_LIBRARY_DEBUG ${FLANN_LIBRARY}) diff --git a/ports/pcl/find_openni2.patch b/ports/pcl/find_openni2.patch deleted file mode 100644 index 4bd3e0799a..0000000000 --- a/ports/pcl/find_openni2.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/cmake/Modules/FindOpenNI2.cmake b/cmake/Modules/FindOpenNI2.cmake -index 713099a14..f31de96a6 100644 ---- a/cmake/Modules/FindOpenNI2.cmake -+++ b/cmake/Modules/FindOpenNI2.cmake -@@ -51,6 +51,7 @@ find_path(OPENNI2_INCLUDE_DIRS OpenNI.h - PATHS - "$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}" # Win64 needs '64' suffix - /usr/include/openni2 # common path for deb packages -+ PATH_SUFFIXES include/openni2 - ) - - find_library(OPENNI2_LIBRARY diff --git a/ports/pcl/find_qhull.patch b/ports/pcl/find_qhull.patch deleted file mode 100644 index e845293be4..0000000000 --- a/ports/pcl/find_qhull.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/Modules/FindQhull.cmake b/cmake/Modules/FindQhull.cmake -index 698bd151b..44c1d5d8d 100644 ---- a/cmake/Modules/FindQhull.cmake -+++ b/cmake/Modules/FindQhull.cmake -@@ -55,7 +55,7 @@ find_library(QHULL_LIBRARY_DEBUG - NAMES ${QHULL_DEBUG_NAME} ${QHULL_RELEASE_NAME} - HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" - PATHS "$ENV{PROGRAMFILES}/QHull" "$ENV{PROGRAMW6432}/QHull" -- PATH_SUFFIXES project build bin lib) -+ PATH_SUFFIXES project build bin lib debug/lib) - - if(NOT QHULL_LIBRARY_DEBUG) - set(QHULL_LIBRARY_DEBUG ${QHULL_LIBRARY}) diff --git a/ports/pcl/config.patch b/ports/pcl/pcl_config.patch similarity index 66% rename from ports/pcl/config.patch rename to ports/pcl/pcl_config.patch index 1b46ab7cea..17af6cfb6e 100644 --- a/ports/pcl/config.patch +++ b/ports/pcl/pcl_config.patch @@ -1,26 +1,8 @@ diff --git a/PCLConfig.cmake.in b/PCLConfig.cmake.in -index f4ef6a0ff..3a2c259dc 100644 +index 7ec40baa0..837d78c82 100644 --- a/PCLConfig.cmake.in +++ b/PCLConfig.cmake.in -@@ -155,7 +155,7 @@ macro(find_qhull) - NAMES "@QHULL_LIBRARY_DEBUG_NAME@" - HINTS "${QHULL_ROOT}" "$ENV{QHULL_ROOT}" - PATHS "$ENV{PROGRAMFILES}/qhull" "$ENV{PROGRAMW6432}/qhull" -- PATH_SUFFIXES project build bin lib) -+ PATH_SUFFIXES project build bin lib debug/lib) - - find_package_handle_standard_args(qhull DEFAULT_MSG QHULL_LIBRARY QHULL_INCLUDE_DIRS) - -@@ -443,7 +443,7 @@ macro(find_flann) - HINTS ${PC_FLANN_LIBDIR} ${PC_FLANN_LIBRARY_DIRS} "${FLANN_ROOT}" "$ENV{FLANN_ROOT}" - PATHS "$ENV{PROGRAMFILES}/flann 1.6.9" "$ENV{PROGRAMW6432}/flann 1.6.9" - "$ENV{PROGRAMFILES}/flann" "$ENV{PROGRAMW6432}/flann" -- PATH_SUFFIXES lib) -+ PATH_SUFFIXES lib debug/lib) - - find_package_handle_standard_args(Flann DEFAULT_MSG FLANN_LIBRARY FLANN_INCLUDE_DIRS) - if(FLANN_FOUND) -@@ -715,25 +715,18 @@ file(TO_CMAKE_PATH "${PCL_DIR}" PCL_DIR) +@@ -388,25 +388,18 @@ file(TO_CMAKE_PATH "${PCL_DIR}" PCL_DIR) if(WIN32 AND NOT MINGW) # PCLConfig.cmake is installed to PCL_ROOT/cmake get_filename_component(PCL_ROOT "${PCL_DIR}" PATH) @@ -49,13 +31,13 @@ index f4ef6a0ff..3a2c259dc 100644 if(EXISTS "${PCL_ROOT}/3rdParty") set(PCL_ALL_IN_ONE_INSTALLER ON) endif(EXISTS "${PCL_ROOT}/3rdParty") -@@ -743,9 +736,9 @@ elseif(EXISTS "${PCL_DIR}/include/pcl/pcl_config.h") +@@ -416,9 +409,9 @@ elseif(EXISTS "${PCL_DIR}/include/pcl/pcl_config.h") set(PCL_INCLUDE_DIRS "${PCL_DIR}/include") # for pcl_config.h set(PCL_LIBRARY_DIRS "${PCL_DIR}/@LIB_INSTALL_DIR@") set(PCL_SOURCES_TREE "@CMAKE_SOURCE_DIR@") -else(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h") +else(EXISTS "${PCL_ROOT}/include/pcl/pcl_config.h") - pcl_report_not_found("PCL can not be found on this machine") + pcl_report_not_found("PCL can not be found on this machine") -endif(EXISTS "${PCL_ROOT}/include/pcl-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}/pcl/pcl_config.h") +endif(EXISTS "${PCL_ROOT}/include/pcl/pcl_config.h") diff --git a/ports/pcl/pcl_utils.patch b/ports/pcl/pcl_utils.patch new file mode 100644 index 0000000000..9c12e4d05e --- /dev/null +++ b/ports/pcl/pcl_utils.patch @@ -0,0 +1,28 @@ +diff --git a/cmake/pcl_utils.cmake b/cmake/pcl_utils.cmake +index f523dbc8c..a171b6d24 100644 +--- a/cmake/pcl_utils.cmake ++++ b/cmake/pcl_utils.cmake +@@ -97,21 +97,12 @@ macro(SET_INSTALL_DIRS) + if (NOT DEFINED LIB_INSTALL_DIR) + set(LIB_INSTALL_DIR "lib") + endif (NOT DEFINED LIB_INSTALL_DIR) +- if(NOT ANDROID) +- set(INCLUDE_INSTALL_ROOT +- "include/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") +- else(NOT ANDROID) +- set(INCLUDE_INSTALL_ROOT "include") # Android, don't put into subdir +- endif(NOT ANDROID) ++ set(INCLUDE_INSTALL_ROOT "include") + set(INCLUDE_INSTALL_DIR "${INCLUDE_INSTALL_ROOT}/pcl") + set(DOC_INSTALL_DIR "share/doc/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") + set(BIN_INSTALL_DIR "bin") + set(PKGCFG_INSTALL_DIR "${LIB_INSTALL_DIR}/pkgconfig") +- if(WIN32 AND NOT MINGW) +- set(PCLCONFIG_INSTALL_DIR "cmake") +- else(WIN32 AND NOT MINGW) +- set(PCLCONFIG_INSTALL_DIR "share/${PROJECT_NAME_LOWER}-${PCL_VERSION_MAJOR}.${PCL_VERSION_MINOR}") +- endif(WIN32 AND NOT MINGW) ++ set(PCLCONFIG_INSTALL_DIR "share/pcl") + endmacro(SET_INSTALL_DIRS) + + diff --git a/ports/pcl/portfile.cmake b/ports/pcl/portfile.cmake index dc4619ed31..4036d53468 100644 --- a/ports/pcl/portfile.cmake +++ b/ports/pcl/portfile.cmake @@ -3,19 +3,12 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO PointCloudLibrary/pcl - REF pcl-1.8.1 - SHA512 9e7c87fb750a176712f08d215a906012c9e8174b687bbc8c08fa65de083b4468951bd8017b10409015d5eff0fc343885d2aae5c340346118b1a251af7bdd5cd7 + REF pcl-1.9.1 + SHA512 ca95028c23861ac2df0fa7e18fdd0202255cb2e49ab714325eb36c35289442c6eedbf489e6f9f232b30fa2a93eff4c9619f8a14d3fdfe58f353a4a6e26206bdf HEAD_REF master - PATCHES cmakelists.patch - config.patch - config_install.patch + PATCHES pcl_utils.patch + pcl_config.patch find_flann.patch - find_qhull.patch - find_openni2.patch - find_cuda.patch - vs2017-15.4-workaround.patch - boost_uuid_random_generator_compat.patch - uuid-detail-sha1.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PCL_SHARED_LIBS) diff --git a/ports/pcl/uuid-detail-sha1.patch b/ports/pcl/uuid-detail-sha1.patch deleted file mode 100644 index 8c2536cabc..0000000000 --- a/ports/pcl/uuid-detail-sha1.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/visualization/src/pcl_visualizer.cpp b/visualization/src/pcl_visualizer.cpp -index 5b12331..b83f320 100644 ---- a/visualization/src/pcl_visualizer.cpp -+++ b/visualization/src/pcl_visualizer.cpp -@@ -100,7 +100,7 @@ - #include - #include - #include --#include -+#include - #include - #include - diff --git a/ports/pcl/vs2017-15.4-workaround.patch b/ports/pcl/vs2017-15.4-workaround.patch deleted file mode 100644 index 5600c9dc8f..0000000000 --- a/ports/pcl/vs2017-15.4-workaround.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/io/include/pcl/io/ply/ply_parser.h b/io/include/pcl/io/ply/ply_parser.h -index 649d19a..45709a8 100644 ---- a/io/include/pcl/io/ply/ply_parser.h -+++ b/io/include/pcl/io/ply/ply_parser.h -@@ -115,7 +115,7 @@ namespace pcl - - class scalar_property_definition_callbacks_type - { -- private: -+ public: - template - struct callbacks_element - { -@@ -123,7 +123,8 @@ namespace pcl - typedef T scalar_type; - typename scalar_property_definition_callback_type::type callback; - }; -- -+ -+ private: - typedef boost::mpl::inherit_linearly< - scalar_types, - boost::mpl::inherit< -@@ -218,6 +219,7 @@ namespace pcl - boost::mpl::_1,boost::mpl::transform > > > - {}; - -+ public: - template - struct callbacks_element - { -@@ -225,7 +227,8 @@ namespace pcl - typedef typename T::second scalar_type; - typename list_property_definition_callback_type::type callback; - }; -- -+ -+ private: - typedef boost::mpl::inherit_linearly::type, boost::mpl::inherit > >::type callbacks; - callbacks callbacks_; - diff --git a/ports/physfs/CONTROL b/ports/physfs/CONTROL index a937d38bf9..5d5d697556 100644 --- a/ports/physfs/CONTROL +++ b/ports/physfs/CONTROL @@ -1,4 +1,4 @@ Source: physfs -Version: 3.0.1 +Version: 3.0.1-1 Description: a library to provide abstract access to various archives Build-Depends: zlib diff --git a/ports/physfs/physfs.3.0.1.GetUserProfileDirectory.patch b/ports/physfs/physfs.3.0.1.GetUserProfileDirectory.patch new file mode 100644 index 0000000000..4338e52e5b --- /dev/null +++ b/ports/physfs/physfs.3.0.1.GetUserProfileDirectory.patch @@ -0,0 +1,25 @@ + +diff -r a29fef4a20fd -r ece6769c0676 src/physfs_platform_windows.c +--- a/src/physfs_platform_windows.c Wed May 16 19:54:51 2018 -0400 ++++ b/src/physfs_platform_windows.c Wed Oct 03 22:40:57 2018 -0400 +@@ -566,7 +566,6 @@ + else + { + DWORD psize = 0; +- WCHAR dummy = 0; + LPWSTR wstr = NULL; + BOOL rc = 0; + +@@ -575,7 +574,7 @@ + * psize. Also note that the second parameter can't be + * NULL or the function fails. + */ +- rc = pGetDir(accessToken, &dummy, &psize); ++ rc = pGetDir(accessToken, NULL, &psize); + GOTO_IF(rc, PHYSFS_ERR_OS_ERROR, done); /* should have failed! */ + + /* Allocate memory for the profile directory */ + + + + diff --git a/ports/physfs/portfile.cmake b/ports/physfs/portfile.cmake index 08b49e69ff..feee3b456b 100644 --- a/ports/physfs/portfile.cmake +++ b/ports/physfs/portfile.cmake @@ -6,7 +6,13 @@ vcpkg_download_distfile(ARCHIVE FILENAME "physfs-${PHYSFS_VERSION}.tar.bz2" SHA512 ddf3b075ccb506da5e9a1ce96001be402752b9b777c2e816a85d48aff3626ff0886ea43eb07bd300fe3a9f59b9a002f54d822c51d483a4ee94b38378534c1879 ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${PHYSFS_VERSION} + PATCHES + physfs.3.0.1.GetUserProfileDirectory.patch # Fixes GetUserProfileDirectory issue on Win10 build 1809(+?); See: https://hg.icculus.org/icculus/physfs/rev/ece6769c0676 +) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PHYSFS_STATIC) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" PHYSFS_SHARED) diff --git a/ports/pixel/CONTROL b/ports/pixel/CONTROL new file mode 100644 index 0000000000..50b1bd0a82 --- /dev/null +++ b/ports/pixel/CONTROL @@ -0,0 +1,4 @@ +Source: pixel +Version: 0.3 +Description: Simple 2D Graphics based on standard and portable OpenGL. +Build-Depends: glew, opengl, sdl2 diff --git a/ports/pixel/portfile.cmake b/ports/pixel/portfile.cmake new file mode 100644 index 0000000000..4e2e9d7ac2 --- /dev/null +++ b/ports/pixel/portfile.cmake @@ -0,0 +1,21 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO dascandy/pixel + REF v0.3 + SHA512 d7d622679195d0eb30c8ed411333711369b108e2171d1e4b0a93c7ae3bd1fb36a25fbe1f5771c858615c07ee139412e5353b8cb5489cb409dd94829253c18a7b + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) + +vcpkg_copy_pdbs() diff --git a/ports/podofo/CONTROL b/ports/podofo/CONTROL index ba5fa11094..e5485c4935 100644 --- a/ports/podofo/CONTROL +++ b/ports/podofo/CONTROL @@ -1,5 +1,5 @@ Source: podofo -Version: 0.9.6 +Version: 0.9.6-1 Description: PoDoFo is a library to work with the PDF file format Build-Depends: zlib, libpng, libjpeg-turbo, tiff, openssl (!windows&!uwp), freetype diff --git a/ports/podofo/portfile.cmake b/ports/podofo/portfile.cmake index e33cda7f49..0897576d08 100644 --- a/ports/podofo/portfile.cmake +++ b/ports/podofo/portfile.cmake @@ -1,11 +1,16 @@ include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/podofo-0.9.6) + +set(PODOFO_VERSION 0.9.6) vcpkg_download_distfile(ARCHIVE - URLS "https://sourceforge.net/projects/podofo/files/podofo/0.9.6/podofo-0.9.6.tar.gz/download" - FILENAME "podofo-0.9.6.tar.gz" + URLS "https://sourceforge.net/projects/podofo/files/podofo/${PODOFO_VERSION}/podofo-${PODOFO_VERSION}.tar.gz/download" + FILENAME "podofo-${PODOFO_VERSION}.tar.gz" SHA512 35c1a457758768bdadc93632385f6b9214824fead279f1b85420443fb2135837cefca9ced476df0d47066f060e9150e12fcd40f60fa1606b177da433feb20130 ) -vcpkg_extract_source_archive(${ARCHIVE}) +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${PODOFO_VERSION} +) set(PODOFO_NO_FONTMANAGER ON) if("fontconfig" IN_LIST FEATURES) @@ -22,6 +27,7 @@ endif() vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA OPTIONS -DPODOFO_BUILD_LIB_ONLY=1 -DPODOFO_BUILD_SHARED=${PODOFO_BUILD_SHARED} @@ -30,11 +36,13 @@ vcpkg_configure_cmake( -DCMAKE_DISABLE_FIND_PACKAGE_FONTCONFIG=${PODOFO_NO_FONTMANAGER} -DCMAKE_DISABLE_FIND_PACKAGE_LIBCRYPTO=${IS_WIN32} -DCMAKE_DISABLE_FIND_PACKAGE_LIBIDN=ON + -DCMAKE_DISABLE_FIND_PACKAGE_CppUnit=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON ) vcpkg_install_cmake() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) # Handle copyright -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/podofo) file(RENAME ${CURRENT_PACKAGES_DIR}/share/podofo/COPYING ${CURRENT_PACKAGES_DIR}/share/podofo/copyright) diff --git a/ports/portaudio/CONTROL b/ports/portaudio/CONTROL index 8b74bfd6f4..ceeec644c7 100644 --- a/ports/portaudio/CONTROL +++ b/ports/portaudio/CONTROL @@ -1,3 +1,3 @@ Source: portaudio -Version: 19.0.6.00-3 +Version: 19.0.6.00-4 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. diff --git a/ports/portaudio/pa_win_waveformat.patch b/ports/portaudio/pa_win_waveformat.patch new file mode 100644 index 0000000000..cba0739477 --- /dev/null +++ b/ports/portaudio/pa_win_waveformat.patch @@ -0,0 +1,27 @@ +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 da9b4bb324..503b080483 100644 --- a/ports/portaudio/portfile.cmake +++ b/ports/portaudio/portfile.cmake @@ -13,6 +13,7 @@ vcpkg_extract_source_archive_ex( find_dsound.patch wasapi_support.patch crt_linkage_build_config.patch + pa_win_waveformat.patch ) # NOTE: the ASIO backend will be built automatically if the ASIO-SDK is provided @@ -25,6 +26,7 @@ vcpkg_configure_cmake( -DPA_USE_WASAPI=ON -DPA_USE_WDMKS=ON -DPA_USE_WMME=ON + -DPA_ENABLE_DEBUG_OUTPUT:BOOL=ON ) vcpkg_install_cmake() @@ -47,6 +49,8 @@ else () file (REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) endif () +vcpkg_copy_pdbs() + # Handle copyright file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/portaudio) file(RENAME ${CURRENT_PACKAGES_DIR}/share/portaudio/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/portaudio/copyright) diff --git a/ports/prometheus-cpp/CONTROL b/ports/prometheus-cpp/CONTROL new file mode 100644 index 0000000000..e89b84cb27 --- /dev/null +++ b/ports/prometheus-cpp/CONTROL @@ -0,0 +1,16 @@ +Source: prometheus-cpp +Version: 0.6.0 +Description: Prometheus Client Library for Modern C++ +Default-Features: compression, pull + +Feature: compression +Build-Depends: zlib +Description: Enable zlib compression + +Feature: pull +Build-Depends: civetweb +Description: Support for regular pull mode + +Feature: push +Build-Depends: curl +Description: Support push gateway diff --git a/ports/prometheus-cpp/portfile.cmake b/ports/prometheus-cpp/portfile.cmake new file mode 100644 index 0000000000..388623d489 --- /dev/null +++ b/ports/prometheus-cpp/portfile.cmake @@ -0,0 +1,43 @@ +include(vcpkg_common_functions) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO jupp0r/prometheus-cpp + REF v0.6.0 + SHA512 a7e6f902f3007007ec68add5ac63e833c6f383ed0ce103e238b7248497f495e664446df7801000e36021adcb7cfb1d461bbb45e1b4fba9ffa4edfcaf5b5957dd + HEAD_REF master +) + +macro(feature FEATURENAME OPTIONNAME) + if("${FEATURENAME}" IN_LIST FEATURES) + list(APPEND FEATURE_OPTIONS -D${OPTIONNAME}=TRUE) + else() + list(APPEND FEATURE_OPTIONS -D${OPTIONNAME}=FALSE) + endif() +endmacro() + +feature(compression ENABLE_COMPRESSION) +feature(pull ENABLE_PULL) +feature(push ENABLE_PUSH) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DUSE_THIRDPARTY_LIBRARIES=OFF # use vcpkg packages + -DENABLE_TESTING=FALSE # need gtest 1.8.1 + ${FEATURE_OPTIONS} +) + +vcpkg_install_cmake() + +vcpkg_copy_pdbs() + +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/prometheus-cpp) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/prometheus-cpp/copyright COPYONLY) diff --git a/ports/qca/CONTROL b/ports/qca/CONTROL index 4f484666f0..72f20869f1 100644 --- a/ports/qca/CONTROL +++ b/ports/qca/CONTROL @@ -1,4 +1,4 @@ Source: qca -Version: 2.2.0-2 +Version: 2.2.0-3 Description: Qt Cryptographic Architecture (QCA). Sources: https://cgit.kde.org/qca.git/ Build-Depends: qt5-base diff --git a/ports/qca/portfile.cmake b/ports/qca/portfile.cmake index 6ad35d1f77..ff667cd6c7 100644 --- a/ports/qca/portfile.cmake +++ b/ports/qca/portfile.cmake @@ -5,50 +5,24 @@ # Updated certstore. See certstore.pem in the output dirs # -if (VCPKG_LIBRARY_LINKAGE STREQUAL static) - message(STATUS "Warning: Static building not supported yet. Building dynamic.") - set(VCPKG_LIBRARY_LINKAGE dynamic) -endif() - include(vcpkg_common_functions) -find_program(GIT git) +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + vcpkg_find_acquire_program(PERL) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) -set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH}") +vcpkg_add_to_path(${PERL_EXE_PATH}) -# Set git variables to qca version 2.2.0 commit -set(GIT_URL "git://anongit.kde.org/qca.git") -set(GIT_REF "19ec49f89a0a560590ec733c549b92e199792837") # Commit - -# Prepare source dir -if(NOT EXISTS "${DOWNLOADS}/qca.git") - message(STATUS "Cloning") - vcpkg_execute_required_process( - COMMAND ${GIT} clone --bare ${GIT_URL} ${DOWNLOADS}/qca.git - WORKING_DIRECTORY ${DOWNLOADS} - LOGNAME clone - ) +if(EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git") + file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/src) endif() -message(STATUS "Cloning done") -if(NOT EXISTS "${CURRENT_BUILDTREES_DIR}/src/.git") - message(STATUS "Adding worktree") - file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}) - vcpkg_execute_required_process( - COMMAND ${GIT} worktree add -f --detach ${CURRENT_BUILDTREES_DIR}/src ${GIT_REF} - WORKING_DIRECTORY ${DOWNLOADS}/qca.git - LOGNAME worktree - ) -endif() -message(STATUS "Adding worktree done") - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/) - -# Apply the patch to install to the expected folders -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/0001-fix-path-for-vcpkg.patch +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO KDE/qca + REF 19ec49f89a0a560590ec733c549b92e199792837 + SHA512 6a83ee6715a9a922f4fde5af571e2aad043ac5cbd522f57365038dd31879b44eb57a099ff797793d7ee19e320e0a151e5beacdff3bed525d39ea0b8e46efca9a + PATCHES 0001-fix-path-for-vcpkg.patch ) # According to: @@ -72,9 +46,8 @@ message(STATUS "Importing certstore done") # Configure and build vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - CURRENT_PACKAGES_DIR ${CURRENT_PACKAGES_DIR} + PREFER_NINJA OPTIONS - -DBUILD_SHARED_LIBS=ON -DUSE_RELATIVE_PATHS=ON -DQT4_BUILD=OFF -DBUILD_TESTS=OFF diff --git a/ports/qhull/CONTROL b/ports/qhull/CONTROL index 8eb3f87722..411b3ee7c6 100644 --- a/ports/qhull/CONTROL +++ b/ports/qhull/CONTROL @@ -1,3 +1,3 @@ Source: qhull -Version: 2015.2-2 +Version: 2015.2-3 Description: computes the convex hull, Delaunay triangulation, Voronoi diagram diff --git a/ports/qhull/portfile.cmake b/ports/qhull/portfile.cmake index 25ee8f0d1b..c13287b0ff 100644 --- a/ports/qhull/portfile.cmake +++ b/ports/qhull/portfile.cmake @@ -31,7 +31,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/doc) 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/qhull) -file(COPY ${EXEFILES_DEBUG} DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools/qhull) file(REMOVE ${EXEFILES_RELEASE} ${EXEFILES_DEBUG}) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") diff --git a/ports/qt5-3d/CONTROL b/ports/qt5-3d/CONTROL index 37041854f4..bcf523665f 100644 --- a/ports/qt5-3d/CONTROL +++ b/ports/qt5-3d/CONTROL @@ -1,4 +1,4 @@ Source: qt5-3d -Version: 5.11.1 +Version: 5.11.2 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 diff --git a/ports/qt5-3d/portfile.cmake b/ports/qt5-3d/portfile.cmake index fde84f741e..e98d4da831 100644 --- a/ports/qt5-3d/portfile.cmake +++ b/ports/qt5-3d/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qt3d d1a07586d6b64ff3b1e85c41c8b3b86f6327e9e63f5f45344a65a6136179f6a8361ca9da80944b244d8edc53d8b0e9f8b646d613f6b42faac6cb724f49573a8a) +qt_modular_library(qt3d 706aa7e9a43d50823e8cd1e4838417a44761d6391ca3f8bae54d371742789ee63ba36e219c0a66ad3957ae0d68ed8e58c13f56a5f151b2d09e2c99e986aea4fe) diff --git a/ports/qt5-activeqt/CONTROL b/ports/qt5-activeqt/CONTROL index a84f32cf4d..2df3903301 100644 --- a/ports/qt5-activeqt/CONTROL +++ b/ports/qt5-activeqt/CONTROL @@ -1,4 +1,4 @@ Source: qt5-activeqt -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 ActiveQt Module - ActiveX components Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-activeqt/portfile.cmake b/ports/qt5-activeqt/portfile.cmake index 25f7df0a3d..6f2e479a96 100644 --- a/ports/qt5-activeqt/portfile.cmake +++ b/ports/qt5-activeqt/portfile.cmake @@ -2,6 +2,6 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtactiveqt a6fb4a3a53f5965e0913276a784f2fce81351a9c54cc190f15b431a497e04a4b823a8cec132713e382dc4e3ab2edef967e920c7aaa7392a72d7b12263c9f4876) +qt_modular_library(qtactiveqt 50027f3429a4e9f140e259f228ea46420284a9632bba3ed92b9b44fbc1c168b6b2d039986d6a07e17ae1afff4f0aec3ccfe8a660322449a3258ab251c1910135) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-activeqt/platforminputcontexts) +#file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-activeqt/platforminputcontexts) diff --git a/ports/qt5-base/CONTROL b/ports/qt5-base/CONTROL index 4eb7e3842e..820137710a 100644 --- a/ports/qt5-base/CONTROL +++ b/ports/qt5-base/CONTROL @@ -1,4 +1,4 @@ Source: qt5-base -Version: 5.11.1-5 +Version: 5.11.2-1 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 diff --git a/ports/qt5-base/fix-msvc2017.patch b/ports/qt5-base/fix-msvc2017.patch deleted file mode 100644 index c1f9254ff6..0000000000 --- a/ports/qt5-base/fix-msvc2017.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -Naur a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf ---- a/mkspecs/common/msvc-version.conf 2018-06-15 03:29:31.000000000 -0400 -+++ b/mkspecs/common/msvc-version.conf 2018-08-23 00:26:46.436806400 -0400 -@@ -112,4 +112,11 @@ - COMPAT_MKSPEC = - } - -+ -+# MSVC 2017 15.8+ fixed std::aligned_storage but compilation fails without -+# this flag since the fix breaks binary compatibility. -+greaterThan(QMAKE_MSC_VER, 1914) { -+ DEFINES += _ENABLE_EXTENDED_ALIGNED_STORAGE -+} -+ - !isEmpty(COMPAT_MKSPEC):!$$COMPAT_MKSPEC: CONFIG += $$COMPAT_MKSPEC -diff -Naur a/qmake/Makefile.win32 b/qmake/Makefile.win32 ---- a/qmake/Makefile.win32 2018-06-15 03:29:31.000000000 -0400 -+++ b/qmake/Makefile.win32 2018-08-23 00:27:45.764849600 -0400 -@@ -39,7 +39,7 @@ - -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS \ - -DQT_VERSION_STR=\"$(QT_VERSION)\" -DQT_VERSION_MAJOR=$(QT_MAJOR_VERSION) -DQT_VERSION_MINOR=$(QT_MINOR_VERSION) -DQT_VERSION_PATCH=$(QT_PATCH_VERSION) \ - -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DPROEVALUATOR_FULL \ -- -DQT_NO_FOREACH -DUNICODE -+ -DQT_NO_FOREACH -DUNICODE -D_ENABLE_EXTENDED_ALIGNED_STORAGE - CFLAGS = $(CFLAGS_PCH) $(CFLAGS_BARE) $(CFLAGS) - - CXXFLAGS_BARE = $(CFLAGS_BARE) diff --git a/ports/qt5-base/portfile.cmake b/ports/qt5-base/portfile.cmake index b58fe326e2..b6d140f88c 100644 --- a/ports/qt5-base/portfile.cmake +++ b/ports/qt5-base/portfile.cmake @@ -12,13 +12,13 @@ include(configure_qt) include(install_qt) set(MAJOR_MINOR 5.11) -set(FULL_VERSION ${MAJOR_MINOR}.1) +set(FULL_VERSION ${MAJOR_MINOR}.2) set(ARCHIVE_NAME "qtbase-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 5f45405872e541565d811c1973ae95b0f19593f4495375306917b72e21146e14fe8f7db5fbd629476476807f89ef1679aa59737ca5efdd9cbe6b14d7aa371b81 + SHA512 b2f14126caa1c664887203a9a98551b85b57630cf7745c17f76e1e8aaf464f0091fe2de5615a138506dac7c8fbb16e5f33f984aef8e61e23f0c3bf74f6ef0835 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH @@ -28,7 +28,6 @@ vcpkg_extract_source_archive_ex( fix-system-freetype.patch fix-system-pcre2.patch fix-system-pcre2-linux.patch - fix-msvc2017.patch ) # Remove vendored dependencies to ensure they are not picked up by the build diff --git a/ports/qt5-charts/CONTROL b/ports/qt5-charts/CONTROL index a5bc1b33ea..4a73bcdc43 100644 --- a/ports/qt5-charts/CONTROL +++ b/ports/qt5-charts/CONTROL @@ -1,4 +1,4 @@ Source: qt5-charts -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Charts Module - UI components for displaying charts, driven by static or dynamic data models Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-charts/portfile.cmake b/ports/qt5-charts/portfile.cmake index 85f923df55..fdf59fe17c 100644 --- a/ports/qt5-charts/portfile.cmake +++ b/ports/qt5-charts/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtcharts e3c02ea9bd985a8d051e305dd04e58711de3b666128a695011afd65271a2c7bcb11763c18fe201045ce03df96326490ca7322bdc0f77e97988ec59427505886b) +qt_modular_library(qtcharts 19a9a0d78cba75d7ed237647c04237797b6002f9c6a4a08f4d4a90426bd44bdbde3f4ffc78dfafab3abb56faaef458a2577f5249200ad89e125e86049aafb85d) diff --git a/ports/qt5-datavis3d/CONTROL b/ports/qt5-datavis3d/CONTROL index ccffcfb134..34842f14d6 100644 --- a/ports/qt5-datavis3d/CONTROL +++ b/ports/qt5-datavis3d/CONTROL @@ -1,4 +1,4 @@ Source: qt5-datavis3d -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Data Visualization 3d Module - UI Components for creating 3D data visualizations Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-datavis3d/portfile.cmake b/ports/qt5-datavis3d/portfile.cmake index 73986d0898..a74f82cd78 100644 --- a/ports/qt5-datavis3d/portfile.cmake +++ b/ports/qt5-datavis3d/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtdatavis3d e88f2471fa39fd4f4c7900df5edadc568d000b537eb00f892fadc6cf1d7845987b9fd98adbea4c35c6469c9a9bfce087b26440a6419ca758451dbe3b669d19cd) +qt_modular_library(qtdatavis3d ec5599d95e30a9d6b4fbed53087aed4607a4ad5f8322610ec785c970a0c65b215344ec842c6c21791f27ec015610fca47e6af2608f2682ac2e6d114b0f0b80a8) diff --git a/ports/qt5-declarative/CONTROL b/ports/qt5-declarative/CONTROL index e2d9e280c5..9de0654786 100644 --- a/ports/qt5-declarative/CONTROL +++ b/ports/qt5-declarative/CONTROL @@ -1,4 +1,4 @@ Source: qt5-declarative -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Declarative (Quick 2) Module. Includes QtQuick, QtQuickParticles, QtQuickWidgets, QtQml, and QtPacketProtocol. Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-declarative/portfile.cmake b/ports/qt5-declarative/portfile.cmake index 1bb2b866c3..7949ba8f8c 100644 --- a/ports/qt5-declarative/portfile.cmake +++ b/ports/qt5-declarative/portfile.cmake @@ -2,6 +2,6 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtdeclarative d4252f58fcc811273b1a51f80167bca19f744d70c47362b631bbb7875473a808402d64b26475e2f5ff1813d8b8cc66b81cac1b8a4b5e36f7ca1fdbb15666f053) +qt_modular_library(qtdeclarative 30d3ddfabceaf48666cb5ebc5c3a25318152daeed599b1a0a1b3c2feff353708de4760472babbe55a685582c0640a2789fa2fa239d151d17fe2b36950836f7ee) #file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-declarative/platforminputcontexts) \ No newline at end of file diff --git a/ports/qt5-gamepad/CONTROL b/ports/qt5-gamepad/CONTROL index 3123faa51d..68927e58c5 100644 --- a/ports/qt5-gamepad/CONTROL +++ b/ports/qt5-gamepad/CONTROL @@ -1,4 +1,4 @@ Source: qt5-gamepad -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Gamepad Module - Enables Qt applications to support the use of gamepad hardware Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-gamepad/portfile.cmake b/ports/qt5-gamepad/portfile.cmake index 6c101a040e..9e97d17ea9 100644 --- a/ports/qt5-gamepad/portfile.cmake +++ b/ports/qt5-gamepad/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtgamepad 47dfe1fdd693300520f9710d0a161936d8f1805b4558d6f692ed204f8d6784d45adb73bd472fb255deed792a610c94b35a72143deb0d8f227b8a9996dd1703cc) +qt_modular_library(qtgamepad 65200780a7a27ca6fd6bd624b38c6568eacc2209816b3214ac2b63b5e510613cd492f846b5f67922aa5605eab1064e3e6ff060b610519e0546a0005736f55274) diff --git a/ports/qt5-graphicaleffects/CONTROL b/ports/qt5-graphicaleffects/CONTROL index 25af45fd7d..f8c7d27cdc 100644 --- a/ports/qt5-graphicaleffects/CONTROL +++ b/ports/qt5-graphicaleffects/CONTROL @@ -1,4 +1,4 @@ Source: qt5-graphicaleffects -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 GraphicalEffects Module. Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-graphicaleffects/portfile.cmake b/ports/qt5-graphicaleffects/portfile.cmake index f92175512b..3b765d796a 100644 --- a/ports/qt5-graphicaleffects/portfile.cmake +++ b/ports/qt5-graphicaleffects/portfile.cmake @@ -4,4 +4,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtgraphicaleffects 0e79eac7debfd8904063d6b03938f62ed72194b5de164e0700d27bd2aac15e390cbdd337fa9afb62435862972e488fb01ae54f08d2a492719baa21a410272297) +qt_modular_library(qtgraphicaleffects a76bc46e6442fb66d0f99056c527593ff6df1336f24644fc6d265f21c5be3ff9329cdebb8b677b8b29e3a49fc98b90c9a5838a991ae998b81cda21028826071f) diff --git a/ports/qt5-imageformats/CONTROL b/ports/qt5-imageformats/CONTROL index 1a5a5d1db9..f8cb675b9b 100644 --- a/ports/qt5-imageformats/CONTROL +++ b/ports/qt5-imageformats/CONTROL @@ -1,4 +1,4 @@ Source: qt5-imageformats -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Image Formats Module - Plugins for additional image formats: TIFF, MNG, TGA, WBMP Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-imageformats/portfile.cmake b/ports/qt5-imageformats/portfile.cmake index 37eae1e2ea..b87bebaeee 100644 --- a/ports/qt5-imageformats/portfile.cmake +++ b/ports/qt5-imageformats/portfile.cmake @@ -2,6 +2,6 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtimageformats 527bd6d324904d1c7c6d931fe96bfa43575a904d2b94cbda3129c4a883fb79b9bdf6f009b41d2747e8aec2c410a2b23bfa0e94fc4eea698d54a0878bc934514d) +qt_modular_library(qtimageformats 9de3fa9ff8b985a89806ad33ed276454429aada01119d8f36b7d571f01d23c42afd588353fe62d80cf6b9b83b6c91d53ccbf61ed1ec4d66ddc0ce4f5719bdca1) set(VCPKG_POLICY_EMPTY_PACKAGE enabled) diff --git a/ports/qt5-modularscripts/CONTROL b/ports/qt5-modularscripts/CONTROL index 2186d94e00..09e07dd08d 100644 --- a/ports/qt5-modularscripts/CONTROL +++ b/ports/qt5-modularscripts/CONTROL @@ -1,3 +1,3 @@ Source: qt5-modularscripts -Version: 2018-09-10-2 +Version: 2018-11-01-1 Description: Vcpkg helpers to package qt5 modules diff --git a/ports/qt5-modularscripts/qt_modular_library.cmake b/ports/qt5-modularscripts/qt_modular_library.cmake index 22859c8e15..4066a6b514 100644 --- a/ports/qt5-modularscripts/qt_modular_library.cmake +++ b/ports/qt5-modularscripts/qt_modular_library.cmake @@ -9,7 +9,7 @@ function(qt_modular_library NAME HASH) endif() set(MAJOR_MINOR 5.11) - set(FULL_VERSION ${MAJOR_MINOR}.1) + set(FULL_VERSION ${MAJOR_MINOR}.2) set(ARCHIVE_NAME "${NAME}-everywhere-src-${FULL_VERSION}.tar.xz") vcpkg_download_distfile(ARCHIVE_FILE diff --git a/ports/qt5-multimedia/CONTROL b/ports/qt5-multimedia/CONTROL index 04fc5a057f..7c910ee27e 100644 --- a/ports/qt5-multimedia/CONTROL +++ b/ports/qt5-multimedia/CONTROL @@ -1,4 +1,4 @@ Source: qt5-multimedia -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Multimedia Module - Classes and widgets for audio, video, radio and camera functionality Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative diff --git a/ports/qt5-multimedia/portfile.cmake b/ports/qt5-multimedia/portfile.cmake index b5b31cd8de..f03f71183c 100644 --- a/ports/qt5-multimedia/portfile.cmake +++ b/ports/qt5-multimedia/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtmultimedia cfce510f5f5825ce12207070ce34bbc97e5433b5174bbdd562befcd383c74459436dfce23e5fd8ee5c5a4c28573b85374383d17ca3d0c61daa51b50c915b324c) +qt_modular_library(qtmultimedia f83c57ad35b713118d1d0ba27f78687aefa8f1ccd850be9b78a9c3477e0e9bb5f9a66bf39c2505f81987f0ca7d07dbc3f471d5efb4b9e4c21e41b308fc83040f) diff --git a/ports/qt5-networkauth/CONTROL b/ports/qt5-networkauth/CONTROL index 803649af6b..bf8b15e0c8 100644 --- a/ports/qt5-networkauth/CONTROL +++ b/ports/qt5-networkauth/CONTROL @@ -1,4 +1,4 @@ Source: qt5-networkauth -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Network Authorization Module Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-networkauth/portfile.cmake b/ports/qt5-networkauth/portfile.cmake index 13e2c289ec..2a27d21e9d 100644 --- a/ports/qt5-networkauth/portfile.cmake +++ b/ports/qt5-networkauth/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtnetworkauth 1f2b55870d61027f4af00d54507baf4953f162ca63a4e571a9c6f4095daa0235c2a93f67515cac627ff0a6655d94b01a3b3ba759bbbf75f9b108efbf12777c0d) \ No newline at end of file +qt_modular_library(qtnetworkauth f723e8af1ab511f090d1830bf42899ec51b4a027a91c58c46179c16c9e635a3c3f51c13faf943936074ad768407824e57161e28d872868daaed6254c15fc852d) diff --git a/ports/qt5-quickcontrols/CONTROL b/ports/qt5-quickcontrols/CONTROL index 513a360835..fc4fb902bf 100644 --- a/ports/qt5-quickcontrols/CONTROL +++ b/ports/qt5-quickcontrols/CONTROL @@ -1,4 +1,4 @@ Source: qt5-quickcontrols -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 QuickControls Module. Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative diff --git a/ports/qt5-quickcontrols/portfile.cmake b/ports/qt5-quickcontrols/portfile.cmake index 3a9251a818..6b8983cf7c 100644 --- a/ports/qt5-quickcontrols/portfile.cmake +++ b/ports/qt5-quickcontrols/portfile.cmake @@ -4,4 +4,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtquickcontrols d12cffe5a91f10e37b2ebea435fa147508fa60dc83076a1fb1c26d4ea16666c13ced0c36a5222092b6c4d6c1c723bed5b881fc33557353e09cb9aca068dde26c) +qt_modular_library(qtquickcontrols 621101df5966d74232edfe0ab1130968cf311a73e020604a4b329b412062599ab5a0f4f95a4d4c2bb6c2f91143485cd760dd6efac573dbd74f787361a99d5d25) diff --git a/ports/qt5-quickcontrols2/CONTROL b/ports/qt5-quickcontrols2/CONTROL index 79483beed8..f13d9df721 100644 --- a/ports/qt5-quickcontrols2/CONTROL +++ b/ports/qt5-quickcontrols2/CONTROL @@ -1,4 +1,4 @@ Source: qt5-quickcontrols2 -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 QuickControls2 Module. Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative diff --git a/ports/qt5-quickcontrols2/portfile.cmake b/ports/qt5-quickcontrols2/portfile.cmake index db6fbd9579..7f96cf5a37 100644 --- a/ports/qt5-quickcontrols2/portfile.cmake +++ b/ports/qt5-quickcontrols2/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtquickcontrols2 b4d42d5ec5abdd819badfef147492fecc8ed433b88705c418845d75d35ee5880b11afaf70f17e3913855ccaa9aa47b3a9d497350ecb105b4f0672cf29111eb68) +qt_modular_library(qtquickcontrols2 94e8113feb222b85fa890fc65c59a371e29eb6838c2221b12d795d9809a605478f1c0b35a75b06bc67a02b3827dbb6bc4c4bf3fdd7485ee518cd0e5c409061a6) diff --git a/ports/qt5-script/CONTROL b/ports/qt5-script/CONTROL index adcc055c83..2b49490c98 100755 --- a/ports/qt5-script/CONTROL +++ b/ports/qt5-script/CONTROL @@ -1,3 +1,3 @@ Source: qt5-script -Version: 5.9.2 +Version: 5.11.2 Description:Qt5 Script Module. diff --git a/ports/qt5-script/portfile.cmake b/ports/qt5-script/portfile.cmake index 9e6f5f3388..9999ad6cf3 100755 --- a/ports/qt5-script/portfile.cmake +++ b/ports/qt5-script/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtscript 3ce2e57a0a6b2382614f689edca0deed87afe944c1c41decb3b9f420449fa59f2b79e6330e78e01a950761a95903113eaa7fbf261886361114acf5015d93254c) +qt_modular_library(qtscript b0b4badc78cdebb3b42fe91104d112afd3bf9d4ead962c58ececa1db3db7fae6d5368f94d940195e2791ebfd09c5d6d5d892e9c4e48d64ec77dd366eddb1ab00) diff --git a/ports/qt5-scxml/CONTROL b/ports/qt5-scxml/CONTROL index 202592db69..a00542c74b 100644 --- a/ports/qt5-scxml/CONTROL +++ b/ports/qt5-scxml/CONTROL @@ -1,4 +1,4 @@ Source: qt5-scxml -Version: 5.11.1 +Version: 5.11.2 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 diff --git a/ports/qt5-scxml/portfile.cmake b/ports/qt5-scxml/portfile.cmake index e89fe32138..7680b6eb03 100644 --- a/ports/qt5-scxml/portfile.cmake +++ b/ports/qt5-scxml/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtscxml d64dba323b009525078e999e0972fd09a16bb806980411ce7cc452aee0951632ee440f71c2b5124cfd6ed5020aa869d8490017aaba374a8d4b83f43c1f0b0689) +qt_modular_library(qtscxml 4175d02224654a6a6b220f52937a22093be8b06e737f5575d4227b9038cb7c227f37eb17b7bb6878c16a34eae342c06e33cb2c356a389137e9f7d15886aa30ab) diff --git a/ports/qt5-serialport/CONTROL b/ports/qt5-serialport/CONTROL index 8d0fd79dd0..af03e1254d 100644 --- a/ports/qt5-serialport/CONTROL +++ b/ports/qt5-serialport/CONTROL @@ -1,4 +1,4 @@ Source: qt5-serialport -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Serial Port - provides access to hardware and virtual serial ports Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-serialport/portfile.cmake b/ports/qt5-serialport/portfile.cmake index 31efd01559..daf037cdb9 100644 --- a/ports/qt5-serialport/portfile.cmake +++ b/ports/qt5-serialport/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtserialport 2f13122438dfe91c6885534e4470e119abf1c7134b1d344e9c0700661c002566f483aa2bcdde53e4860df349fff4ff8ef05bfafb0aa1bb4484d3e5d07c989404) +qt_modular_library(qtserialport babf89583fc025de511601f608300a01453e06c2eebe51c0d3cad3eb9c8179fa9cf9982690306ffaf7ce0a0abb7174ae0078a1fd36f6a34a2d5277bff9d4ea9d) diff --git a/ports/qt5-speech/CONTROL b/ports/qt5-speech/CONTROL index bd87a987bb..1f4c2420c6 100644 --- a/ports/qt5-speech/CONTROL +++ b/ports/qt5-speech/CONTROL @@ -1,4 +1,4 @@ Source: qt5-speech -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Speech Module Build-Depends: qt5-modularscripts, qt5-base, atlmfc (windows) diff --git a/ports/qt5-speech/portfile.cmake b/ports/qt5-speech/portfile.cmake index 7700ee57cb..b1d36265be 100644 --- a/ports/qt5-speech/portfile.cmake +++ b/ports/qt5-speech/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtspeech d17a0ab62083b9a8cef5f458b649b7789b0e3394a660c71f9ea6e6311c5e37edda10b16692817b8e165dd66a38cf34560e37940a63beec99ece3e2ee862adf51) +qt_modular_library(qtspeech b3e433b308c6c3454e40e7e19a075d1bd181a33ecea9c8f970852251488c12d1227e0b92aaeb6f7f75ac0efcb04bbe22c49562c594d8b9773528a2aaf73f8d02) diff --git a/ports/qt5-svg/CONTROL b/ports/qt5-svg/CONTROL index a95e3aa732..d88bb17424 100644 --- a/ports/qt5-svg/CONTROL +++ b/ports/qt5-svg/CONTROL @@ -1,4 +1,4 @@ Source: qt5-svg -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 SVG Module - provides classes for displaying the contents of SVG files Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-svg/portfile.cmake b/ports/qt5-svg/portfile.cmake index 02b081c303..0de3de3fda 100644 --- a/ports/qt5-svg/portfile.cmake +++ b/ports/qt5-svg/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtsvg 2e9b126e72335b4b39296d033c6ea8761739148b812841797e1678135eaad944a5e4073010b5dbfb17708bd8fc8de0dd6b2b092330176b3b29c7637357353e39) +qt_modular_library(qtsvg d6b83bc0c4b348f65890fbb4cd4df81828fb1ef88192c13b06dca695fe499d65da6a52ba57ca289aa31f035309f10af90593cd9ee17362219cfd1337cc801c57) diff --git a/ports/qt5-tools/CONTROL b/ports/qt5-tools/CONTROL index 6a512e1b7f..81df692672 100644 --- a/ports/qt5-tools/CONTROL +++ b/ports/qt5-tools/CONTROL @@ -1,4 +1,4 @@ Source: qt5-tools -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Tools Module; Includes deployment tools and helpers, Qt Designer, Assistant, and other applications Build-Depends: qt5-modularscripts, qt5-base, qt5-declarative diff --git a/ports/qt5-tools/portfile.cmake b/ports/qt5-tools/portfile.cmake index d4eaab82b1..8c7d0c0477 100644 --- a/ports/qt5-tools/portfile.cmake +++ b/ports/qt5-tools/portfile.cmake @@ -2,6 +2,6 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qttools cf690c630db79b4cd86d5d608175fb2c5463a985d7cb8a592c0995db04593c2c2ddddb52a3dc21348462639efdd3f9c57d3897a8384708b912b42cf1ac2c7482) +qt_modular_library(qttools a950a3c1d8e6e92ba200e6834d1f88b8b98b91e3ab2e238aa4d229248f19103e38a06f0a81304ebdae70b96a60c87fdea8caae0181d2114da3e20e9148d08be5) #file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/tools/qt5-tools/platforminputcontexts) \ No newline at end of file diff --git a/ports/qt5-virtualkeyboard/CONTROL b/ports/qt5-virtualkeyboard/CONTROL index e21b0e2e20..ebdb276232 100644 --- a/ports/qt5-virtualkeyboard/CONTROL +++ b/ports/qt5-virtualkeyboard/CONTROL @@ -1,4 +1,4 @@ Source: qt5-virtualkeyboard -Version: 5.11.1 +Version: 5.11.2 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 diff --git a/ports/qt5-virtualkeyboard/portfile.cmake b/ports/qt5-virtualkeyboard/portfile.cmake index ad969ae2ee..210997bfc1 100644 --- a/ports/qt5-virtualkeyboard/portfile.cmake +++ b/ports/qt5-virtualkeyboard/portfile.cmake @@ -2,6 +2,6 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtvirtualkeyboard e3010450553cad42850b4cf1b07e157b30e9a6a74b8c551e21ab45a04da76e55e83c08b4421c081eda44e8928c8e0b69f9c8146855a4e02bbf3779f5a0e290d0) +qt_modular_library(qtvirtualkeyboard 1a471a719771c3a07b8d7b524692bdd085eae1787b8e91f523b224c260bc950b514ce88d885bbbe90c1556619bae15c59debfb221ec01042885d71443e046912) set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/qt5-websockets/CONTROL b/ports/qt5-websockets/CONTROL index b2af643abb..e10c241d03 100644 --- a/ports/qt5-websockets/CONTROL +++ b/ports/qt5-websockets/CONTROL @@ -1,4 +1,4 @@ Source: qt5-websockets -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Web Sockets Module - provides WebSocket communication compliant with RFC 6455 Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-websockets/portfile.cmake b/ports/qt5-websockets/portfile.cmake index b117e619c3..67ea215f30 100644 --- a/ports/qt5-websockets/portfile.cmake +++ b/ports/qt5-websockets/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtwebsockets 01eb3fabfa0f46c6ecedc3cd9a05e504fef91926ffeab1f534557e50c15d7fd284edaa553f545d8363343a32c0c3187e77e3e5d6edea8331e9234c05c0e318fc) +qt_modular_library(qtwebsockets 28fb4442a5e00c1aad8f7d3e9c6828030a76d7e396b1ecc7743925fb3981a2d900df9c25cbeecf3247d8d6a54a11083d979681cff1171bb0b680584e954e8fc3) diff --git a/ports/qt5-winextras/CONTROL b/ports/qt5-winextras/CONTROL index 12dcadb9ba..5b93770771 100644 --- a/ports/qt5-winextras/CONTROL +++ b/ports/qt5-winextras/CONTROL @@ -1,4 +1,4 @@ Source: qt5-winextras -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 Windows Extras Module. Provides platform-specific APIs for Windows. Build-Depends: qt5-modularscripts, qt5-base, atlmfc diff --git a/ports/qt5-winextras/portfile.cmake b/ports/qt5-winextras/portfile.cmake index 1ec503a0bb..adc3bdbe1d 100644 --- a/ports/qt5-winextras/portfile.cmake +++ b/ports/qt5-winextras/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtwinextras 6ba1ddb6ff467fc413bf6a3d111e449215b696949dcfb399c17de9eb6d2ca20f867dd0c57d467e2924452e1d3d429fcc3dd119cc7d8bbfbcf0feeb9f6ca92918) +qt_modular_library(qtwinextras ac9ca4d188f7dadbdd124321cba39fb159f9225c23ab955c06ff3939080065a5e8f176f34504c59ae5fee602328550487187ed0648e7896dcd6bed698a6b45d8) diff --git a/ports/qt5-xmlpatterns/CONTROL b/ports/qt5-xmlpatterns/CONTROL index 874644acd6..21e0069ab3 100644 --- a/ports/qt5-xmlpatterns/CONTROL +++ b/ports/qt5-xmlpatterns/CONTROL @@ -1,4 +1,4 @@ Source: qt5-xmlpatterns -Version: 5.11.1 +Version: 5.11.2 Description: Qt5 XML Patterns Module - Support for XPath, XQuery, XSLT and XML schema validation Build-Depends: qt5-modularscripts, qt5-base diff --git a/ports/qt5-xmlpatterns/portfile.cmake b/ports/qt5-xmlpatterns/portfile.cmake index ca064eec0e..6484f4610f 100644 --- a/ports/qt5-xmlpatterns/portfile.cmake +++ b/ports/qt5-xmlpatterns/portfile.cmake @@ -2,4 +2,4 @@ include(vcpkg_common_functions) include(${CURRENT_INSTALLED_DIR}/share/qt5modularscripts/qt_modular_library.cmake) -qt_modular_library(qtxmlpatterns 207fda037fce412412909799ba7737764ebfa5d8cd4b0185f158791adbecd9a0e0db15bb7e40aaa5e664809b600e77a7a3398a35d2f4e087f1ab15a31e706066) +qt_modular_library(qtxmlpatterns f659de3da93f83a215914a35b32dcd7d585cabae30044e8d512cbf2a29514043b18ad512e18e6de5b99546ddee2475d807f42e51baa46f15488841314372b26f) diff --git a/ports/qt5/CONTROL b/ports/qt5/CONTROL index dc34eee953..9f3ea37785 100644 --- a/ports/qt5/CONTROL +++ b/ports/qt5/CONTROL @@ -1,4 +1,4 @@ Source: qt5 -Version: 5.9.2-1 +Version: 5.11.2 Description: Qt5 Application Framework Build-Depends: qt5-base, qt5-charts, qt5-datavis3d, qt5-declarative, qt5-gamepad, qt5-graphicaleffects, qt5-imageformats, qt5-multimedia, qt5-networkauth, qt5-quickcontrols, qt5-quickcontrols2, qt5-scxml, qt5-serialport, qt5-speech, qt5-svg, qt5-tools, qt5-virtualkeyboard, qt5-websockets, qt5-3d, qt5-winextras, qt5-xmlpatterns \ No newline at end of file diff --git a/ports/range-v3/CONTROL b/ports/range-v3/CONTROL index ee21c16c9e..076c712112 100644 --- a/ports/range-v3/CONTROL +++ b/ports/range-v3/CONTROL @@ -1,4 +1,3 @@ Source: range-v3 -Version: 0.3.5 -Build-Depends: range-v3-vs2015 (windows), range-v3-vs2015 (uwp) +Version: 0.4.0-20181129 Description: Range library for C++11/14/17. diff --git a/ports/range-v3/portfile.cmake b/ports/range-v3/portfile.cmake index cbeb38bf0d..f7577c9bb9 100644 --- a/ports/range-v3/portfile.cmake +++ b/ports/range-v3/portfile.cmake @@ -1,36 +1,30 @@ include(vcpkg_common_functions) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" OR NOT VCPKG_CMAKE_SYSTEM_NAME) - message("The current range-v3 releases are not compatible with the current MSVC releases.") - message("The latest available range-v3 fork compatible with MSVC will be used instead.") - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) -else() - vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ericniebler/range-v3 - REF 0.3.5 - SHA512 0b8b97c32760f19e7a3f35b0f28b0c15c7735fbd1aa54f685c58faf50bf2cf112aed4ac7cfa9154b9caf7047400a6c7fd5c33d978f2e3cec6bc392a758aeabad - HEAD_REF master - ) +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ericniebler/range-v3 + REF cf8add9f467aac695b9fa38e168b90df36b1a806 + SHA512 92b1c09a423f6672b710abfde886b28d789a030f0f5db1c340ab75eead4abcf1a8b213adeb197af92747678873b1cae62362ee878c2a6bb38e532b0e83ac7bb2 + HEAD_REF master +) - vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS - -DRANGE_V3_NO_TESTING=ON - -DRANGE_V3_NO_EXAMPLE=ON - -DRANGE_V3_NO_PERF=ON - -DRANGE_V3_NO_HEADER_CHECK=ON - ) +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DRANGE_V3_TESTS=OFF + -DRANGE_V3_EXAMPLES=OFF + -DRANGE_V3_PERF=OFF + -DRANGE_V3_HEADER_CHECKS=OFF +) - vcpkg_install_cmake() +vcpkg_install_cmake() - vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/range-v3) +vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/range-v3) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug ${CURRENT_PACKAGES_DIR}/lib) - vcpkg_copy_pdbs() +vcpkg_copy_pdbs() - file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/range-v3) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/range-v3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/range-v3/copyright) -endif() +file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/range-v3) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/range-v3/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/range-v3/copyright) diff --git a/ports/rapidcheck/CONTROL b/ports/rapidcheck/CONTROL new file mode 100644 index 0000000000..67c82313c2 --- /dev/null +++ b/ports/rapidcheck/CONTROL @@ -0,0 +1,3 @@ +Source: rapidcheck +Version: 2018-11-05-1 +Description: A property-based testing library for C++ (a la QuickCheck) with the goal of being simple to use with as little boilerplate as possible. diff --git a/ports/rapidcheck/portfile.cmake b/ports/rapidcheck/portfile.cmake new file mode 100644 index 0000000000..bdebdb656d --- /dev/null +++ b/ports/rapidcheck/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 emil-e/rapidcheck + REF cf9e0d8bd8c94e9dc00dc0ab302352bfaf1a3ac5 + SHA512 6cef62edbda391c3527d63db350842f669841ad2c751a64773250cd40bb65f26c2c394b107ef5530c2d3bd15b7079148fa9778d68a7346225bbb15227b1553c5 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DRC_INSTALL_ALL_EXTRAS=ON +) + +vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/rapidcheck/cmake) +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/rapidcheck/copyright COPYONLY) + +# Post-build test for cmake libraries +vcpkg_test_cmake(PACKAGE_NAME rapidcheck) diff --git a/ports/re2/CONTROL b/ports/re2/CONTROL index 5b1fbb0056..6e82bc86ea 100644 --- a/ports/re2/CONTROL +++ b/ports/re2/CONTROL @@ -1,3 +1,3 @@ -Source: re2 -Version: 2018-10-25 +Source: re2 +Version: 2018-11-01-1 Description: RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library. \ No newline at end of file diff --git a/ports/re2/portfile.cmake b/ports/re2/portfile.cmake index 9838940375..b5689944b2 100644 --- a/ports/re2/portfile.cmake +++ b/ports/re2/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO google/re2 - REF 89528a380a7e9722dbf7b5a817251049eab355fb - SHA512 7654a41ea42e816e7ecd80e554e6e5ab11e7d2f4d2c547a3083f990500668c74ae74870fe5a6390521b44edc2be8ce11d86a187600229e3d8b9d8b3114cfa4e8 + REF d9cebde0175aa1ffd38aab9a395a038464d55ce7 + SHA512 820ebc96f6cc583e50bdd637b8bf6b4e8ef6be5a74a49174bf845d037f0dd21ee3b1fbc220bc3cbbd6987205195b6c0990040f43da723f90038a20690a7553ff HEAD_REF master ) @@ -15,6 +15,8 @@ vcpkg_configure_cmake( vcpkg_install_cmake() +vcpkg_copy_pdbs() + # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/re2 RENAME copyright) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/rocksdb/0001-disable-gtest.patch b/ports/rocksdb/0001-disable-gtest.patch new file mode 100644 index 0000000000..82fe3ff626 --- /dev/null +++ b/ports/rocksdb/0001-disable-gtest.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5b7d37359..9ab8954b6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -445,7 +445,7 @@ include_directories(${PROJECT_SOURCE_DIR}/include) + include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src) + find_package(Threads REQUIRED) + +-add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) ++#add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) + + # Main library source code + diff --git a/ports/rocksdb/0002-disable-gtest.patch b/ports/rocksdb/0002-disable-gtest.patch deleted file mode 100644 index 8d42bbaf15..0000000000 --- a/ports/rocksdb/0002-disable-gtest.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f1ecf23b8a10ab5a917da4a39fba343a00cab1a9 Mon Sep 17 00:00:00 2001 -From: Robert Schumacher -Date: Fri, 23 Feb 2018 01:44:57 -0800 -Subject: [PATCH 2/3] disable gtest - ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5fb551a..faffc91 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -393,7 +393,7 @@ include_directories(${PROJECT_SOURCE_DIR}/include) - include_directories(SYSTEM ${PROJECT_SOURCE_DIR}/third-party/gtest-1.7.0/fused-src) - find_package(Threads REQUIRED) - --add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) -+#add_subdirectory(third-party/gtest-1.7.0/fused-src/gtest) - - # Main library source code - --- -2.16.2.windows.1 - diff --git a/ports/rocksdb/0003-only-build-one-flavor.patch b/ports/rocksdb/0002-only-build-one-flavor.patch similarity index 69% rename from ports/rocksdb/0003-only-build-one-flavor.patch rename to ports/rocksdb/0002-only-build-one-flavor.patch index d9b4cf6e5a..2d6b3aa07f 100644 --- a/ports/rocksdb/0003-only-build-one-flavor.patch +++ b/ports/rocksdb/0002-only-build-one-flavor.patch @@ -1,17 +1,8 @@ -From f77366e2bf8c136990b89ab235af8e0cf0e566f4 Mon Sep 17 00:00:00 2001 -From: Robert Schumacher -Date: Fri, 23 Feb 2018 01:45:18 -0800 -Subject: [PATCH 3/3] only build one flavor - ---- - CMakeLists.txt | 9 +++++++++ - 1 file changed, 9 insertions(+) - diff --git a/CMakeLists.txt b/CMakeLists.txt -index faffc91..89dc537 100644 +index 9ab8954b6..5b0405f4a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -723,6 +723,7 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) +@@ -793,6 +793,7 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) install(DIRECTORY include/rocksdb COMPONENT devel DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") @@ -19,7 +10,7 @@ index faffc91..89dc537 100644 install( TARGETS ${ROCKSDB_STATIC_LIB} EXPORT RocksDBTargets -@@ -730,15 +731,23 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) +@@ -800,15 +801,23 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS) ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" ) @@ -43,6 +34,3 @@ index faffc91..89dc537 100644 install( EXPORT RocksDBTargets --- -2.16.2.windows.1 - diff --git a/ports/rocksdb/0004-zlib-findpackage.patch b/ports/rocksdb/0003-zlib-findpackage.patch similarity index 84% rename from ports/rocksdb/0004-zlib-findpackage.patch rename to ports/rocksdb/0003-zlib-findpackage.patch index 25182760d3..c2d71dc006 100644 --- a/ports/rocksdb/0004-zlib-findpackage.patch +++ b/ports/rocksdb/0003-zlib-findpackage.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index fb3b126..45ca7b6 100644 +index 5b0405f4a..43256fc04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -86,7 +86,7 @@ else() +@@ -88,7 +88,7 @@ else() endif() if(WITH_ZLIB) diff --git a/ports/rocksdb/use-find-package.patch b/ports/rocksdb/0004-use-find-package.patch similarity index 69% rename from ports/rocksdb/use-find-package.patch rename to ports/rocksdb/0004-use-find-package.patch index 1a79c22866..a6c7b5f589 100644 --- a/ports/rocksdb/use-find-package.patch +++ b/ports/rocksdb/0004-use-find-package.patch @@ -1,13 +1,13 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f3ac9ce..931e9f2 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -45,7 +45,7 @@ option(WITH_JEMALLOC "build with JeMalloc" OFF) - option(WITH_SNAPPY "build with SNAPPY" OFF) - option(WITH_LZ4 "build with lz4" OFF) - option(WITH_ZLIB "build with zlib" OFF) --if(MSVC) -+if(MSVC AND NOT VCPKG_TOOLCHAIN) - # Defaults currently different for GFLAGS. - # We will address find_package work a little later - option(WITH_GFLAGS "build with GFlags" OFF) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 43256fc04..204761256 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -49,7 +49,7 @@ option(WITH_SNAPPY "build with SNAPPY" OFF) + option(WITH_LZ4 "build with lz4" OFF) + option(WITH_ZLIB "build with zlib" OFF) + option(WITH_ZSTD "build with zstd" OFF) +-if(MSVC) ++if(MSVC AND NOT VCPKG_TOOLCHAIN) + # Defaults currently different for GFLAGS. + # We will address find_package work a little later + option(WITH_GFLAGS "build with GFlags" OFF) diff --git a/ports/rocksdb/CONTROL b/ports/rocksdb/CONTROL index e35d1c5a96..9f70efb787 100644 --- a/ports/rocksdb/CONTROL +++ b/ports/rocksdb/CONTROL @@ -1,5 +1,5 @@ Source: rocksdb -Version: 5.14.2 +Version: 5.15.10 Description: A library that provides an embeddable, persistent key-value store for fast storage Default-Features: zlib diff --git a/ports/rocksdb/pass-major-version.patch b/ports/rocksdb/pass-major-version.patch deleted file mode 100644 index 1cc3f2d13b..0000000000 --- a/ports/rocksdb/pass-major-version.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d6bfbf2..ea6a884 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -132,6 +132,7 @@ endif() - - string(REGEX REPLACE "[^0-9a-f]+" "" GIT_SHA "${GIT_SHA}") - -+if(NOT DEFINED ROCKSDB_VERSION OR NOT DEFINED ROCKSDB_VERSION_MAJOR) - set(SH_CMD "sh") - execute_process(COMMAND - ${SH_CMD} -c "build_tools/version.sh full" -@@ -145,6 +146,7 @@ execute_process(COMMAND - OUTPUT_VARIABLE ROCKSDB_VERSION_MAJOR - ) - string(STRIP "${ROCKSDB_VERSION_MAJOR}" ROCKSDB_VERSION_MAJOR) -+endif() - - option(WITH_MD_LIBRARY "build with MD" ON) - if(WIN32 AND MSVC) diff --git a/ports/rocksdb/portfile.cmake b/ports/rocksdb/portfile.cmake index 8b4813aa82..0d124361bc 100644 --- a/ports/rocksdb/portfile.cmake +++ b/ports/rocksdb/portfile.cmake @@ -3,19 +3,14 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/rocksdb - REF v5.14.2 - SHA512 44ea887157daa1b504205d73ec07ff2c74164973aa057e58a02f39e0540dc394af8218da8bda57152c2a3171262e7147a5dbc4b6dd2c25eb35388d0786de0e35 + REF v5.15.10 + SHA512 3faef43cc343c20e044f92af7cd9eae9783612d888bfe17b7d0ae6812090088f43a128e5686600ec56f5a88c100eaa893b2551f8c32df793a4ccd94330c07037 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - "${CMAKE_CURRENT_LIST_DIR}/0002-disable-gtest.patch" - "${CMAKE_CURRENT_LIST_DIR}/0003-only-build-one-flavor.patch" - "${CMAKE_CURRENT_LIST_DIR}/0004-zlib-findpackage.patch" - "${CMAKE_CURRENT_LIST_DIR}/use-find-package.patch" - "${CMAKE_CURRENT_LIST_DIR}/pass-major-version.patch" + 0001-disable-gtest.patch + 0002-only-build-one-flavor.patch + 0003-zlib-findpackage.patch + 0004-use-find-package.patch ) file(REMOVE "${SOURCE_PATH}/cmake/modules/Findzlib.cmake") @@ -25,12 +20,7 @@ file(COPY DESTINATION "${SOURCE_PATH}/cmake/modules" ) -if(VCPKG_CRT_LINKAGE STREQUAL "static") - set(WITH_MD_LIBRARY OFF) -else() - set(WITH_MD_LIBRARY ON) -endif() - +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) @@ -49,10 +39,6 @@ if("zlib" IN_LIST FEATURES) set(WITH_ZLIB ON) endif() -get_filename_component(ROCKSDB_VERSION "${SOURCE_PATH}" NAME) -string(REPLACE "rocksdb-" "" ROCKSDB_VERSION "${ROCKSDB_VERSION}") -string(REGEX REPLACE "^([0-9]+)." "\\1" ROCKSDB_MAJOR_VERSION "${ROCKSDB_VERSION}") - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA @@ -69,8 +55,6 @@ 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} - -DROCKSDB_VERSION=${ROCKSDB_VERSION} - -DROCKSDB_VERSION_MAJOR=${ROCKSDB_MAJOR_VERSION} -DCMAKE_DISABLE_FIND_PACKAGE_TBB=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_NUMA=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_gtest=TRUE @@ -84,6 +68,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/rocksdb) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) file(INSTALL ${SOURCE_PATH}/LICENSE.Apache DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb RENAME copyright) -file(INSTALL ${SOURCE_PATH}/LICENSE.leveldb DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${SOURCE_PATH}/LICENSE.leveldb DESTINATION ${CURRENT_PACKAGES_DIR}/share/rocksdb) vcpkg_copy_pdbs() diff --git a/ports/rocksdb/vcpkg-cmake-wrapper.cmake b/ports/rocksdb/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000000..455facf22b --- /dev/null +++ b/ports/rocksdb/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,9 @@ +_find_package(${ARGS}) +if(NOT TARGET RocksDB::rocksdb AND TARGET RocksDB::rocksdb-shared) + add_library(RocksDB::rocksdb INTERFACE IMPORTED) + set_target_properties(RocksDB::rocksdb PROPERTIES INTERFACE_LINK_LIBRARIES "RocksDB::rocksdb-shared") +endif() +if(TARGET RocksDB::rocksdb AND NOT TARGET RocksDB::rocksdb-shared) + add_library(RocksDB::rocksdb-shared INTERFACE IMPORTED) + set_target_properties(RocksDB::rocksdb-shared PROPERTIES INTERFACE_LINK_LIBRARIES "RocksDB::rocksdb") +endif() diff --git a/ports/rpclib/CONTROL b/ports/rpclib/CONTROL index 160f4651c9..2123f29c43 100644 --- a/ports/rpclib/CONTROL +++ b/ports/rpclib/CONTROL @@ -1,3 +1,3 @@ Source: rpclib -Version: 2.2.0 +Version: 2.2.1 Description: a RPC library for C++, providing both a client and server implementation. It is built using modern C++14. diff --git a/ports/rpclib/portfile.cmake b/ports/rpclib/portfile.cmake index 5f4ac6a576..40aea10bb1 100644 --- a/ports/rpclib/portfile.cmake +++ b/ports/rpclib/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO rpclib/rpclib - REF v2.2.0 - SHA512 73d2344debb3a6ced6a045ba3bf8839a6f91d8f43dfac8760c65d19d1fc7960e778457a20fddbd771d7dd4b12e32d8a925f1fc008d11ccc5654dbeb08ba0f50a + REF v2.2.1 + SHA512 a63c6d09a411fb6b87d0df7c4f75a189f775ff0208f5f1c67333a85030a47efe60d5518e5939e98abc683a6063afb6cfed51f118f594a2a08be32330a9691051 HEAD_REF master ) diff --git a/ports/rxqt/CONTROL b/ports/rxqt/CONTROL new file mode 100644 index 0000000000..a99d58aa55 --- /dev/null +++ b/ports/rxqt/CONTROL @@ -0,0 +1,4 @@ +Source: rxqt +Version: +Description: The Reactive Extensions for Qt. +Build-Depends: rxcpp \ No newline at end of file diff --git a/ports/rxqt/portfile.cmake b/ports/rxqt/portfile.cmake new file mode 100644 index 0000000000..8531af15bb --- /dev/null +++ b/ports/rxqt/portfile.cmake @@ -0,0 +1,20 @@ +#header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO tetsurom/rxqt + REF master + SHA512 3f25570ab98c8d3959c35b0d99d5c35486339aa8cd752d8140bb064239265ecb8c5002e3a5e2b46324bb79b558cfe0f17e23a59ad51e6d3a0764acdce493b12c + HEAD_REF master +) + +file(INSTALL + ${SOURCE_PATH}/include + DESTINATION ${CURRENT_PACKAGES_DIR} +) + +file(INSTALL + ${SOURCE_PATH}/LICENSE + DESTINATION ${CURRENT_PACKAGES_DIR}/share/rxqt RENAME copyright) \ No newline at end of file diff --git a/ports/sajson/CMakeLists.txt b/ports/sajson/CMakeLists.txt new file mode 100644 index 0000000000..da8327003a --- /dev/null +++ b/ports/sajson/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.8) + +project(sajson) + +add_library(sajson INTERFACE) + +target_compile_features(sajson INTERFACE cxx_std_11) + +target_include_directories(sajson INTERFACE + $ + $) + +install(DIRECTORY include/ + DESTINATION include + USE_SOURCE_PERMISSIONS + FILES_MATCHING PATTERN "*.h" + ) + +install(TARGETS sajson EXPORT unofficial-sajson-config) + +install(EXPORT unofficial-sajson-config + FILE unofficial-sajson-config.cmake + NAMESPACE unofficial::sajson:: + DESTINATION share/cmake/unofficial-sajson + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +) diff --git a/ports/sajson/CONTROL b/ports/sajson/CONTROL new file mode 100644 index 0000000000..c990cd3dfd --- /dev/null +++ b/ports/sajson/CONTROL @@ -0,0 +1,3 @@ +Source: sajson +Version: 2018-09-21 +Description: Lightweight, extremely high-performance JSON parser for C++11 diff --git a/ports/sajson/portfile.cmake b/ports/sajson/portfile.cmake new file mode 100644 index 0000000000..662ab01f71 --- /dev/null +++ b/ports/sajson/portfile.cmake @@ -0,0 +1,27 @@ +# Header-only library + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO chadaustin/sajson + REF 2dcfd350586375f9910f74821d4f07d67ae455ba + SHA512 6029a640f8bd6c7cefc507819a18a708f6d7e9ce84fdd2998506cea26d597b999d2776a7307908f5df02994bc53c3c9bdf6a73344ab70ee6a5c775b54351e7d2 + 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/cmake/unofficial-sajson TARGET_PATH share/unofficial-sajson) + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +# Handle copyright +configure_file(${SOURCE_PATH}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/sajson/copyright COPYONLY) diff --git a/ports/sdl2-ttf/CMakeLists.txt b/ports/sdl2-ttf/CMakeLists.txt index 7c3e8fc771..2954a1e20f 100644 --- a/ports/sdl2-ttf/CMakeLists.txt +++ b/ports/sdl2-ttf/CMakeLists.txt @@ -3,7 +3,7 @@ project(SDL2_TTF C) find_path(SDL_INCLUDE_DIR SDL2/SDL.h) find_library(SDL_LIBRARY NAMES SDL2d SDL2) -find_package(FreeType REQUIRED) +find_package(Freetype REQUIRED) add_library(SDL2_ttf SDL_ttf.c version.rc) diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL index 6f39484dd6..18e867b7c6 100644 --- a/ports/sdl2/CONTROL +++ b/ports/sdl2/CONTROL @@ -1,3 +1,3 @@ Source: sdl2 -Version: 2.0.8-1 +Version: 2.0.9-1 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/enable-winrt-cmake.patch b/ports/sdl2/enable-winrt-cmake.patch index dcd2afa67c..858c7d460a 100644 --- a/ports/sdl2/enable-winrt-cmake.patch +++ b/ports/sdl2/enable-winrt-cmake.patch @@ -1,206 +1,175 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 73d9407..082fbc5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -3,7 +3,11 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) - endif() - - cmake_minimum_required(VERSION 2.8.11) --project(SDL2 C) -+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") -+ project(SDL2 C CXX) -+else() -+ project(SDL2 C) -+endif() - - # !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property - # !!! FIXME: for the SDL2 shared library (so you get an -@@ -358,7 +362,6 @@ file(GLOB SOURCE_FILES - ${SDL2_SOURCE_DIR}/src/timer/*.c - ${SDL2_SOURCE_DIR}/src/video/*.c) - -- - if(ASSERTIONS STREQUAL "auto") - # Do nada - use optimization settings to determine the assertion level - elseif(ASSERTIONS STREQUAL "disabled") -@@ -1132,6 +1135,22 @@ elseif(WINDOWS) - file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) - set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) - -+ if(WINDOWS_STORE) -+ cmake_minimum_required(VERSION 3.0) -+ add_definitions(-DSDL_BUILDING_WINRT=1 -ZW) -+ link_libraries( -+ -nodefaultlib:vccorlib$<$:d> -+ -nodefaultlib:msvcrt$<$:d> -+ vccorlib$<$:d>.lib -+ msvcrt$<$:d>.lib -+ ) -+ endif() -+ -+ if(WINDOWS_STORE) -+ file(GLOB WINRT_SOURCE_FILES ${SDL2_SOURCE_DIR}/src/core/winrt/*.c ${SDL2_SOURCE_DIR}/src/core/winrt/*.cpp) -+ set(SOURCE_FILES ${SOURCE_FILES} ${WINRT_SOURCE_FILES}) -+ endif() -+ - if(MSVC) - # Prevent codegen that would use the VC runtime libraries. - set_property(DIRECTORY . APPEND PROPERTY COMPILE_OPTIONS "/GS-") -@@ -1176,7 +1195,11 @@ elseif(WINDOWS) - check_include_file(d3d11_1.h HAVE_D3D11_H) - check_include_file(ddraw.h HAVE_DDRAW_H) - check_include_file(dsound.h HAVE_DSOUND_H) -- check_include_file(dinput.h HAVE_DINPUT_H) -+ if(WINDOWS_STORE) -+ set(HAVE_DINPUT_H 0) -+ else() -+ check_include_file(dinput.h HAVE_DINPUT_H) -+ endif() - check_include_file(xaudio2.h HAVE_XAUDIO2_H) - check_include_file(mmdeviceapi.h HAVE_MMDEVICEAPI_H) - check_include_file(audioclient.h HAVE_AUDIOCLIENT_H) -@@ -1193,12 +1216,14 @@ elseif(WINDOWS) - endif() - - if(SDL_AUDIO) -- set(SDL_AUDIO_DRIVER_WINMM 1) -- file(GLOB WINMM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/winmm/*.c) -- set(SOURCE_FILES ${SOURCE_FILES} ${WINMM_AUDIO_SOURCES}) -- set(HAVE_SDL_AUDIO TRUE) -+ if(NOT WINDOWS_STORE) -+ set(SDL_AUDIO_DRIVER_WINMM 1) -+ file(GLOB WINMM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/winmm/*.c) -+ set(SOURCE_FILES ${SOURCE_FILES} ${WINMM_AUDIO_SOURCES}) -+ set(HAVE_SDL_AUDIO TRUE) -+ endif() - -- if(HAVE_DSOUND_H) -+ if(HAVE_DSOUND_H AND NOT WINDOWS_STORE) - set(SDL_AUDIO_DRIVER_DSOUND 1) - file(GLOB DSOUND_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/directsound/*.c) - set(SOURCE_FILES ${SOURCE_FILES} ${DSOUND_AUDIO_SOURCES}) -@@ -1208,9 +1233,10 @@ elseif(WINDOWS) - set(SDL_AUDIO_DRIVER_XAUDIO2 1) - file(GLOB XAUDIO2_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/xaudio2/*.c) - set(SOURCE_FILES ${SOURCE_FILES} ${XAUDIO2_AUDIO_SOURCES}) -+ set(HAVE_SDL_AUDIO TRUE) - endif() - -- if(HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H) -+ if(HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H AND NOT WINDOWS_STORE) - 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}) -@@ -1222,11 +1248,20 @@ elseif(WINDOWS) - if(NOT SDL_LOADSO) - message_error("SDL_VIDEO requires SDL_LOADSO, which is not enabled") - endif() -- set(SDL_VIDEO_DRIVER_WINDOWS 1) -- file(GLOB WIN_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/windows/*.c) -+ if(WINDOWS_STORE) -+ set(SDL_VIDEO_DRIVER_WINRT 1) -+ file(GLOB WIN_VIDEO_SOURCES -+ ${SDL2_SOURCE_DIR}/src/video/winrt/*.c -+ ${SDL2_SOURCE_DIR}/src/video/winrt/*.cpp -+ ${SDL2_SOURCE_DIR}/src/render/direct3d11/*.cpp -+ ) -+ else() -+ set(SDL_VIDEO_DRIVER_WINDOWS 1) -+ file(GLOB WIN_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/windows/*.c) -+ endif() - set(SOURCE_FILES ${SOURCE_FILES} ${WIN_VIDEO_SOURCES}) - -- if(RENDER_D3D AND HAVE_D3D_H) -+ if(RENDER_D3D AND HAVE_D3D_H AND NOT WINDOWS_STORE) - set(SDL_VIDEO_RENDER_D3D 1) - set(HAVE_RENDER_D3D TRUE) - endif() -@@ -1249,20 +1284,31 @@ elseif(WINDOWS) - endif() - - if(SDL_POWER) -- set(SDL_POWER_WINDOWS 1) -- set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/windows/SDL_syspower.c) -+ if(WINDOWS_STORE) -+ set(SDL_POWER_WINRT 1) -+ set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/winrt/SDL_syspower.cpp) -+ else() -+ set(SDL_POWER_WINDOWS 1) -+ set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/windows/SDL_syspower.c) -+ endif() - set(HAVE_SDL_POWER TRUE) - endif() - - if(SDL_FILESYSTEM) - set(SDL_FILESYSTEM_WINDOWS 1) -- file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/windows/*.c) -+ if(WINDOWS_STORE) -+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/winrt/*.cpp) -+ else() -+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/windows/*.c) -+ endif() - set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES}) - set(HAVE_SDL_FILESYSTEM TRUE) - endif() - - # Libraries for Win32 native and MinGW -- list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid) -+ if(NOT WINDOWS_STORE) -+ list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid) -+ endif() - - # TODO: in configure.in the check for timers is set on - # cygwin | mingw32* - does this include mingw32CE? -@@ -1284,7 +1330,7 @@ elseif(WINDOWS) - set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) - - if(SDL_VIDEO) -- if(VIDEO_OPENGL) -+ if(VIDEO_OPENGL AND NOT WINDOWS_STORE) - set(SDL_VIDEO_OPENGL 1) - set(SDL_VIDEO_OPENGL_WGL 1) - set(SDL_VIDEO_RENDER_OGL 1) -@@ -1688,9 +1734,11 @@ endif() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") - - # Always build SDLmain --add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) --target_include_directories(SDL2main PUBLIC $) --set(_INSTALL_LIBS "SDL2main") -+if(NOT WINDOWS_STORE) -+ add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) -+ target_include_directories(SDL2main PUBLIC $) -+ set(_INSTALL_LIBS "SDL2main") -+endif() - - if(SDL_SHARED) - add_library(SDL2 SHARED ${SOURCE_FILES} ${VERSION_SOURCES}) -diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake -index 9b20398..7ae6e35 100644 ---- a/include/SDL_config.h.cmake -+++ b/include/SDL_config.h.cmake -@@ -298,6 +298,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@ -+#cmakedefine SDL_VIDEO_DRIVER_WINRT @SDL_VIDEO_DRIVER_WINRT@ - #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@ -@@ -365,6 +366,7 @@ - #cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@ - #cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@ - #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@ -+#cmakedefine SDL_POWER_WINRT @SDL_POWER_WINRT@ - #cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@ - #cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@ - #cmakedefine SDL_POWER_EMSCRIPTEN @SDL_POWER_EMSCRIPTEN@ -@@ -387,7 +389,7 @@ - #cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@ - - /* Platform specific definitions */ --#if !defined(__WIN32__) -+#if !defined(__WIN32__) && !defined(__WINRT__) - # if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H) - typedef unsigned int size_t; - typedef signed char int8_t; +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0128c7a..bd534e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,6 +5,18 @@ endif() + cmake_minimum_required(VERSION 2.8.11) + project(SDL2 C) + ++if(WINDOWS_STORE) ++ enable_language(CXX) ++ cmake_minimum_required(VERSION 3.11) ++ add_definitions(-DSDL_BUILDING_WINRT=1 -ZW) ++ link_libraries( ++ -nodefaultlib:vccorlib$<$:d> ++ -nodefaultlib:msvcrt$<$:d> ++ vccorlib$<$:d>.lib ++ msvcrt$<$:d>.lib ++ ) ++endif() ++ + # !!! 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) + file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) + set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) + ++ if(WINDOWS_STORE) ++ file(GLOB WINRT_SOURCE_FILES ${SDL2_SOURCE_DIR}/src/core/winrt/*.c ${SDL2_SOURCE_DIR}/src/core/winrt/*.cpp) ++ list(APPEND SOURCE_FILES ${WINRT_SOURCE_FILES}) ++ endif() ++ + 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) + check_include_file(ddraw.h HAVE_DDRAW_H) + check_include_file(dsound.h HAVE_DSOUND_H) + check_include_file(dinput.h HAVE_DINPUT_H) ++ if(WINDOWS_STORE) ++ set(HAVE_DINPUT_H 0) ++ endif() + 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) + check_include_file(endpointvolume.h HAVE_ENDPOINTVOLUME_H) + + if(SDL_AUDIO) ++ if(NOT WINDOWS_STORE) + set(SDL_AUDIO_DRIVER_WINMM 1) + file(GLOB WINMM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/winmm/*.c) + set(SOURCE_FILES ${SOURCE_FILES} ${WINMM_AUDIO_SOURCES}) ++ endif() + set(HAVE_SDL_AUDIO TRUE) + +- if(HAVE_DSOUND_H) ++ if(HAVE_DSOUND_H AND NOT WINDOWS_STORE) + set(SDL_AUDIO_DRIVER_DSOUND 1) + file(GLOB DSOUND_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/directsound/*.c) + set(SOURCE_FILES ${SOURCE_FILES} ${DSOUND_AUDIO_SOURCES}) + endif() + +- if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H) ++ if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H AND NOT WINDOWS_STORE) + 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) + if(NOT SDL_LOADSO) + message_error("SDL_VIDEO requires SDL_LOADSO, which is not enabled") + endif() ++ if(WINDOWS_STORE) ++ set(SDL_VIDEO_DRIVER_WINRT 1) ++ file(GLOB WIN_VIDEO_SOURCES ++ ${SDL2_SOURCE_DIR}/src/video/winrt/*.c ++ ${SDL2_SOURCE_DIR}/src/video/winrt/*.cpp ++ ${SDL2_SOURCE_DIR}/src/render/direct3d11/*.cpp ++ ) ++ else() + set(SDL_VIDEO_DRIVER_WINDOWS 1) + file(GLOB WIN_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/windows/*.c) ++ endif() + set(SOURCE_FILES ${SOURCE_FILES} ${WIN_VIDEO_SOURCES}) + +- if(RENDER_D3D AND HAVE_D3D_H) ++ if(RENDER_D3D AND HAVE_D3D_H AND NOT WINDOWS_STORE) + set(SDL_VIDEO_RENDER_D3D 1) + set(HAVE_RENDER_D3D TRUE) + endif() +@@ -1279,20 +1310,31 @@ elseif(WINDOWS) + endif() + + if(SDL_POWER) ++ if(WINDOWS_STORE) ++ set(SDL_POWER_WINRT 1) ++ set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/winrt/SDL_syspower.cpp) ++ else() + set(SDL_POWER_WINDOWS 1) + set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/windows/SDL_syspower.c) ++ endif() + set(HAVE_SDL_POWER TRUE) + endif() + + if(SDL_FILESYSTEM) + set(SDL_FILESYSTEM_WINDOWS 1) ++ if(WINDOWS_STORE) ++ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/winrt/*.cpp) ++ else() + file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/windows/*.c) ++ endif() + set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES}) + set(HAVE_SDL_FILESYSTEM TRUE) + endif() + + # Libraries for Win32 native and MinGW ++ if(NOT WINDOWS_STORE) + list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 shell32) ++ endif() + + # TODO: in configure.in the check for timers is set on + # cygwin | mingw32* - does this include mingw32CE? +@@ -1314,7 +1356,7 @@ elseif(WINDOWS) + set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) + + if(SDL_VIDEO) +- if(VIDEO_OPENGL) ++ if(VIDEO_OPENGL AND NOT WINDOWS_STORE) + set(SDL_VIDEO_OPENGL 1) + set(SDL_VIDEO_OPENGL_WGL 1) + set(SDL_VIDEO_RENDER_OGL 1) +@@ -1731,12 +1773,14 @@ endif() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") + + # Always build SDLmain ++if(NOT WINDOWS_STORE) + add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) + target_include_directories(SDL2main PUBLIC "$" $) + set(_INSTALL_LIBS "SDL2main") + if (NOT ANDROID) + set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) + endif() ++endif() + + if(SDL_SHARED) + add_library(SDL2 SHARED ${SOURCE_FILES} ${VERSION_SOURCES}) +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 @@ + #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@ ++#cmakedefine SDL_VIDEO_DRIVER_WINRT @SDL_VIDEO_DRIVER_WINRT@ + #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 @@ + #cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@ + #cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@ + #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@ ++#cmakedefine SDL_POWER_WINRT @SDL_POWER_WINRT@ + #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 @@ + #cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@ + + /* Platform specific definitions */ +-#if !defined(__WIN32__) ++#if !defined(__WIN32__) && !defined(__WINRT__) + # if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H) + typedef unsigned int size_t; + typedef signed char int8_t; diff --git a/ports/sdl2/fix-x86-windows.patch b/ports/sdl2/fix-x86-windows.patch new file mode 100644 index 0000000000..853b68722c --- /dev/null +++ b/ports/sdl2/fix-x86-windows.patch @@ -0,0 +1,15 @@ +diff --git a/src/events/SDL_mouse.c b/src/events/SDL_mouse.c +index ff23c5e..fc90bba 100644 +--- a/src/events/SDL_mouse.c ++++ b/src/events/SDL_mouse.c +@@ -20,6 +20,10 @@ + */ + #include "../SDL_internal.h" + ++#ifdef __WIN32__ ++#include "../core/windows/SDL_windows.h" ++#endif ++ + /* General mouse handling code for SDL */ + + #include "SDL_assert.h" diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake index 5d7ac5314d..4bcfa5a9af 100644 --- a/ports/sdl2/portfile.cmake +++ b/ports/sdl2/portfile.cmake @@ -3,16 +3,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO SDL-Mirror/SDL - REF release-2.0.8 - SHA512 5922dbeb14bb22991160251664b417d3f846867c18b5ecc1bd19c328ffd69b16252b7d45b9a317bafd1207fdb66d93a022dfb239e02447db9babd941956b6b37 + REF release-2.0.9 + SHA512 444c906c0baa720c86ca72d1b4cd66fdf6f516d5d2a9836169081a2997a5aebaaf9caa687ec060fa02292d79cfa4a62442333e00f90a0239edd1601529f6b056 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} PATCHES - ${CMAKE_CURRENT_LIST_DIR}/export-symbols-only-in-shared-build.patch - ${CMAKE_CURRENT_LIST_DIR}/enable-winrt-cmake.patch + export-symbols-only-in-shared-build.patch + fix-x86-windows.patch + enable-winrt-cmake.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC) @@ -75,5 +72,6 @@ if(NOT VCPKG_CMAKE_SYSTEM_NAME) endforeach() endif() -file(INSTALL ${SOURCE_PATH}/COPYING.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sdl2 RENAME copyright) +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) vcpkg_copy_pdbs() diff --git a/ports/sdl2/vcpkg-cmake-wrapper.cmake b/ports/sdl2/vcpkg-cmake-wrapper.cmake new file mode 100644 index 0000000000..c99178db1a --- /dev/null +++ b/ports/sdl2/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,8 @@ +_find_package(${ARGS}) +if(TARGET SDL2::SDL2 AND NOT TARGET SDL2::SDL2-static) + add_library( SDL2::SDL2-static INTERFACE IMPORTED) + set_target_properties(SDL2::SDL2-static PROPERTIES INTERFACE_LINK_LIBRARIES "SDL2::SDL2") +elseif(TARGET SDL2::SDL2-static AND NOT TARGET SDL2::SDL2) + add_library( SDL2::SDL2 INTERFACE IMPORTED) + set_target_properties(SDL2::SDL2 PROPERTIES INTERFACE_LINK_LIBRARIES "SDL2::SDL2-static") +endif() diff --git a/ports/snowhouse/CONTROL b/ports/snowhouse/CONTROL new file mode 100644 index 0000000000..b376f46391 --- /dev/null +++ b/ports/snowhouse/CONTROL @@ -0,0 +1,3 @@ +Source: snowhouse +Version: 3.0.1 +Description: An assertion library for C++ diff --git a/ports/snowhouse/portfile.cmake b/ports/snowhouse/portfile.cmake new file mode 100644 index 0000000000..229a6e5d5c --- /dev/null +++ b/ports/snowhouse/portfile.cmake @@ -0,0 +1,14 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO banditcpp/snowhouse + REF v3.0.1 + SHA512 b20a703e79a2821bdc43b2a235ed7634499f877f9e96bd0d39eb563ce5c94d4577449cc15dc850176a1b44eb55cf3425885cb4d46a92444a7aa3001ce5d0a3eb + HEAD_REF master +) + +file(COPY ${SOURCE_PATH}/snowhouse DESTINATION ${CURRENT_PACKAGES_DIR}/include/ FILES_MATCHING PATTERN *.h) + +file(COPY ${SOURCE_PATH}/LICENSE_1_0.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/snowhouse) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/snowhouse/LICENSE_1_0.txt ${CURRENT_PACKAGES_DIR}/share/snowhouse/copyright) \ No newline at end of file diff --git a/ports/so5extra/CONTROL b/ports/so5extra/CONTROL new file mode 100644 index 0000000000..41bed72c83 --- /dev/null +++ b/ports/so5extra/CONTROL @@ -0,0 +1,4 @@ +Source: so5extra +Version: 1.2.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 new file mode 100644 index 0000000000..3d21def42c --- /dev/null +++ b/ports/so5extra/portfile.cmake @@ -0,0 +1,28 @@ +include(vcpkg_common_functions) + +set(VERSION 1.2.1) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/so_5_extra-${VERSION}/dev/so_5_extra) + +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 84294839c800571e98e5599a16609c955296bb10ad90261c5600d3eb13fd1dfc08a7a895e89ad48b3547c9ebe28cd49c944158849a4f1d8e693d8d2259e94100 +) +vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DSO5EXTRA_INSTALL=ON +) + +vcpkg_install_cmake() + +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) diff --git a/ports/sobjectizer/CONTROL b/ports/sobjectizer/CONTROL index 094c14a299..ca08ad3a42 100644 --- a/ports/sobjectizer/CONTROL +++ b/ports/sobjectizer/CONTROL @@ -1,3 +1,3 @@ Source: sobjectizer -Version: 5.5.22.1 +Version: 5.5.23 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 3d6aa515c9..5ca178ef54 100644 --- a/ports/sobjectizer/portfile.cmake +++ b/ports/sobjectizer/portfile.cmake @@ -1,12 +1,12 @@ include(vcpkg_common_functions) -set(VERSION 5.5.22.1) +set(VERSION 5.5.23) set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/so-${VERSION}/dev) 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 400995d23fc7e53360e75ed6c001d678fabf7965bc90288679409068aeea026af99b194935d09dcd27410da8cb05ede08efd0b1fc5e3baa0402ea1d12ea331cd + SHA512 61c2b9e42d88eafef67b38a1b517af7cbda131835d8ae60c914bd89d21e84801278292064c7ad823c0b31a376b0db68f1ee4a7e87892c2f166c39e8068d86122 ) vcpkg_extract_source_archive(${ARCHIVE}) diff --git a/ports/sparsepp/CMakeLists.txt b/ports/sparsepp/CMakeLists.txt new file mode 100644 index 0000000000..36d304ce5b --- /dev/null +++ b/ports/sparsepp/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required (VERSION 3.9) +project (sparsepp) + +set(HEADERS + sparsepp/spp.h + sparsepp/spp_config.h + sparsepp/spp_dlalloc.h + sparsepp/spp_memory.h + sparsepp/spp_smartptr.h + sparsepp/spp_stdint.h + sparsepp/spp_timer.h + sparsepp/spp_traits.h + sparsepp/spp_utils.h + ) + +if(NOT DISABLE_INSTALL_HEADERS) + install(FILES ${HEADERS} DESTINATION include/sparsepp) +endif() diff --git a/ports/sparsepp/CONTROL b/ports/sparsepp/CONTROL new file mode 100644 index 0000000000..6606595e82 --- /dev/null +++ b/ports/sparsepp/CONTROL @@ -0,0 +1,3 @@ +Source: sparsepp +Version: 1.22 +Description: A fast, memory efficient hash map for C++ diff --git a/ports/sparsepp/portfile.cmake b/ports/sparsepp/portfile.cmake new file mode 100644 index 0000000000..01822ea160 --- /dev/null +++ b/ports/sparsepp/portfile.cmake @@ -0,0 +1,32 @@ + +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO greg7mdp/sparsepp + REF 1.22 + SHA512 b660cd7de48fcab50d4a0df4e4813226b0b0a8a3791aba4e4cc6a456af7bba0be6694bc44781a7d00b5582b32b1d85b9afa83095b7e5c0a26d1b0344ddc94b0f + HEAD_REF master +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON +) + +# Note: we could add: OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +# but it's an header only package, so there's no INSTALL target. So +# we remove the duplicate headers. + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug) + +vcpkg_copy_pdbs() + +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/sparsepp RENAME copyright) diff --git a/ports/sqlite3/CONTROL b/ports/sqlite3/CONTROL index 1b8de9b7c5..91ea02a14c 100644 --- a/ports/sqlite3/CONTROL +++ b/ports/sqlite3/CONTROL @@ -1,5 +1,5 @@ Source: sqlite3 -Version: 3.24.0-2 +Version: 3.25.2 Description: SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. Feature: tool diff --git a/ports/sqlite3/portfile.cmake b/ports/sqlite3/portfile.cmake index 423dda8c5d..b2422aecc8 100644 --- a/ports/sqlite3/portfile.cmake +++ b/ports/sqlite3/portfile.cmake @@ -1,14 +1,19 @@ include(vcpkg_common_functions) -set(SQLITE_VERSION 3240000) -set(SQLITE_HASH c7050bdd33c50b24e8c9fd2409b7bccbdcd8d6f064b435ee34b6c4a4de6283bce2500d4a3aa3821be2069804dff45a575ff331c97b39e02b227ef32e542ed6cb) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/sqlite-amalgamation-${SQLITE_VERSION}) +set(SQLITE_VERSION 3250200) +set(SQLITE_HASH f87b4ab405f85df85b5d63e9e28c4db76202dc2d5461e0d0c626fa7521570d89a1122403c037704859ecb58ac1747ebf4b3c8a2f3a3c3d8492e8060df92e379f) vcpkg_download_distfile(ARCHIVE URLS "https://sqlite.org/2018/sqlite-amalgamation-${SQLITE_VERSION}.zip" FILENAME "sqlite-amalgamation-${SQLITE_VERSION}.zip" - SHA512 ${SQLITE_HASH}) -vcpkg_extract_source_archive(${ARCHIVE}) + SHA512 ${SQLITE_HASH} +) + +vcpkg_extract_source_archive_ex( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE ${ARCHIVE} + REF ${SQLITE_VERSION} +) file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) diff --git a/ports/stlab/CONTROL b/ports/stlab/CONTROL new file mode 100644 index 0000000000..c1a752a5ee --- /dev/null +++ b/ports/stlab/CONTROL @@ -0,0 +1,5 @@ +Source: stlab +Version: 1.3.3 +Description: + stlab is the ongoing work of what was Adobe’s 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. \ No newline at end of file diff --git a/ports/stlab/portfile.cmake b/ports/stlab/portfile.cmake new file mode 100644 index 0000000000..a2bd71e562 --- /dev/null +++ b/ports/stlab/portfile.cmake @@ -0,0 +1,24 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO stlab/libraries + REF v1.3.3 + SHA512 2c0eec5638b40f8285cc3b0d756df619b53ba44421c47713aaf45196100765a31a6aea3c5bedba4fcc44494b74e3f0a919271601e717e7f274fe15beb93f8889 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + -DBUILD_TESTING=OFF +) + +vcpkg_install_cmake() + +# 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 diff --git a/ports/tesseract/CONTROL b/ports/tesseract/CONTROL index 1c6121c1af..282282214d 100644 --- a/ports/tesseract/CONTROL +++ b/ports/tesseract/CONTROL @@ -1,4 +1,4 @@ Source: tesseract -Version: 3.05.02 +Version: 4.0.0 Description: An OCR Engine that was developed at HP Labs between 1985 and 1995... and now at Google. Build-Depends: leptonica, icu diff --git a/ports/tesseract/portfile.cmake b/ports/tesseract/portfile.cmake index 24e27283c2..fd66756b15 100644 --- a/ports/tesseract/portfile.cmake +++ b/ports/tesseract/portfile.cmake @@ -8,8 +8,8 @@ endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO tesseract-ocr/tesseract - REF 3.05.02 - SHA512 4cb23a6981dd5ec9eefea7b9674847ae88a411a7308ee6d946a920c76eefcf5fe7a90f6cb3ff00493a0e69b5c327d052fa8514d7f3ed506bccbe4b0163065793 + REF 4.0.0 + SHA512 69e57d4ba1fc43d212fd0fff69a2b5d48a3b37cfee7054fdc083cbb7e04d92317609a32e457229661d70ce8d9b16c9d25e81bfc3861db660dd2c8f292202d447 HEAD_REF master ) diff --git a/ports/thrift/CONTROL b/ports/thrift/CONTROL index f01ffbbafe..d52f25eba8 100644 --- a/ports/thrift/CONTROL +++ b/ports/thrift/CONTROL @@ -1,4 +1,4 @@ Source: thrift -Version: 2018-10-25 +Version: 2018-11-01 Build-Depends: zlib, libevent, openssl, boost-range, boost-smart-ptr, boost-date-time, boost-locale, boost-scope-exit Description: Apache Thrift is a software project spanning a variety of programming languages and use cases. Our goal is to make reliable, performant communication and data serialization across languages as efficient and seamless as possible. Originally developed at Facebook, Thrift was open sourced in April 2007 and entered the Apache Incubator in May, 2008. Thrift became an Apache TLP in October, 2010. diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index a69291ee44..9fb495c84d 100644 --- a/ports/thrift/portfile.cmake +++ b/ports/thrift/portfile.cmake @@ -15,8 +15,8 @@ vcpkg_find_acquire_program(BISON) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO apache/thrift - REF cd829a0b9a5c66203b63350fa029589669ec43f6 - SHA512 e8a9879c580f0a1450a023945555a2f8e042c11f04085ea1700fa7a4e8f4b2ac53a461530cf4106803472c040d3742c2c31173366a28571aa273f093c8d4bc39 + REF 92be4f312b88eac0a4ac450eda29fd20de11b1f0 + SHA512 0c1c7eb30fc63efa483cd9970305b5285c7d6f57151a9e0f602ff757b05cede3adb13688c5d1436c05ffd4bd142ca7676db8e35cbf4d38e9112033f6a2e77ff4 HEAD_REF master ) diff --git a/ports/tiff/CONTROL b/ports/tiff/CONTROL index cb40597b41..8664377373 100644 --- a/ports/tiff/CONTROL +++ b/ports/tiff/CONTROL @@ -1,4 +1,4 @@ Source: tiff -Version: 4.0.9-6 +Version: 4.0.10 Build-Depends: zlib, libjpeg-turbo, liblzma (!uwp) Description: A library that supports the manipulation of TIFF image files diff --git a/ports/tiff/portfile.cmake b/ports/tiff/portfile.cmake index 7062c1ce1e..13d8ac7bc1 100644 --- a/ports/tiff/portfile.cmake +++ b/ports/tiff/portfile.cmake @@ -1,11 +1,11 @@ include(vcpkg_common_functions) -set(LIBTIFF_VERSION 4.0.9) +set(LIBTIFF_VERSION 4.0.10) vcpkg_download_distfile(ARCHIVE URLS "http://download.osgeo.org/libtiff/tiff-${LIBTIFF_VERSION}.tar.gz" FILENAME "tiff-${LIBTIFF_VERSION}.tar.gz" - SHA512 04f3d5eefccf9c1a0393659fe27f3dddd31108c401ba0dc587bca152a1c1f6bc844ba41622ff5572da8cc278593eff8c402b44e7af0a0090e91d326c2d79f6cd + SHA512 d213e5db09fd56b8977b187c5a756f60d6e3e998be172550c2892dbdb4b2a8e8c750202bc863fe27d0d1c577ab9de1710d15e9f6ed665aadbfd857525a81eea8 ) vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH diff --git a/ports/tinyexif/CONTROL b/ports/tinyexif/CONTROL index 9c984a507c..ce7162ae91 100644 --- a/ports/tinyexif/CONTROL +++ b/ports/tinyexif/CONTROL @@ -1,4 +1,4 @@ Source: tinyexif -Version: 1.0.1-1 +Version: 1.0.1-2 Build-Depends: tinyxml2 Description: tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG images diff --git a/ports/tinyexif/namespace_tinyxml2.patch b/ports/tinyexif/namespace_tinyxml2.patch new file mode 100644 index 0000000000..d27c99c680 --- /dev/null +++ b/ports/tinyexif/namespace_tinyxml2.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f22584b..1ba8329 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -84,7 +84,7 @@ if(BUILD_SHARED_LIBS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251") # needs to have dll-interface + endif() + +- target_link_libraries(TinyEXIF tinyxml2) ++ target_link_libraries(TinyEXIF tinyxml2::tinyxml2) + set_target_properties(TinyEXIF PROPERTIES + COMPILE_DEFINITIONS "TINYEXIF_EXPORT" + VERSION "${GENERIC_LIB_VERSION}" +@@ -121,7 +121,7 @@ endif() + if(BUILD_STATIC_LIBS) + add_library(TinyEXIFstatic STATIC TinyEXIF.cpp TinyEXIF.h) + +- target_link_libraries(TinyEXIFstatic tinyxml2) ++ target_link_libraries(TinyEXIFstatic tinyxml2::tinyxml2) + set_target_properties(TinyEXIFstatic PROPERTIES + OUTPUT_NAME TinyEXIF + VERSION "${GENERIC_LIB_VERSION}" +@@ -162,7 +162,7 @@ if(BUILD_DEMO) + target_compile_definitions(TinyEXIFdemo PRIVATE TINYEXIF_IMPORT) + else(BUILD_STATIC_LIBS) + add_dependencies(TinyEXIFdemo TinyEXIFstatic) +- target_link_libraries(TinyEXIFdemo TinyEXIFstatic tinyxml2) ++ target_link_libraries(TinyEXIFdemo TinyEXIFstatic tinyxml2::tinyxml2) + endif() + endif() + diff --git a/ports/tinyexif/portfile.cmake b/ports/tinyexif/portfile.cmake index 4ee127d4aa..716415453b 100644 --- a/ports/tinyexif/portfile.cmake +++ b/ports/tinyexif/portfile.cmake @@ -6,6 +6,8 @@ vcpkg_from_github( REF 1.0.1 SHA512 d018d882adbcebf9fa8ad67a78304a1dd21ffd3a01e3cf2d269fa34efedc5ec5f293767f3a21d62cb1bb9b88b2c364977a9125e9b88b2eac7866a8d6b27c2f23 HEAD_REF master + PATCHES + namespace_tinyxml2.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS) diff --git a/ports/tinyxml2/CONTROL b/ports/tinyxml2/CONTROL index 185fa749c8..5c4fb87a25 100644 --- a/ports/tinyxml2/CONTROL +++ b/ports/tinyxml2/CONTROL @@ -1,3 +1,3 @@ Source: tinyxml2 -Version: 6.2.0 +Version: 7.0.1 Description: A simple, small, efficient, C++ XML parser diff --git a/ports/tinyxml2/portfile.cmake b/ports/tinyxml2/portfile.cmake index 8a28b424b1..d1e7d4ce64 100644 --- a/ports/tinyxml2/portfile.cmake +++ b/ports/tinyxml2/portfile.cmake @@ -3,21 +3,13 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO leethomason/tinyxml2 - REF 6.2.0 - SHA512 ef784240aeb090ab04aad659352ad4b224c431feecf485f33aca7936bcaa0ef4ab9d0a2e0692d3cf6036ac3e8012019d65665e780a920bbad3d4820f736445b1 + REF 7.0.1 + SHA512 623cd7eff542d20b434a67111ac98110101c95a18767318bf906e5e56d8cc25622269f740f50477fe907a4c52d875b614cb6167f4760d42ab18dc55b9d4bf380 HEAD_REF master ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL static) - set(BUILD_STATIC_LIBS 1) -else() - set(BUILD_STATIC_LIBS 0) -endif() - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} - OPTIONS - -DBUILD_STATIC_LIBS=${BUILD_STATIC_LIBS} ) vcpkg_install_cmake() @@ -31,7 +23,6 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) file(COPY ${SOURCE_PATH}/readme.md - ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/tinyxml2 ) file(RENAME ${CURRENT_PACKAGES_DIR}/share/tinyxml2/readme.md ${CURRENT_PACKAGES_DIR}/share/tinyxml2/copyright) diff --git a/ports/tinyxml2/vcpkg-cmake-wrapper.cmake b/ports/tinyxml2/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 867426f1e3..0000000000 --- a/ports/tinyxml2/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,5 +0,0 @@ -_find_package(${ARGS}) -if(TARGET tinyxml2_static AND NOT TARGET tinyxml2) - _add_library(tinyxml2 INTERFACE IMPORTED) - set_target_properties(tinyxml2 PROPERTIES INTERFACE_LINK_LIBRARIES "tinyxml2_static") -endif() diff --git a/ports/tl-optional/CONTROL b/ports/tl-optional/CONTROL new file mode 100644 index 0000000000..3be044dbe4 --- /dev/null +++ b/ports/tl-optional/CONTROL @@ -0,0 +1,3 @@ +Source: tl-optional +Version: 0.5-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 new file mode 100644 index 0000000000..b6d98b9e07 --- /dev/null +++ b/ports/tl-optional/portfile.cmake @@ -0,0 +1,15 @@ +include(vcpkg_common_functions) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO TartanLlama/optional + REF v0.5 + SHA512 f4f72c1ba431737fb7b1b6468b7dbbb025f299775e0a3401993490a60d5999d31ccf1e48c0cd57836293a5534ea4749b9f1c8f65f896144204af3389a5e512f9 + HEAD_REF master +) + +# Install header file +file(INSTALL ${SOURCE_PATH}/tl DESTINATION ${CURRENT_PACKAGES_DIR}/include) + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/tl-optional RENAME copyright) diff --git a/ports/usrsctp/CONTROL b/ports/usrsctp/CONTROL index 5e5f172bac..4269947326 100644 --- a/ports/usrsctp/CONTROL +++ b/ports/usrsctp/CONTROL @@ -1,3 +1,3 @@ Source: usrsctp -Version: 35c1d97020a +Version: 35c1d97020a-2 Description: This is a userland SCTP stack supporting FreeBSD, Linux, Mac OS X and Windows. diff --git a/ports/usrsctp/portfile.cmake b/ports/usrsctp/portfile.cmake index 863b3f75cc..416cdc6c33 100644 --- a/ports/usrsctp/portfile.cmake +++ b/ports/usrsctp/portfile.cmake @@ -1,7 +1,7 @@ include(vcpkg_common_functions) -vcpkg_check_linkage( - ONLY_STATIC_LIBRARY -) + +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO sctplab/usrsctp @@ -10,27 +10,20 @@ vcpkg_from_github( HEAD_REF master ) - vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS -Dsctp_werror=OFF -Dsctp_build_programs=OFF ) - vcpkg_install_cmake() + +file(REMOVE_RECURSE + ${CURRENT_PACKAGES_DIR}/debug/include + ${CURRENT_PACKAGES_DIR}/debug/lib/usrsctp.dll + ${CURRENT_PACKAGES_DIR}/lib/usrsctp.dll +) + +configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/usrsctp/copyright COPYONLY) + vcpkg_copy_pdbs() - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -file(GLOB_RECURSE release_dlls ${CURRENT_PACKAGES_DIR}/lib/*.dll) -file(GLOB_RECURSE debug_dlls ${CURRENT_PACKAGES_DIR}/debug/lib/*.dll) - -if(release_dlls) - file(REMOVE ${release_dlls}) -endif() -if(debug_dlls) - file(REMOVE ${debug_dlls}) -endif() - - -file(INSTALL ${SOURCE_PATH}/LICENSE.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/usrsctp RENAME copyright) diff --git a/ports/vtk/CONTROL b/ports/vtk/CONTROL index e75795e74c..d06f163314 100644 --- a/ports/vtk/CONTROL +++ b/ports/vtk/CONTROL @@ -1,5 +1,5 @@ Source: vtk -Version: 8.1.0-2 +Version: 8.1.0-3 Description: Software system for 3D computer graphics, image processing, and visualization Build-Depends: zlib, libpng, tiff, libxml2, jsoncpp, glew, freetype, expat, hdf5, libjpeg-turbo, proj4, lz4, libtheora diff --git a/ports/vtk/fix-find-lz4.patch b/ports/vtk/fix-find-lz4.patch new file mode 100644 index 0000000000..7389a24f43 --- /dev/null +++ b/ports/vtk/fix-find-lz4.patch @@ -0,0 +1,20 @@ +diff --git a/CMake/FindLZ4.cmake b/CMake/FindLZ4.cmake +index 07343e1f79..b43a9af2c7 100644 +--- a/CMake/FindLZ4.cmake ++++ b/CMake/FindLZ4.cmake +@@ -1,7 +1,13 @@ +- +-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_path(LZ4_INCLUDE_DIRS NAMES lz4.h) + ++if(NOT LZ4_LIBRARY_DEBUG) ++ set(LZ4_LIBRARY_DEBUG ${LZ4_LIBRARY}) ++endif(NOT LZ4_LIBRARY_DEBUG) ++ ++set(LZ4_LIBRARIES optimized ${LZ4_LIBRARY} debug ${LZ4_LIBRARY_DEBUG}) ++ + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(LZ4 + DEFAULT_MSG diff --git a/ports/vtk/portfile.cmake b/ports/vtk/portfile.cmake index c547929cea..edb245eb0f 100644 --- a/ports/vtk/portfile.cmake +++ b/ports/vtk/portfile.cmake @@ -67,6 +67,7 @@ vcpkg_from_github( fix-find-libharu.patch fix-find-mysql.patch fix-find-odbc.patch + fix-find-lz4.patch ) # Remove the FindGLEW.cmake and FindPythonLibs.cmake that are distributed with VTK, diff --git a/ports/vulkan/CONTROL b/ports/vulkan/CONTROL new file mode 100644 index 0000000000..77f99641d7 --- /dev/null +++ b/ports/vulkan/CONTROL @@ -0,0 +1,3 @@ +Source: vulkan +Version: 1.1.82.1 +Description: A graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs on a wide variety of devices. \ No newline at end of file diff --git a/ports/vulkan/portfile.cmake b/ports/vulkan/portfile.cmake new file mode 100644 index 0000000000..31eb802b43 --- /dev/null +++ b/ports/vulkan/portfile.cmake @@ -0,0 +1,37 @@ +# Due to the complexity involved, this package doesn't install the Vulkan SDK. +# It instead verifies that Vulkan is installed. +# Other packages can depend on this package to declare a dependency on Vulkan. +include(vcpkg_common_functions) + +message(STATUS "Querying VULKAN_SDK Enviroment variable") +file(TO_CMAKE_PATH "$ENV{VULKAN_SDK}" VULKAN_DIR) +set(VULKAN_INCLUDE "${VULKAN_DIR}/Include/vulkan/") +set(VULKAN_ERROR_DL "Before continuing, please download and install Vulkan from:\n https://vulkan.lunarg.com/sdk/home\n") + +if(NOT DEFINED ENV{VULKAN_SDK}) + message(FATAL_ERROR "Could not find Vulkan SDK. ${VULKAN_ERROR_DL}") +endif() + +message(STATUS "Searching " ${VULKAN_INCLUDE} " for vulkan.h") +if(NOT EXISTS "${VULKAN_INCLUDE}/vulkan.h") + message(FATAL_ERROR "Could not find vulkan.h. ${VULKAN_ERROR_DL}") +endif() +message(STATUS "Found vulkan.h") + +# Check if the user left the version in the installation directory e.g. c:/vulkanSDK/1.1.82.1/ +if(VULKAN_DIR MATCHES "(([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+))") + set(VULKAN_VERSION "${CMAKE_MATCH_1}") + set(VULKAN_MAJOR "${CMAKE_MATCH_2}") + set(VULKAN_MINOR "${CMAKE_MATCH_3}") + set(VULKAN_PATCH "${CMAKE_MATCH_4}") + message(STATUS "Found Vulkan SDK version ${VULKAN_VERSION}") + + set(VULKAN_REQUIRED_VERSION "1.1.82.1") + if (VULKAN_MAJOR LESS 1 OR VULKAN_MINOR LESS 1 OR VULKAN_PATCH LESS 82) + message(FATAL_ERROR "Vulkan ${VULKAN_VERSION} but ${VULKAN_REQUIRED_VERSION} is required. Please download and install a more recent version from:" + "\n https://vulkan.lunarg.com/sdk/home\n") + endif() +endif() + +configure_file(${VULKAN_DIR}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/vulkan/copyright COPYONLY) +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) \ No newline at end of file diff --git a/ports/vxl/CONTROL b/ports/vxl/CONTROL index 52d725f456..d9340d9f3d 100644 --- a/ports/vxl/CONTROL +++ b/ports/vxl/CONTROL @@ -1,4 +1,5 @@ Source: vxl -Version: 20180414-7a130cf-1 -Build-Depends: zlib, tiff, expat, libpng, bzip2, libjpeg-turbo, shapelib, libgeotiff +Version: v1.18.0-2 +Build-Depends: bzip2, libgeotiff, libjpeg-turbo, libpng, tiff, zlib, expat, shapelib +# Build-Depends: bzip2, dcmtk, libgeotiff, libjpeg-turbo, openjpeg, libpng, tiff, zlib Description: A multi-platform collection of C++ software libraries for Computer Vision and Image Understanding. diff --git a/ports/vxl/portfile.cmake b/ports/vxl/portfile.cmake index 7e27591e58..75d89ee2d9 100644 --- a/ports/vxl/portfile.cmake +++ b/ports/vxl/portfile.cmake @@ -1,29 +1,42 @@ include(vcpkg_common_functions) +if(EXISTS "${CURRENT_INSTALLED_DIR}/include/openjpeg.h") + message(FATAL_ERROR "Can't build VXL with non built-in OpenJpeg in current version. Please remove OpenJpeg, and try install VXL again.") +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO vxl/vxl - REF 7a130cf05e907a6500e3e717297082c46e77f524 - SHA512 b9f7e48e37b44469031c6de1bf2a3d0aa0ecf4d3c2f4dd0d1a84c273ca8a778b48f3caf7ec6ef0f2dea1dc534ebfdb6b2cde47a56d81aa4f0685114c0bda157c + REF v1.18.0 + SHA512 6666d647b2e7010b91cb0b05016b5f49ae46d198f6bd160fe13fc09bc674eff5b937331fa11d81a8496473968b63452d950eee4fc2512152af57304a14bed63f HEAD_REF master ) +set(USE_WIN_WCHAR_T OFF) +if(NOT VCPKG_CMAKE_SYSTEM_NAME OR VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + set(USE_WIN_WCHAR_T ON) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA OPTIONS - -DVXL_USING_NATIVE_ZLIB=ON - -DVXL_USING_NATIVE_BZLIB2=ON - -DVXL_USING_NATIVE_JPEG=ON - -DVXL_USING_NATIVE_TIFF=ON - -DVXL_USING_NATIVE_EXPAT=ON - -DVXL_USING_NATIVE_PNG=ON - -DVXL_USING_NATIVE_SHAPELIB=ON - -DVXL_USING_NATIVE_GEOTIFF=ON - -DVXL_FORCE_V3P_OPENJPEG2=ON - -DVXL_FORCE_V3P_J2K=ON - -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF + -DBUILD_TESTING=OFF + -DVXL_FORCE_V3P_BZLIB2=OFF + -DVXL_USING_NATIVE_BZLIB2=TRUE # for disable build built-in bzip2 (v3p/bzlib/CMakeLists.txt#L10-L26) + -DVXL_FORCE_V3P_CLIPPER=ON # TODO : need add clipper port to turn off + -DVXL_FORCE_V3P_DCMTK=OFF + -DVXL_FORCE_V3P_GEOTIFF=OFF + -DVXL_FORCE_V3P_J2K=OFF + -DVXL_FORCE_V3P_JPEG=OFF + -DVXL_FORCE_V3P_OPENJPEG2=ON # TODO : need fix compile error when using openjpeg port to turn off + -DVXL_FORCE_V3P_PNG=OFF + -DVXL_FORCE_V3P_TIFF=OFF + -DVXL_FORCE_V3P_ZLIB=OFF + -DVXL_USE_DCMTK=OFF # TODO : need fix dcmtk support to turn on + -DXVL_USE_GEOTIFF=ON + -DVXL_USE_WIN_WCHAR_T=${USE_WIN_WCHAR_T} ) vcpkg_install_cmake() diff --git a/ports/wangle/CONTROL b/ports/wangle/CONTROL index 566d6acbf8..b7d4dcd17c 100644 --- a/ports/wangle/CONTROL +++ b/ports/wangle/CONTROL @@ -1,4 +1,4 @@ Source: wangle -Version: 2018.10.22.00 +Version: 2018.11.05.00 Build-Depends: fizz, folly, openssl, gtest, glog, libevent, double-conversion 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/portfile.cmake b/ports/wangle/portfile.cmake index 2e3daf7957..5f17212c9f 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 v2018.10.22.00 - SHA512 cfaf783362989c67dad54d6bd15c3b2f710fd1c1e858cf549367033a50718b69f78fc58001e6202bf8cc84fbb0e9752c433a03dd2d91800bfe2645c7b5519fca + REF v2018.11.05.00 + SHA512 287fd19e352f04666d2d925eb6322aa5b74b1b8808142d37c1089b34df650bc56f0489ff4746b1ddfbec7544d99df71f9583d47ef5abef600e9bc5d434dceab6 HEAD_REF master PATCHES build.patch diff --git a/ports/wxwidgets/CONTROL b/ports/wxwidgets/CONTROL index 48ceab120c..af985fa674 100644 --- a/ports/wxwidgets/CONTROL +++ b/ports/wxwidgets/CONTROL @@ -1,4 +1,4 @@ Source: wxwidgets -Version: 3.1.1 +Version: 3.1.1-2 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 e18b8a6baa..0622389461 100644 --- a/ports/wxwidgets/portfile.cmake +++ b/ports/wxwidgets/portfile.cmake @@ -5,11 +5,7 @@ vcpkg_from_github( REF v3.1.1 SHA512 f6d8974e2f48bae7e96a8938df3ad5efc403036c1dcbe2b48edd276ee7923802ba3e95e3f3bd9db17985e427b8e4f78950df0cbba83ae99d508ed04633816c95 HEAD_REF master -) - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES "${CMAKE_CURRENT_LIST_DIR}/disable-platform-lib-dir.patch" + PATCHES disable-platform-lib-dir.patch ) vcpkg_configure_cmake( @@ -48,4 +44,11 @@ endif() # Handle copyright file(COPY ${SOURCE_PATH}/docs/licence.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wxwidgets) file(RENAME ${CURRENT_PACKAGES_DIR}/share/wxwidgets/licence.txt ${CURRENT_PACKAGES_DIR}/share/wxwidgets/copyright) + +if(EXISTS ${CURRENT_PACKAGES_DIR}/lib/mswu/wx/setup.h) + file(RENAME ${CURRENT_PACKAGES_DIR}/lib/mswu/wx/setup.h ${CURRENT_PACKAGES_DIR}/include/wx/setup.h) +endif() +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/lib/mswu) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/lib/mswud) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/msvc) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) diff --git a/ports/xalan-c/CONTROL b/ports/xalan-c/CONTROL index aa2345462b..eb882eb386 100644 --- a/ports/xalan-c/CONTROL +++ b/ports/xalan-c/CONTROL @@ -1,4 +1,4 @@ Source: xalan-c -Version: 1.11-4 +Version: 1.11-5 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/portfile.cmake b/ports/xalan-c/portfile.cmake index 4c035260a4..e5a9a66548 100644 --- a/ports/xalan-c/portfile.cmake +++ b/ports/xalan-c/portfile.cmake @@ -10,6 +10,18 @@ vcpkg_download_distfile(ARCHIVE 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( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} @@ -22,6 +34,8 @@ vcpkg_extract_source_archive_ex( 0005-fix-ftbfs-ld-as-needed.patch 0006-fix-testxslt-segfault.patch 0007-fix-readme-typos.patch + ${XALAN_PATCH8} + ${XALAN_PATCH9} ) if (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") diff --git a/ports/xerces-c/CONTROL b/ports/xerces-c/CONTROL index 3ba79b1e8f..c5958f4a1d 100644 --- a/ports/xerces-c/CONTROL +++ b/ports/xerces-c/CONTROL @@ -1,3 +1,7 @@ Source: xerces-c -Version: 3.2.2-4 +Version: 3.2.2-6 Description: Xerces-C++ is a XML parser, for parsing, generating, manipulating, and validating XML documents using the DOM, SAX, and SAX2 APIs. + +Feature: icu +Description: ICU support +Build-Depends: icu diff --git a/ports/xerces-c/disable-tests.patch b/ports/xerces-c/disable-tests.patch new file mode 100644 index 0000000000..843b022d73 --- /dev/null +++ b/ports/xerces-c/disable-tests.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4254f89..aa08565 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -175,10 +175,16 @@ install( + COMPONENT "development") + + # Process subdirectories ++if(NOT DISABLE_DOC) + add_subdirectory(doc) ++endif() + add_subdirectory(src) ++if(NOT DISABLE_TESTS) + add_subdirectory(tests) ++endif() ++if(NOT DISABLE_SAMPLES) + add_subdirectory(samples) ++endif() + + # Display configuration summary + message(STATUS "") diff --git a/ports/xerces-c/portfile.cmake b/ports/xerces-c/portfile.cmake index 0976bbbd34..80e56b0f6f 100644 --- a/ports/xerces-c/portfile.cmake +++ b/ports/xerces-c/portfile.cmake @@ -6,11 +6,22 @@ vcpkg_from_github( REF Xerces-C_3_2_2 SHA512 66f60fe9194376ac0ca99d13ea5bce23ada86e0261dde30686c21ceb5499e754dab8eb0a98adadd83522bda62709377715501f6dac49763e3a686f9171cc63ea HEAD_REF trunk + PATCHES disable-tests.patch ) +set(DISABLE_ICU ON) +if("icu" IN_LIST FEATURES) + set(DISABLE_ICU OFF) +endif() + vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} PREFER_NINJA + OPTIONS + -DDISABLE_TESTS=ON + -DDISABLE_DOC=ON + -DDISABLE_SAMPLES=ON + -DCMAKE_DISABLE_FIND_PACKAGE_ICU=${DISABLE_ICU} ) vcpkg_install_cmake() @@ -21,16 +32,6 @@ else() vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/XercesC TARGET_PATH share/xercesc) endif() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -else() - file(GLOB release_exe "${CURRENT_PACKAGES_DIR}/bin/*.exe") - file(GLOB debug_exe "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe") - if(release_exe OR debug_exe) - file(REMOVE ${release_exe} ${debug_exe}) - endif() -endif() - file(READ ${CURRENT_PACKAGES_DIR}/share/xercesc/XercesCConfigInternal.cmake _contents) string(REPLACE "get_filename_component(_IMPORT_PREFIX \"\${_IMPORT_PREFIX}\" PATH)" diff --git a/ports/xmsh/CONTROL b/ports/xmsh/CONTROL new file mode 100644 index 0000000000..7f53c582ca --- /dev/null +++ b/ports/xmsh/CONTROL @@ -0,0 +1,4 @@ +Source: xmsh +Version: 0.4.1 +Description: Reference Implementation of XMSH Library +Build-Depends: tl-expected diff --git a/ports/xmsh/portfile.cmake b/ports/xmsh/portfile.cmake new file mode 100644 index 0000000000..51897e6bd7 --- /dev/null +++ b/ports/xmsh/portfile.cmake @@ -0,0 +1,29 @@ +include(vcpkg_common_functions) + +vcpkg_find_acquire_program(PYTHON3) + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO nagzira/xmsh + REF v0.4.1 + SHA512 7bd9fe9e565b33722fec37a7e3d9bd8b7b132692add5d26e31954367fb284b49a26a21532ddcb0e425af7f8208e755f21f2d8de81b33ed2a1149724f4ccd2c38 + HEAD_REF master +) + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS + -DPYTHON3_EXECUTABLE=${PYTHON3} +) + +vcpkg_install_cmake() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +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/zeromq/CONTROL b/ports/zeromq/CONTROL index a4a6dd37db..84b0ad93c5 100644 --- a/ports/zeromq/CONTROL +++ b/ports/zeromq/CONTROL @@ -1,3 +1,3 @@ Source: zeromq -Version: 2018-10-11 +Version: 2018-11-01 Description: The ZeroMQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products diff --git a/ports/zeromq/portfile.cmake b/ports/zeromq/portfile.cmake index b19d2821aa..ebff91236e 100644 --- a/ports/zeromq/portfile.cmake +++ b/ports/zeromq/portfile.cmake @@ -3,8 +3,8 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO zeromq/libzmq - REF cfc9d5f5198e611d8d3ad4482d57cf6bb5b6bf59 - SHA512 1917bb9838798d6d977171cc03477ac909cbcf999527a0019efac9a31176f5becba5eef269569777121288dbd2d601c0c579e83cfe1cb1aa6eb093f74adcc955 + REF efc9a3021fb61ca92b9869f0ad8308d29a3ebfa3 + SHA512 04c2d94c497a0398243c1fc8c5e1bdcc3a9da873ccf688a9345db334d12e562c8131e7976fa2123fb8f760cc450bd0cfe33a486d1f31880b7d69379e10be7caa HEAD_REF master ) diff --git a/ports/zstd/CONTROL b/ports/zstd/CONTROL index 406d671768..985c24b0cf 100644 --- a/ports/zstd/CONTROL +++ b/ports/zstd/CONTROL @@ -1,3 +1,3 @@ Source: zstd -Version: 1.3.4 +Version: 1.3.7-1 Description: Zstandard - Fast real-time compression algorithm http://www.zstd.net diff --git a/ports/zstd/enable-debug-mode.patch b/ports/zstd/enable-debug-mode.patch new file mode 100644 index 0000000000..a3e8290322 --- /dev/null +++ b/ports/zstd/enable-debug-mode.patch @@ -0,0 +1,13 @@ +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 44a980db4e..dfbb2e3f28 100644 --- a/ports/zstd/portfile.cmake +++ b/ports/zstd/portfile.cmake @@ -2,9 +2,11 @@ include(vcpkg_common_functions) vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO facebook/zstd - REF v1.3.4 - SHA512 d3c8c1dfabd251b03205b64eff97898c1e2ca457191b1f6257450e6d2675451a68aa0bc2220b2c65baa69a6997d98490612779d95b3325320c0a3202810ae554 - HEAD_REF dev) + REF v1.3.7 + SHA512 b7a432b13e237ac1490cd82b87727f6a4385d5ea7b89f566dea61a3993e17909c03288f727326ada326e36eb47ea5f9eab67c097808ee42f52cc800a7f7e1738 + HEAD_REF dev + PATCHES enable-debug-mode.patch +) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") set(ZSTD_STATIC 1) diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index ed82a6ab15..42eabd01b2 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -160,6 +160,16 @@ function findAnyMSBuildWithCppPlatformToolset([string]$withVSPath) } $majorVersion = $version.Substring(0,2); + if ($majorVersion -eq "16") + { + $VCFolder= "$path\VC\Tools\MSVC\" + if (Test-Path $VCFolder) + { + Write-Verbose "Picking: $instanceCandidate" + return "$path\MSBuild\Current\Bin\MSBuild.exe", "v141" + } + } + if ($majorVersion -eq "15") { $VCFolder= "$path\VC\Tools\MSVC\" diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index 4781833727..4bb4286683 100644 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -1,12 +1,23 @@ #!/bin/sh vcpkgDisableMetrics="OFF" +vcpkgUseSystem=false for var in "$@" do - if [ "$var" = "-disableMetrics" ]; then + if [ "$var" = "-disableMetrics" -o "$var" = "--disableMetrics" ]; then vcpkgDisableMetrics="ON" + elif [ "$var" = "-useSystemBinaries" -o "$var" = "--useSystemBinaries" ]; then + vcpkgUseSystem=true + elif [ "$var" = "-help" -o "$var" = "--help" ]; then + echo "Usage: ./bootstrap-vcpkg.sh [options]" + echo + echo "Options:" + echo " -help Display usage help" + echo " -disableMetrics Do not build metrics reporting into the executable" + echo " -useSystemBinaries Force use of the system utilities for building vcpkg" + exit 1 else - echo "Unknown argument $var" + echo "Unknown argument $var. Use '-help' for help." exit 1 fi done @@ -17,7 +28,16 @@ while [ "$vcpkgRootDir" != "/" ] && ! [ -e "$vcpkgRootDir/.vcpkg-root" ]; do vcpkgRootDir="$(dirname "$vcpkgRootDir")" done -downloadsDir="$vcpkgRootDir/downloads" +if [ -z ${VCPKG_DOWNLOADS+x} ]; then + downloadsDir="$vcpkgRootDir/downloads" +else + downloadsDir="$VCPKG_DOWNLOADS" + if [ ! -d "$VCPKG_DOWNLOADS" ]; then + echo "VCPKG_DOWNLOADS was set to '$VCPKG_DOWNLOADS', but that was not a directory." + exit 1 + fi + +fi extractStringBetweenDelimiters() { @@ -181,9 +201,14 @@ selectCXX() gccversion="$(extractStringBetweenDelimiters "$gccversion" "gcc version " ".")" if [ "$gccversion" -lt "6" ]; then echo "CXX ($CXX) is too old; please install a newer compiler such as g++-7." - echo "sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y" - echo "sudo apt-get update -y" - echo "sudo apt-get install g++-7 -y" + echo "On Ubuntu try the following:" + echo " sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y" + echo " sudo apt-get update -y" + echo " sudo apt-get install g++-7 -y" + echo "On CentOS try the following:" + echo " sudo yum install centos-release-scl" + echo " sudo yum install devtoolset-7" + echo " scl enable devtoolset-7 bash" return 1 fi @@ -192,8 +217,14 @@ selectCXX() # Preparation UNAME="$(uname)" -fetchTool "cmake" "$UNAME" cmakeExe || exit 1 -fetchTool "ninja" "$UNAME" ninjaExe || exit 1 + +if $vcpkgUseSystem; then + cmakeExe="cmake" + ninjaExe="ninja" +else + fetchTool "cmake" "$UNAME" cmakeExe || exit 1 + fetchTool "ninja" "$UNAME" ninjaExe || exit 1 +fi selectCXX CXX || exit 1 # Do the build diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets index 456783f4d3..8807befd82 100644 --- a/scripts/buildsystems/msbuild/vcpkg.targets +++ b/scripts/buildsystems/msbuild/vcpkg.targets @@ -55,6 +55,9 @@ Release $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), .vcpkg-root))\installed\$(VcpkgTriplet)\ true + + false diff --git a/scripts/cmake/vcpkg_common_functions.cmake b/scripts/cmake/vcpkg_common_functions.cmake index 595ebb00e2..d66fc5effd 100644 --- a/scripts/cmake/vcpkg_common_functions.cmake +++ b/scripts/cmake/vcpkg_common_functions.cmake @@ -4,6 +4,7 @@ include(vcpkg_check_linkage) include(vcpkg_clean_msbuild) include(vcpkg_download_distfile) include(vcpkg_extract_source_archive) +include(vcpkg_extract_source_archive_ex) include(vcpkg_execute_required_process) include(vcpkg_execute_required_process_repeat) include(vcpkg_find_acquire_program) @@ -27,4 +28,5 @@ include(vcpkg_get_program_files_32_bit) include(vcpkg_get_program_files_platform_bitness) include(vcpkg_get_windows_sdk) include(vcpkg_replace_string) +include(vcpkg_from_git) include(vcpkg_test_cmake) diff --git a/scripts/cmake/vcpkg_extract_source_archive.cmake b/scripts/cmake/vcpkg_extract_source_archive.cmake index da0ac611a4..a55419b19c 100644 --- a/scripts/cmake/vcpkg_extract_source_archive.cmake +++ b/scripts/cmake/vcpkg_extract_source_archive.cmake @@ -1,6 +1,6 @@ ## # vcpkg_extract_source_archive ## -## Extract an archive into the source directory. +## Extract an archive into the source directory. Deprecated in favor of [`vcpkg_extract_source_archive_ex`](vcpkg_extract_source_archive_ex.md). ## ## ## Usage ## ```cmake @@ -48,82 +48,3 @@ function(vcpkg_extract_source_archive ARCHIVE) file(WRITE ${WORKING_DIRECTORY}/${ARCHIVE_FILENAME}.extracted) endif() endfunction() - -function(vcpkg_extract_source_archive_ex) - cmake_parse_arguments(_vesae "NO_REMOVE_ONE_LEVEL" "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()") - endif() - - if(NOT DEFINED _vesae_OUT_SOURCE_PATH) - message(FATAL_ERROR "Must specify OUT_SOURCE_PATH parameter to vcpkg_extract_source_archive_ex()") - endif() - - if(NOT DEFINED _vesae_WORKING_DIRECTORY) - set(_vesae_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src) - endif() - - if(NOT DEFINED _vesae_REF) - get_filename_component(_vesae_REF ${_vesae_ARCHIVE} NAME_WE) - endif() - - string(REPLACE "/" "-" SANITIZED_REF "${_vesae_REF}") - - # Take the last 10 chars of the REF - set(REF_MAX_LENGTH 10) - string(LENGTH ${SANITIZED_REF} REF_LENGTH) - math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH}) - if(FROM_REF LESS 0) - set(FROM_REF 0) - endif() - string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF) - - # Hash the archive hash along with the patches. Take the first 10 chars of the hash - file(SHA512 ${_vesae_ARCHIVE} PATCHSET_HASH) - foreach(PATCH IN LISTS _vesae_PATCHES) - get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}") - file(SHA512 ${ABSOLUTE_PATCH} CURRENT_HASH) - string(APPEND PATCHSET_HASH ${CURRENT_HASH}) - endforeach() - - string(SHA512 PATCHSET_HASH ${PATCHSET_HASH}) - string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH) - set(SOURCE_PATH "${_vesae_WORKING_DIRECTORY}/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}") - - if(NOT EXISTS ${SOURCE_PATH}) - set(TEMP_DIR "${_vesae_WORKING_DIRECTORY}/TEMP") - file(REMOVE_RECURSE ${TEMP_DIR}) - vcpkg_extract_source_archive("${_vesae_ARCHIVE}" "${TEMP_DIR}") - - if(_vesae_NO_REMOVE_ONE_LEVEL) - set(TEMP_SOURCE_PATH ${TEMP_DIR}) - else() - file(GLOB _ARCHIVE_FILES "${TEMP_DIR}/*") - list(LENGTH _ARCHIVE_FILES _NUM_ARCHIVE_FILES) - set(TEMP_SOURCE_PATH) - foreach(dir IN LISTS _ARCHIVE_FILES) - if (IS_DIRECTORY ${dir}) - set(TEMP_SOURCE_PATH "${dir}") - break() - endif() - endforeach() - - if(NOT _NUM_ARCHIVE_FILES EQUAL 2 OR NOT TEMP_SOURCE_PATH) - message(FATAL_ERROR "Could not unwrap top level directory from archive. Pass NO_REMOVE_ONE_LEVEL to disable this.") - endif() - endif() - - vcpkg_apply_patches( - SOURCE_PATH ${TEMP_SOURCE_PATH} - PATCHES ${_vesae_PATCHES} - ) - - file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH}) - file(REMOVE_RECURSE ${TEMP_DIR}) - endif() - - set(${_vesae_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) - message(STATUS "Using source at ${SOURCE_PATH}") - return() -endfunction() diff --git a/scripts/cmake/vcpkg_extract_source_archive_ex.cmake b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake new file mode 100644 index 0000000000..a70a5e4a34 --- /dev/null +++ b/scripts/cmake/vcpkg_extract_source_archive_ex.cmake @@ -0,0 +1,130 @@ +## # vcpkg_extract_source_archive_ex +## +## Extract an archive into the source directory. Replaces [`vcpkg_extract_source_archive`](vcpkg_extract_source_archive.md). +## +## ## Usage +## ```cmake +## vcpkg_extract_source_archive_ex( +## OUT_SOURCE_PATH +## ARCHIVE <${ARCHIVE}> +## [REF <1.0.0>] +## [NO_REMOVE_ONE_LEVEL] +## [WORKING_DIRECTORY <${CURRENT_BUILDTREES_DIR}/src>] +## [PATCHES ...] +## ) +## ``` +## ## Parameters +## ### OUT_SOURCE_PATH +## Specifies the out-variable that will contain the extracted location. +## +## This should be set to `SOURCE_PATH` by convention. +## +## ### ARCHIVE +## 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. +## +## By convention, this is set to the version number or tag fetched +## +## ### WORKING_DIRECTORY +## If specified, the archive will be extracted into the working directory instead of `${CURRENT_BUILDTREES_DIR}/src/`. +## +## Note that the archive will still be extracted into a subfolder underneath that directory (`${WORKING_DIRECTORY}/${REF}-${HASH}/`). +## +## ### PATCHES +## A list of patches to be applied to the extracted sources. +## +## Relative paths are based on the port directory. +## +## ### NO_REMOVE_ONE_LEVEL +## Specifies that the default removal of the top level folder should not occur. +## +## ## Examples +## +## * [bzip2](https://github.com/Microsoft/vcpkg/blob/master/ports/bzip2/portfile.cmake) +## * [sqlite3](https://github.com/Microsoft/vcpkg/blob/master/ports/sqlite3/portfile.cmake) +## * [cairo](https://github.com/Microsoft/vcpkg/blob/master/ports/cairo/portfile.cmake) +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}) + + if(NOT _vesae_ARCHIVE) + message(FATAL_ERROR "Must specify ARCHIVE parameter to vcpkg_extract_source_archive_ex()") + endif() + + if(NOT DEFINED _vesae_OUT_SOURCE_PATH) + message(FATAL_ERROR "Must specify OUT_SOURCE_PATH parameter to vcpkg_extract_source_archive_ex()") + endif() + + if(NOT DEFINED _vesae_WORKING_DIRECTORY) + set(_vesae_WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/src) + endif() + + if(NOT DEFINED _vesae_REF) + get_filename_component(_vesae_REF ${_vesae_ARCHIVE} NAME_WE) + endif() + + string(REPLACE "/" "-" SANITIZED_REF "${_vesae_REF}") + + # Take the last 10 chars of the REF + set(REF_MAX_LENGTH 10) + string(LENGTH ${SANITIZED_REF} REF_LENGTH) + math(EXPR FROM_REF ${REF_LENGTH}-${REF_MAX_LENGTH}) + if(FROM_REF LESS 0) + set(FROM_REF 0) + endif() + string(SUBSTRING ${SANITIZED_REF} ${FROM_REF} ${REF_LENGTH} SHORTENED_SANITIZED_REF) + + # Hash the archive hash along with the patches. Take the first 10 chars of the hash + file(SHA512 ${_vesae_ARCHIVE} PATCHSET_HASH) + foreach(PATCH IN LISTS _vesae_PATCHES) + get_filename_component(ABSOLUTE_PATCH "${PATCH}" ABSOLUTE BASE_DIR "${CURRENT_PORT_DIR}") + file(SHA512 ${ABSOLUTE_PATCH} CURRENT_HASH) + string(APPEND PATCHSET_HASH ${CURRENT_HASH}) + endforeach() + + string(SHA512 PATCHSET_HASH ${PATCHSET_HASH}) + string(SUBSTRING ${PATCHSET_HASH} 0 10 PATCHSET_HASH) + set(SOURCE_PATH "${_vesae_WORKING_DIRECTORY}/${SHORTENED_SANITIZED_REF}-${PATCHSET_HASH}") + + if(NOT EXISTS ${SOURCE_PATH}) + set(TEMP_DIR "${_vesae_WORKING_DIRECTORY}/TEMP") + file(REMOVE_RECURSE ${TEMP_DIR}) + vcpkg_extract_source_archive("${_vesae_ARCHIVE}" "${TEMP_DIR}") + + if(_vesae_NO_REMOVE_ONE_LEVEL) + set(TEMP_SOURCE_PATH ${TEMP_DIR}) + else() + file(GLOB _ARCHIVE_FILES "${TEMP_DIR}/*") + list(LENGTH _ARCHIVE_FILES _NUM_ARCHIVE_FILES) + set(TEMP_SOURCE_PATH) + foreach(dir IN LISTS _ARCHIVE_FILES) + if (IS_DIRECTORY ${dir}) + set(TEMP_SOURCE_PATH "${dir}") + break() + endif() + endforeach() + + if(NOT _NUM_ARCHIVE_FILES EQUAL 2 OR NOT TEMP_SOURCE_PATH) + message(FATAL_ERROR "Could not unwrap top level directory from archive. Pass NO_REMOVE_ONE_LEVEL to disable this.") + endif() + endif() + + vcpkg_apply_patches( + SOURCE_PATH ${TEMP_SOURCE_PATH} + PATCHES ${_vesae_PATCHES} + ) + + file(RENAME ${TEMP_SOURCE_PATH} ${SOURCE_PATH}) + file(REMOVE_RECURSE ${TEMP_DIR}) + endif() + + set(${_vesae_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) + message(STATUS "Using source at ${SOURCE_PATH}") + return() +endfunction() diff --git a/scripts/cmake/vcpkg_find_acquire_program.cmake b/scripts/cmake/vcpkg_find_acquire_program.cmake index 4cb123fd68..ebe46b3356 100644 --- a/scripts/cmake/vcpkg_find_acquire_program.cmake +++ b/scripts/cmake/vcpkg_find_acquire_program.cmake @@ -77,12 +77,18 @@ function(vcpkg_find_acquire_program VAR) set(NOEXTRACT ON) set(HASH c1945669d983b632a10c5ff31e86d6ecbff143c3d8b2c433c0d3d18f84356d2b351f71ac05fd44e5403651b00c31db0d14615d7f9a6ecce5750438d37105c55b) elseif(VAR MATCHES "PYTHON3") - set(PROGNAME python) - set(SUBDIR "python3") - set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) - set(URL "https://www.python.org/ftp/python/3.5.4/python-3.5.4-embed-win32.zip") - set(ARCHIVE "python-3.5.4-embed-win32.zip") - set(HASH b5240fdc95088c2d7f65d2dd598650f8dd106b49589d94156bd4a078b108c6cabbe7a38ef73e2b2cf00e8312a93d2e587eac2c54ce85540d3c7a26cc60013156) + if(CMAKE_HOST_WIN32) + set(PROGNAME python) + set(SUBDIR "python3") + set(PATHS ${DOWNLOADS}/tools/python/${SUBDIR}) + set(URL "https://www.python.org/ftp/python/3.5.4/python-3.5.4-embed-win32.zip") + set(ARCHIVE "python-3.5.4-embed-win32.zip") + set(HASH b5240fdc95088c2d7f65d2dd598650f8dd106b49589d94156bd4a078b108c6cabbe7a38ef73e2b2cf00e8312a93d2e587eac2c54ce85540d3c7a26cc60013156) + else() + set(PROGNAME python3) + set(BREW_PACKAGE_NAME "python") + set(APT_PACKAGE_NAME "python3") + endif() elseif(VAR MATCHES "PYTHON2") set(PROGNAME python) set(SUBDIR "python2") @@ -140,12 +146,13 @@ function(vcpkg_find_acquire_program VAR) set(ARCHIVE "meson-0.47.1.zip") set(HASH 0f6462835583a51707bee82d852018cfcb7444c0dad95b2ba08814e500a5cfe3f731dc6c1fb73c765d1120ee2a2d6600e15d8d393bab1993e84bd4354b2e6855) elseif(VAR MATCHES "FLEX") - if(CMAKE_HOST_WIN32) - set(PROGNAME win_flex) - set(PATHS ${DOWNLOADS}/tools/win_flex) - set(URL "https://sourceforge.net/projects/winflexbison/files/win_flex_bison-2.5.9.zip/download") - set(ARCHIVE "win_flex_bison-2.5.9.zip") - set(HASH 9580f0e46893670a011645947c1becda69909a41a38bb4197fe33bd1ab7719da6b80e1be316f269e1a4759286870d49a9b07ef83afc4bac33232bd348e0bc814) + if(CMAKE_HOST_WIN32) + set(PROGNAME win_flex) + set(SUBDIR win_flex-2.5.16) + set(PATHS ${DOWNLOADS}/tools/win_flex/${SUBDIR}) + set(URL "https://sourceforge.net/projects/winflexbison/files/winflexbison-2.5.16.zip/download") + set(ARCHIVE "win_flex_bison-2.5.16.zip") + set(HASH 0a14154bff5d998feb23903c46961528f8ccb4464375d5384db8c4a7d230c0c599da9b68e7a32f3217a0a0735742242eaf3769cb4f03e00931af8640250e9123) else() set(PROGNAME flex) set(APT_PACKAGE_NAME flex) @@ -154,10 +161,11 @@ function(vcpkg_find_acquire_program VAR) elseif(VAR MATCHES "BISON") if(CMAKE_HOST_WIN32) set(PROGNAME win_bison) - set(PATHS ${DOWNLOADS}/tools/win_bison) - set(URL "https://sourceforge.net/projects/winflexbison/files/win_flex_bison-2.5.9.zip/download") - set(ARCHIVE "win_flex_bison-2.5.9.zip") - set(HASH 9580f0e46893670a011645947c1becda69909a41a38bb4197fe33bd1ab7719da6b80e1be316f269e1a4759286870d49a9b07ef83afc4bac33232bd348e0bc814) + set(SUBDIR win_bison-2.5.16) + set(PATHS ${DOWNLOADS}/tools/win_bison/${SUBDIR}) + set(URL "https://sourceforge.net/projects/winflexbison/files/winflexbison-2.5.16.zip/download") + set(ARCHIVE "win_flex_bison-2.5.16.zip") + set(HASH 0a14154bff5d998feb23903c46961528f8ccb4464375d5384db8c4a7d230c0c599da9b68e7a32f3217a0a0735742242eaf3769cb4f03e00931af8640250e9123) else() set(PROGNAME bison) set(APT_PACKAGE_NAME bison) diff --git a/scripts/cmake/vcpkg_from_git.cmake b/scripts/cmake/vcpkg_from_git.cmake new file mode 100644 index 0000000000..2fc66b279e --- /dev/null +++ b/scripts/cmake/vcpkg_from_git.cmake @@ -0,0 +1,127 @@ +## # vcpkg_from_git +## +## Download and extract a project from git +## +## ## Usage: +## ```cmake +## vcpkg_from_git( +## OUT_SOURCE_PATH +## URL +## REF <59f7335e4d...> +## SHA512 +## [PATCHES ...] +## ) +## ``` +## +## ## Parameters: +## ### OUT_SOURCE_PATH +## 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. +## +## ### 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. +## +## ### PATCHES +## 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. +## +## ## 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(multipleValuesArgs PATCHES) + cmake_parse_arguments(_vdud "" "${oneValueArgs}" "${multipleValuesArgs}" ${ARGN}) + + if(NOT DEFINED _vdud_OUT_SOURCE_PATH) + message(FATAL_ERROR "OUT_SOURCE_PATH must be specified.") + endif() + + if(NOT DEFINED _vdud_URL) + message(FATAL_ERROR "The git url must be specified") + endif() + + if(NOT DEFINED _vdud_REF) + message(FATAL_ERROR "The git ref must be specified.") + 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.") + endif() + + # using .tar.gz instead of .zip because the hash of the latter is affected by timezone. + string(REPLACE "/" "-" SANITIZED_REF "${_vdud_REF}") + set(TEMP_ARCHIVE "${DOWNLOADS}/temp/${PORT}-${SANITIZED_REF}.tar.gz") + 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.") + endif() + message(STATUS "Fetching ${_vdud_URL}...") + find_program(GIT NAMES git git.cmd) + # Note: git init is safe to run multiple times + vcpkg_execute_required_process( + COMMAND ${GIT} init git-tmp + WORKING_DIRECTORY ${DOWNLOADS} + LOGNAME git-init + ) + vcpkg_execute_required_process( + COMMAND ${GIT} fetch ${_vdud_URL} ${_vdud_REF} --depth 1 -n + WORKING_DIRECTORY ${DOWNLOADS}/git-tmp + LOGNAME git-fetch + ) + file(MAKE_DIRECTORY "${DOWNLOADS}/temp") + vcpkg_execute_required_process( + 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( + OUT_SOURCE_PATH SOURCE_PATH + ARCHIVE "${ARCHIVE}" + REF "${SANITIZED_REF}" + PATCHES ${_vdud_PATCHES} + NO_REMOVE_ONE_LEVEL + ) + + set(${_vdud_OUT_SOURCE_PATH} "${SOURCE_PATH}" PARENT_SCOPE) +endfunction() diff --git a/scripts/toolchains/android.cmake b/scripts/toolchains/android.cmake index 355ccc3ac1..893463056f 100644 --- a/scripts/toolchains/android.cmake +++ b/scripts/toolchains/android.cmake @@ -17,3 +17,19 @@ if(NOT EXISTS "${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake") endif() include("${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake") + +if(NOT _VCPKG_ANDROID_TOOLCHAIN) +set(_VCPKG_ANDROID_TOOLCHAIN 1) +get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) +if(NOT _CMAKE_IN_TRY_COMPILE) + string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") + string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") + string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") + string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ") + string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") + string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") + + string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") +endif() +endif() diff --git a/scripts/toolchains/freebsd.cmake b/scripts/toolchains/freebsd.cmake index 9edbb83947..b6bf5a4791 100644 --- a/scripts/toolchains/freebsd.cmake +++ b/scripts/toolchains/freebsd.cmake @@ -1,3 +1,5 @@ +if(NOT _VCPKG_FREEBSD_TOOLCHAIN) +set(_VCPKG_FREEBSD_TOOLCHAIN 1) if(CMAKE_HOST_SYSTEM_NAME STREQUAL "FreeBSD") set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") endif() @@ -5,14 +7,14 @@ set(CMAKE_SYSTEM_NAME FreeBSD CACHE STRING "") get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) if(NOT _CMAKE_IN_TRY_COMPILE) - set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "") - set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "") + string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") + string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") + string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") + string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ") + string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") + string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") - set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") - set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") - set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "") - set(CMAKE_C_FLAGS_RELEASE "${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "") - - set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") - set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") +endif() endif() diff --git a/scripts/toolchains/linux.cmake b/scripts/toolchains/linux.cmake index 524d745cfa..b9cbc0ff35 100644 --- a/scripts/toolchains/linux.cmake +++ b/scripts/toolchains/linux.cmake @@ -1,3 +1,5 @@ +if(NOT _VCPKG_LINUX_TOOLCHAIN) +set(_VCPKG_LINUX_TOOLCHAIN 1) if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Linux") set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") endif() @@ -5,14 +7,18 @@ set(CMAKE_SYSTEM_NAME Linux CACHE STRING "") get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) if(NOT _CMAKE_IN_TRY_COMPILE) - set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "") - set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "") + string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") + string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") + string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") + string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ") + string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") + string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") - set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") - set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") - set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "") - set(CMAKE_C_FLAGS_RELEASE "${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "") - - set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") - set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + if(VCPKG_CRT_LINKAGE STREQUAL "static") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT "-static ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT "-static ") + endif() +endif() endif() diff --git a/scripts/toolchains/osx.cmake b/scripts/toolchains/osx.cmake index 296d74ebee..7f6487c409 100644 --- a/scripts/toolchains/osx.cmake +++ b/scripts/toolchains/osx.cmake @@ -1,3 +1,5 @@ +if(NOT _VCPKG_OSX_TOOLCHAIN) +set(_VCPKG_OSX_TOOLCHAIN 1) if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin") set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "") @@ -13,14 +15,14 @@ set(CMAKE_MACOSX_RPATH ON CACHE BOOL "") get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE ) if(NOT _CMAKE_IN_TRY_COMPILE) - set(CMAKE_CXX_FLAGS "${VCPKG_CXX_FLAGS} -fPIC" CACHE STRING "") - set(CMAKE_C_FLAGS "${VCPKG_C_FLAGS} -fPIC" CACHE STRING "") + string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ") + string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ") + string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ") + string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ") + string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ") + string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ") - set(CMAKE_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG}" CACHE STRING "") - set(CMAKE_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}" CACHE STRING "") - set(CMAKE_CXX_FLAGS_RELEASE "${VCPKG_CXX_FLAGS_RELEASE}" CACHE STRING "") - set(CMAKE_C_FLAGS_RELEASE "${VCPKG_C_FLAGS_RELEASE}" CACHE STRING "") - - set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") - set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${VCPKG_LINKER_FLAGS}" CACHE STRING "") + string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") + string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ") +endif() endif() diff --git a/scripts/vcpkgTools.xml b/scripts/vcpkgTools.xml index c2045433da..650e46b030 100644 --- a/scripts/vcpkgTools.xml +++ b/scripts/vcpkgTools.xml @@ -1,32 +1,32 @@ - 3.11.4 - cmake-3.11.4-win32-x86\bin\cmake.exe - https://cmake.org/files/v3.11/cmake-3.11.4-win32-x86.zip - 3d866ef3c41a9cf738427fccf4730ccf8fd86bb4d13e9a1671b156bbdb2bc6beeecc7e7e8190cea8297498cfd67366c71231e9e08b121d4cd6e5ceac04124c19 - cmake-3.11.4-win32-x86.zip + 3.12.4 + cmake-3.12.4-win32-x86\bin\cmake.exe + https://github.com/Kitware/CMake/releases/download/v3.12.4/cmake-3.12.4-win32-x86.zip + ca7097c5917101c39d5fa5325cd256ad3aa616a7e5811915cb2869c24961dc133726015b3576908fbd0666f89c8e31886bed9cf6b532a3fe44681d5245bc25c7 + cmake-3.12.4-win32-x86.zip - 3.11.4 - cmake-3.11.4-Darwin-x86_64/CMake.app/Contents/bin/cmake - https://cmake.org/files/v3.11/cmake-3.11.4-Darwin-x86_64.tar.gz - eeb967dc5b6e46e8dee06939b8b416d40f644baad79ffd90f86ad18e1e3b58b50dec0f064e60467125be9bedb7de8c48fbcb8a97ca731645939539f97645db54 - cmake-3.11.4-Darwin-x86_64.tar.gz + 3.12.4 + cmake-3.12.4-Darwin-x86_64/CMake.app/Contents/bin/cmake + https://github.com/Kitware/CMake/releases/download/v3.12.4/cmake-3.12.4-Darwin-x86_64.tar.gz + 67ce23394d9679818ab0f2792f5d585c8c6f385e18584d488a47d48b768d1ee20b58247d22945aeff1ff9f84b7e843457dac98a50801ac3068ab1fbcbe0b0f45 + cmake-3.12.4-Darwin-x86_64.tar.gz - 3.11.4 - cmake-3.11.4-Linux-x86_64/bin/cmake - https://cmake.org/files/v3.11/cmake-3.11.4-Linux-x86_64.tar.gz - 70d92eea972710684582154dc1b884536aba5abda130a431257750b54437c46397aea39c2cc31056ecf36ddadbc1cf5c22434794fb314ea67c15a9be3bd20092 - cmake-3.11.4-Linux-x86_64.tar.gz + 3.12.4 + cmake-3.12.4-Linux-x86_64/bin/cmake + https://github.com/Kitware/CMake/releases/download/v3.12.4/cmake-3.12.4-Linux-x86_64.tar.gz + ee9eded0c72e06ef99554f09553d40842478700ca6f07319c28247f1d45301708c703c65ad617cf618833257bacc3b9f63a54b32288bfb619d38758669dcd20f + cmake-3.12.4-Linux-x86_64.tar.gz - 2.17.1 + 2.19.1 cmd\git.exe - https://github.com/git-for-windows/git/releases/download/v2.17.1.windows.1/MinGit-2.17.1-32-bit.zip - 8bf93f6d3b6eb8a4ccbf840ff0b8b11a8b3a28fc5cd27aaa98dab5964acebbd17307e8ecec4e0cdd8b8ba095491d39bc9d55f4330284089cf3dadcab1d3fb7a4 - MinGit-2.17.1-32-bit.zip + https://github.com/git-for-windows/git/releases/download/v2.19.1.windows.1/MinGit-2.19.1-32-bit.zip + 8a6d2caae2cbaacee073a641cda21465a749325c0af620dabd0e5521c84c92c8d747caa468b111d2ec52b99aee2ee3e6ec41a0a07a8fff582f4c8da568ea329e + MinGit-2.19.1-32-bit.zip 2.7.4 @@ -60,7 +60,7 @@ QtInstallerFramework-win-x86.zip - 18.01.0 + 18.1.0 7-Zip.CommandLine.18.1.0\tools\7za.exe https://www.nuget.org/api/v2/package/7-Zip.CommandLine/18.1.0 8c75314102e68d2b2347d592f8e3eb05812e1ebb525decbac472231633753f1d4ca31c8e6881a36144a8da26b2571305b3ae3f4e2b85fc4a290aeda63d1a13b8 @@ -78,20 +78,20 @@ ninja.exe https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-win.zip 9b9ce248240665fcd6404b989f3b3c27ed9682838225e6dc9b67b551774f251e4ff8a207504f941e7c811e7a8be1945e7bcb94472a335ef15e23a0200a32e6d5 - ninja-win.zip + ninja-win-1.8.2.zip 1.8.2 ninja https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip 38fcb68e745c1f15b4b50f20069ffe686b1ef5baf93b74958e132ea5d30d155cf6970d6dc1b095aafd421ebd8bcc63acf4f64e305c496266b5182f99b815cca5 - ninja-linux.zip + ninja-linux-1.8.2.zip 1.8.2 ninja https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-mac.zip acadfb286eb7d93676629701917fa0c3c39f36daa068c169e4a098c29f97380d1ea95abfd42b04798ff118fd9dc93fdb250fcda36086bac20bc5506354214fc3 - ninja-mac.zip + ninja-mac-1.8.2.zip diff --git a/toolsrc/VERSION.txt b/toolsrc/VERSION.txt index dc0d30c540..ce62ec9593 100644 --- a/toolsrc/VERSION.txt +++ b/toolsrc/VERSION.txt @@ -1 +1 @@ -"2018.10.20" \ No newline at end of file +"2018.11.23" \ No newline at end of file diff --git a/toolsrc/include/vcpkg/base/util.h b/toolsrc/include/vcpkg/base/util.h index 7266fbbc63..65ce02b992 100644 --- a/toolsrc/include/vcpkg/base/util.h +++ b/toolsrc/include/vcpkg/base/util.h @@ -71,18 +71,6 @@ namespace vcpkg::Util return ret; } - template - void stable_keep_if(Container& cont, Pred pred) - { - cont.erase(std::stable_partition(cont.begin(), cont.end(), pred), cont.end()); - } - - template - void unstable_keep_if(Container& cont, Pred pred) - { - cont.erase(std::partition(cont.begin(), cont.end(), pred), cont.end()); - } - template void erase_remove_if(Container& cont, Pred pred) { diff --git a/toolsrc/src/vcpkg.cpp b/toolsrc/src/vcpkg.cpp index 3589881a7c..fc72835991 100644 --- a/toolsrc/src/vcpkg.cpp +++ b/toolsrc/src/vcpkg.cpp @@ -171,8 +171,10 @@ static void inner(const VcpkgCmdArguments& args) default_triplet = Triplet::from_canonical_name("x64-osx"); #elif defined(__FreeBSD__) default_triplet = Triplet::from_canonical_name("x64-freebsd"); -#else +#elif defined(__GLIBC__) default_triplet = Triplet::from_canonical_name("x64-linux"); +#else + default_triplet = Triplet::from_canonical_name("x64-linux-musl"); #endif } } diff --git a/toolsrc/src/vcpkg/base/downloads.cpp b/toolsrc/src/vcpkg/base/downloads.cpp index 1d7b3527df..5715622447 100644 --- a/toolsrc/src/vcpkg/base/downloads.cpp +++ b/toolsrc/src/vcpkg/base/downloads.cpp @@ -42,6 +42,28 @@ namespace vcpkg::Downloads 0); Checks::check_exit(VCPKG_LINE_INFO, hSession, "WinHttpOpen() failed: %d", GetLastError()); + // Win7 IE Proxy fallback + if (IsWindows7OrGreater() && !IsWindows8Point1OrGreater()) { + // First check if any proxy has been found automatically + WINHTTP_PROXY_INFO proxyInfo; + DWORD proxyInfoSize = sizeof(WINHTTP_PROXY_INFO); + auto noProxyFound = + !WinHttpQueryOption(hSession, WINHTTP_OPTION_PROXY, &proxyInfo, &proxyInfoSize) + || proxyInfo.dwAccessType == WINHTTP_ACCESS_TYPE_NO_PROXY; + + // If no proxy was found automatically, use IE's proxy settings, if any + if (noProxyFound) { + WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ieProxy; + if (WinHttpGetIEProxyConfigForCurrentUser(&ieProxy) && ieProxy.lpszProxy != nullptr) { + WINHTTP_PROXY_INFO proxy; + proxy.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY; + proxy.lpszProxy = ieProxy.lpszProxy; + proxy.lpszProxyBypass = ieProxy.lpszProxyBypass; + WinHttpSetOption(hSession, WINHTTP_OPTION_PROXY, &proxy, sizeof(proxy)); + } + } + } + // Use Windows 10 defaults on Windows 7 DWORD secure_protocols(WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 | WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 | WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 | WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2); @@ -102,7 +124,17 @@ namespace vcpkg::Downloads const fs::path& path, const std::string& sha512) { - const std::string actual_hash = vcpkg::Hash::get_file_hash(fs, path, "SHA512"); + std::string actual_hash = vcpkg::Hash::get_file_hash(fs, path, "SHA512"); + + // + // This is the NEW hash for 7zip + if (actual_hash == "a9dfaaafd15d98a2ac83682867ec5766720acf6e99d40d1a00d480692752603bf3f3742623f0ea85647a92374df" + "405f331afd6021c5cf36af43ee8db198129c0") + // This is the OLD hash for 7zip + actual_hash = "8c75314102e68d2b2347d592f8e3eb05812e1ebb525decbac472231633753f1d4ca31c8e6881a36144a8da26b257" + "1305b3ae3f4e2b85fc4a290aeda63d1a13b8"; + // + Checks::check_exit(VCPKG_LINE_INFO, sha512 == actual_hash, "File does not have the expected hash:\n" diff --git a/toolsrc/src/vcpkg/base/system.cpp b/toolsrc/src/vcpkg/base/system.cpp index 6797111c24..9c72f8401d 100644 --- a/toolsrc/src/vcpkg/base/system.cpp +++ b/toolsrc/src/vcpkg/base/system.cpp @@ -168,6 +168,8 @@ namespace vcpkg::System L"CUDA_PATH", // Environmental variable generated automatically by CUDA after installation L"NVCUDASAMPLES_ROOT", + // Enables find_package(Vulkan) in CMake. Environmental variable generated by Vulkan SDK installer + L"VULKAN_SDK", }; std::wstring env_cstr; diff --git a/toolsrc/src/vcpkg/build.cpp b/toolsrc/src/vcpkg/build.cpp index 9b97701efc..67d9b63edd 100644 --- a/toolsrc/src/vcpkg/build.cpp +++ b/toolsrc/src/vcpkg/build.cpp @@ -63,7 +63,7 @@ namespace vcpkg::Build::Command spec.name()); const StatusParagraphs status_db = database_load_check(paths); - const Build::BuildPackageOptions build_package_options { + const Build::BuildPackageOptions build_package_options{ Build::UseHeadVersion::NO, Build::AllowDownloads::YES, Build::CleanBuildtrees::NO, @@ -76,8 +76,8 @@ namespace vcpkg::Build::Command std::set features_as_set(full_spec.features.begin(), full_spec.features.end()); features_as_set.emplace("core"); - const Build::BuildPackageConfig build_config { - *scf, spec.triplet(), fs::path {port_dir}, build_package_options, features_as_set}; + const Build::BuildPackageConfig build_config{ + *scf, spec.triplet(), fs::path{port_dir}, build_package_options, features_as_set}; const auto build_timer = Chrono::ElapsedTimer::create_started(); const auto result = Build::build_package(paths, build_config, status_db); @@ -372,7 +372,8 @@ namespace vcpkg::Build {"TARGET_TRIPLET", spec.triplet().canonical_name()}, {"VCPKG_PLATFORM_TOOLSET", toolset.version.c_str()}, {"VCPKG_USE_HEAD_VERSION", - Util::Enum::to_bool(config.build_package_options.use_head_version) ? "1" : "0"}, + Util::Enum::to_bool(config.build_package_options.use_head_version) ? "1" : "0"}, + {"DOWNLOADS", paths.downloads}, {"_VCPKG_NO_DOWNLOADS", !Util::Enum::to_bool(config.build_package_options.allow_downloads) ? "1" : "0"}, {"_VCPKG_DOWNLOAD_TOOL", to_string(config.build_package_options.download_tool)}, {"GIT", git_exe_path}, @@ -470,22 +471,22 @@ namespace vcpkg::Build std::vector abi_tag_entries(dependency_abis.begin(), dependency_abis.end()); - abi_tag_entries.emplace_back(AbiEntry {"cmake", paths.get_tool_version(Tools::CMAKE)}); + abi_tag_entries.emplace_back(AbiEntry{"cmake", paths.get_tool_version(Tools::CMAKE)}); abi_tag_entries.emplace_back( - AbiEntry {"portfile", vcpkg::Hash::get_file_hash(fs, config.port_dir / "portfile.cmake", "SHA1")}); + AbiEntry{"portfile", vcpkg::Hash::get_file_hash(fs, config.port_dir / "portfile.cmake", "SHA1")}); abi_tag_entries.emplace_back( - AbiEntry {"control", vcpkg::Hash::get_file_hash(fs, config.port_dir / "CONTROL", "SHA1")}); + AbiEntry{"control", vcpkg::Hash::get_file_hash(fs, config.port_dir / "CONTROL", "SHA1")}); abi_tag_entries.emplace_back(AbiEntry{"vcpkg_fixup_cmake_targets", "1"}); abi_tag_entries.emplace_back(AbiEntry{"triplet", pre_build_info.triplet_abi_tag}); const std::string features = Strings::join(";", config.feature_list); - abi_tag_entries.emplace_back(AbiEntry {"features", features}); + abi_tag_entries.emplace_back(AbiEntry{"features", features}); if (config.build_package_options.use_head_version == UseHeadVersion::YES) - abi_tag_entries.emplace_back(AbiEntry {"head", ""}); + abi_tag_entries.emplace_back(AbiEntry{"head", ""}); Util::sort(abi_tag_entries); @@ -503,7 +504,7 @@ namespace vcpkg::Build } auto abi_tag_entries_missing = abi_tag_entries; - Util::stable_keep_if(abi_tag_entries_missing, [](const AbiEntry& p) { return p.value.empty(); }); + Util::erase_remove_if(abi_tag_entries_missing, [](const AbiEntry& p) { return !p.value.empty(); }); if (abi_tag_entries_missing.empty()) { @@ -512,7 +513,7 @@ namespace vcpkg::Build const auto abi_file_path = paths.buildtrees / name / (triplet.canonical_name() + ".vcpkg_abi_info.txt"); fs.write_contents(abi_file_path, full_abi_info); - return AbiTagAndFile {Hash::get_file_hash(fs, abi_file_path, "SHA1"), abi_file_path}; + return AbiTagAndFile{Hash::get_file_hash(fs, abi_file_path, "SHA1"), abi_file_path}; } System::println( @@ -581,8 +582,8 @@ namespace vcpkg::Build Util::sort_unique_erase(dep_pspecs); // Find all features that aren't installed. This mutates required_fspecs. - Util::unstable_keep_if(required_fspecs, [&](FeatureSpec const& fspec) { - return !status_db.is_installed(fspec) && fspec.name() != name; + Util::erase_remove_if(required_fspecs, [&](FeatureSpec const& fspec) { + return status_db.is_installed(fspec) || fspec.name() == name; }); if (!required_fspecs.empty()) @@ -602,7 +603,7 @@ namespace vcpkg::Build const auto status_it = status_db.find_installed(pspec); Checks::check_exit(VCPKG_LINE_INFO, status_it != status_db.end()); dependency_abis.emplace_back( - AbiEntry {status_it->get()->package.spec.name(), status_it->get()->package.abi}); + AbiEntry{status_it->get()->package.spec.name(), status_it->get()->package.abi}); } const auto pre_build_info = PreBuildInfo::from_triplet_file(paths, triplet); @@ -648,7 +649,7 @@ namespace vcpkg::Build System::println("Could not locate cached archive: %s", archive_path.u8string()); ExtendedBuildResult result = do_build_package_and_clean_buildtrees( - paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile {}).tag, config); + paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile{}).tag, config); std::error_code ec; fs.create_directories(paths.package_dir(spec) / "share" / spec.name(), ec); @@ -685,7 +686,7 @@ namespace vcpkg::Build } return do_build_package_and_clean_buildtrees( - paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile {}).tag, config); + paths, pre_build_info, spec, maybe_abi_tag_and_file.value_or(AbiTagAndFile{}).tag, config); } const std::string& to_string(const BuildResult build_result) @@ -850,21 +851,21 @@ namespace vcpkg::Build if (variable_name == "VCPKG_PLATFORM_TOOLSET") { pre_build_info.platform_toolset = - variable_value.empty() ? nullopt : Optional {variable_value}; + variable_value.empty() ? nullopt : Optional{variable_value}; continue; } if (variable_name == "VCPKG_VISUAL_STUDIO_PATH") { pre_build_info.visual_studio_path = - variable_value.empty() ? nullopt : Optional {variable_value}; + variable_value.empty() ? nullopt : Optional{variable_value}; continue; } if (variable_name == "VCPKG_CHAINLOAD_TOOLCHAIN_FILE") { pre_build_info.external_toolchain_file = - variable_value.empty() ? nullopt : Optional {variable_value}; + variable_value.empty() ? nullopt : Optional{variable_value}; continue; } diff --git a/toolsrc/src/vcpkg/commands.autocomplete.cpp b/toolsrc/src/vcpkg/commands.autocomplete.cpp index 5644044213..3b353feec5 100644 --- a/toolsrc/src/vcpkg/commands.autocomplete.cpp +++ b/toolsrc/src/vcpkg/commands.autocomplete.cpp @@ -40,26 +40,25 @@ namespace vcpkg::Commands::Autocomplete const std::string requested_command = match[1].str(); // First try public commands - std::vector public_commands = { - "install", - "search", - "remove", - "list", - "update", - "hash", - "help", - "integrate", - "export", - "edit", - "create", - "owns", - "cache", - "version", - "contact", - }; + std::vector public_commands = {"install", + "search", + "remove", + "list", + "update", + "hash", + "help", + "integrate", + "export", + "edit", + "create", + "owns", + "cache", + "version", + "contact", + "upgrade"}; - Util::unstable_keep_if(public_commands, [&](const std::string& s) { - return Strings::case_insensitive_ascii_starts_with(s, requested_command); + Util::erase_remove_if(public_commands, [&](const std::string& s) { + return !Strings::case_insensitive_ascii_starts_with(s, requested_command); }); if (!public_commands.empty()) @@ -78,8 +77,8 @@ namespace vcpkg::Commands::Autocomplete "portsdiff", }; - Util::unstable_keep_if(private_commands, [&](const std::string& s) { - return Strings::case_insensitive_ascii_starts_with(s, requested_command); + Util::erase_remove_if(private_commands, [&](const std::string& s) { + return !Strings::case_insensitive_ascii_starts_with(s, requested_command); }); output_sorted_results_and_exit(VCPKG_LINE_INFO, std::move(private_commands)); @@ -98,8 +97,8 @@ namespace vcpkg::Commands::Autocomplete } std::vector triplets = paths.get_available_triplets(); - Util::unstable_keep_if(triplets, [&](const std::string& s) { - return Strings::case_insensitive_ascii_starts_with(s, triplet_prefix); + Util::erase_remove_if(triplets, [&](const std::string& s) { + return !Strings::case_insensitive_ascii_starts_with(s, triplet_prefix); }); auto result = combine_port_with_triplets(port_name, triplets); @@ -124,6 +123,7 @@ namespace vcpkg::Commands::Autocomplete CommandEntry{"edit", R"###(^edit\s(.*\s|)(\S*)$)###", Edit::COMMAND_STRUCTURE}, CommandEntry{"remove", R"###(^remove\s(.*\s|)(\S*)$)###", Remove::COMMAND_STRUCTURE}, CommandEntry{"integrate", R"###(^integrate(\s+)(\S*)$)###", Integrate::COMMAND_STRUCTURE}, + CommandEntry{"upgrade", R"###(^upgrade(\s+)(\S*)$)###", Upgrade::COMMAND_STRUCTURE}, }; for (auto&& command : COMMANDS) @@ -150,8 +150,8 @@ namespace vcpkg::Commands::Autocomplete } } - Util::unstable_keep_if(results, [&](const std::string& s) { - return Strings::case_insensitive_ascii_starts_with(s, prefix); + Util::erase_remove_if(results, [&](const std::string& s) { + return !Strings::case_insensitive_ascii_starts_with(s, prefix); }); if (command.name == "install" && results.size() == 1 && !is_option) diff --git a/toolsrc/src/vcpkg/commands.edit.cpp b/toolsrc/src/vcpkg/commands.edit.cpp index b9d9d8c1a2..044ae1c47c 100644 --- a/toolsrc/src/vcpkg/commands.edit.cpp +++ b/toolsrc/src/vcpkg/commands.edit.cpp @@ -107,9 +107,6 @@ namespace vcpkg::Commands::Edit void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths) { - static const fs::path VS_CODE_INSIDERS = fs::path{"Microsoft VS Code Insiders"} / "Code - Insiders.exe"; - static const fs::path VS_CODE = fs::path{"Microsoft VS Code"} / "Code.exe"; - auto& fs = paths.get_filesystem(); const ParsedArguments options = args.parse_arguments(COMMAND_STRUCTURE); @@ -129,6 +126,10 @@ namespace vcpkg::Commands::Edit candidate_paths.emplace_back(*editor_path); } +#ifdef _WIN32 + static const fs::path VS_CODE_INSIDERS = fs::path{"Microsoft VS Code Insiders"} / "Code - Insiders.exe"; + static const fs::path VS_CODE = fs::path{"Microsoft VS Code"} / "Code.exe"; + const auto& program_files = System::get_program_files_platform_bitness(); if (const fs::path* pf = program_files.get()) { @@ -153,6 +154,10 @@ namespace vcpkg::Commands::Edit const std::vector from_registry = find_from_registry(); candidate_paths.insert(candidate_paths.end(), from_registry.cbegin(), from_registry.cend()); +#elif defined(__APPLE__) + candidate_paths.push_back(fs::path{"/Applications/Visual Studio Code - Insiders.app/Contents/Resources/app/bin/code"}); + candidate_paths.push_back(fs::path{"/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code"}); +#endif const auto it = Util::find_if(candidate_paths, [&](const fs::path& p) { return fs.exists(p); }); if (it == candidate_paths.cend()) diff --git a/toolsrc/src/vcpkg/dependencies.cpp b/toolsrc/src/vcpkg/dependencies.cpp index 8fb35b0da2..60c43e4a86 100644 --- a/toolsrc/src/vcpkg/dependencies.cpp +++ b/toolsrc/src/vcpkg/dependencies.cpp @@ -488,26 +488,23 @@ namespace vcpkg::Dependencies if (plus) return MarkPlusResult::SUCCESS; plus = true; + auto p_source = cluster.source.get(); + Checks::check_exit(VCPKG_LINE_INFO, + p_source != nullptr, + "Error: Cannot find definition for package `%s`.", + cluster.spec.name()); + if (feature.empty()) { // Add default features for this package. This is an exact reference, so ignore prevent_default_features. - if (auto p_source = cluster.source.get()) + for (auto&& default_feature : p_source->scf->core_paragraph.get()->default_features) { - for (auto&& default_feature : p_source->scf->core_paragraph.get()->default_features) + auto res = mark_plus(default_feature, cluster, graph, graph_plan, prevent_default_features); + if (res != MarkPlusResult::SUCCESS) { - auto res = mark_plus(default_feature, cluster, graph, graph_plan, prevent_default_features); - if (res != MarkPlusResult::SUCCESS) - { - return res; - } + return res; } } - else - { - Checks::exit_with_message(VCPKG_LINE_INFO, - "Error: Unable to install default features because can't find CONTROL for %s", - cluster.spec); - } // "core" is always required. return mark_plus("core", cluster, graph, graph_plan, prevent_default_features); @@ -515,28 +512,20 @@ namespace vcpkg::Dependencies if (feature == "*") { - if (auto p_source = cluster.source.get()) + for (auto&& fpgh : p_source->scf->feature_paragraphs) { - for (auto&& fpgh : p_source->scf->feature_paragraphs) - { - auto res = mark_plus(fpgh->name, cluster, graph, graph_plan, prevent_default_features); + auto res = mark_plus(fpgh->name, cluster, graph, graph_plan, prevent_default_features); - Checks::check_exit(VCPKG_LINE_INFO, - res == MarkPlusResult::SUCCESS, - "Error: Unable to locate feature %s in %s", - fpgh->name, - cluster.spec); - } - - auto res = mark_plus("core", cluster, graph, graph_plan, prevent_default_features); - - Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS); - } - else - { - Checks::exit_with_message( - VCPKG_LINE_INFO, "Error: Unable to handle '*' because can't find CONTROL for %s", cluster.spec); + Checks::check_exit(VCPKG_LINE_INFO, + res == MarkPlusResult::SUCCESS, + "Error: Internal error while installing feature %s in %s", + fpgh->name, + cluster.spec); } + + auto res = mark_plus("core", cluster, graph, graph_plan, prevent_default_features); + + Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS); return MarkPlusResult::SUCCESS; } @@ -643,7 +632,7 @@ namespace vcpkg::Dependencies } /// Figure out which actions are required to install features specifications in `specs`. - /// Map of all source files in the current environment. + /// Map of all source control files in the current environment. /// Feature specifications to resolve dependencies for. /// Status of installed packages in the current environment. std::vector create_feature_install_plan(const std::unordered_map& map, @@ -666,7 +655,11 @@ namespace vcpkg::Dependencies auto res = mark_plus(spec.feature(), spec_cluster, *m_graph, *m_graph_plan, prevent_default_features); - Checks::check_exit(VCPKG_LINE_INFO, res == MarkPlusResult::SUCCESS, "Error: Unable to locate feature %s", spec); + Checks::check_exit(VCPKG_LINE_INFO, + res == MarkPlusResult::SUCCESS, + "Error: `%s` is not a feature of package `%s`", + spec.feature(), + spec.name()); m_graph_plan->install_graph.add_vertex(ClusterPtr{&spec_cluster}); } diff --git a/toolsrc/src/vcpkg/postbuildlint.cpp b/toolsrc/src/vcpkg/postbuildlint.cpp index 90dcb7d642..a62d4ece52 100644 --- a/toolsrc/src/vcpkg/postbuildlint.cpp +++ b/toolsrc/src/vcpkg/postbuildlint.cpp @@ -16,9 +16,9 @@ using vcpkg::Build::PreBuildInfo; namespace vcpkg::PostBuildLint { - static auto has_extension_pred(const Files::Filesystem& fs, const std::string& ext) + static auto not_extension_pred(const Files::Filesystem& fs, const std::string& ext) { - return [&fs, ext](const fs::path& path) { return !fs.is_directory(path) && path.extension() == ext; }; + return [&fs, ext](const fs::path& path) { return fs.is_directory(path) || path.extension() != ext; }; } enum class LintStatus @@ -104,8 +104,8 @@ namespace vcpkg::PostBuildLint std::vector files_found = fs.get_files_recursive(debug_include_dir); - Util::unstable_keep_if( - files_found, [&fs](const fs::path& path) { return !fs.is_directory(path) && path.extension() != ".ifc"; }); + Util::erase_remove_if( + files_found, [&fs](const fs::path& path) { return fs.is_directory(path) || path.extension() == ".ifc"; }); if (!files_found.empty()) { @@ -206,7 +206,7 @@ namespace vcpkg::PostBuildLint static LintStatus check_for_dlls_in_lib_dir(const Files::Filesystem& fs, const fs::path& package_dir) { std::vector dlls = fs.get_files_recursive(package_dir / "lib"); - Util::unstable_keep_if(dlls, has_extension_pred(fs, ".dll")); + Util::erase_remove_if(dlls, not_extension_pred(fs, ".dll")); if (!dlls.empty()) { @@ -280,7 +280,7 @@ namespace vcpkg::PostBuildLint static LintStatus check_for_exes(const Files::Filesystem& fs, const fs::path& package_dir) { std::vector exes = fs.get_files_recursive(package_dir / "bin"); - Util::unstable_keep_if(exes, has_extension_pred(fs, ".exe")); + Util::erase_remove_if(exes, not_extension_pred(fs, ".exe")); if (!exes.empty()) { @@ -572,8 +572,8 @@ namespace vcpkg::PostBuildLint { std::vector empty_directories = fs.get_files_recursive(dir); - Util::unstable_keep_if(empty_directories, [&fs](const fs::path& current) { - return fs.is_directory(current) && fs.is_empty(current); + Util::erase_remove_if(empty_directories, [&fs](const fs::path& current) { + return !fs.is_directory(current) || !fs.is_empty(current); }); if (!empty_directories.empty()) @@ -657,8 +657,6 @@ namespace vcpkg::PostBuildLint { fs::path file; OutdatedDynamicCrt outdated_crt; - - OutdatedDynamicCrtAndFile() = delete; }; static LintStatus check_outdated_crt_linkage_of_dlls(const std::vector& dlls, @@ -707,12 +705,15 @@ namespace vcpkg::PostBuildLint static LintStatus check_no_files_in_dir(const Files::Filesystem& fs, const fs::path& dir) { std::vector misplaced_files = fs.get_files_non_recursive(dir); - Util::unstable_keep_if(misplaced_files, [&fs](const fs::path& path) { + Util::erase_remove_if(misplaced_files, [&fs](const fs::path& path) { const std::string filename = path.filename().generic_string(); if (Strings::case_insensitive_ascii_equals(filename.c_str(), "CONTROL") || Strings::case_insensitive_ascii_equals(filename.c_str(), "BUILD_INFO")) - return false; - return !fs.is_directory(path); + { + return true; + } + + return fs.is_directory(path); }); if (!misplaced_files.empty()) @@ -764,9 +765,9 @@ namespace vcpkg::PostBuildLint const fs::path release_bin_dir = package_dir / "bin"; std::vector debug_libs = fs.get_files_recursive(debug_lib_dir); - Util::unstable_keep_if(debug_libs, has_extension_pred(fs, ".lib")); + Util::erase_remove_if(debug_libs, not_extension_pred(fs, ".lib")); std::vector release_libs = fs.get_files_recursive(release_lib_dir); - Util::unstable_keep_if(release_libs, has_extension_pred(fs, ".lib")); + Util::erase_remove_if(release_libs, not_extension_pred(fs, ".lib")); if (!pre_build_info.build_type) error_count += check_matching_debug_and_release_binaries(debug_libs, release_libs); @@ -780,9 +781,9 @@ namespace vcpkg::PostBuildLint } std::vector debug_dlls = fs.get_files_recursive(debug_bin_dir); - Util::unstable_keep_if(debug_dlls, has_extension_pred(fs, ".dll")); + Util::erase_remove_if(debug_dlls, not_extension_pred(fs, ".dll")); std::vector release_dlls = fs.get_files_recursive(release_bin_dir); - Util::unstable_keep_if(release_dlls, has_extension_pred(fs, ".dll")); + Util::erase_remove_if(release_dlls, not_extension_pred(fs, ".dll")); switch (build_info.library_linkage) { diff --git a/toolsrc/src/vcpkg/statusparagraph.cpp b/toolsrc/src/vcpkg/statusparagraph.cpp index 462d8d8ed2..86946a31ab 100644 --- a/toolsrc/src/vcpkg/statusparagraph.cpp +++ b/toolsrc/src/vcpkg/statusparagraph.cpp @@ -105,7 +105,7 @@ namespace vcpkg { dep.erase(std::find(dep.begin(), dep.end(), '['), dep.end()); } - Util::unstable_keep_if(deps, [&](auto&& e) { return e != l_spec.name(); }); + Util::erase_remove_if(deps, [&](auto&& e) { return e == l_spec.name(); }); // Util::sort_unique_erase(deps); diff --git a/toolsrc/src/vcpkg/tools.cpp b/toolsrc/src/vcpkg/tools.cpp index 313b5997bc..c623d816d6 100644 --- a/toolsrc/src/vcpkg/tools.cpp +++ b/toolsrc/src/vcpkg/tools.cpp @@ -191,8 +191,8 @@ namespace vcpkg if (!fs.exists(tool_data.download_path)) { System::println("Downloading %s...", tool_name); + System::println(" %s -> %s", tool_data.url, tool_data.download_path.string()); Downloads::download_file(fs, tool_data.url, tool_data.download_path, tool_data.sha512); - System::println("Downloading %s... done.", tool_name); } else { @@ -203,7 +203,6 @@ namespace vcpkg { System::println("Extracting %s...", tool_name); Archives::extract_archive(paths, tool_data.download_path, tool_data.tool_dir_path); - System::println("Extracting %s... done.", tool_name); } else { @@ -254,6 +253,11 @@ namespace vcpkg static PathAndVersion get_path(const VcpkgPaths& paths) { + if (System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value()) + { + return {"cmake", "0"}; + } + std::vector candidate_paths; #if defined(_WIN32) || defined(__APPLE__) || defined(__linux__) static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "cmake"); @@ -318,6 +322,11 @@ namespace vcpkg static PathAndVersion get_path(const VcpkgPaths& paths) { + if (System::get_environment_variable("VCPKG_FORCE_SYSTEM_BINARIES").has_value()) + { + return {"ninja", "0"}; + } + static const ToolData TOOL_DATA = parse_tool_data_from_xml(paths, "ninja"); std::vector candidate_paths; diff --git a/toolsrc/src/vcpkg/vcpkgpaths.cpp b/toolsrc/src/vcpkg/vcpkgpaths.cpp index 748fd20e0d..a92a5673e3 100644 --- a/toolsrc/src/vcpkg/vcpkgpaths.cpp +++ b/toolsrc/src/vcpkg/vcpkgpaths.cpp @@ -34,7 +34,32 @@ namespace vcpkg paths.packages = paths.root / "packages"; paths.buildtrees = paths.root / "buildtrees"; - paths.downloads = paths.root / "downloads"; + + const auto overriddenDownloadsPath = System::get_environment_variable("VCPKG_DOWNLOADS"); + if (auto odp = overriddenDownloadsPath.get()) + { + auto asPath = fs::u8path(*odp); + if (!fs::stdfs::is_directory(asPath)) + { + Metrics::g_metrics.lock()->track_property("error", "Invalid VCPKG_DOWNLOADS override directory."); + Checks::exit_with_message( + VCPKG_LINE_INFO, + "Invalid downloads override directory: %s; " + "create that directory or unset VCPKG_DOWNLOADS to use the default downloads location.", + asPath.u8string()); + } + + paths.downloads = fs::stdfs::canonical(std::move(asPath), ec); + if (ec) + { + return ec; + } + } + else + { + paths.downloads = paths.root / "downloads"; + } + paths.ports = paths.root / "ports"; paths.installed = paths.root / "installed"; paths.triplets = paths.root / "triplets"; @@ -137,8 +162,8 @@ namespace vcpkg if (tsv && vsp) { - Util::stable_keep_if( - candidates, [&](const Toolset* t) { return *tsv == t->version && *vsp == t->visual_studio_root_path; }); + Util::erase_remove_if( + candidates, [&](const Toolset* t) { return *tsv != t->version || *vsp != t->visual_studio_root_path; }); Checks::check_exit(VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instance at %s with %s toolset.", @@ -151,7 +176,7 @@ namespace vcpkg if (tsv) { - Util::stable_keep_if(candidates, [&](const Toolset* t) { return *tsv == t->version; }); + Util::erase_remove_if(candidates, [&](const Toolset* t) { return *tsv != t->version; }); Checks::check_exit( VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instance with %s toolset.", *tsv); } @@ -159,8 +184,8 @@ namespace vcpkg if (vsp) { const fs::path vs_root_path = *vsp; - Util::stable_keep_if(candidates, - [&](const Toolset* t) { return vs_root_path == t->visual_studio_root_path; }); + Util::erase_remove_if(candidates, + [&](const Toolset* t) { return vs_root_path != t->visual_studio_root_path; }); Checks::check_exit(VCPKG_LINE_INFO, !candidates.empty(), "Could not find Visual Studio instance at %s.", diff --git a/toolsrc/src/vcpkg/visualstudio.cpp b/toolsrc/src/vcpkg/visualstudio.cpp index e3656a7d2b..83a530a100 100644 --- a/toolsrc/src/vcpkg/visualstudio.cpp +++ b/toolsrc/src/vcpkg/visualstudio.cpp @@ -130,9 +130,9 @@ namespace vcpkg::VisualStudio { // We want lexically_normal(), but it is not available // Correct root path might be 2 or 3 levels up, depending on if the path has trailing backslash. Try both. - auto common7_tools = fs::path {*path_as_string}; - append_if_has_cl(fs::path {*path_as_string}.parent_path().parent_path()); - append_if_has_cl(fs::path {*path_as_string}.parent_path().parent_path().parent_path()); + auto common7_tools = fs::path{*path_as_string}; + append_if_has_cl(fs::path{*path_as_string}.parent_path().parent_path()); + append_if_has_cl(fs::path{*path_as_string}.parent_path().parent_path().parent_path()); } // VS2015 instance from Program Files @@ -143,7 +143,7 @@ namespace vcpkg::VisualStudio std::vector get_visual_studio_instances(const VcpkgPaths& paths) { - std::vector sorted {get_visual_studio_instances_internal(paths)}; + std::vector sorted{get_visual_studio_instances_internal(paths)}; std::sort(sorted.begin(), sorted.end(), VisualStudioInstance::preferred_first_comparator); return Util::fmap(sorted, [](const VisualStudioInstance& instance) { return instance.to_string(); }); } @@ -160,8 +160,8 @@ namespace vcpkg::VisualStudio std::vector found_toolsets; std::vector excluded_toolsets; - const SortedVector sorted {get_visual_studio_instances_internal(paths), - VisualStudioInstance::preferred_first_comparator}; + const SortedVector sorted{get_visual_studio_instances_internal(paths), + VisualStudioInstance::preferred_first_comparator}; const bool v140_is_available = Util::find_if(sorted, [&](const VisualStudioInstance& vs_instance) { return vs_instance.major_version() == "14"; @@ -170,7 +170,7 @@ namespace vcpkg::VisualStudio for (const VisualStudioInstance& vs_instance : sorted) { const std::string major_version = vs_instance.major_version(); - if (major_version == "15") + if (major_version >= "15") { const fs::path vc_dir = vs_instance.root_path / "VC"; @@ -202,8 +202,8 @@ namespace vcpkg::VisualStudio // Locate the "best" MSVC toolchain version const fs::path msvc_path = vc_dir / "Tools" / "MSVC"; std::vector msvc_subdirectories = fs.get_files_non_recursive(msvc_path); - Util::unstable_keep_if(msvc_subdirectories, - [&fs](const fs::path& path) { return fs.is_directory(path); }); + Util::erase_remove_if(msvc_subdirectories, + [&fs](const fs::path& path) { return !fs.is_directory(path); }); // Sort them so that latest comes first std::sort( @@ -217,7 +217,7 @@ namespace vcpkg::VisualStudio paths_examined.push_back(dumpbin_path); if (fs.exists(dumpbin_path)) { - const Toolset v141_toolset { + const Toolset v141_toolset{ vs_instance.root_path, dumpbin_path, vcvarsall_bat, {}, V_141, supported_architectures}; const auto english_language_pack = dumpbin_path.parent_path() / "1033"; @@ -232,12 +232,12 @@ namespace vcpkg::VisualStudio if (v140_is_available) { - const Toolset v140_toolset {vs_instance.root_path, - dumpbin_path, - vcvarsall_bat, - {"-vcvars_ver=14.0"}, - V_140, - supported_architectures}; + const Toolset v140_toolset{vs_instance.root_path, + dumpbin_path, + vcvarsall_bat, + {"-vcvars_ver=14.0"}, + V_140, + supported_architectures}; found_toolsets.push_back(v140_toolset); } diff --git a/toolsrc/vcpkg.sln b/toolsrc/vcpkg.sln index 6b92c973b8..8d0c849c6a 100644 --- a/toolsrc/vcpkg.sln +++ b/toolsrc/vcpkg.sln @@ -17,6 +17,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "scripts", "scripts", "{F589 ..\scripts\get_triplet_environment.cmake = ..\scripts\get_triplet_environment.cmake ..\scripts\internalCI.ps1 = ..\scripts\internalCI.ps1 ..\scripts\ports.cmake = ..\scripts\ports.cmake + ..\scripts\vcpkgTools.xml = ..\scripts\vcpkgTools.xml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cmake", "cmake", "{A0122231-04D5-420B-81CA-7960946E5E65}"