From f1f4cad99a7097c8612ec1c5b05b1b5647e05251 Mon Sep 17 00:00:00 2001 From: Paul Wicking Date: Mon, 27 Feb 2023 20:53:57 +0100 Subject: QDoc: Always depend on QmlPrivate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make Qml a hard dependency for QDoc. - There are no known usecases for running QDoc without qml support. - We're not testing QDoc without qml support, as it's not officially supported. - There are known issues with parsing certain file types when qml support is missing. - Dropping feature checks makes the code easier to reason about and thus maintain. - Clean up some of the configure and CMake configuration that's affected by the change. [ChangeLog][QDoc] QDoc now requires the library QmlPrivate. Make sure the qtdeclarative module is available. Fixes: QTBUG-111673 Change-Id: I3a8aa20ace3c379c3896b9f59aa4e8113cd9a873 Reviewed-by: Joerg Bornemann Reviewed-by: Topi Reiniƶ --- configure.cmake | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'configure.cmake') diff --git a/configure.cmake b/configure.cmake index 1cd61cde9..9fbbe2c9b 100644 --- a/configure.cmake +++ b/configure.cmake @@ -45,12 +45,17 @@ qt_feature("assistant" PRIVATE CONDITION TARGET Qt::Widgets AND QT_FEATURE_png AND QT_FEATURE_pushbutton AND QT_FEATURE_toolbutton AND (sqlite_plugin_available OR QT_BUILD_SHARED_LIBS) ) qt_feature("clang" PRIVATE - LABEL "QDoc" + LABEL "libclang found" CONDITION TEST_libclang ) +qt_feature("qdoc" PRIVATE + LABEL "QDoc" + PURPOSE "QDoc is Qt's documentation generator for C++ and QML projects." + CONDITION TARGET Qt::QmlPrivate AND QT_FEATURE_clang AND QT_FEATURE_clangcpp AND QT_FEATURE_commandlineparser AND QT_FEATURE_thread +) qt_feature("clangcpp" PRIVATE LABEL "Clang-based lupdate parser" - CONDITION QT_FEATURE_clang AND TEST_libclang + CONDITION QT_FEATURE_clang ) qt_feature("designer" PRIVATE LABEL "Qt Designer" @@ -109,6 +114,7 @@ qt_configure_add_summary_entry(ARGS "distancefieldgenerator") qt_configure_add_summary_entry(ARGS "linguist") qt_configure_add_summary_entry(ARGS "pixeltool") qt_configure_add_summary_entry(ARGS "qdbus") +qt_configure_add_summary_entry(ARGS "qdoc") #qt_configure_add_summary_entry(ARGS "qev") qt_configure_add_summary_entry(ARGS "qtattributionsscanner") qt_configure_add_summary_entry(ARGS "qtdiag") @@ -124,6 +130,16 @@ On macOS, you can use Homebrew's llvm package. You will also need to set the FEATURE_clang CMake variable to ON to re-evaluate this check." CONDITION NOT QT_FEATURE_clang OR NOT QT_FEATURE_clangcpp ) +qt_configure_add_report_entry( + TYPE WARNING + MESSAGE "QDoc will not be compiled because the QmlPrivate library wasn't found." + CONDITION NOT TARGET Qt::QmlPrivate +) +qt_configure_add_report_entry( + TYPE WARNING + MESSAGE "QDoc cannot be compiled without Qt's commandline parser or thread features." + CONDITION NOT QT_FEATURE_commandlineparser OR NOT QT_FEATURE_thread +) qt_configure_add_report_entry( TYPE WARNING MESSAGE "Clang-based lupdate parser will not be available. LLVM and Clang C++ libraries have not been found. -- cgit v1.2.1