summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@qt.io>2021-09-03 11:35:19 +0200
committerKirill Burtsev <kirill.burtsev@qt.io>2021-09-14 15:40:54 +0200
commit05393067df003ace9ce5ff6551d99afde59e7638 (patch)
tree06d390b913a5530705658150780a013753e598bc
parent006656a702e646ce623b7a0d7a25870375bbafd8 (diff)
Make configure -list-features work
To list features, qtbase's QtProcessConfigureArgs.cmake must include the configure.cmake files. It includes all configure.cmake files that are in directories that are registered with qt_commandline_subconfig in the repository's top-level qt_cmdline.cmake. Add such a qt_cmdline.cmake files and add only src/core/api, because its configure.cmake is the only one that lists public features. Guard find_package calls in that configure.cmake such that they are not executed when configure's initial feature gathering phase is run. Fixes: QTBUG-96196 Change-Id: If61774f467c4df6138f9b63c4c1326a561178af6 Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit b35697e8e9d12532a7a820ebd90efc460f84b421) Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--qt_cmdline.cmake1
-rw-r--r--src/core/api/configure.cmake19
2 files changed, 12 insertions, 8 deletions
diff --git a/qt_cmdline.cmake b/qt_cmdline.cmake
new file mode 100644
index 000000000..7ee72a727
--- /dev/null
+++ b/qt_cmdline.cmake
@@ -0,0 +1 @@
+qt_commandline_subconfig(src/core/api)
diff --git a/src/core/api/configure.cmake b/src/core/api/configure.cmake
index 970b8a762..14b8b5d44 100644
--- a/src/core/api/configure.cmake
+++ b/src/core/api/configure.cmake
@@ -1,14 +1,17 @@
#### Libraries
-find_package(PkgConfig)
-if(PkgConfig_FOUND)
- pkg_check_modules(ALSA alsa IMPORTED_TARGET)
- pkg_check_modules(PULSEAUDIO libpulse>=0.9.10 libpulse-mainloop-glib)
- pkg_check_modules(GIO gio-2.0)
- pkg_check_modules(XDAMAGE xdamage)
-endif()
+if(NOT QT_CONFIGURE_RUNNING)
+ find_package(PkgConfig)
+ if(PkgConfig_FOUND)
+ pkg_check_modules(ALSA alsa IMPORTED_TARGET)
+ pkg_check_modules(PULSEAUDIO libpulse>=0.9.10 libpulse-mainloop-glib)
+ pkg_check_modules(GIO gio-2.0)
+ pkg_check_modules(XDAMAGE xdamage)
+ endif()
-find_package(Qt6 ${PROJECT_VERSION} CONFIG QUIET OPTIONAL_COMPONENTS Positioning WebChannel PrintSupport)
+ find_package(Qt6 ${PROJECT_VERSION} CONFIG QUIET
+ OPTIONAL_COMPONENTS Positioning WebChannel PrintSupport)
+endif()
#### Tests