while playing with qtbase on x64-uwp i found that it could not pass a
try_compile command since important variables are not correctly
forwarded. As such I concluded that the handling of try_compile in vcpkg
is completely wrong.
If a call to `vcpkg_replace_string` makes no changes i.e doesn't
effectively replace a string, A warning is logged.
This should also help identify ports that no longer need these calls to
fix things in `.pc` files etc.
Fixes https://github.com/microsoft/vcpkg/issues/39318
1.Delete tools(quicping,quicreach) that do not exist.
2. Fix the issue that afxdp_helper.h file does not exist during
compilation.
3. Remove patches fix-platform.patch and fix-warnings.patch that have
been fixed upstream.
Passing on
https://dev.azure.com/vcpkg/public/_build/results?buildId=103938&view=results.
```
PASSING, REMOVE FROM FAIL LIST: c4core:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: botan:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: concurrencpp:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: cppgraphqlgen:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: graphicsmagick:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: libcoro:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: ms-ifc-sdk:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: stx:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: yoga:arm-neon-android
PASSING, REMOVE FROM FAIL LIST: c4core:x64-android
PASSING, REMOVE FROM FAIL LIST: botan:x64-android
PASSING, REMOVE FROM FAIL LIST: concurrencpp:x64-android
PASSING, REMOVE FROM FAIL LIST: cppgraphqlgen:x64-android
PASSING, REMOVE FROM FAIL LIST: graphicsmagick:x64-android
PASSING, REMOVE FROM FAIL LIST: libcoro:x64-android
PASSING, REMOVE FROM FAIL LIST: ms-ifc-sdk:x64-android
PASSING, REMOVE FROM FAIL LIST: stx:x64-android
PASSING, REMOVE FROM FAIL LIST: yoga:x64-android
PASSING, REMOVE FROM FAIL LIST: c4core:arm64-android
PASSING, REMOVE FROM FAIL LIST: botan:arm64-android
PASSING, REMOVE FROM FAIL LIST: concurrencpp:arm64-android
PASSING, REMOVE FROM FAIL LIST: cppgraphqlgen:arm64-android
PASSING, REMOVE FROM FAIL LIST: graphicsmagick:arm64-android
PASSING, REMOVE FROM FAIL LIST: libcoro:arm64-android
PASSING, REMOVE FROM FAIL LIST: ms-ifc-sdk:arm64-android
PASSING, REMOVE FROM FAIL LIST: stx:arm64-android
PASSING, REMOVE FROM FAIL LIST: yoga:arm64-android
```
Added `c4core` to `ci.baseline.txt` by #29406, which has been fixed by
#39287.
Added `botan` to `ci.baseline.txt` by #37252, which has been fixed by
#38975.
Added `concurrencpp` to `ci.baseline.txt` by #29406, which may have been
fixed by #39160.
Added `cppgraphqlgen` to `ci.baseline.txt` by #29406, which may have
been fixed by #38975.
Added `graphicsmagick` to `ci.baseline.txt` by #29406, which has been
fixed by #39210.
Added `libcoro` to `ci.baseline.txt` by #30623, which may have been
fixed by #38975.
Added `ms-ifc-sdk` to `ci.baseline.txt` by #35972, which may have been
fixed by #39210.
Added `stx` to `ci.baseline.txt` by #29406, which may have been fixed by
#38975.
Added `yoga` to `ci.baseline.txt` by #37507, which may have been fixed
by #38975.
Avoid wrong use of popular but ambiguous variables (`WIN32` etc.) in
scripts and portfiles by detection in CI.
Sometimes the variables are used wrongly, and sometimes this isn't
caught in PR review. This PR tries to catch those variables (when in the
active code path in script mode). [This can happen to every
contributor](https://github.com/microsoft/vcpkg/pull/34356#discussion_r1360074122),
even if he/she knows the rules ... vcpkg is raising the bar higher than
usual, having to deal with targets and hosts even in script mode.
(`b2-options.cmake` (boost fragment) shows where we get if we don't pay
attention: the same code being used in script mode (`WIN32` meaning
host) and in project mode (`WIN32` meaning target).)
The new check doesn't break any user builds because it relies on command
line options. However it changes the ABI hashes.
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)