summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-07-22 19:27:36 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-07-22 18:48:17 +0000
commit59912b95581031a2ea3513b7b900089e928dfbf5 (patch)
tree40e2af119eb1e93f4f8e4c213d0cc10ea0e5d657
parent35fbe525fe88b5c87b2e0ab5353c749d571b167e (diff)
Fix building examples when doing a Qt static build
The build failed due to two different reasons. We tried to assign properties on an aliased target, which does not work. Make sure to set properties on the original unaliased target. We tried to query for the value of the QT_DEFAULT_PLUGINS property when automatically linking to plugins, but the generator expression failed in the AND section, because querying for an unexisting value does not return an integer, and the AND expression expects an integer. The fix is to wrap the relevant expression in a BOOL generator expression. Change-Id: Ia065bc1de939cee49e5de0b2aef70e356cc5419a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Qt CMake Build Bot
-rw-r--r--cmake/QtPlugins.cmake.in12
1 files changed, 11 insertions, 1 deletions
diff --git a/cmake/QtPlugins.cmake.in b/cmake/QtPlugins.cmake.in
index e6547508a7..5fcce8e42d 100644
--- a/cmake/QtPlugins.cmake.in
+++ b/cmake/QtPlugins.cmake.in
@@ -2,8 +2,18 @@
if(NOT @BUILD_SHARED_LIBS@)
set(_module_target "@INSTALL_CMAKE_NAMESPACE@::@QT_MODULE@")
+ # Properties can't be set on aliased targets, so make sure to unalias the target. This is needed
+ # when Qt examples are built as part of the Qt build itself.
+ get_target_property(_aliased_target ${_module_target} ALIASED_TARGET)
+ if(_aliased_target)
+ set(_module_target ${_aliased_target})
+ endif()
+ unset(_aliased_target)
set(_default_plugins_are_enabled "$<GENEX_EVAL:$<TARGET_PROPERTY:QT_DEFAULT_PLUGINS>>")
+ # Make sure to boolify the result of the expression, in case if the returned property value
+ # is empty.
+ set(_default_plugins_are_enabled_wrapped "$<BOOL:${_default_plugins_are_enabled}>")
set(_manual_plugins_genex "$<GENEX_EVAL:$<TARGET_PROPERTY:QT_PLUGINS>>")
set(_no_plugins_genex "$<GENEX_EVAL:$<TARGET_PROPERTY:QT_NO_PLUGINS>>")
@@ -23,7 +33,7 @@ if(NOT @BUILD_SHARED_LIBS@)
"$<BOOL:$<OR:"
"${_plugin_is_whitelisted},"
"$<AND:"
- "${_default_plugins_are_enabled},"
+ "${_default_plugins_are_enabled_wrapped},"
"${_plugin_is_default},"
"${_plugin_is_not_blacklisted}"
">"