From f3cf1a6856c6f981d0fd8c229ae7f41ffd93f84b Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 1 Nov 2018 14:56:13 +0100 Subject: [PATCH] CMake: Improve handling of qtHaveModule in pro2cmake script Map "qtHaveModule(foo)" in qmake to "TARGET Qt::Foo" in cmake. Change-Id: I63c251f0f2dfd2e95adc996a83b528e9b4e9636e Reviewed-by: Simon Hausmann --- util/cmake/pro2cmake.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util/cmake/pro2cmake.py b/util/cmake/pro2cmake.py index 37364d63ada..f79bf19ca4a 100755 --- a/util/cmake/pro2cmake.py +++ b/util/cmake/pro2cmake.py @@ -37,7 +37,7 @@ import typing import pyparsing as pp -from helper import map_qt_library, featureName, substitute_platform, substitute_libs +from helper import map_qt_library, map_qt_base_library, featureName, substitute_platform, substitute_libs def _parse_commandline(): @@ -386,7 +386,10 @@ def map_condition(condition: str) -> str: # some features contain e.g. linux, that should not be turned upper case feature = re.match(r"(qtConfig|qtHaveModule)\(([a-zA-Z0-9_-]+)\)", part) if feature: - part = 'QT_FEATURE_' + featureName(feature.group(2)) + if (feature.group(1) == "qtHaveModule"): + part = 'TARGET {}'.format(map_qt_base_library(feature.group(2))) + else: + part = 'QT_FEATURE_' + featureName(feature.group(2)) else: part = substitute_platform(part)