summaryrefslogtreecommitdiffstats
path: root/configure.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'configure.cmake')
-rw-r--r--configure.cmake54
1 files changed, 33 insertions, 21 deletions
diff --git a/configure.cmake b/configure.cmake
index 67dfa0193..51a5196da 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -1,4 +1,5 @@
-
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
#### Inputs
@@ -44,16 +45,21 @@ 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_commandlineparser AND QT_FEATURE_thread AND QT_LIB_CLANG_VERSION VERSION_GREATER_EQUAL QDOC_MINIMUM_CLANG_VERSION
+)
qt_feature("clangcpp" PRIVATE
LABEL "Clang-based lupdate parser"
- CONDITION QT_FEATURE_clang AND TEST_libclang
+ CONDITION QT_FEATURE_clang AND (NOT MSVC OR MSVC_VERSION LESS "1939" OR QT_LIB_CLANG_VERSION_MAJOR GREATER_EQUAL "16")
)
qt_feature("designer" PRIVATE
- LABEL "Qt Designer"
- PURPOSE "Qt Designer is the Qt tool for designing and building graphical user interfaces (GUIs) with Qt Widgets. You can compose and customize your windows or dialogs in a what-you-see-is-what-you-get (WYSIWYG) manner, and test them using different styles and resolutions."
+ LABEL "Qt Widgets Designer"
+ PURPOSE "Qt Widgets Designer is the Qt tool for designing and building graphical user interfaces (GUIs) with Qt Widgets. You can compose and customize your windows or dialogs in a what-you-see-is-what-you-get (WYSIWYG) manner, and test them using different styles and resolutions."
CONDITION TARGET Qt::Widgets AND QT_FEATURE_png AND QT_FEATURE_pushbutton AND QT_FEATURE_toolbutton
)
qt_feature("distancefieldgenerator" PRIVATE
@@ -68,11 +74,7 @@ qt_feature("kmap2qmap" PRIVATE
qt_feature("linguist" PRIVATE
LABEL "Qt Linguist"
PURPOSE "Qt Linguist can be used by translator to translate text in Qt applications."
-)
-qt_feature("macdeployqt" PRIVATE
- LABEL "Mac Deployment Tool"
- PURPOSE "The Mac deployment tool automates the process of creating a deployable application bundle that contains the Qt libraries as private frameworks."
- CONDITION MACOS
+ CONDITION TARGET Qt::PrintSupport
)
qt_feature("pixeltool" PRIVATE
LABEL "pixeltool"
@@ -103,11 +105,6 @@ qt_feature("qtplugininfo" PRIVATE
PURPOSE "qtplugininfo dumps metadata about Qt plugins in JSON format."
CONDITION QT_FEATURE_commandlineparser AND QT_FEATURE_library AND (android_app OR NOT ANDROID)
)
-qt_feature("windeployqt" PRIVATE
- LABEL "Windows deployment tool"
- PURPOSE "The Windows deployment tool is designed to automate the process of creating a deployable folder containing the Qt-related dependencies (libraries, QML imports, plugins, and translations) required to run the application from that folder. It creates a sandbox for Universal Windows Platform (UWP) or an installation tree for Windows desktop applications, which can be easily bundled into an installation package."
- CONDITION WIN32
-)
qt_configure_add_summary_section(NAME "Qt Tools")
qt_configure_add_summary_entry(ARGS "assistant")
qt_configure_add_summary_entry(ARGS "clang")
@@ -116,27 +113,42 @@ qt_configure_add_summary_entry(ARGS "designer")
qt_configure_add_summary_entry(ARGS "distancefieldgenerator")
#qt_configure_add_summary_entry(ARGS "kmap2qmap")
qt_configure_add_summary_entry(ARGS "linguist")
-qt_configure_add_summary_entry(ARGS "macdeployqt")
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")
qt_configure_add_summary_entry(ARGS "qtplugininfo")
-qt_configure_add_summary_entry(ARGS "windeployqt")
qt_configure_end_summary_section() # end of "Qt Tools" section
qt_configure_add_report_entry(
TYPE WARNING
- MESSAGE "QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
-Either set CMAKE_PREFIX_PATH or LLVM_INSTALL_DIR to the location of your llvm installation.
-On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution.
+ MESSAGE "QDoc will not be compiled, probably because clang's C and C++ libraries could not be located. This means that you cannot build the Qt documentation.
+You may need to set CMAKE_PREFIX_PATH or LLVM_INSTALL_DIR to the location of your llvm installation.
+Other than clang's libraries, you may need to install another package, such as clang itself, to provide the ClangConfig.cmake file needed to detect your libraries. Once this
+file is in place, the configure script may be able to detect your system-installed libraries without further environment variables.
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
)
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.
+ 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 "QDoc will not be compiled because it requires libclang ${QDOC_MINIMUM_CLANG_VERSION} or newer."
+ CONDITION QT_LIB_CLANG_VERSION VERSION_LESS QDOC_MINIMUM_CLANG_VERSION
+)
+qt_configure_add_report_entry(
+ TYPE WARNING
+ MESSAGE "Clang-based lupdate parser will not be available. Suitable LLVM and Clang C++ libraries have not been found.
You will need to set the FEATURE_clangcpp CMake variable to ON to re-evaluate this check."
CONDITION NOT QT_FEATURE_clangcpp
)