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.
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
- Fix control of cups dependency
- Fix binary and directory name collision in dynamic builds by not
deploy plugins into tools/Qt6/bin (wasn't necessary in the first place
due to qt.conf working as expected) (closes#28340)
- (New) Fix deploy script on windows (closes#38936)
- Fix dbus linkage as described here
https://github.com/microsoft/vcpkg/pull/38682#issuecomment-2106308954
- Fix qtwebengine resource location to be in line what is stated in the
generated `qt.conf`. There is probably a variable to control the
installation location but moving was simpler then trying to find that
variable. You will only notice it if you actually try to run a program
using QtWebEngineProcess with the same `qt.conf`
* Fix ICU support option
* update version
* [libxml2] Fix ICU support option
* format vcpkg.json
* update version
* Add qtwebengine depend on libxml2[icu]
* update version
* update version
* update feature
* update version
---------
Co-authored-by: vzhli17 <v-zhli17@microsoft.com>
* [Qt] Update to 6.6.0
* fix patch in qtbase
* add tmp port to get qtwebengine logs
* remove dep in tmp port
* Fix CMAKE_BUILD_TYPE being hijacked by qt scripts.
* Fix qtwebengine build?
* add another script to be fixed
* remove path to cmake
* fix qtgrpc
* looks like the variable is defined somewhere.
* avoid aliasing only if the target exists
* try different aliasing fix
* fix patch
* Dep stuff
* reenable atomics
* reenable librt
* remove tmp
* v db
* v db
* add vulkan-header as a dependency
* v db
* also needs libs
* v db
* add a comment to remember me not to touch this again
* v db
* [qt] update to 6.4.2
* v db
* qtspeech prepare for features if required ports get added
* v db
* retry
* remove patch
* add failing tmp port to get CI logs for qtwebengine ....
* try deactivating jumbo build
* add patch to fix std issue
* remove tmp port
* v db
* deactivate qtspeech on x86 & windows due to call conv
* v db
* try qt 6.4-beta4
* fix patch
* fix copyright install
* fix qtdeclarative
* always perform import prefix correction
* adjust qtmultimedia
* fix qttools
* add missing "
* fix linux ?
* fix qtmultimedia with gstreamer
* fix qtvirtualkeyboard
* fix qtwebengine
* fix qmllint regression in qtdeclarative on osx/linux
* fix details
* fix qttools deps
* fix qtdeclarative deps
* remove xcb feature
* fix hunspell patch
* bump qtbase
* add qt3d
* format manifest
* test features in CI
* pass ci baseline stuff
* vulkan is skip in ci so cannot force it.
* remove extra ,
* fix deps
* try to fix promotion
* gstreamer adjustments.
* fix gstreamer on linux
* fix gstreamer stuff
* fix x264 api import macro
* fix gst-rsp-server
* correctly replace
* promote targets....
* enable arm64 qtwebengine
* --trace-expand
* install wrapper for egl.
* add newline
* remove opengl from skip list
* add gl to link
* another try
* retry again
* test dynamic angle linkage
* retry
* link XNVCtrl
* retry
* add libxnvctrl
* retry
* retry again...
* move wrapper to angle
* revert changes to egl-reg
* more debugging
* try again
* fix stuff
* add missing ,
* egl stuff
* wrapper stuff
* fix angle
* remove double dep
* remove libxnvctrl
* format manifest
* revert trace
* bump version
* bump v
* v db
* remove trace
* v db
* refine supports
* v db
* remove qtmultimedia from baseline
* format manifest
* update all the stuff
* refine qtmultimedia
* fix qtmultimedia?
* fix stuff
* fix stuff ?
* trace again
* Try fixing qtmultimedia for static windows builds.
* is ci faster than me...?
* refine
* fix gstreamer static usage
* fix all the qt things!
* fix the path
* try getting logs.
* fix patch
* trace stuff
* only fix stuff when it needs fixing
* force lookup of system EGL. migth need a wrapper in opengl instead.
* try fixing opengl
* don't directly call _find_package
* don't search in install prefix
* retry
* disable trace
* have the correct fix for linux ?
* move angle into a subfolder. No way to deal with it otherwise on linux.
* make the wrapper do nothing
* try fixing allegro5
* lower case
* remove wrapper
* v db
* remove trace
* v db
* remove trace
* v db
* try fixing allegro5 on arm
* retry again
* try again
* revert allegro
* put on ci baseline
* v db
* v db
* bump port
* v db fix
* remove conflicting wrapper
* v db
* glib now uses pcre2
* fix gstreamer picking up egl on windows
* v db
* fix find_package call
* Add bullet feature control
* Disable Qt
* Update versions
* Remove obsolete qt patch junk
* Update versions
* v db
* comments
* v db
* v db
* v db
* v db
* restore correction lost in merge
* v db
* promote to global
* v db
* Fix minimal qtbase builds with opengl disabled
* make host dependency on qtshadertools a normal dependency in qtmultimedia.
* v db
* opengl dynamic doesn't work on !windows
* v db
Co-authored-by: Kai Pastor <dg0yt@darc.de>
* bump qtbase
* add qt3d
* format manifest
* test features in CI
* pass ci baseline stuff
* vulkan is skip in ci so cannot force it.
* remove extra ,
* fix deps
* try to fix promotion
* gstreamer adjustments.
* fix gstreamer on linux
* fix gstreamer stuff
* fix x264 api import macro
* fix gst-rsp-server
* correctly replace
* promote targets....
* enable arm64 qtwebengine
* --trace-expand
* install wrapper for egl.
* add newline
* remove opengl from skip list
* add gl to link
* another try
* retry again
* test dynamic angle linkage
* retry
* link XNVCtrl
* retry
* add libxnvctrl
* retry
* retry again...
* move wrapper to angle
* revert changes to egl-reg
* more debugging
* try again
* fix stuff
* add missing ,
* egl stuff
* wrapper stuff
* fix angle
* remove double dep
* remove libxnvctrl
* format manifest
* revert trace
* bump version
* bump v
* v db
* remove trace
* v db
* refine supports
* v db
* remove qtmultimedia from baseline