introduce `vcpkg_generate_meson_cmd_args` to generate the command line
args vcpkg calls meson with. This needed to be factored out since it
allows calling the meson-py backend of setuptools with the same
arguments as calling meson manually within vcpkg.
additionally:
- fixed `CMAKE_BUILD_TYPE` (var `buildconfig` does not exist)
- add `ADDITIONAL_PROPERTIES` option
- removed a lot of stuff being added to PATH unnecessarily
- added option `--pkgconfig.relocatable` (probably not necessary but we
want this any way.)
- added option `--pkg-config-path` with correct paths (allows removing
the env variables for it)
The `use-prov-client` feature in the `vcpkg.json` manifest file was
removed in PR #29046, ~probably by mistake when removing the
`public-preview` feature,~ and therefore it is not possible to enable
the device provisioning client.
The latest 3.5.x releases have an `INTEGRATE_VCPKG` option that is
enabled to be compatible with vcpkg packages lookup so that the original
patch is not needed anymore. Besides, in this case, `asio` is depended
rather than `boost-asio`.
Fixes#38764, update `7zip` to 24.06.
No feature needs to be tested, the usage test passed on
`x64-windows`(header files found):
```
7zip provides CMake targets:
# this is heuristically generated, and may not be correct
find_package(7zip CONFIG REQUIRED)
target_link_libraries(main PRIVATE 7zip::7zip)
```
In an internal version of Visual Studio, `arrow`, `concurrencpp` and
`qtwebengine` install failed with following error:
```
arrow: \cpp\src\arrow/json/object_writer.h(39): error C2039: 'string': is not a member of 'std'
concurrencpp: \include\concurrencpp/threads/thread.h(23): error C2039: 'string': is not a member of 'std'
qtwebengine: \src\3rdparty\gn\src\gn\escape.h(77): error C2039: 'string': is not a member of 'std'
```
This issue caused by the STL PR:
https://github.com/microsoft/STL/pull/4633, and according to Stephan's
suggestion, the affected files need to include the `Standard <string>
header`.
I have submitted an issue on the qt upstream:
https://bugreports.qt.io/browse/QTBUG-126156
Mitigation for #39198.
Mesa CI is currently disabled for linux and osx, and also doesn't run
for android.
So we see CI effects only for Windows. Improving CI situation for mesa
is the subject of #36081. So keeping egl out of CI like before
https://github.com/microsoft/vcpkg/pull/37599 is the best option at the
moment.
Fixes https://github.com/microsoft/vcpkg/issues/34492
- [X] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [X] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [X] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [X] The versioning scheme in `vcpkg.json` matches what upstream says.
- [X] The license declaration in `vcpkg.json` matches what upstream
says.
- [X] The installed as the "copyright" file matches what upstream says.
- [X] The source code of the component installed comes from an
authoritative source.
- [X] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [X] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [X] Only one version is in the new port's versions file.
- [X] Only one version is added to each modified port's versions file.
Notes:
- This library is static only, so it's only supported for the static
triplets.
- Unfortunately, godot-cpp is not yet installable, so I had to patch its
cmake script.
I have made a PR upstream:
https://github.com/godotengine/godot-cpp/pull/1418
But in the meanwhile, I have created an unofficial export target
`unofficial::godot::cpp`.