summaryrefslogtreecommitdiffstats
path: root/src/gui/configure.cmake
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-05-17 14:22:57 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-05-20 13:15:16 +0000
commite4b8c488bd8b350f1a19874c4859ae2699afc747 (patch)
tree2c232002f97aae4f010e49c1dab09f8a9d9b4be5 /src/gui/configure.cmake
parent42c8c38564c11a86a553139f21322ad232ab5957 (diff)
Improve configure2cmake to find_package only in certain conditions
It doesn't make much sense to look for X11 related packages on macOS and Windows by default. Usually they would not be there, and as a result the configuration step would show a long list of scary not found packages, and also eat precious configure time. Change the conversion script to allow putting conditions around generated find_package calls. These conditions can be manually set in the conversion script library mapping, using the emit_if argument, which we do for the X11 and Wayland related packages. They are also computed by checking which features use a given library, and if the feature is protected by a simple emitIf condition like config.linux, the relevant library find_package call will be protected by the same condition. If a developer still wishes to look for all packages, they can define the CACHE variable QT_FIND_ALL_PACKAGES_ALWAYS to ON. The relevant configure.cmake files are regenerated in this patch. Change-Id: I6f918a94f50257ec41d6216305dae9774933389a Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/gui/configure.cmake')
-rw-r--r--src/gui/configure.cmake80
1 files changed, 60 insertions, 20 deletions
diff --git a/src/gui/configure.cmake b/src/gui/configure.cmake
index c7a9a5f848..9d2cf7148d 100644
--- a/src/gui/configure.cmake
+++ b/src/gui/configure.cmake
@@ -38,26 +38,66 @@ qt_find_package(OpenGL PROVIDED_TARGETS OpenGL::GL)
qt_find_package(GLESv2 PROVIDED_TARGETS GLESv2::GLESv2)
qt_find_package(Tslib PROVIDED_TARGETS PkgConfig::Tslib)
qt_find_package(Vulkan PROVIDED_TARGETS Vulkan::Vulkan)
-qt_find_package(Wayland PROVIDED_TARGETS Wayland::Server)
-qt_find_package(X11 PROVIDED_TARGETS X11::XCB)
-qt_find_package(X11 PROVIDED_TARGETS ${X11_SM_LIB} ${X11_ICE_LIB})
-qt_find_package(XCB 1.9 PROVIDED_TARGETS XCB::XCB)
-qt_find_package(XCB COMPONENTS ICCCM PROVIDED_TARGETS XCB::ICCCM)
-qt_find_package(XCB COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE)
-qt_find_package(XCB COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS)
-qt_find_package(XCB COMPONENTS RENDERUTIL PROVIDED_TARGETS XCB::RENDERUTIL)
-qt_find_package(XCB COMPONENTS RANDR PROVIDED_TARGETS XCB::RANDR)
-qt_find_package(XCB COMPONENTS SHAPE PROVIDED_TARGETS XCB::SHAPE)
-qt_find_package(XCB COMPONENTS SHM PROVIDED_TARGETS XCB::SHM)
-qt_find_package(XCB COMPONENTS SYNC PROVIDED_TARGETS XCB::SYNC)
-qt_find_package(XCB COMPONENTS XFIXES PROVIDED_TARGETS XCB::XFIXES)
-qt_find_package(XCB COMPONENTS XINERAMA PROVIDED_TARGETS XCB::XINERAMA)
-qt_find_package(XCB COMPONENTS XKB PROVIDED_TARGETS XCB::XKB)
-qt_find_package(XCB COMPONENTS RENDER PROVIDED_TARGETS XCB::RENDER)
-qt_find_package(XCB COMPONENTS GLX PROVIDED_TARGETS XCB::GLX)
-qt_find_package(XCB COMPONENTS XINPUT PROVIDED_TARGETS XCB::XINPUT)
-qt_find_package(XKB 0.4.1 PROVIDED_TARGETS XKB::XKB)
-qt_find_package(XRender PROVIDED_TARGETS PkgConfig::xrender)
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(Wayland PROVIDED_TARGETS Wayland::Server)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(X11 PROVIDED_TARGETS X11::XCB)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(X11 PROVIDED_TARGETS ${X11_SM_LIB} ${X11_ICE_LIB})
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB 1.9 PROVIDED_TARGETS XCB::XCB)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS ICCCM PROVIDED_TARGETS XCB::ICCCM)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS IMAGE PROVIDED_TARGETS XCB::IMAGE)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS KEYSYMS PROVIDED_TARGETS XCB::KEYSYMS)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS RENDERUTIL PROVIDED_TARGETS XCB::RENDERUTIL)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS RANDR PROVIDED_TARGETS XCB::RANDR)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS SHAPE PROVIDED_TARGETS XCB::SHAPE)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS SHM PROVIDED_TARGETS XCB::SHM)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS SYNC PROVIDED_TARGETS XCB::SYNC)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS XFIXES PROVIDED_TARGETS XCB::XFIXES)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS XINERAMA PROVIDED_TARGETS XCB::XINERAMA)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS XKB PROVIDED_TARGETS XCB::XKB)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS RENDER PROVIDED_TARGETS XCB::RENDER)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS GLX PROVIDED_TARGETS XCB::GLX)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XCB COMPONENTS XINPUT PROVIDED_TARGETS XCB::XINPUT)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XKB 0.4.1 PROVIDED_TARGETS XKB::XKB)
+endif()
+if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS)
+ qt_find_package(XRender PROVIDED_TARGETS PkgConfig::xrender)
+endif()
#### Tests