summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/cmake/Qt5BasicConfig.cmake.in12
-rw-r--r--tests/manual/cmake/pass3/CMakeLists.txt5
2 files changed, 14 insertions, 3 deletions
diff --git a/mkspecs/cmake/Qt5BasicConfig.cmake.in b/mkspecs/cmake/Qt5BasicConfig.cmake.in
index 2c8cd1739a..77d1f5dbf3 100644
--- a/mkspecs/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/cmake/Qt5BasicConfig.cmake.in
@@ -14,6 +14,18 @@ set(Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS QT_\${_CMAKE_MODULE_NAME_UPPER}
set(_Qt5_MODULE_DEPENDENCIES \"$${CMAKE_MODULE_DEPS}\")
+foreach(_module_dep ${_Qt5_MODULE_DEPENDENCIES})
+ if (NOT Qt5${_module_dep}_FOUND)
+ find_package(Qt5${_module_dep} REQUIRED)
+ endif()
+ list(APPEND Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS ${Qt5${_module_dep}_INCLUDE_DIRS})
+ list(APPEND Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS})
+ list(APPEND Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS})
+endforeach()
+list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_INCLUDE_DIRS)
+list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_DEFINITIONS)
+list(REMOVE_DUPLICATES Qt5$${CMAKE_MODULE_NAME}_COMPILE_DEFINITIONS)
+
if (NOT _Qt5$${CMAKE_MODULE_NAME}_target)
set(_Qt5$${CMAKE_MODULE_NAME}_target 1)
if (\"$${CMAKE_STATIC_TYPE}\" STREQUAL \"\")
diff --git a/tests/manual/cmake/pass3/CMakeLists.txt b/tests/manual/cmake/pass3/CMakeLists.txt
index 8c39b4f4a3..11402e2e18 100644
--- a/tests/manual/cmake/pass3/CMakeLists.txt
+++ b/tests/manual/cmake/pass3/CMakeLists.txt
@@ -3,11 +3,10 @@ cmake_minimum_required(VERSION 2.8)
project(pass3)
-find_package(Qt5Core REQUIRED)
-find_package(Qt5Gui REQUIRED)
+# The module finds its dependencies
find_package(Qt5Widgets REQUIRED)
-include_directories(${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS})
+include_directories(${Qt5Widgets_INCLUDE_DIRS})
set(CMAKE_INCLUDE_CURRENT_DIR ON)