diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-03-31 14:12:01 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-04-01 21:19:35 +0200 |
commit | 7909de1bebe3bac32286513025fc00220cd29ec1 (patch) | |
tree | c72354cc0468e47e81c344c6f1a6452b744c7fc0 /cmake/QtFeature.cmake | |
parent | c20f23e03b3208f445202f5b071f0b62de1b7d01 (diff) |
CMake: Define QT_STATIC for static builds
QT_STATIC must be defined for static builds to have the right
import/export symbol macros defined. Originally, this macro is wrapped
in a condition. That's why we extend qt_feature_definition to be able
to write a prerequisite to qconfig.h.
Change-Id: I610e60acc7f5bdc031eff6d53a76e0b229a5c8c2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake/QtFeature.cmake')
-rw-r--r-- | cmake/QtFeature.cmake | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake index c48e13833e..b957253fea 100644 --- a/cmake/QtFeature.cmake +++ b/cmake/QtFeature.cmake @@ -343,7 +343,7 @@ endfunction() function(qt_feature_definition feature name) qt_feature_normalize_name("${feature}" feature) - qt_parse_all_arguments(arg "qt_feature_definition" "NEGATE" "VALUE" "" ${ARGN}) + qt_parse_all_arguments(arg "qt_feature_definition" "NEGATE" "VALUE;PREREQUISITE" "" ${ARGN}) # Store all the define related info in a unique variable key. set(key_name "_QT_FEATURE_DEFINE_DEFINITION_${feature}_${name}") @@ -363,7 +363,7 @@ function(qt_evaluate_feature_definition key) cmake_parse_arguments(arg "NEGATE;" - "FEATURE;NAME;VALUE;" "" ${${key}}) + "FEATURE;NAME;VALUE;PREREQUISITE" "" ${${key}}) set(expected ON) if (arg_NEGATE) @@ -373,10 +373,18 @@ function(qt_evaluate_feature_definition key) set(msg "") if(QT_FEATURE_${arg_FEATURE} STREQUAL expected) + set(indent "") + if(arg_PREREQUISITE) + string(APPEND msg "#if ${arg_PREREQUISITE}\n") + set(indent " ") + endif() if (arg_VALUE) - string(APPEND msg "#define ${arg_NAME} ${arg_VALUE}\n") + string(APPEND msg "${indent}#define ${arg_NAME} ${arg_VALUE}\n") else() - string(APPEND msg "#define ${arg_NAME}\n") + string(APPEND msg "${indent}#define ${arg_NAME}\n") + endif() + if(arg_PREREQUISITE) + string(APPEND msg "#endif\n") endif() string(APPEND __QtFeature_public_extra "${msg}") |