diff options
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/qt_configure.prf | 15 | ||||
-rw-r--r-- | mkspecs/features/qt_functions.prf | 9 |
2 files changed, 24 insertions, 0 deletions
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 7d5814e4b1..72dd1c4c8d 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -1397,6 +1397,21 @@ defineTest(qtConfOutput_feature) { } } +defineTest(qtConfOutput_publicFeature) { + name = "$$eval($${1}.name)" + isEmpty(name): \ + name = $$eval($${1}.feature) + feature = $$replace(name, [-+.], _) + + $${2} { + qtConfOutputVar(append, "publicPro", "QT.global.enabled_features", $$name) + qtConfOutputSetDefine("publicHeader", "QT_FEATURE_$$feature", 1) + } else { + qtConfOutputVar(append, "publicPro", "QT.global.disabled_features", $$name) + qtConfOutputSetDefine("publicHeader", "QT_FEATURE_$$feature", -1) + } +} + # currently this is somewhat inconsistent, as the feature is output to the public pro file, # whereas the define is being added to the private pro file. # This should get cleaned up to add to the private pro and header instead. diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index f03472d940..7e6433814b 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -302,3 +302,12 @@ defineTest(prepareRecursiveTarget) { export($${target}.CONFIG) export($${target}.recurse_target) } + +defineTest(qtConfig) { + contains(QT.global.enabled_features, $$1): \ + return(true) + contains(QT.global.disabled_features, $$1): \ + return(false) + + error("Could not find feature $${1}.") +} |