From 8ed5453b1b5e6e8b3c202fb03c2084e04e5f6b44 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Sun, 15 Apr 2018 23:46:50 +0200
Subject: [PATCH] Fix cmake with Qt 5.11_beta3 (dropping qt5_use_modules)

---
 cmake/modules/FindQt4or5.cmake | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/cmake/modules/FindQt4or5.cmake b/cmake/modules/FindQt4or5.cmake
index 855a48e..d73b3a2 100644
--- a/cmake/modules/FindQt4or5.cmake
+++ b/cmake/modules/FindQt4or5.cmake
@@ -49,6 +49,16 @@ macro(_qt4or5_component_names_to_qt_components output_list)
   list(REMOVE_DUPLICATES ${output_list})
 endmacro()
 
+macro(_qt5_component_names_to_target_link_libaries output_list)
+  foreach(module ${ARGN})
+    _qt4or5_component_name_to_qt_component(qt_component ${module})
+    list(APPEND ${output_list} Qt5::${qt_component})
+    unset(qt_component)
+  endforeach()
+
+  list(REMOVE_DUPLICATES ${output_list})
+endmacro()
+
 if (Qt4or5_FIND_QUIETLY)
   set(_Qt4or5_FIND_PACKAGE_ARGS QUIET)
 endif()
@@ -195,13 +205,13 @@ function(qt4or5_use_modules _target _link_type)
     set(modules ${_link_type} ${ARGN})
   endif()
 
-  _qt4or5_component_names_to_qt_components(real_modules ${modules})
-
   # Verify that Qt5 was found before using qt5_* macros,
   # otherwise cmake will bail out if they are undefined.
   if (${QT_VERSION} STREQUAL "5" AND Qt5Core_FOUND)
-    qt5_use_modules(${_target} ${link_type} ${real_modules})
+    _qt5_component_names_to_target_link_libaries(real_modules ${modules})
+    target_link_libraries(${_target} ${link_type} ${real_modules})
   elseif (${QT_VERSION} STREQUAL "4")
+    _qt4or5_component_names_to_qt_components(real_modules ${modules})
     qt4_use_modules(${_target} ${link_type} ${real_modules})
   endif()
 endfunction()
-- 
2.17.0

