Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.6.3
-
None
-
-
53eb8dd06 (dev), 55d81b3ef (dev), faa06fc6f (dev), be009c685 (dev)
Description
The configure script translates
- -feature-foo to cmake -DINPUT_foo=ON
- -no-feature-foo to cmake -DINPUT_foo=OFF
This contradicts what one would expect and is contrary to what our configure-cmake-mapping.md document says.
Also, there's a pecularity in how -feature-system-foo switches are handled. Those are translated to cmake -DINPUT_foo=system, which is surprising at least.
We have code that calculates the value of feature foo from INPUT_foo if Qt is configured via the configure script, and we're even saving whether a feature value was evaluated using INPUT_foo to support toggling features with and without configure.
All this special handling could be removed if configure translated arguments like this:
- -feature-foo to cmake -DFEATURE_foo=ON
- -no-feature-foo to cmake -DFEATURE_foo=OFF
I don't see at the moment why we're doing this INPUT_foo dance at all.
The only reason I can come up with is: QtProcessConfigureArguments.cmake is a direct port of the qmake configure code, and that's how it was done there and then.
Attachments
Issue Links
- relates to
-
QTBUG-123906 6.8.0 -no-gui build produces more binaries compared to 6.7.0
-
- Closed
-
For Gerrit Dashboard: QTBUG-120529 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
528274,8 | configure: Convert -feature-* arguments to -DFEATURE_foo CMake args | dev | qt/qtbase | Status: MERGED | +2 | 0 |
528275,10 | CMake: Remove qt_internal_compute_features_from_possible_inputs | dev | qt/qtbase | Status: MERGED | +2 | 0 |
528276,10 | CMake: Simplify feature calculation | dev | qt/qtbase | Status: MERGED | +2 | 0 |
530843,8 | configure: translate inputs matching feature names to FEATURE_foo | dev | qt/qtbase | Status: MERGED | +2 | 0 |