diff options
| author | Alexandru Croitor <alexandru.croitor@qt.io> | 2025-11-17 17:02:25 +0100 |
|---|---|---|
| committer | Alexandru Croitor <alexandru.croitor@qt.io> | 2025-11-26 16:51:46 +0100 |
| commit | 1ecb20a868a2101189e3223150e01bf1b9f215b1 (patch) | |
| tree | ea7d97efb1cd329448cc583a1af8ec9154a8c31f /src/corelib/kernel/qmetacontainer.cpp | |
| parent | 0082c6af2c97e339b8a82de360bdfeff1efa86fd (diff) | |
CMake: Fix exporting INTERFACE_ feature values in multi-config builds
The build system used qt_internal_add_genex_properties_export to
export properties containing feature values like
QT_ENABLED_PUBLIC_FEATURES for interface library targets.
This worked fine for single config builds, but fails when configuring
standalone tests with a multi-config build.
The problem is that in multi-config builds, the exported values are
wrapped with genexes, which breaks feature checks of the form
if(QT_FEATURE_foo).
Rename the qt_internal_add_genex_properties_export function to
qt_internal_add_custom_properties_to_export and extend it to support
two kinds of properties:
- Properties that may contain genexes and need special handling in
multi-config builds (e.g. paths)
- Properties that will never contain genexes (e.g. feature values)
Use the latter kind for exporting the feature properties.
Amends e6984bc55b84278c1eb8813a9bfb5e59fe3781be
Amends d51d7d4d5c87c37ac0b35e15857761e5e5815cc7
Amends 461020a86aa5822325edba9ec565db39e5df8092
Amends b56dc55c3a5c4164ad84fd61c44638a3cb196978
Pick-to: 6.8 6.10
Task-number: QTBUG-139986
Change-Id: I5017f9775268e939cf06f05a957a91883e2a5919
Reviewed-by: Alexey Edelev <semlanik@gmail.com>
Diffstat (limited to 'src/corelib/kernel/qmetacontainer.cpp')
0 files changed, 0 insertions, 0 deletions
