From 4c5b4e7ea0ec3398a37a6c82c0e684f95ff6b1d9 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 3 Mar 2023 16:37:58 +0100 Subject: [PATCH 01/38] Doc: Describe the "cmake --install" deployment step Task-number: QTCREATORBUG-28721 Change-Id: Id2571cf357e821555ecfa73a78d9b76dd9ee540b Reviewed-by: Cristian Adam Reviewed-by: --- .../images/qtcreator-pprunsettings.png | Bin 13198 -> 0 bytes .../images/qtcreator-settings-run-desktop.webp | Bin 0 -> 10152 bytes doc/qtcreator/images/qtcreator-settings-run.png | Bin 24017 -> 0 bytes .../images/qtcreator-settings-run.webp | Bin 0 -> 19066 bytes ...reator-projects-settings-run-desktop.qdocinc | 11 +++++++++-- .../creator-projects-settings-run.qdoc | 6 +++--- 6 files changed, 12 insertions(+), 5 deletions(-) delete mode 100644 doc/qtcreator/images/qtcreator-pprunsettings.png create mode 100644 doc/qtcreator/images/qtcreator-settings-run-desktop.webp delete mode 100644 doc/qtcreator/images/qtcreator-settings-run.png create mode 100644 doc/qtcreator/images/qtcreator-settings-run.webp diff --git a/doc/qtcreator/images/qtcreator-pprunsettings.png b/doc/qtcreator/images/qtcreator-pprunsettings.png deleted file mode 100644 index dab1d9e1cfbf9cd396a0ce8cc1a62f7026b6fd76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13198 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-settings-run.png b/doc/qtcreator/images/qtcreator-settings-run.png deleted file mode 100644 index 3df81e9daf45ac96e79ed7d695bce6da1e11c34a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24017 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

lf@*;r8oWxFISx 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc index f39a31fb0a7..27fe9ade256 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc @@ -10,6 +10,15 @@ and the working directory to use. The working directory defaults to the directory of the build result. + Select \uicontrol {Add Deploy Step} > \uicontrol {CMake Install} to add the + \l{https://cmake.org/cmake/help/latest/manual/cmake.1.html#install-a-project} + {install} option. It runs installation without using the generated build + system or the native build tool. \QC automatically adds the value of the + \uicontrol {Working directory} field as the installation directory in the + \c {--install} signature. + + \image qtcreator-settings-run-desktop.webp {Run Settings} + For console applications, check the \uicontrol{Run in terminal} check box. To specify the terminal to use on Linux and \macos, select \uicontrol Edit > \uicontrol Preferences > \uicontrol Environment > \uicontrol System. @@ -18,8 +27,6 @@ \uicontrol {Run Environment} section. For more information, see \l {Selecting the Run Environment}. - \image qtcreator-pprunsettings.png - When building an application, \QC creates a list of directories where the linker will look for libraries that the application links to. By default, the linked libraries are made visible to the executable that diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc index 581dcd73e97..6f489f4b301 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run.qdoc @@ -21,7 +21,7 @@ To view and modify them, select \uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Run. - \image qtcreator-settings-run.png "Run Settings" + \image qtcreator-settings-run.webp {Run Settings} To prevent \QC from automatically creating run configurations, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run}, @@ -104,7 +104,7 @@ You can edit existing environment variables or add, reset and unset new variables. - \image qtcreator-run-environment.png "Run Environment section" + \image qtcreator-run-environment.png {Run Environment section} When running on the desktop, the \uicontrol {Build Environment} is used by default, but you can also use the \uicontrol {System Environment} without the @@ -130,7 +130,7 @@ Specify the executable to run, command line arguments, working directory, and environment variables to use. - \image qmldesigner-run-custom-exe.png "Run settings for custom executables" + \image qmldesigner-run-custom-exe.png {Run settings for custom executables} \include qtquick/creator-projects-settings-run-qtquick.qdocinc run settings qt quick ui \include python/creator-python-run.qdocinc run settings python From 476c072b003eeee4ee0e1fe99f52a952a6d1ead5 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 28 Feb 2023 17:39:31 +0100 Subject: [PATCH 02/38] Doc: Add table of debugger toolbar icons and their purpose Task-number: QTCREATORBUG-28778 Change-Id: Ic7c88862bc28e9680fb103a1d8663baedc28df79 Reviewed-by: hjk --- .../creator-only/creator-debugger.qdoc | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc index d775a87d58f..17d03346c39 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc @@ -734,8 +734,9 @@ \title Examining Data - Use the \l {Debug Mode Views}{Debug mode views} to examine the data in more - detail. + Use the \l{Local Variables and Function Parameters}{Locals} and + \l{Evaluating Expressions}{Expressions} views to examine the data + in more detail. You can use the following keyboard shortcuts: @@ -767,6 +768,40 @@ \section1 Stepping Into Code + Use the following buttons to step through the code: + + \table + \header + \li Button + \li Function + \li Description + \row + \li \inlineimage icons/qtcreator-debug-button-stop.png + \li \uicontrol {Stop Debugger} + \li Stops the debugger. + \row + \li \inlineimage icons/debugger_stepover_small.png + \li \uicontrol {Step Over} + \li Steps over the next line inside the function being debugged. It + executes the call and moves to the next line to be executed in + the function. + \row + \li \inlineimage icons/debugger_stepinto_small.png + \li \uicontrol {Step Into} + \li Steps into the line that it is currently on. For a function call, + goes into the function and is ready to continue. + \row + \li \inlineimage icons/debugger_stepout_small.png + \li \uicontrol {Step Out} + \li Finishes executing the function and exits to the function that + it was called from. + \row + \li \inlineimage icons/qtcreator-debugging-continue.png + \li \uicontrol {Continue} + \li Resumes application execution at the address where it last + stopped. + \endtable + When using GDB as the debugging backend, you can compress several steps into one step for less noisy debugging. For more information, see \l{Specifying GDB Settings}. From 70369aca13e22ecb31dd31ffd6b9b2eb5537574e Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 6 Mar 2023 09:10:34 +0200 Subject: [PATCH 03/38] Android: Remove unreachable return Reported by Coverity. Change-Id: Id1b67f0adae3ff0c9157428726778c8c3b2a03a7 Reviewed-by: Alessandro Portale --- src/plugins/android/androidmanager.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index e4d47be7337..a15da300483 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -278,18 +278,15 @@ QString packageSubPath(PackageFormat format, BuildConfiguration::BuildType build const bool deb = (buildType == BuildConfiguration::Debug); if (format == Apk) { - if (deb) + if (deb) { return sig ? packageSubPath(Apk, BuildConfiguration::Release, true) // Intentional : QLatin1String("apk/debug/android-build-debug.apk"); - else - return QLatin1String(sig ? "apk/release/android-build-release-signed.apk" - : "apk/release/android-build-release-unsigned.apk"); - } else { - return QLatin1String(deb ? "bundle/debug/android-build-debug.aab" - : "bundle/release/android-build-release.aab"); + } + return QLatin1String(sig ? "apk/release/android-build-release-signed.apk" + : "apk/release/android-build-release-unsigned.apk"); } - - return {}; + return QLatin1String(deb ? "bundle/debug/android-build-debug.aab" + : "bundle/release/android-build-release.aab"); } FilePath AndroidManager::packagePath(const Target *target) From 2ca1a15eada7236052902a37ac13a3c0e89517f1 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 20 Feb 2023 12:27:22 +0100 Subject: [PATCH 04/38] AutoTest: Fix ordering of Qt results Fixes placing of internal messages like Qt version information or Qt Test version Change-Id: I08330451684c2dccb5f260cf7a4751bba47e56a8 Reviewed-by: Jarek Kobus --- src/plugins/autotest/qtest/qttestresult.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/autotest/qtest/qttestresult.cpp b/src/plugins/autotest/qtest/qttestresult.cpp index 83ea4754f3f..1f15b3e82dc 100644 --- a/src/plugins/autotest/qtest/qttestresult.cpp +++ b/src/plugins/autotest/qtest/qttestresult.cpp @@ -177,6 +177,8 @@ static ResultHooks::DirectParentHook directParentHook(const QString &functionNam return (functionName.isEmpty() && dataTag.isEmpty()) || (functionName == otherData.m_function && other.result() != ResultType::TestStart); + } else if (other.result() == ResultType::MessageInternal) { + return other.name() == result.name(); } } return false; From dedc3e81fa61ae159bd4c569a69e2de4b5a0ec2d Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 3 Mar 2023 14:18:01 +0100 Subject: [PATCH 05/38] Doc: Describe connection sharing for Boot2Qt devices - Some language fixes. - Use {} instead of "" for \image alt text Change-Id: I1772c7e98bf40d8ff828205dcf1fd8749d4434cb Reviewed-by: Christian Kandeler --- doc/qtcreator/src/linux-mobile/b2qtdev.qdoc | 52 ++++++++++++--------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/doc/qtcreator/src/linux-mobile/b2qtdev.qdoc b/doc/qtcreator/src/linux-mobile/b2qtdev.qdoc index 11167b35fef..dd3a884f8e3 100644 --- a/doc/qtcreator/src/linux-mobile/b2qtdev.qdoc +++ b/doc/qtcreator/src/linux-mobile/b2qtdev.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2021 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! @@ -18,7 +18,7 @@ To be able to run and debug applications on Boot2Qt devices, you must add devices and select them in the \QC - \l{glossary-buildandrun-kit}{kit}. + \l{Adding Kits}{kit}. \section1 Enabling the Boot2Qt Plugin @@ -33,21 +33,27 @@ \section1 Adding Boot2Qt Devices - You use a wizard to create the connections. You can use either a - network connection or a USB connection. If \QC does not automatically - detect a device you connected with USB, you can use a wizard to - create a network connection to the device. + If \QC does not automatically detect a device you connected with USB, you can + use a wizard to create either a network connection or a USB connection to + it. - \note On Ubuntu Linux, the development user account must have access to - plugged in devices. To allow the development user access to the device - via USB, create a new \c udev rule, as described in + \note On Ubuntu Linux, the development user account must have access to the + plugged-in devices. To grant them access to the device via USB, create a new + \c udev rule, as described in \l{https://doc.qt.io/Boot2Qt/b2qt-requirements-x11.html#setting-up-usb-access-to-embedded-devices} {Boot2Qt: Setting Up USB Access to Embedded Devices}. You can edit the settings later in \uicontrol Edit > \uicontrol Preferences > \uicontrol Devices > \uicontrol Devices. - \image qtcreator-boot2qt-device-configurations.png "Devices dialog" + \image qtcreator-boot2qt-device-configurations.png {Devices dialog} + + To reboot the selected device, select \uicontrol {Reboot Device}. + + To restore the default application to the device, select + \uicontrol {Restore Default App}. + + \section2 Protecting Connections You can protect the connections between \QC and a device by using an \l{https://www.openssh.com/}{OpenSSH} connection. OpenSSH is a @@ -57,17 +63,19 @@ \QC. For more information, see \l {Configuring SSH Connections}. You need either a password or an SSH public and private key pair for - authentication. If you do not have an SSH key, you can use the ssh-keygen + authentication. If you do not have an SSH key, you can use the \c ssh-keygen tool to create it in \QC. For more information, see \l {Generating SSH Keys}. - \note \QC does not store passwords. If you use password authentication, - you may need to enter the password on every connection to the device, - or, if caching is enabled, at every \QC restart. + \QC does not store passwords. If you use password authentication, you may + need to enter the password upon every connection to the device, or if + caching is enabled, at every \QC restart. If you frequently run into the + timeout, consider using key-based authentication. On \macos and Linux, you + can also select \uicontrol Preferences > \uicontrol Devices > \uicontrol SSH + and increase the time (in minutes) to use the same SSH connection in the + \uicontrol {Connection sharing timeout} field. Windows does not support + shared connections. - To reboot the selected device, select \uicontrol {Reboot Device}. - - To restore the default application to the device, select - \uicontrol {Restore Default App}. + \image qtcreator-ssh-options.png {SSH preferences} \section1 Flashing Boot2Qt Devices @@ -75,7 +83,7 @@ \uicontrol Tools > \uicontrol {Flash Boot to Qt Device} and follow the instructions of the wizard. - \image qtcreator-boot2qt-flashing-wizard.png "Boot2Qt Flashing Wizard" + \image qtcreator-boot2qt-flashing-wizard.png {Boot2Qt Flashing Wizard} \section1 Configuring Connections @@ -83,8 +91,8 @@ specify build and run settings for the device: \list 1 - \li Make sure that your device can be reached via an IP address or - connect it with a USB connection. + \li Check that you can reach the IP address of the device, or use USB to + connect it. \li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits > \uicontrol {Qt Versions} > \uicontrol Add to add the Qt version for Boot2Qt. @@ -100,7 +108,7 @@ \li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Devices > \uicontrol Devices > \uicontrol Add > \uicontrol Boot2Qt. - \image qtcreator-devices-boot2qt.png "Boot2Qt Network Device Setup wizard" + \image qtcreator-devices-boot2qt.png {Boot2Qt Network Device Setup wizard} \li In the \uicontrol {Device name} field, enter a name for the connection. \li In the \uicontrol {Device address} field, enter the host From b7a42f58023efc3f602e36179409a452c6ac9401 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 6 Mar 2023 11:12:34 +0100 Subject: [PATCH 06/38] Bump version to 10.0.0-rc1 Change-Id: I3aee0fbdd05a3ebc438c4ff62a43dafb6856e7a7 Reviewed-by: David Schulz --- cmake/QtCreatorIDEBranding.cmake | 6 +++--- qbs/modules/qtc/qtc.qbs | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake index 2a2e02fd172..0b9447a85de 100644 --- a/cmake/QtCreatorIDEBranding.cmake +++ b/cmake/QtCreatorIDEBranding.cmake @@ -1,6 +1,6 @@ -set(IDE_VERSION "9.0.83") # The IDE version. -set(IDE_VERSION_COMPAT "9.0.83") # The IDE Compatibility version. -set(IDE_VERSION_DISPLAY "10.0.0-beta2") # The IDE display version. +set(IDE_VERSION "9.0.84") # The IDE version. +set(IDE_VERSION_COMPAT "9.0.84") # The IDE Compatibility version. +set(IDE_VERSION_DISPLAY "10.0.0-rc1") # The IDE display version. set(IDE_COPYRIGHT_YEAR "2023") # The IDE current copyright year. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index b4688986a35..14529677fe8 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -6,16 +6,16 @@ import qbs.Utilities Module { Depends { name: "cpp"; required: false } - property string qtcreator_display_version: '10.0.0-beta2' + property string qtcreator_display_version: '10.0.0-rc1' property string ide_version_major: '9' property string ide_version_minor: '0' - property string ide_version_release: '83' + property string ide_version_release: '84' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release property string ide_compat_version_major: '9' property string ide_compat_version_minor: '0' - property string ide_compat_version_release: '83' + property string ide_compat_version_release: '84' property string qtcreator_compat_version: ide_compat_version_major + '.' + ide_compat_version_minor + '.' + ide_compat_version_release From 18f2b177f7751b7da31f9827dacd0f1689d9303b Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 6 Mar 2023 14:17:50 +0100 Subject: [PATCH 07/38] Bump year in copyright template Change-Id: I3c43752841bf14759a0ebdf8b82e7a27cb61fa7c Reviewed-by: Alessandro Portale --- dist/copyright_template.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/copyright_template.txt b/dist/copyright_template.txt index ae24032a650..974656016df 100644 --- a/dist/copyright_template.txt +++ b/dist/copyright_template.txt @@ -1,3 +1,3 @@ -// Copyright (C) 2022 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 From c9ad7d6cee2f22711541a82167fed61d000e794a Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 6 Mar 2023 10:43:50 +0100 Subject: [PATCH 08/38] Update qbs submodule to HEAD of 2.0 branch Change-Id: Ibc1100fd624e4ad51e5ae297cddd8e20f572b687 Reviewed-by: Reviewed-by: Christian Stenger --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index d8523b5b256..1a6cfb0af22 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit d8523b5b2568a14fc9dc5fb4de09895c6ca02a01 +Subproject commit 1a6cfb0af220926f8b00219c5dd7feb36bcaa0d2 From b8ddbde13b61e366466b14f71755f5101e0f3bf5 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 6 Mar 2023 09:06:27 +0100 Subject: [PATCH 09/38] Doc: Add link to Qt Learning Linking to the Getting Started with Qt Creator course directly does not seem to work. Change-Id: I4393749e9c66d66340d094c7cb7dc4f4847b8eba Reviewed-by: Eike Ziller --- .../src/overview/creator-only/creator-getting-started.qdoc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc b/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc index 218442555c2..a7ae08afbac 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2020 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only // ********************************************************************** @@ -14,6 +14,9 @@ \title Getting Started + To learn the basics of \QC, take the \e {Getting Started with Qt Creator} + course in \l{https://www.qt.io/courses/}{Qt Learning}. + \table \row \li \inlineimage front-gs.png From eccdea6a4333f6cc5a2ee3147f0c2a9ee79489f1 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 6 Mar 2023 15:06:09 +0000 Subject: [PATCH 10/38] Revert "Debugger: Fix write error on terminated GDB process" This reverts commit 87c00b86dbf75a9204041b0b8e836415b97dc125. Reason for revert: Breaks shutting down the cdbengine and according to the diagram in debuggerplugin.cpp this is an expected transition. Change-Id: I051ccd315dffcadf60892c33cd7c1f3523b2f8e0 Reviewed-by: Orgad Shaneh --- src/plugins/debugger/debuggerengine.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index adeb4728f1e..14cab127508 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -380,10 +380,6 @@ public: void doShutdownEngine() { m_engine->setState(EngineShutdownRequested); - if (m_engine->isDying()) { - m_engine->notifyEngineShutdownFinished(); - return; - } m_engine->startDying(); m_engine->showMessage("CALL: SHUTDOWN ENGINE"); m_engine->shutdownEngine(); From 7375e367b2ae615fc658fb2e688c5de8b09e35e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sivert=20Kr=C3=B8vel?= Date: Mon, 6 Mar 2023 12:09:54 +0100 Subject: [PATCH 11/38] McuSupport: Remove status message The status message notifying that the input.json used to generate the project tree in an MCU qmlproject is not interesting to most users, and it is shown several times if using modules. Removing it gets rid of some clutter in the General Messages output. QTCREATORBUG-28824 Change-Id: I8b97aeff7b872e52e260f035f7f48144a8caf167 Reviewed-by: Reviewed-by: Yasser Grimes Reviewed-by: Alessandro Portale --- src/plugins/mcusupport/mcusupportplugin.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/plugins/mcusupport/mcusupportplugin.cpp b/src/plugins/mcusupport/mcusupportplugin.cpp index 2c3dfdb28b0..f7622318517 100644 --- a/src/plugins/mcusupport/mcusupportplugin.cpp +++ b/src/plugins/mcusupport/mcusupportplugin.cpp @@ -76,8 +76,6 @@ void updateMCUProjectTree(ProjectExplorer::Project *p) const FilePath inputsJsonFile = projectBuildFolder / "CMakeFiles" / (targetName + ".dir") / "config/input.json"; - printMessage("found Input json file " + inputsJsonFile.absoluteFilePath().toString(), true); - if (!inputsJsonFile.exists()) return; From 0476212e68071c797ae911e6f624a991970ca16a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20L=C3=B6hning?= Date: Mon, 6 Mar 2023 22:52:21 +0100 Subject: [PATCH 12/38] SquishTests: Simplify readme file Change-Id: I0e66960a3d681362addafcce3ca845019061d0fe Reviewed-by: Christian Stenger --- tests/system/README | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/system/README b/tests/system/README index 4edd21f0569..45fd2e498be 100644 --- a/tests/system/README +++ b/tests/system/README @@ -5,9 +5,10 @@ Squish tests inside this folder have several prerequisites to get them running. First - and most important - you have to own a valid Squish license. At least Squish 6.0 is required. Second - some of the test suites/test cases expect Qt versions to be installed in their default -locations. On Linux/macOS this is ~/Qt5.x.1 and on Windows this is C:\Qt\Qt5.x.1 and for Qt6 using -an online installer located in SYSTEST_QTOI_BASEPATH which defaults to ~/Qt on UNIX and C:\Qt on -Windows - alternatively set it to the base path of the Qt installation used by the online installer. +locations. For Qt5, this is ~/Qt5.x.1 on Linux/macOS or C:\Qt\Qt5.x.1 on Windows. For Qt6, this is +an installation from the online installer located in ~/Qt on Linux/macOS or C:\Qt on Windows. +Alternatively, you can set the environment variable SYSTEST_QTOI_BASEPATH to a different base path +of the Qt installation from the online installer. It's easiest to use installations of the official opensource Qt packages. Just install the Qt version for the respective toolchain with the components (if available): - (Desktop) , e.g. Desktop gcc 64-bit From d686d241d273576e7ac2fc55caaad1d3ea550f13 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 6 Mar 2023 16:00:47 +0100 Subject: [PATCH 13/38] Build: Avoid installation of huge static QmlDesignerCore library It is not used as a public interface, just to share with tests. Do not install it. Fixes: QTCREATORBUG-28673 Change-Id: I669ffd468291b8150568d0193a33e5795d58f017 Reviewed-by: Reviewed-by: Marco Bubke Reviewed-by: Qt CI Bot --- cmake/QtCreatorAPI.cmake | 4 ++-- src/plugins/qmldesigner/CMakeLists.txt | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index fb843f29280..10df11100a1 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -122,7 +122,7 @@ function(get_default_defines varName allow_ascii_casts) endfunction() function(add_qtc_library name) - cmake_parse_arguments(_arg "STATIC;OBJECT;SHARED;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;FEATURE_INFO;SKIP_PCH" + cmake_parse_arguments(_arg "STATIC;OBJECT;SHARED;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;FEATURE_INFO;SKIP_PCH;EXCLUDE_FROM_INSTALL" "DESTINATION;COMPONENT;SOURCES_PREFIX;BUILD_DEFAULT" "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PROPERTIES" ${ARGN} ) @@ -272,7 +272,7 @@ function(add_qtc_library name) set(COMPONENT_OPTION "COMPONENT" "${_arg_COMPONENT}") endif() - if (NOT QTC_STATIC_BUILD OR _arg_SHARED) + if (NOT _arg_EXCLUDE_FROM_INSTALL AND (NOT QTC_STATIC_BUILD OR _arg_SHARED)) install(TARGETS ${name} EXPORT QtCreator RUNTIME diff --git a/src/plugins/qmldesigner/CMakeLists.txt b/src/plugins/qmldesigner/CMakeLists.txt index 0c9992efe29..03db5b27ca5 100644 --- a/src/plugins/qmldesigner/CMakeLists.txt +++ b/src/plugins/qmldesigner/CMakeLists.txt @@ -43,6 +43,7 @@ add_qtc_library(QmlDesignerUtils STATIC ) add_qtc_library(QmlDesignerCore STATIC + EXCLUDE_FROM_INSTALL DEPENDS Threads::Threads Qt::CorePrivate @@ -431,7 +432,12 @@ extend_qtc_plugin(QmlDesigner ${CMAKE_CURRENT_LIST_DIR}/components/texteditor PUBLIC_INCLUDES ${CMAKE_CURRENT_LIST_DIR} + ${CMAKE_CURRENT_LIST_DIR}/designercore + ${CMAKE_CURRENT_LIST_DIR}/designercore/include PUBLIC_DEPENDS + QmlDesignerUtils + QmlPuppetCommunication + DEPENDS QmlDesignerCore SOURCES designmodecontext.cpp designmodecontext.h From 0d809806d4d4cc0a1a93b79c3fd2368a5c190061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sivert=20Kr=C3=B8vel?= Date: Fri, 3 Mar 2023 12:02:20 +0100 Subject: [PATCH 14/38] McuSupport: Update minimum CMake version in qmlproject template The minimum CMake version was changed to 3.21.1 with Qul 2.3. Updating the minimum CMake version for the qmlproject template project, but keeping the old minimum for the template targeting older versions of Qt for MCUs Task-number: QTCREATORBUG-28825 Change-Id: Ia6cb43a47cee81b3b299f188d6008ebd0576daba Reviewed-by: Yasser Grimes Reviewed-by: Reviewed-by: Alessandro Portale --- src/plugins/mcusupport/wizards/qmlproject/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/mcusupport/wizards/qmlproject/CMakeLists.txt b/src/plugins/mcusupport/wizards/qmlproject/CMakeLists.txt index 4a47af2de03..49a4a8f949f 100644 --- a/src/plugins/mcusupport/wizards/qmlproject/CMakeLists.txt +++ b/src/plugins/mcusupport/wizards/qmlproject/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 3.15) +cmake_minimum_required (VERSION 3.21.1) project(%{CorrectedProjectName} VERSION 0.0.1 LANGUAGES C CXX ASM) From b9fb022389e27d4f97959876e374e81ee992cf41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sivert=20Kr=C3=B8vel?= Date: Fri, 3 Mar 2023 10:56:37 +0100 Subject: [PATCH 15/38] McuSupport: Open QML file when starting new MCU project Previously the editor opened the translation file when starting a new project. It makes more sense to open up the main QML file. Task-number: QTCREATORBUG-28790 Change-Id: If1f61d23e4863143cacf004246ca7813dd04a1ab Reviewed-by: Yasser Grimes Reviewed-by: Reviewed-by: Alessandro Portale --- .../mcusupport/wizards/qmlproject/wizard.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/plugins/mcusupport/wizards/qmlproject/wizard.json b/src/plugins/mcusupport/wizards/qmlproject/wizard.json index 0dd565d731e..173c430eeb4 100644 --- a/src/plugins/mcusupport/wizards/qmlproject/wizard.json +++ b/src/plugins/mcusupport/wizards/qmlproject/wizard.json @@ -56,13 +56,8 @@ "openAsProject": true }, { - "source": "project.qmlproject.tpl", - "target": "%{ProjectDirectory}/%{QmlProjectFile}", - "openInEditor": true - }, - { - "source": "main.qml.tpl", - "target": "%{ProjectDirectory}/%{MainQmlFile}", + "source": "BackendObject.h", + "target": "%{ProjectDirectory}/src/%{InterfaceFile}", "openInEditor": true }, { @@ -76,8 +71,13 @@ "openInEditor": true }, { - "source": "BackendObject.h", - "target": "%{ProjectDirectory}/src/%{InterfaceFile}", + "source": "project.qmlproject.tpl", + "target": "%{ProjectDirectory}/%{QmlProjectFile}", + "openInEditor": true + }, + { + "source": "main.qml.tpl", + "target": "%{ProjectDirectory}/%{MainQmlFile}", "openInEditor": true }, { @@ -98,7 +98,7 @@ { "source": "translation.nb_NO.ts", "target": "%{ProjectDirectory}/translations/%{TsFile}", - "openInEditor": true + "openInEditor": false }, { "source": "%{IDE:ResourcePath}/templates/wizards/projects/git.ignore", From b54c1ec139a10eb25dc777bd759bfe465911df56 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 9 Mar 2023 08:06:30 +0200 Subject: [PATCH 16/38] Debugger: Clear also global log when clearing the log If the user wants to clear the log in order to read it only "from now on", then the sensible way to do that is to clear the log, finish the debugging session, then copy the output from the log pane. But this flow did not work, because when the debugger is done, you no longer have access to the live log window, only to the global window, and this pane is not cleared, so all the logs are still there. Change-Id: I89d8a5b8aab22c53e8c2eceac4c5482931cdd8b6 Reviewed-by: hjk --- src/plugins/debugger/logwindow.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/debugger/logwindow.cpp b/src/plugins/debugger/logwindow.cpp index c89fa7d2540..a8b519aad05 100644 --- a/src/plugins/debugger/logwindow.cpp +++ b/src/plugins/debugger/logwindow.cpp @@ -576,6 +576,7 @@ void LogWindow::clearContents() { m_combinedText->clear(); m_inputText->clear(); + theGlobalLog->clearContents(); } void LogWindow::setCursor(const QCursor &cursor) From 556e7315f7125be80397e9b5b29c994e5410acd4 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 6 Mar 2023 12:13:11 +0100 Subject: [PATCH 17/38] Build: Simplify ts_all* targets and add "ts_all_cleaned" Instead of trying to update all files in a single lupdate call, make the ts_all targets just depend on the individual language targets. It is less efficient, but not used often, simpler to setup and since lconvert cannot work on mutliple .ts files simultanously easier to setup a ts_all_cleaned target. Change-Id: I60718408a661f011d84f3f74645e2f8fd49a95d1 Reviewed-by: Qt CI Bot Reviewed-by: Reviewed-by: Alessandro Portale --- cmake/QtCreatorTranslations.cmake | 67 +++++++++++++++---------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/cmake/QtCreatorTranslations.cmake b/cmake/QtCreatorTranslations.cmake index 80286602ad3..51f33260232 100644 --- a/cmake/QtCreatorTranslations.cmake +++ b/cmake/QtCreatorTranslations.cmake @@ -49,7 +49,7 @@ function(_extract_ts_data_from_targets outprefix) endfunction() function(_create_ts_custom_target name) - cmake_parse_arguments(_arg "" "FILE_PREFIX;TS_TARGET_PREFIX" "LANGUAGES;SOURCES;INCLUDES" ${ARGN}) + cmake_parse_arguments(_arg "EXCLUDE_FROM_ALL" "FILE_PREFIX;TS_TARGET_PREFIX" "SOURCES;INCLUDES" ${ARGN}) if (_arg_UNPARSED_ARGUMENTS) message(FATAL_ERROR "Invalid parameters to _create_ts_custom_target: ${_arg_UNPARSED_ARGUMENTS}.") endif() @@ -58,14 +58,7 @@ function(_create_ts_custom_target name) set(_arg_TS_TARGET_PREFIX "ts_") endif() - set(ts_languages ${_arg_LANGUAGES}) - if (NOT ts_languages) - set(ts_languages "${name}") - endif() - - foreach(l IN ITEMS ${ts_languages}) - list(APPEND ts_files "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_FILE_PREFIX}_${l}.ts") - endforeach() + set(ts_file "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_FILE_PREFIX}_${l}.ts") set(_sources "${_arg_SOURCES}") list(SORT _sources) @@ -91,35 +84,46 @@ function(_create_ts_custom_target name) file(WRITE "${ts_file_list}" "${_sources_str}\n${_includes_str}\n") add_custom_target("${_arg_TS_TARGET_PREFIX}${name}" - COMMAND Qt::lupdate -locations relative -no-ui-lines "@${ts_file_list}" -ts ${ts_files} + COMMAND Qt::lupdate -locations relative -no-ui-lines "@${ts_file_list}" -ts ${ts_file} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - COMMENT "Generate .ts files, with obsolete translations and files and line numbers" + COMMENT "Generate .ts file (${name}), with obsolete translations and files and line numbers" DEPENDS ${_sources} VERBATIM) add_custom_target("${_arg_TS_TARGET_PREFIX}${name}_no_locations" - COMMAND Qt::lupdate -locations none -no-ui-lines "@${ts_file_list}" -ts ${ts_files} + COMMAND Qt::lupdate -locations none -no-ui-lines "@${ts_file_list}" -ts ${ts_file} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - COMMENT "Generate .ts files, with obsolete translations, without files and line numbers" + COMMENT "Generate .ts file (${name}), with obsolete translations, without files and line numbers" DEPENDS ${_sources} VERBATIM) - # Add cleaned target only for single-ts targets # Uses lupdate + convert instead of just lupdate with '-locations none -no-obsolete' # to keep the same sorting as the non-'cleaned' target and therefore keep the diff small - list(LENGTH ts_files file_count) - if(file_count EQUAL 1) - # get path for lconvert... - get_target_property(_lupdate_binary Qt::lupdate IMPORTED_LOCATION) - get_filename_component(_bin_dir ${_lupdate_binary} DIRECTORY) + # get path for lconvert... + get_target_property(_lupdate_binary Qt::lupdate IMPORTED_LOCATION) + get_filename_component(_bin_dir ${_lupdate_binary} DIRECTORY) - add_custom_target("${_arg_TS_TARGET_PREFIX}${name}_cleaned" - COMMAND Qt::lupdate -locations relative -no-ui-lines "@${ts_file_list}" -ts ${ts_files} - COMMAND ${_bin_dir}/lconvert -locations none -no-ui-lines -no-obsolete ${ts_files} -o ${ts_files} - WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" - COMMENT "Generate .ts files, remove obsolete and vanished translations, and do not add files and line number" - DEPENDS ${_sources} - VERBATIM) + add_custom_target("${_arg_TS_TARGET_PREFIX}${name}_cleaned" + COMMAND Qt::lupdate -locations relative -no-ui-lines "@${ts_file_list}" -ts ${ts_file} + COMMAND ${_bin_dir}/lconvert -locations none -no-ui-lines -no-obsolete ${ts_file} -o ${ts_file} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMENT "Generate .ts file (${name}), remove obsolete and vanished translations, and do not add files and line number" + DEPENDS ${_sources} + VERBATIM) + + if (NOT _arg_EXCLUDE_FROM_ALL) + if (NOT TARGET ts_all_cleaned) + add_custom_target(ts_all_cleaned + COMMENT "Generate .ts files, remove obsolete and vanished translations, and do not add files and line numbers") + add_custom_target(ts_all + COMMENT "Generate .ts files, with obsolete translations and files and line numbers") + add_custom_target(ts_all_no_locations + COMMENT "Generate .ts files, with obsolete translations, without files and line numbers") + endif() + + add_dependencies(ts_all_cleaned ${_arg_TS_TARGET_PREFIX}${name}_cleaned) + add_dependencies(ts_all ${_arg_TS_TARGET_PREFIX}${name}) + add_dependencies(ts_all_no_locations ${_arg_TS_TARGET_PREFIX}${name}_no_locations) endif() endfunction() @@ -161,7 +165,8 @@ function(add_translation_targets file_prefix) _create_ts_custom_target(untranslated FILE_PREFIX "${file_prefix}" TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}" - SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES}) + SOURCES ${_to_process_sources} ${_arg_SOURCES} INCLUDES ${_to_process_includes} ${_arg_INCLUDES} + EXCLUDE_FROM_ALL) if (NOT TARGET "${_arg_ALL_QM_TARGET}") add_custom_target("${_arg_ALL_QM_TARGET}" ALL COMMENT "Generate .qm-files") @@ -187,12 +192,4 @@ function(add_translation_targets file_prefix) add_dependencies("${_arg_ALL_QM_TARGET}" "${_arg_QM_TARGET_PREFIX}${l}") endforeach() - - _create_ts_custom_target(all - LANGUAGES ${_arg_LANGUAGES} - TS_TARGET_PREFIX "${_arg_TS_TARGET_PREFIX}" - FILE_PREFIX "${file_prefix}" - SOURCES ${_to_process_sources} ${_arg_SOURCES} - INCLUDES ${_to_process_includes} ${_arg_INCLUDES} - ) endfunction() From b98fc12de9d8eda9aa0aeea1aa1ea6ce9e63bde8 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 7 Mar 2023 15:22:04 +0100 Subject: [PATCH 18/38] Set focus to filter input when creating run configuration Change-Id: I9a02abfa917a211ec0e88a7debaabbf26cc2c918 Reviewed-by: Christian Kandeler Reviewed-by: --- src/plugins/projectexplorer/addrunconfigdialog.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/projectexplorer/addrunconfigdialog.cpp b/src/plugins/projectexplorer/addrunconfigdialog.cpp index acdb3977047..b0b502f9ede 100644 --- a/src/plugins/projectexplorer/addrunconfigdialog.cpp +++ b/src/plugins/projectexplorer/addrunconfigdialog.cpp @@ -118,6 +118,7 @@ AddRunConfigDialog::AddRunConfigDialog(Target *target, QWidget *parent) const auto proxyModel = new ProxyModel(this); proxyModel->setSourceModel(model); const auto filterEdit = new FancyLineEdit(this); + filterEdit->setFocus(); filterEdit->setFiltering(true); filterEdit->setPlaceholderText(Tr::tr("Filter candidates by name")); m_view->setSelectionMode(TreeView::SingleSelection); From b619319b2bf4d3e34c6a2eeb00ad769233839be0 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 7 Mar 2023 12:46:10 +0100 Subject: [PATCH 19/38] Fix vanishing search term from locator popup When setting the locator to open as a centered popup, everything locator is triggered, the search term is cleared. Don't delete the popup when closing it. That keeps the input field alive, and the text in it. We manage a singleton instance of it in locatormanager.cpp/locatorWidget(), and it will eventually be delete because it has a parent. Change-Id: I237029bc2793f7394c5eb6ea7d658a4dd4a2c1cf Reviewed-by: Artem Sokolovskii Reviewed-by: Reviewed-by: David Schulz --- src/plugins/coreplugin/locator/locatorwidget.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/coreplugin/locator/locatorwidget.cpp b/src/plugins/coreplugin/locator/locatorwidget.cpp index 64adb039c3a..ba717ea0f98 100644 --- a/src/plugins/coreplugin/locator/locatorwidget.cpp +++ b/src/plugins/coreplugin/locator/locatorwidget.cpp @@ -1085,7 +1085,6 @@ LocatorPopup *createLocatorPopup(Locator *locator, QWidget *parent) else popup->layout()->addWidget(widget); popup->setWindowFlags(Qt::Popup); - popup->setAttribute(Qt::WA_DeleteOnClose); return popup; } From e16ddefbdd0b077210af290314217087b418a37b Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 9 Mar 2023 10:33:49 +0100 Subject: [PATCH 20/38] Doc: Fix link to a removed section ... called Adding Qt Quick Timeline Module to Qt Installations Change-Id: Ia074ad82ea544bc65286b8f0a8d54997521aabe6 Reviewed-by: Mats Honkamaa --- doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc b/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc index b89ff1442b3..158aac049cb 100644 --- a/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc @@ -76,8 +76,7 @@ If you only install Qt Creator and Qt, remember to also select the Qt Quick Timeline module for installation. If your Qt is older than 5.14, you must build the Qt Quick Timeline module and install it to - your Qt to be able to build your project. For more information, see - \l{Adding Qt Quick Timeline Module to Qt Installations}. + your Qt to be able to build your project. \section1 Converting into qmake Projects From 87be1f63708cb3fc2374021dac70e69a60246769 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 9 Mar 2023 09:01:06 +0100 Subject: [PATCH 21/38] AutoTest: Tweak generated cmake project file a bit Using Quick Test with cmake as "build tool" does not list the important part for the testing - the test sources. Explicitly add the qml files to the project and list them to be able to see and access them directly. Change-Id: Id136a017989a5bfb4b9058576e008edb792e5866 Reviewed-by: David Schulz --- share/qtcreator/templates/wizards/autotest/files/tst.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/qtcreator/templates/wizards/autotest/files/tst.txt b/share/qtcreator/templates/wizards/autotest/files/tst.txt index 5852153e897..7e1bd4c46ee 100644 --- a/share/qtcreator/templates/wizards/autotest/files/tst.txt +++ b/share/qtcreator/templates/wizards/autotest/files/tst.txt @@ -49,6 +49,9 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) # no need to copy around qml test files for shadow builds - just set the respective define add_definitions(-DQUICK_TEST_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}") +file(GLOB_RECURSE QML_FILES *.qml) +add_custom_target(qmlfiles SOURCES ${QML_FILES}) + @if "%{UseSetupCode}" === "true" add_executable(%{TestCaseName} %{MainCppName} setup.cpp setup.h) From c7a67ab9e99ed6c363e391d47f10f3b7817b60b2 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 9 Mar 2023 13:31:04 +0100 Subject: [PATCH 22/38] Doc: Add Profile to Qbs Build variant field options Task-number: QTCREATORBUG-28721 Change-Id: Ib05ce93ac4813d35cbe5bdd0e1bccdf24bce172b Reviewed-by: Christian Kandeler --- .../creator-only/creator-glossary.qdoc | 3 ++- .../creator-projects-settings-build-qbs.qdoc | 27 ++++++++++++------- .../creator-projects-settings-build.qdoc | 4 +-- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc b/doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc index 7a20f1fa876..c6cc117b1b0 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-glossary.qdoc @@ -31,7 +31,8 @@ additional debug symbols that you need for debugging the application but that you can leave out from the release version. Generally, you use the debug configuration for testing and the - release configuration for creating the final installation file. + release configuration for creating the final installation + binary package. \row \li Build step diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc index 45b08dcb4f8..71b13ce437f 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build-qbs.qdoc @@ -8,7 +8,7 @@ \title Qbs Build Configuration - \image qtcreator-build-settings-qbs.png "Qbs build settings" + \image qtcreator-build-settings-qbs.png {Qbs build settings} Qbs builds projects in the directory specified in the \uicontrol {Build Directory} field. @@ -33,15 +33,22 @@ \section1 Qbs Build Steps - \image creator-qbs-build-app.png "Qbs build steps" + \image creator-qbs-build-app.png {Qbs build steps} To specify build steps for Qbs: \list 1 - \li In the \uicontrol {Build variant} field, select \uicontrol Debug to - include debug symbols in the build for debugging the application and - \uicontrol Release to create the final installation file. + \li In the \uicontrol {Build variant} field, select: + \list + \li \uicontrol Debug to include debug symbols in the build for + debugging the application. + \li \uicontrol Profile for an optimized release build that is + delivered with separate debug information. It is best suited + for analyzing applications. + \li \uicontrol Release to create the final installation binary + package. + \endlist \li In the \uicontrol ABIs field, select the ABIs for the \l{Connecting Android Devices}{Android} device @@ -56,18 +63,18 @@ \l{http://doc.qt.io/qbs/language-introduction.html} {Modules} in the Qbs Manual. - \li In the \uicontrol Flags field: + \li In the \uicontrol Flags field, select: \list - \li Select \uicontrol {Keep going} to continue building when + \li \uicontrol {Keep going} to continue building when errors occur, if possible. - \li Select \uicontrol {Show command lines} to print actual + \li \uicontrol {Show command lines} to print actual command lines to \l{Compile Output} instead of high-level descriptions. - \li Select \uicontrol {Force probes} to force re-execution of + \li \uicontrol {Force probes} to force re-execution of the configure scripts of \l{https://doc.qt.io/qbs/qbsprobes-qmlmodule.html}{Probes}. @@ -108,7 +115,7 @@ When building with Qbs, you can specify flags in \uicontrol {Clean Steps}: - \image creator-qbs-build-clean.png "Qbs clean steps" + \image creator-qbs-build-clean.png {Qbs clean steps} \list diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc index 1ab5ef2fab5..53f14c0c342 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc @@ -20,11 +20,11 @@ debug symbols that you need for debugging the application but that you can leave out from the release version. Generally, you use the debug configuration for testing and the release configuration for creating - the final installation file. + the final installation binary package. If you selected CMake as the build system for the project, you can use a \e {minimum size release} build configuration to create the - final installation file. It is a release build that makes the size + final installation binary package. It is a release build that makes the size of the binary package as small as possible, even if this makes the application slower. From d299edfe0528489e8453d18941a85c91c9b59686 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 9 Mar 2023 15:05:01 +0100 Subject: [PATCH 23/38] Doc: Add MSVC example for CMake presets using 'external' strategy ... for the architecture and toolset fields. Task-number: QTCREATORBUG-28721 Change-Id: Ieac6c4bc1553204a1e34ea0ea05028e6e4975adc Reviewed-by: Cristian Adam --- .../creator-projects-cmake-building.qdoc | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc index 1359eceda1e..5d7d2fc6e86 100644 --- a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc +++ b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc @@ -189,6 +189,47 @@ \uicontrol Edit > \uicontrol Preferences > \uicontrol CMake > \uicontrol Tools. + \section2 MSVC Example + + When using MSVC compilers with NMAKE Makefiles, Ninja, or Ninja + Multi-Config generators, you can use the \c external strategy for + the \c architecture and \c toolset fields. This lets \QC set up + the Visual C++ environment before invoking CMake. + + For example: + + \badcode + "generator": "Ninja Multi-Config", + "toolset": { + "value": "v142,host=x64", + "strategy": "external" + }, + "architecture": { + "value": "x64", + "strategy": "external" + }, + \endcode + + If you use MSVC compilers with non-VS generators and have several compilers + in the \c PATH, you might also have to specify the compiler to use in + \c cacheVariables or \c environmentVariables: + + \badcode + "generator": "Ninja Multi-Config", + "toolset": { + "value": "v142,host=x64", + "strategy": "external" + }, + "architecture": { + "value": "x64", + "strategy": "external" + }, + "cacheVariables": { + "CMAKE_C_COMPILER": "cl.exe", + "CMAKE_CXX_COMPILER": "cl.exe" + } + \endcode + \section2 Using Conditions The following configure presets are used if they match \c condition. That is, From 13b5254df6113cfb8c675cef71653928cb255335 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 9 Mar 2023 15:18:09 +0100 Subject: [PATCH 24/38] Doc: Remove 'Window UI - Dynamic load' from project templates Task-number: QTCREATORBUG-28721 Change-Id: Id1369c189ef4e92ec646e16fa7b8fc4a3d65c877 Reviewed-by: Cristian Maureira-Fredes --- .../src/projects/creator-only/creator-projects-creating.qdoc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc index c0768899210..141e6eab2ad 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc @@ -117,10 +117,6 @@ window with a widget-based UI. Preferred approach that requires you to generate a Python file from the .ui file, to import it directly into your application. - \row - \li Window UI - Dynamic load - \li Creates a Qt for Python application that has an empty - window with a widget-based UI. \row \li Qt Quick Application - Empty \li Creates a Python project that has an empty Qt Quick From f9b6ee54d84b031915491aab1634b5caf7a45a0c Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 8 Mar 2023 18:14:41 +0200 Subject: [PATCH 25/38] Debugger: Fix write error on terminated GDB process Stopping/Aborting the debugger in core dump mode popped an error message saying "An error occurred when attempting to write to the process." Take 2 of 87c00b86dbf75a9204041b0b8e836415b97dc125. The flow is: InferiorUnrunnable -> InferiorShutdownRequested. For AttachToCore, there is a no-op transition to InferiorShutdownFinished, and then EngineShutdownRequested is triggered. This calls exitGdb, and when the thread group is clear, the engine calls notifyInferiorExited, which retriggered EngineShutdownRequested. Now the flow looks like this: EngineShutdownRequested -> InferiorShutdownFinished InferiorShutdownFinished -> EngineShutdownRequested And exitGdb is called again. Fix this by changing the Finished type to match the Requested. Change-Id: I45332d3ee1a1e9421ed516cd513542b310198c93 Reviewed-by: Christian Stenger --- src/plugins/debugger/gdb/gdbengine.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 3fd126a4b07..5156d2e4474 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -1715,6 +1715,8 @@ void GdbEngine::handleThreadGroupExited(const GdbMi &result) notifyExitCode(exitCode); if (m_rerunPending) m_rerunPending = false; + else if (state() == EngineShutdownRequested) + notifyEngineShutdownFinished(); else notifyInferiorExited(); } From 919b97b75060770fb6f457527e2118041f0d5b7d Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 20 Feb 2023 15:45:46 +0100 Subject: [PATCH 26/38] AutoTest: Remove gtest notes from visual tree GTest uses a linear output format while we use a tree to group the results. Some information which make sense for the linear result cannot be placed correctly into the visual tree at all without breaking either the tree layout or displaying the result at unexpected locations inside the tree. So, omitting these information to avoid confusion seems to be the best trade-off as the information is still present inside the text output if needed. Change-Id: Ifd72bbf7e88993b4c76765597288e1531b50ee9a Reviewed-by: Reviewed-by: David Schulz --- src/plugins/autotest/gtest/gtestoutputreader.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/plugins/autotest/gtest/gtestoutputreader.cpp b/src/plugins/autotest/gtest/gtestoutputreader.cpp index 2c2aee07a6e..a24377bef7a 100644 --- a/src/plugins/autotest/gtest/gtestoutputreader.cpp +++ b/src/plugins/autotest/gtest/gtestoutputreader.cpp @@ -69,13 +69,8 @@ void GTestOutputReader::processOutputLine(const QByteArray &outputLine) m_iteration = match.captured(1).toInt(); m_description.clear(); } else if (line.startsWith(QStringLiteral("Note:"))) { - m_description = line; - if (m_iteration > 1) - m_description.append(' ' + Tr::tr("(iteration %1)").arg(m_iteration)); - GTestResult testResult(id(), {}, m_projectFile); - testResult.setResult(ResultType::MessageInternal); - testResult.setDescription(m_description); - reportResult(testResult); + // notes contain insignificant information we fail to include properly into the + // visual tree, so ignore them here as they are available inside the text display anyhow m_description.clear(); } else if (ExactMatch match = disabledTests.match(line)) { m_disabled = match.captured(1).toInt(); From 5fc74d06e0678f3304851e16eaf9f362087c0621 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 6 Mar 2023 11:14:01 +0100 Subject: [PATCH 27/38] Doc: Describe Formatter tab in Preferences > CMake Update screenshots and fix alt text to use {} instead of "". Task-number: QTCREATORBUG-28721 Change-Id: I9535f099047b36dda2f7a37b181c688e40a534d1 Reviewed-by: Xavier BESSON Reviewed-by: Cristian Adam --- ...qtcreator-preferences-cmake-formatter.webp | Bin 0 -> 4310 bytes .../qtcreator-preferences-cmake-general.png | Bin 4094 -> 0 bytes .../qtcreator-preferences-cmake-general.webp | Bin 0 -> 3968 bytes .../qtcreator-preferences-cmake-tools.png | Bin 17395 -> 0 bytes .../qtcreator-preferences-cmake-tools.webp | Bin 0 -> 8720 bytes .../creator-projects-cmake-building.qdoc | 20 +++++----- .../src/cmake/creator-projects-cmake.qdoc | 35 ++++++++++++++++-- .../creator-projects-building.qdoc | 2 +- 8 files changed, 42 insertions(+), 15 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-preferences-cmake-formatter.webp delete mode 100644 doc/qtcreator/images/qtcreator-preferences-cmake-general.png create mode 100644 doc/qtcreator/images/qtcreator-preferences-cmake-general.webp delete mode 100644 doc/qtcreator/images/qtcreator-preferences-cmake-tools.png create mode 100644 doc/qtcreator/images/qtcreator-preferences-cmake-tools.webp diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-formatter.webp b/doc/qtcreator/images/qtcreator-preferences-cmake-formatter.webp new file mode 100644 index 0000000000000000000000000000000000000000..a61b2d727016d39a41cd612589ede466bb7c36ce GIT binary patch literal 4310 zcmWIYbaOi=z`zjh>J$(bVBvE}fPq2(L8AeKQuO)%>x=H}nQmlk9DG3_?OWCMilg^L zzS#w&tvh{ZX{F$E-KT%*_uv0tpHO~|^K#RonL!7lXBn+~q+Pyr$|0HK>z)M9)4Du+ zqMLH$v?5d0_|#J=t*7VSJoM)1`ZM!F*BJTje3)7APdU2qVx!lFExFcr)*RiI+tz$T ziskCW=H^I;b+6~|>RnZz|C1CvC*5AAcBG?KVHaBj(-lLBAJrf4HGXw|q!eo_p7q`;+<9{JBUAC0 zZ$4_vPnVX9KKMM&nakWmu>8pKXgzD2vWM&P`cJv;s@A`Av-sXKGxf)Fy34-qTbBBC z!TNdTJ5;x2Ri1r*Zlis!|Chp<2PYm~yG-=2oO<$cZ~k7N-(TY1b^7~Pzv}z8ymsQc zIQ}D+)_QNZ=q`9Xr{`_?oU*oVi{x85XR(=K=5*%mB+g6-U486NHkp0=oiro$~HlJYH<^0$&&h&KTfdy*nV(L>x;zl{vIgpE|}xS zC(UpsdF8z+6&9&%*Ir$6%30IJ|LpO5nbZe0A3vBF*vqtjPn#j%moNEjZR_o_(#*X9 zzjtn5mU3n3HtY1HM>Wq3P51TKJart}sjqFAES;fTV|KB_F@%LHdhNJgq z?=*Jtoha~V*NQrw@W<2s+HpNQU!7d|v0-}s7S|PT(|Ie_{Zgq?JD8WB{BOzh6Yl&Fra@H*<4(ebAis7mR26*dP0B+weD1D&<-78CmVgFXo-Iac?v|5+J)=c~PJ9 zMz_%Py1P|ZmX@wvYn!~%&tt-A-`Q4u{3~^#0WBl~Ix3 zZ_5g`csx6IK-u3YOx$VPg}b#4%cV=?KYX8j;9~tZe+8q?m+txk&#qb9-FAGQ&;M+l z%kn8v)A$7+2wZcTqG~le_`unYBSjC7xmuoTo;LY{@xdwlKRTEH{#R|a_wn)9HP+v|BJ{EHK$pX?R5EYr`urF4xH=Z^NHYnO#8|2xgo>+^Zh z!sTn#SmyQx2G$*Ixb3R*cvHRAd)LD%A9il+{GW4%{j8_PEl=j=@(hKjCMmYm8I`de zH`1~hGo_X#>A6Lj8MfSX2%3DQ%C^nf!D-6G$*Ri?SToc^`LmaCm6a`VHO^tsWIgQb z^7?B;c+zX9CHD5Bizls`xaD4cz+o4s7T0#?hRGRxCIV9u_1F%x8=D8N&AjOH;ozKi z?C$@yiVfB0w8W{Lo};FqGh0)7rKghW<+K{tZ98x5YB6};_;go8X8a3hMv=u%SxZ>X zi7yjAqcq94xsz>*jp#F>V#d0O&FQC>Fc)&2TQW(scz(E>*A+hV&XmtjPFnd!JYz1s z>@Y!-OFr@DebqF9FGuZMqy!YB8DF|?n&WnPT@X)GmXubd){*qz-71f2y1y&L#U;Kw z#Gw0VsbBOdUr&ygeM=Ut|C0D4Ax&@5%=!YU)Wm?GQ>_|)PO9fw>h^x}IH|PEGi96X z318W#JA^F1b{la2&|}rAR7iP0PwD0si_KxXRvau;6)HS-w^3%og=s~>st+2zgsM(I z={!q9hWCt3qS(O?djwRM9timq5pwn}OPlDkG?k4R0j;Y`JePT@oK{q6KEUZ`Qzd#R z=w`@`ppGy5mOoj&g-iTm<64OYI!ZT{K793P*0hW%D)??066|U3t#aBX=+nXdPi{1H zhC1!L+Pa{>=dy^U)rX0NU)26>c9b)}>viu{g8i8z=7Qle^DnL2HR+z{v1QBNZFyxN zy!OT8uH@j=+zV&tEsYUT4wsm{=h2TP{0|@5GOu=RTAcE4s$SQt|K(p5eRdZrZQQ&1 z(TmJ|ElXw0!dvYh9_#!O#J76&qxO9*h97@SD(hbTs3QK*i-;V~**8NAC;fHVbY^9W zUa&~VEin&0wf*xNxD|z#7!>X7c4zm|yC-d0bRb6|HbPQCQ`*vM!J(top^rrq^3L$i zF!}b3=giD?oX-kVLnA$yTQC3C5PK)uYa}}%>6hom8A(mY7grQMZnzzBs4Okxz?t$3 zXM&kR7!wWtY>m-j;R(~#6zaZZXdQFt@1g()>+(4hoAz?5hG?3*v6u7*p8FcRC*1UV z-3;UBo1|xwg5*S|iKQ>%HE~;P?UhvcdgemSWIrG4zKv-IZg%#QDK$ zyNCaoxHR4!4X={K7ORMDo-@xT%CzaJpX*hzl%rl9Y)ySytP^h*2Cy7=jp&PLdHT;R z)_+0AdE-nSkCRWA%xiqJhX^oq!$*BX6 zPid{K{+6yc!|U-B8E$UfXTnQt^;8yoNtk0%I3@kAzPtba3KOerhOFuAGpif>UbdfY z2wEun#PG-+Z4Lf!vm_UN?%vS5xW!Q_C~!jWHK`eKHmhbyiwjG8T%NOWy2`7{hfgl9 zN?dRH^VZ=&gZVEX&PqyHYnLl=)?Vh!o@Hq_UO&vVkUCNG^P$3(&le|fIUSyI^W9Fd zcXda~tS0^V8f}{H;@;b`!s;-a(8*=Y5ts8Xe`R^#ZpSf2FIeGY$c`5boqk6;8)uj~ zvl^Uc^X+e~d%S`4Nuomy#!8Y0FjL1UWnsnX+D>eQskUZ1z z_yccCL5r}I#<5Oi@rea7t|E2{mp^&i|F~qQk=rZ2afU^H{l&S8S$gKnCo-P8el~L& zSL3Bk*XJgCd1qzYe2mh0aDiD%z&$)O;hhmDY)}8cpKjm_yu;ncaA=xWgri84Z)p>^N8_{mT;=B&sy-cmw4?g>p1yKBo3roZc=ax^CJa3-5=IiRse@|=m?9-8& z!JdColxfu?nF-sUS1~{n>ecZ#sDGDL5#t_vOhWjo1qgQhRR;oexov`*$LSL9!wL zT%){+^2^z$9~*+4+`v##e{3&H$|0^r6}veu|9<%K&W=3yODdnL4#%`ztULHSXiuon z>5E5MKb~u=_PIBqVAX$NlOM~vez@KI=5gfhFFq~7`J3vRwneFISP}Vnm4)J*KOI}r zYa(lU%M{)?z1HjwJ>2N(lNEk6?P2r2ootsF-}-(~-T&l9R^sAQp&O^lKU{RTws=~p zwV2VHT^eyl&*SY{PWSu8R3%h+?yg+AApPlr>!yV_)_C*s#U|!l>i@Iz-Bb7D|4q-j zeq7He9}~E-^M8eS-3_l}{I!~EC&{1s9j$lKe8+;sZhtrXcg3IQ_rHc+6D&A>t9??I-sEkY8@!HQU%jbK zA}iZ#UWT|}x0S2TtH8)xnSa}_F`u1c^J!<{)02{%i*$O|1zLYdIL92&9;vb9lBD?D zs883lpFHu++nBE>rn>2{Yl)U@o~_vGmYUq{-g5I-$kOD^0w@ndz|o-MK^Yg?Zlul-}U zA!N^)3mwyJG_Gz5y*%mJX3=MQLNT1I8y7nHEo9eXoqPAg!DrJ~mF)N$)x6s8yzP&5 zcdlLAw&nD))D>4&xNgea^;1V9Zgay{F3V_zXq|7xQMVpm>t0**_v+Ve+jh@O^ABA% z$?K4^jZU&Kn*i8Ld^sy7ES_~|mE-q~Z>N{<_?i;G?fUEdEgRP|K3N*K#5Bvk>HXnF zF71&KZy>1R+O{cL zg0i<5wz%qe{jhE1p>*J~;s+UymX%7(!o9VjgjIT)QjP4C# zx>5p4juRGh-Byvk#n8gaR%P~BRVQTiL;;v}=0t+VXY&dmRsH&s-<+s#jZq=BxjO zRhb`pXKl7m(Ck0o$@k^yr%OELDzOdMZtWL1S?0>z!2eJ6cpKlxgZ1lncm9{XZsxZ1 z@hsWW0zPw}&HCcOv1d;dxou0AUS_?{GLZeb$6*td^s8Q;M>$(o*491T_ITC|BR_#| zzpI?nWv|PuX`XEAqkQ^yM|H!LFX7C`j^w%qegD^yclb>;(DlPctJZ*bqQ^tNZ&yzwz z_NfzkxF+iGPE>Q;@n*-f6j_;8pGY%{buLa@;wP(cv5P5eQW9D;Yv01R6Q(z>es|)m z%M0OVknOCc1sS4Vkw4`WS`Bx6bmvLr{{Oq*D4{A;~emEE#DF3IOZT64z$4nk>|6ly_pNUzB GF9QH%Jtu(x literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-general.png b/doc/qtcreator/images/qtcreator-preferences-cmake-general.png deleted file mode 100644 index fc096178c71995aa7a58d2f614149cf3dd363104..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4094 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 A`~Uy| diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-general.webp b/doc/qtcreator/images/qtcreator-preferences-cmake-general.webp new file mode 100644 index 0000000000000000000000000000000000000000..2eef4e57ee2e47df82c146781d214889cf0426b8 GIT binary patch literal 3968 zcmWIYbaSiVXJ80-bqWXzu<*&@XJF9JIOxX^{>)-hZs^RN{z?a?Kk>|PS)%>-|6$ij z4bq;Il2&Iud(e1HXx5jt|IKW!NwAfv++HgY|G zzRn^{Jen+;ULjhcolFxIbXZn&EJ_g#+_G)8@8Szi3tLYGbTX+rb%bzDc=cYDTfm7S zXaS2>%M1Gh0xKQ3oE4@rv@{4b3M{&1)^x3G?`?yS*=|>U>s~G0vp#L>sYPkQx0jju zx&+Q%mU8u$-_l+8zo}IGPvYY#WNQ7x7Gu;n!`GofQ^1|Uct#=9nHi0elk5vzS!OYE zaO_}s#G+Ne>d2aYkhQMRM&D2U>3f+NgAY}YYvu-?IP_Y0`s*&IFrW1+?mm(@;Uu=~ z`utt1A{vgexETm&Ivjp}SNX|3#KWekrHwH6E5ubTgtFeCdD<3XMVoU#bW2B3~&G4)3nLCz04wSYwp7% zQ&K)gC0d?2bLI?B+J#RQIqQ37I-ZQ;k}x?vk(ul3r!Sv^W(ZqGEt&Bvy)-r;mN(Qb zG~D&ed@+@qWw+DTofQ%2y4S58pk}#)zkXiD*S+7DhQGP0E@OLY&Z(>BbLXagd@6Wc zwzMLw%eHLFFRO^~6?dx3c0Ij!_}IMi*sw0^e=9cn)m};Nn({knna!I$-2UghH1AGa z7b5>vV{XyilQ%W5%f7qZv8%qn`kdGHJDcB6KHEHT_W%7YeFv*6N4rKFy_MYgRH7hlhyUZ{3zj^v z3JASvRJ~-!&Saa=doi1`|M+kHUN80I`Hvu$2TnP&{{P<|7B#U!t9*sB-{;RfJZGK- zKTO%Lcxx5&Dc_03h1L5^U&Kf|w*DwLjj{=4{E(UUmT%fa*8Mq=uDNHV0-4t_M~c2T z?-4P7DW+XL{pp#z7yQq+2HSPX{|nAP7<(mWfz^ai$+Enge7=*}x6XGH*X&SKD+I^CBkx#>BUFC|80(+^LgFgyYa7mX3T!S=hKx-_e&T5EV_JjvBSvmgM^wM{Z!uhU4FRKn0746M+`F!7R&9(A5*V&)nH$8Rhvi$bty_>$R`<&ru z#~7K({_uj@i5{kxt=a2)>i3%*+edeXGYuD74Z?A0r==#}9aI%ZseBC%FM&D?1*4_@D z%|UkR97656TS_+;&bndYo3o+mPlCn_;Yaeb_&km-I@(Yj$*-ZIIJt{OF7vM6?;`(O zKhv)K>e{NI9qKGoW^mJ8}|J_ci(aMIr+;^*CcJq`I33` zr*fBdztxA0qEpu-eoFcB^2pD{JDzDRVs!kTqWO4F<^%tw7KbO6tiEw?^R-Eb=5bqb ziR_P)a-09m@!Pzu(?q__(hk+Ad(~@qHos&!w`)(Po{UT5qv=f-m*3rer&e!!v>awc&%dS72(&F=VpJA2HmpL=6o)a)w%ms4!8BI0|YUWwgZ>-xJ{ z6XfUme?KQ5mTR>5vn1CQ^%pZQ{_II@-g9#1x#fw^`|r%Pp6h@4-27aZ2d6(R{hWE@ z=i+}`e(tS#SyNT|uV~?C$)?ZC-JTokZ(8|T^2_fBwf}F%w=VQAI$q#CUqY^8hR(eV zP4|gQO_JT_C!LvN{?M_jDw^|+=!6}~f4*u*wWMaM^i)1udjEF&&XqMP`RebuPWa{K zamQpNSlzLG80fvh?n{{B-K>UBzCwx8^RJ(2m}tu0`g{ z>mQW(EDkYL?w!%G2_zEZ6Jze1ww+|4JYhF7lk zD*83MNi103ux9Hk$2pIFM{zG}*v!y)-F6n^{;H}&fA?2^yjjRpr6vD_)#Hk5dCX?( z^LIKv^S2znZg$SGIcvu@#hgFic5>c}PhmY1Vt3`ho4nHH_LeGY9!=|Vb)IiKc*Bsb zaJs$E2mf9+gW#VE>aQI6R2VKNoX}QyD9JMKa!0oG>qHq#lTLl>-$y6AG0w0|pDg@U zVO`!A(HU&cag3Z%|F6z{)ZcjdpTlN`Og^c@Z5s71`hR(Uoz-cstN!MY@avy-{qJ{k z?29;xTyAZee9)raC41fc`=@zjp9`~Gn)|uEccPO+^f`HEvF|TVerZxEkgWI|29j_1=2?;#w8MR8%o zjZ&NTCuTiAyJn5v_jA*2=PCzI(f{sOd5S0Dg1p6>?~6g%^v#as@a?;CRdsYRV5 zMQ*~!cn`iMPxkXooYZkeDaNU+Oz}fO2g{ZP9y42~O!$#&TI6W=>$dln7Tp~cx+?EC z)_xHDCok!gv}|vM-oCA3Pnnb)Dpr=}b*|dIGcmRHgs&irLs*N&$qC!l40lgp{NwA$ z)iov3gR^tp+}Z!W3F#(s>&9{as>r!s(DL8CmEryzA>ji{r50OWQRekN>GL7_ZN5KW zt@+)>VJcCRI8R5kG3~tB>T$-n#j2^K$w2?_Th*vTVtXrePdojt-?D5n2Ip}0u6>{JGtBJ@(=$9Dz4yFTk!b|o7jI9sIqsI-RjLACwjXk#g>ozV|-X7{A;C+vP~_wdJvlAK+2=CRqW;M7mUqdm0!r~#?Z%5W z?1d~#{z;rYxa!!?M+Yk+DAE4pW&K>keBq=w3N4xBAk>MRI4( zxu>W)hL|e6X|!>%Qs7zS;^TIRGo(ai$;sZ&?EOUzU#(Q$2!4{is~&f}@)C;+=SsV8 z5mWmFzdDqeDXkM;$EbS4fw?1yd*!?xH+rVLT>i}C#6;=m{W3{&qJ2db?>7c0wtimH z&!+sq?wiC^K4pqT-=56A%$sM@ix8Pk7HP|(fB*FOguZ1=+|d5i`VN=kbz!-xrUpTk zUpJaPB^`v!lmgW|kG^!S6j<4Mg)K7roxu_5tUedUFWb!>zVg0K46kUZ5obPXu}s~j z;0(uB{_h))uPWhrpvojK_(YP7{Mq92 z*%9+j>>ld$t>chK{G=_A{sbEDT8TSr|u{8C5k!-lEh<+-cE?sRQe5d*1P@ob53 rg#LrwPZntWTehD4SC#SVj10c7U%r0JX>1TXn|eXs;>+LV_f`1-vR0Ya literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-preferences-cmake-tools.png b/doc/qtcreator/images/qtcreator-preferences-cmake-tools.png deleted file mode 100644 index c7abce197794123d8bb6d462338974c2ba17ac05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17395 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 S8dV)LGPzvua`HsyQw9L04fw_Y literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc index 5d7d2fc6e86..322a72cd711 100644 --- a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc +++ b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc @@ -20,7 +20,7 @@ is constructed by using the values of the \uicontrol {Build directory} and \uicontrol {Build type} fields. - \image qtcreator-cmake-build-settings-initial.png "CMake build settings" + \image qtcreator-cmake-build-settings-initial.png {CMake build settings} \uicontrol {Initial Configuration} lists the variables that are used to configure the CMake project for the first time. The default values that @@ -72,12 +72,12 @@ disabled all kits in the project. To update changes to the \c CMakePresets.json file, delete the \c CMakeLists.txt.user file. - \image qtcreator-cmake-presets-configure.webp "Opening a project that has Cmake presets" + \image qtcreator-cmake-presets-configure.webp {Opening a project that has CMake presets} You can view the presets in the \uicontrol {Initial Configuration} field and in the environment configuration field below it. - \image qtcreator-cmake-presets-environment.webp "CMake environment configuration" + \image qtcreator-cmake-presets-environment.webp {CMake environment configuration} \section2 Configure Presets @@ -292,7 +292,7 @@ are passed to CMake in \uicontrol {Initial Configuration} or \uicontrol {Current Configuration}. - \image qtcreator-cmake-build-settings.png "CMake variables" + \image qtcreator-cmake-build-settings.png {CMake variables} To view all variables, select the \uicontrol Advanced check box. @@ -352,21 +352,21 @@ \uicontrol Preferences > \uicontrol CMake > \uicontrol General > \uicontrol {Ask before re-configuring with initial parameters}. - \image qtcreator-preferences-cmake-general.png "General tab in CMake Preferences" + \image qtcreator-preferences-cmake-general.webp {General tab in CMake Preferences} \section1 Viewing CMake Output Output from CMake is displayed next to the \uicontrol {Build Settings} and \uicontrol {Run Settings} panes in the \uicontrol Projects mode. - \image qtcreator-build-cmake-output.png "CMake output in Projects mode" + \image qtcreator-build-cmake-output.png {CMake output in Projects mode} To clear the search results, select the \inlineimage icons/clean_pane_small.png (\uicontrol Clear) button. You can enter a string in the \uicontrol Filter field to filter output. To specify filtering options, select the - \inlineimage icons/magnifier.png "Filtering options menu" + \inlineimage icons/magnifier.png {Filtering options menu} button. You can filter output by using regular expressions or case-sensitivity. Select \uicontrol {Show Non-matching Lines} to hide the lines that match the filter. @@ -391,7 +391,7 @@ You can add arguments to pass to CMake and the generator and targets for the build command in \uicontrol {Build Steps}. - \image qtcreator-cmake-build-steps.png "CMake build steps" + \image qtcreator-cmake-build-steps.png {CMake build steps} \note While the other CMake generators are installed together with Qt, you usually need to install Ninja yourself. @@ -407,10 +407,10 @@ variable. \li In \uicontrol Projects > \uicontrol {Build & Run} > \uicontrol Build > \uicontrol {Build Settings}, select \uicontrol {Kit Configuration}. - \image qtcreator-cmake-kit-configuration.png "Kit CMake Configuration dialog" + \image qtcreator-cmake-kit-configuration.png {Kit CMake Configuration dialog} \li Select \uicontrol Change next to the \uicontrol {CMake generator} field to open the \uicontrol {CMake Generator} dialog. - \image qtcreator-cmake-generator.png "CMake Generator dialog" + \image qtcreator-cmake-generator.png {CMake Generator dialog} \li In \uicontrol Generator, select \uicontrol Ninja. \li Select \uicontrol OK to save your changes and close the dialog. \li Select \uicontrol Close to close the diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc index 34e98d8d309..8b7c3fa3d41 100644 --- a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc +++ b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2022 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only // ********************************************************************** @@ -36,7 +36,7 @@ a \c CMakeLists.txt configuration file in a project. Project information is also automatically refreshed when you build the project. - \image qtcreator-projects-view-edit.png "CMake project in Projects view" + \image qtcreator-projects-view-edit.png {CMake project in Projects view} If \QC cannot load the CMake project, the \l Projects view shows a \uicontrol {} project node to avoid scanning the file @@ -85,7 +85,7 @@ \li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol CMake > \uicontrol Tools. - \image qtcreator-preferences-cmake-tools.png "Tools tab in CMake Preferences" + \image qtcreator-preferences-cmake-tools.webp {Tools tab in CMake Preferences} \li The \uicontrol Name field displays a name for the CMake installation. @@ -120,7 +120,7 @@ The kit also specifies the CMake generator that is used for producing project files for \QC and the initial configuration parameters: - \image qtcreator-kits-cmake.png + \image qtcreator-kits-cmake.png {Kits preferences} For more information, see \l {Adding Kits}. @@ -155,6 +155,33 @@ Warnings and errors are displayed in \l {Issues}. + \section1 Formatting CMake Files + + You can use the \c {cmake-format} tool to format any text in CMake files that + you do not guard with a pair of fences. You must install the tool and tell + \QC where you installed it. For more information about the tool and how to + install it, see \l{https://cmake-format.readthedocs.io/en/latest/index.html} + {cmake language tools}. + + To automatically format CMake files upon file save: + + \list 1 + \li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol CMake > + \uicontrol Formatter. + \image qtcreator-preferences-cmake-formatter.webp {Formatter tab in CMake Preferences} + \li In \uicontrol {CMakeFormat command}, enter the path to + \c {cmake-format.exe}. + \li Select \uicontrol {Enable auto format on file save} to automatically + format CMake files when you save them. + \li In \uicontrol {Restrict to MIME types}, add the \l{Adding MIME Types} + {MIME types} of the files to format, separated by semicolons. The + default value, \c {text/x-cmake} formats CMake files. If the field is + empty, all files are formatted. + \li Select the \uicontrol {Restrict to files contained in the current + project} check box to only format CMake files that belong to the + current project. + \endlist + \section1 Adding External Libraries to CMake Projects Through external libraries, \QC can support code completion and syntax diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc index d67f493dd1d..a99605d96e2 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc @@ -103,7 +103,7 @@ CMake executable to edit, and then deselect the \uicontrol {Autorun CMake} check box. - \image qtcreator-preferences-cmake-tools.png "Tools tab in CMake Preferences" + \image qtcreator-preferences-cmake-tools.webp "Tools tab in CMake Preferences" For more information, see \l {Setting Up CMake}. From 837a779b86bb0499ad967727718a7815f863a594 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 6 Mar 2023 17:45:06 +0100 Subject: [PATCH 28/38] Doc: Describe changes in CMake build settings - Added `Show advanced options by default` to `Edit > Preferences > CMake > Tools` - Moved `Autorun CMake` to `Edit > Preferences > CMake > General` - Reorganize the building with CMake topic and add subtitles for readability Task-number: QTCREATORBUG-28721 Change-Id: Id8bab60bc2e148c067ac1eb3669b544d12031078 Reviewed-by: Cristian Adam --- ...reator-build-settings-cmake-configure.webp | Bin 0 -> 5270 bytes ...tcreator-build-settings-cmake-current.webp | Bin 0 -> 16632 bytes ...tcreator-build-settings-cmake-initial.webp | Bin 0 -> 12268 bytes ...qtcreator-cmake-build-settings-initial.png | Bin 24618 -> 0 bytes .../images/qtcreator-cmake-build-settings.png | Bin 21459 -> 0 bytes .../creator-projects-cmake-building.qdoc | 113 ++++++++++-------- .../src/cmake/creator-projects-cmake.qdoc | 9 +- .../creator-projects-building.qdoc | 2 +- 8 files changed, 70 insertions(+), 54 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-build-settings-cmake-configure.webp create mode 100644 doc/qtcreator/images/qtcreator-build-settings-cmake-current.webp create mode 100644 doc/qtcreator/images/qtcreator-build-settings-cmake-initial.webp delete mode 100644 doc/qtcreator/images/qtcreator-cmake-build-settings-initial.png delete mode 100644 doc/qtcreator/images/qtcreator-cmake-build-settings.png diff --git a/doc/qtcreator/images/qtcreator-build-settings-cmake-configure.webp b/doc/qtcreator/images/qtcreator-build-settings-cmake-configure.webp new file mode 100644 index 0000000000000000000000000000000000000000..4b38b162f4cf840f41d73a2c6a9fe01fa0d4639a GIT binary patch literal 5270 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-build-settings-cmake-current.webp b/doc/qtcreator/images/qtcreator-build-settings-cmake-current.webp new file mode 100644 index 0000000000000000000000000000000000000000..24278f8dcc9887f02b128d0ff4bbc854ca92fa0b GIT binary patch literal 16632 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 Wc>JBR<=mtz3)`k>CU^&}@B{$a+|gtJ literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-build-settings-cmake-initial.webp b/doc/qtcreator/images/qtcreator-build-settings-cmake-initial.webp new file mode 100644 index 0000000000000000000000000000000000000000..cee22f09f6464c07ef760a89dddaca07f864acfa GIT binary patch literal 12268 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 U&bKN4{~G+sb4r@mgnxVt06(4Fxc~qF literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-cmake-build-settings-initial.png b/doc/qtcreator/images/qtcreator-cmake-build-settings-initial.png deleted file mode 100644 index 3392c8ee6715261062e03b88509c933416e61c9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24618 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 diff --git a/doc/qtcreator/images/qtcreator-cmake-build-settings.png b/doc/qtcreator/images/qtcreator-cmake-build-settings.png deleted file mode 100644 index 9c88b064d6787a254537795f49671b9a9f424cc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21459 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 to CMake, which stores the options in the CMakeCache.txt file. This means that if you remove the build directory, all the custom variables that are not part of the initial CMake configuration are also removed. - To reconfigure a project using the modified variable values, + To reconfigure a project using the changed variable values, select \uicontrol Build > \uicontrol {Clear CMake Configuration}, which removes the CMakeCache.txt file. This enables you to do a full rebuild. + \section2 Removing Variables + + To remove the selected variables, select \uicontrol Unset. To undo + the removal, select \uicontrol Set. + + \section2 Viewing Advanced Variables + + To view all variables, select the \uicontrol Advanced check box. + + To view all variables by default, select \uicontrol Edit > + \uicontrol Preferences > \uicontrol CMake > \uicontrol General > + \uicontrol {Show advanced options by default}. + + \image qtcreator-preferences-cmake-general.webp "General tab in CMake Preferences" + \section1 Re-configuring with Initial Variables To reset CMake variables to the initial ones, select @@ -352,8 +371,6 @@ \uicontrol Preferences > \uicontrol CMake > \uicontrol General > \uicontrol {Ask before re-configuring with initial parameters}. - \image qtcreator-preferences-cmake-general.webp {General tab in CMake Preferences} - \section1 Viewing CMake Output Output from CMake is displayed next to the \uicontrol {Build Settings} and diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc index 8b7c3fa3d41..a646b5ff535 100644 --- a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc +++ b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc @@ -34,7 +34,10 @@ \QC automatically runs CMake to refresh project information when you edit a \c CMakeLists.txt configuration file in a project. Project information is - also automatically refreshed when you build the project. + also automatically refreshed when you build the project. To disable this + behavior, select \uicontrol Edit > \uicontrol Preferences > \uicontrol CMake + > \uicontrol General, and then deselect the \uicontrol {Autorun CMake} + check box. \image qtcreator-projects-view-edit.png {CMake project in Projects view} @@ -96,10 +99,6 @@ \li The \uicontrol {Help file} field displays the path to the CMake help file (.qch) that comes with CMake. - \li Deselect the \uicontrol {Autorun CMake} check box if you do not want - to automatically run CMake every time when you save changes to - \c {CMakeLists.txt} files. - \li Select \uicontrol Apply to save your changes. \endlist diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc index a99605d96e2..acf362877d0 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-building.qdoc @@ -99,7 +99,7 @@ \QC automatically runs CMake when you make changes to \c {CMakeLists.txt} files. To disable this feature, select \uicontrol Edit > - \uicontrol Preferences > \uicontrol CMake > \uicontrol Tools. Select the + \uicontrol Preferences > \uicontrol CMake > \uicontrol General. Select the CMake executable to edit, and then deselect the \uicontrol {Autorun CMake} check box. From e7f924ba6a2f66d14c7104240b9aa760eedaf1f1 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 9 Mar 2023 16:43:31 +0100 Subject: [PATCH 29/38] Doc: Update Clang tools info Clang-Tidy and Clazy can now be run separately and the results are shown in separate views in the Debug mode. Task-number: QTCREATORBUG-28721 Change-Id: I74dd866b68657460603cdf36d12ddf1758b761c2 Reviewed-by: Christian Kandeler --- .../images/qtcreator-clang-tidy-view.webp | Bin 0 -> 3538 bytes .../images/qtcreator-files-to-analyze.png | Bin 5402 -> 0 bytes .../images/qtcreator-files-to-analyze.webp | Bin 0 -> 4454 bytes .../creator-clang-static-analyzer.qdoc | 61 +++++++++--------- 4 files changed, 31 insertions(+), 30 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-clang-tidy-view.webp delete mode 100644 doc/qtcreator/images/qtcreator-files-to-analyze.png create mode 100644 doc/qtcreator/images/qtcreator-files-to-analyze.webp diff --git a/doc/qtcreator/images/qtcreator-clang-tidy-view.webp b/doc/qtcreator/images/qtcreator-clang-tidy-view.webp new file mode 100644 index 0000000000000000000000000000000000000000..1a914a683a8e2ed7f343913b18a5c260e8aac681 GIT binary patch literal 3538 zcmWIYbaOk!%fJxs>J$(bVBxcumw`cl&LJg+uQ%$y#g|IIy#CX9M&+poM%Oi+7ucLR zbH*m_S*(7=Oik6ZB5mn^^q8&$a9Bn1%eZ4km zN$%~9=I4JNk$Jk}?2W~8GgC8TTgwF07vK6ef4^Hu^u}NM7q?B_FqN+}`-JyfQ|=DK zx$-yqc?xDZGy49nWH`3kM(f*CkGi7dbB%_YR;xB=%(CwE-Lg~ZqT@qLhP97cSZ;s& z$?anQ=V#jbEKRSDm#ZCSi00>iJjo|`fu+{1*ZudW>Mc5Z=S9NVnk|ND z2P>{F=ee>YMPBpsyno(rUrtN7J-JLyQ8Y8xN7t?8$CY+%=5znIUe`T2@yN$r(&f>g zY_e`tEt0wv`L{%Rmy~T1nrA2c~3{;(N=5(;%b9u5* z{+O_{qD4-}wJ+vdq)tw@=GtFY>Hg67#OLpFT;?mE-+Nnx4j;qtn@_lx&kTEqMH zs_m=&ZHs%8o#kZXkJr8sv$9up*|=e?QD3*g=QsW{H=mHqSaVPCo1pC%H$}5gTC1d{ z$|Qd?xZ3mNyDLLi?>wP928%b`*;IVwP*Yy0%nqee&rEZ!@Ag^l8n->7%~}>bp8KpX zJ@;PAnJb*2WMF$Q?!?=SNr6?#muz#a>)$IfFX<6t{@isZUM6>sjOdMu9nUYX<#y9Q z_V2gByZ^@@ee&MF`F~8$Z{w>E|NQU#x+;0!t)+4O*^WQ{Mn2*BG$$pRbK}!H9-;f? zpQT>?zOmA*bB)#RpPSVtA1-xxBcHEhWwR(l=nOZ{#LF+&35jMdez2|g{hkkPvu>=A z(u$Q|rnOM0z4WoShM-KCi2rHd%WhA6jTKu=e7k*2j_nRR?4Y(_$8%xp`-M6o0=?Ic z?R1&Kwr_7?&CU%zOTxbGkFwjB6cys{V5is;S5vxgQd`F4X$p5wut=@Sns7L+kK~($;VH+a)#$Sd3M%q=FcuIm~>w6$gy`uMx~$k>|Nje z>}7E7;6eo!ok@O4zsQs=1xJ;pGs=+G}k_ zTpK-4C<|Joly(#STsjTducJZ!&I&&MGkHa`DQuPB-RO6wKF;?eCs&@TNo7$+sGJ?#?yi zsPSN)lFL&Tx@g`9kDszRHg~?hycYRbT>1ar_l3Wnb1a^}E?`b`*wvxpMberC!wydp|ROF^lNRH%(u#Z{NO;%@%IPo+Z1r{Lf_w z9^W3o{}d-G zezKlE#k%wD6CQ?npHq(&Zuwl_{jTC#*}r+09xhpY_U=uulsC_oPF{D#xk4a6Zg!9M zhSSzs*8(S4=@yw(FdfXfkyMmgxjnjIvyAMsBCmhvVoQF#S26Qi)PLfa7W>*)TO(ac zQ?kvLc)Gt`JmpMX`yQRhpRpd-1KUfd{MUa z-o+nNiWpq9L>H$%D4H1+dAR+=W&x%3jg!qgbt8^7UJ$Nw(%4W~)5$9MP`drFZcf=w zX;#JspR`Uqzbjk%?%cIQf8YMU)@pD{#;@;c(8frRu37vP)caEiQlJln^NrVzN$3{`m7x$LB67u`P!g{=JA^QK9EM zXa9Er$7c&19$wcgZ?c za$j+48aJQaw})Mi-{fmQR%yzwHNEun&HIg37f(zxy&9RjVwaS=`|2O=fA^WL5B+HD zSa2ENvnXCzgs{)iOLSDg1S{!e)C?wnk= z*H-Cb*hR*ou8sRnUAr8)Fo$uY>AH!R<8FVkjlX_h7n)Jv%z$=IBf?Zj+d<-Ieg_;KCSRnO>cmC5HZIwKA*M{xi;HmtI}EFyq(Z z1$tFS{~q*weS|ybbhwX1{`OP0^^1H=YXmn(U1x}3JAI|_fAw3Xg}N8-JGJ&so_)05 zxsb)1zt%DAwdjI~7pqrx+a3QQo9W7Ge`xA)Zn+14CKfk*-rvr0gR@|k@nS|_?tAAJ zR6SbrZ+*0!?4JvF_x<^^xynA9d2-K;*gbFS9=qp#Q{Mgd-^JWUkE}#{FVhWI*%T^s zxzA2B{%y~gzHAwf)RHOTIkNVd5%1^5l)vi<+VShR&1>c>;ycXzw2NHxSFhDQH>D!} z+}tg-PJ%WbStf#(PjAiCc8g9vcT6KY=gJP{jXm;B%QL>Dt?N|oi!hY>_-xlv-uxRY zpH6dcw=3E_KXJQ_Rl^LUh>*TG(;xRH@y@$)W!cQ;)Q6fKi4pRtsRX{^X<&fenh)%@j&r1`c8b>7!|Co^zHNC|bTUU{~} zWRB*?eS7luZh6_20G;>k;f z+zh5Aj(QA?>}f)aq?4qDjs=_Ca*$~WHT ze^4uF<`Xx0qtC5ilVe6QyiFVooi2Qmy8G&XC@-08cIfK;>q!$Qn0@dwvDqs3SaV;r z0`rxL5#|>@dN4byag?XM>gsvCMvGaqFzwXT(+c0a?itISd-XSE-l7{zRyv$LYGhF} zS>s|#cX4{wsRyhV>y?-gO?^td!|HOS)jilby14v<%GKd0hZRkL>Dh+Qmbg(ur1RpCE#bM z>yfaENm<Wt$Jy3;VvhkrG&RA>*%z0z>jSH_ooAEJb!!`|jn}7SH}C=FQmV6J(Gq zDK*7c*;p^(f(A%A&?&gB^{mzgw^C1)&()=4nhJ8{3` zz84UQk!yGtb4@)dFRw^ zVsod@6K+Uz`?K+#_}-ab*?*maKBrIZ;@kS`nR&F)G|rHJeI}Yqds3O^>_5OSJ)-`c+8Ee*YV8Y^_~vbc$Dean`a!tL2%wf}qE-mP(=S=FISUVXNVKfNmY``zz( zjPr|M?+brl_Tyxey?_(PMLHVlThGyX8OM zKE7_R`9I~;>iAr%;@AJv{uR#a*!ttijYGnVnJAMUijXJ!1CzxaE6-Sf5D zTUph$oX-iVT;9-?Fn#VtIYS+XYDc&AMs2o*k6ePj}PI zW}7T4w(3%__nn-l65nneo6Z**wKZ$y>w+zs?yqlJ{C0e$wpC`r&fN!^*&8G#)Vmd( z(tcUxdq=0SXxZw-$L`_wnl-yW{hNC;`uuyls;3q6ZFlO|ZhN%(_42O!a#Mfa-ZQEH zu>IwySrOvKneR637u=Vao1EVL=MGP{S!%}3HP4J@X5WpR(9GWOLSXNy)M(G^t6zKj z^Ju@^p8n!m@$P*YHvdyEU!SzRf3HF-{~MVNKf7~-G{UoMtKNRU+-Dp6@8gpUp4GQ5 zeEnT|z;l(rW){cLob?aWA{L+d>Sgqtm6LBKyKMzS2h+|Lg~;R^Ph!@l`aXMi=llM@ z9}Zl9|K-NSw-w%>KBZ?bGFtO@_qG?>4~|SO&Uj^W^hrp}gSgV8yUq!{;GL~vFU$-zY*cW|2wC%~Q#>g;+0~;6^B*eg(l%b6k&Na|s0C7Fi58q>FVED*} zl!u|JL0KA2^A2s^+e^Kt`^~kw%gr$1UI(Xj`8yf^!(DMt4fXZcuUV60!Qikq464?o_1d8W9r-t3LX4MyFQw%>FNC$ z!N|b!F>wyB_PKZL3=DsN9j)i-PGn@*W0aGbnR#EJCnhL-d&-h;H@52@TEoUr5UynR z<<^EpC)?PZr>tuWT^(`5N?l2inPEw1qPLgVuZWcqG2zcYU%jfk&LB>2-37VaQXT!< zI_wM{a?R}gal1-hzAjtha!S_pX!|{>u*pwy;+x~ACQ4lk^qu#keS4bmHztOLC7#zp z*UyvKwqwVR?VZm~+}mqV)#|7)dT1}>Z)$MrH&R%E>_09U6 z@l$F3{;GiAObkmFByw|eS7-JFyfI%iy>ZnI$*hHsb<=(K9?_6bl;qJ?z4aoro)r>W zXTa&;FcZTT{==tq1*@4D9L~>sbhtt)?49ZCxpU`Eo_tuHn<2ArMnH|kdFz7ol#~;b zI3pt?fByW*%E0il%Ob!>!;U9?c{T-^7Hxp@KD|7 z=jRDbTGqz|NnYk;`bnmRTT(QG?fsxyiSnI#F2=HVttM318o^vB0 zIJo#fvps)q#LQ~Z!?(V!lGwI#<UU_G_&)ct9>@p?D&SFtkt2$YgS$t^IbnHF@D`DuO0hu<**zUYD!c# zd9&o?-z@2gzxX}-rkzl5jzdMd2Wjs*eg`!?pZ5Q_Hoj5XF2DW z-CO@X%`rc};b-VBDiO;2a*8RiUC?yI>=XO%j43(Pg08oSy$RQdPn z*a(@!f@1n>at+G=&R3KUm!6p@?+eMKR?HR zS+j24y{*~d^Y{H_V&AZkSNr|E2OvitXm#_sCWS)^#& zDY{np`^pq2k4euGkFI_A;_9k%oWg3Sc9j16^Rtop#)Y=n-QTWWyB3yvN2_XY#pBcU zb{GD?UtPay>FaZOw}i_NYrVVR@-j`kxI^O3>`P6SW?N2~{F$|DWi0!KiLwiwmnlkZ z_l&%M#PE*Ucj+VlS|*egE%R1OOf{(rIBM9yn|s4_{hp%bTSI48Om)oO|CfJnS=HV7 zQu`yzf0YWpHt((PyR_k1v{BcWa~n=ogthhFNRt2=2jWwrU)^{;;Y)IM#gaeSuU_F4Z0cQ;+}C% zQlfaxxnsGDbG|N__SI!tt=)B-%STmo6g9ukUT3g+ZN$z?i8sRi_p5DYQC~M_Pk#FM z|381--F*H0x0_!du*=sx_~|b5Hsbu{_YWMUo=?(ux^!TJ3LWT2zik`UpSA8ajVrJHj8`s?hCTs0q zGd2G1siz#ex@(K{^`0*0-mcotC;RK$rKP)eS^c{w;B@KY2E%pz3j39W4{v)_wRiEI zd8=10-MI1RHC@lz+S0Fjb-8mAcs6$*ROCje;v)F4+g^}S%Oa1idUS1O z@vBsc-v#&VBoF)j|6V0|*spq1ob+L@x$!KfYs6Rczc9?-qhv3-`A(wu`uF=-n)l^2 zZpnXhWmik%>s@SpsuFkV<~+L=e0|xR)|P}D-*RrOxb8k7F+VqVtwb2x2IKiwi+qp% zyS?V{qnj@`zj_)tdCe8hqGhKSUu9=9o3qjNZuhp_1AjSXy$v!pg}u#|y17Zl`9ri3 z+dIP&|GU#YI5bpP4sZJ$+4SO?yTIXnzu)a%czlD<%Ex&T>%-&=c+_9ZzEnk~D^-ej6*o-@PSfW*eX1Tb=PQb!j;Kq*BX$p5#C3dy%UDx{&kJH{l?7VQwzUb*}Ag9$;lw+)Zb;=K8N$}?lRpHr)oF<{Nl&{KYUVU^v@LK zc5(0LX!Biaz5mEIP=p@alPgvB_t)2XGW(Z%OD9A)8RQfxx5e(OshldUt>ZDb;{C15 zOL+}+6eXq!I2q`)skR94Nc%=SZV+fnY@YKnsh8P_qwVXvEZu7s3M~mYT;lmpOR={I z@VxF!oV?*!0UqhuiNaftInLg8XhTav#5IeKqF!cD+A2M)mf6dE z`hAS7xu>RK-lzQmx;m+@%uWV6*)lG>jyYbiX34S(ox1$~nF*r290xb7DHJ#;#lEhs z^xpZSg~btJCJHQvHyv}d$d++Qfb&waWm;^#FZ9B6Jd|Spr~j_cIQG}|%D+C-ml|nH z2{a`}K0eTG$`^65L4fD96#Kn3g$KIWz;64H(8~-qxQIOul>1r)ni4q`Sq>+G3k6bn z(6R)i?WYgO7$GMPa7cE84IQk!C-2O37#JctXD2c;Ch|=e64P5%?@9?Swc*~@x%kaH^z&KYWy4{x!kQZ z?oK(!R>x$t<20l6NdYLy%ZrieD%lp{VCsa#Iz1@y2R(+|~#_F*pQC`-zFd?sy=jZg)ue`ip zS08WP-zj0X=-0=NlFP-1&)vM0u%VQ%jrG8W>u!DXEEKkD{PKwkjo-g`*}sCTOFGOV zP0gmwb(=TwAa8U~&?WUWEwSsSCO^_%>!<%d^L*pB=v~@YmDw^LOucl$$!Kv&(k%w%_hWru)BKzt~>ZzFO_q>mJ!p6`_0gA8JrMe^n!2 zQ**3}F5t-coZ=Ck-qzIkiKSExQSd!{BKwqUQ+wxla9 zZxmZEre#g-iBlI#`(Nbl{CAaMkWt}PMc2MpyWJKFYTo=eC&*pbrO)o3_{475t&Q zUan1ywat(`VrEhDQY#?4HaDOm^?#Wka>Fb> zzrL=tdFkI9N_TnEZY)}~=*$ew_$59JXD-E``}8x-Gw|-BqQ|k7d73A`*oWUUG@tx- z&Dt4PA2pN+A7)ayv!TEDt$jv@iRALGOFEU?qK>WlpQw37+h(h;{FA)f>!#c=o3m%j zzYmuR-MHCq&%YF9uv~o2?=Fi=zW%(cy|4YKvp@abJGbq?^VP-XYjTZKm9w?`d<}FQ zb{oG@?(eIucyM9KQ^}oNiBC1&m#cu>cj(ZexJ-!M_ckQU$<3I)#wPS~z+WGwGL^eW zHb{smTx^q#Gkmp>ai^yI%QS<-r{?~x0_7YY?g;^0^|cupiIIVsKb>zn2U%Qle7UT| z?1S)x=w)f?>Cc}$S+Xr|Y4auDcl_KF0@%()O#Q!lZe?p~s_5djPN(n)>wlbMYk_mrP$SC^4SXnqr{i5Tj~cTzYUl|I%+(v6mdf_hxmJ zTa~?;aqD%7Cwt^_ZU%*upm78&BZX+A44mdViY)^ApZ=@y+F$tiT4o{x0|SGntDnm{ Hr-UW|$iD^4 diff --git a/doc/qtcreator/images/qtcreator-files-to-analyze.webp b/doc/qtcreator/images/qtcreator-files-to-analyze.webp new file mode 100644 index 0000000000000000000000000000000000000000..c219e48ec81c63218cc48fd64fbfd5c481dc5d86 GIT binary patch literal 4454 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 \uicontrol {C++} > - \uicontrol {Analyze Current File}. + \uicontrol {Analyze Current File with Clang-Tidy} or + \uicontrol {Analyze Current File with Clazy}. \endlist - To run the Clang tools to analyze an open project: + To run Clang-Tidy or Clazy to analyze an open project: \list 1 - \li Select \uicontrol Analyze > \uicontrol {Clang-Tidy and Clazy}. - - \image qtcreator-files-to-analyze.png "Files to Analyze dialog" + \li Select \uicontrol Analyze > \uicontrol {Clang-Tidy} or + \uicontrol {Clazy}. \li Select the files to apply the checks to. + \image qtcreator-files-to-analyze.webp {Files to Analyze dialog} + \li Select \uicontrol Analyze to start the checks. \endlist - The found issues are displayed in the \uicontrol {Clang-Tidy and Clazy} - view: + The \uicontrol {Clang-Tidy} or \uicontrol {Clazy} view shows the issues: - \image qtcreator-clang-tools.png "Clang-Tidy and Clazy view" + \image qtcreator-clang-tidy-view.webp {Clang-Tidy view} \note If you select \uicontrol Debug in the mode selector to open the - \uicontrol Debug mode and then select \uicontrol {Clang-Tidy and Clazy}, - you must select the \inlineimage icons/qtcreator-analyze-start-button.png - (\uicontrol Start) button to open the \uicontrol {Files to Analyze} - dialog. + \uicontrol Debug mode and then select \uicontrol {Clang-Tidy} or + \uicontrol {Clazy}, you must select the + \inlineimage icons/qtcreator-analyze-start-button.png + (\uicontrol Start) button to open the \uicontrol {Files to Analyze} dialog. Double-click an issue to move to the location where the issue appears in the code editor. If a fixit exists for an issue, you can select the check box next to the issue to schedule it for fixing. Select the \uicontrol {Select Fixits} - check box to select all fixits. You can see the status of an issue by - hovering the mouse pointer over the icon next to the check box. + check box to select all fixits. To see the status of an issue, hover the + mouse pointer over the icon next to the check box. To see more information about an issue that is marked with the \inlineimage icons/refactormarker.png icon, hover the mouse pointer over the line. - You can disable particular type of checks either globally or for a - particular project by selecting \uicontrol {Disable This Check} or + To disable checks of a particular type either globally or for a + particular project, select \uicontrol {Disable This Check} or \uicontrol {Disable These Checks} in the context menu. Select the \inlineimage icons/settings.png button to customize Clang diagnostics for the current project. - \image qtcreator-clang-tools-options-customized.png "Clang Tools customized settings" + \image qtcreator-clang-tools-options-customized.png {Clang Tools customized settings} To restore the global settings, select \uicontrol {Restore Global Settings}. To view and modify the global settings, select the link in @@ -113,14 +114,14 @@ \li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Analyzer > \uicontrol {Clang Tools}. - \image qtcreator-clang-tools-options.png "Clang Tools preferences" + \image qtcreator-clang-tools-options.png {Clang Tools preferences} \li In the \uicontrol Clang-Tidy and \uicontrol Clazy-Standalone fields, set the paths to the executables to use. \li To build the project before running the Clang tools, select the \uicontrol {Build the project before analysis} check box. The Clang - tools do not require the project to be built before analysis, but + tools do not require that you build the project before analysis, but they might display misleading warnings about files missing that are generated during the build. For big projects, not building the project might save some time. @@ -137,11 +138,11 @@ \uicontrol {Diagnostic Configurations} dialog, where you can select and edit the checks to perform. - \image qtcreator-clang-tools-diagnostics-configuration.png "Diagnostics Configuration dialog" + \image qtcreator-clang-tools-diagnostics-configuration.png {Diagnostics Configuration dialog} \li Select \uicontrol Copy to copy the selected diagnostics for editing. - \image qtcreator-clang-copy-diagnostic-configuration.png "Copy Diagnostic Configuration dialog" + \image qtcreator-clang-copy-diagnostic-configuration.png {Copy Diagnostic Configuration dialog} \li In the \uicontrol {Diagnostic configuration name} field, give the configuration a name, and then select \uicontrol OK. @@ -157,7 +158,7 @@ To filter the checks, enter a string in the \uicontrol {Filter by name} field. - \image qtcreator-clang-tidy.png "Clang-Tidy Checks tab" + \image qtcreator-clang-tidy.png {Clang-Tidy Checks tab} For more information about the available checkers, see \l{https://clang-analyzer.llvm.org/available_checks.html} @@ -169,7 +170,7 @@ \li In the \uicontrol {Clazy Checks} tab, select the level of Clazy checks to perform. - \image qtcreator-clazy.png "Clazy Checks tab" + \image qtcreator-clazy.png {Clazy Checks tab} \li In the \uicontrol Filters field, select topics to view only checks related to those areas in the \uicontrol Checks field. From f112f83511d35d1ccfc0d29b4f989c1c5f95e2c3 Mon Sep 17 00:00:00 2001 From: Samuel Gaist Date: Fri, 10 Mar 2023 09:34:01 +0100 Subject: [PATCH 30/38] GitLab plugin: Remove visibility public default value The query currently used does not provide this value and showing public for everything is misleading to the users. Fixes: QTCREATORBUG-28882 Change-Id: Ie47a4fa24e4b1e90b8d1a53c5819742f2b5aca71 Reviewed-by: Christian Stenger --- src/plugins/gitlab/gitlabdialog.cpp | 2 +- src/plugins/gitlab/resultparser.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/gitlab/gitlabdialog.cpp b/src/plugins/gitlab/gitlabdialog.cpp index 97d57e42651..4a10888c944 100644 --- a/src/plugins/gitlab/gitlabdialog.cpp +++ b/src/plugins/gitlab/gitlabdialog.cpp @@ -338,7 +338,7 @@ void GitLabDialog::handleProjects(const Projects &projects) // TODO use a real model / delegate..? listModel->setDataAccessor([](Project *data, int /*column*/, int role) -> QVariant { if (role == Qt::DisplayRole) - return QString(data->displayName + " (" + data->visibility + ')'); + return data->displayName; if (role == Qt::UserRole) return QVariant::fromValue(*data); return QVariant(); diff --git a/src/plugins/gitlab/resultparser.cpp b/src/plugins/gitlab/resultparser.cpp index 80fe316013b..e2497c8bf1f 100644 --- a/src/plugins/gitlab/resultparser.cpp +++ b/src/plugins/gitlab/resultparser.cpp @@ -144,7 +144,7 @@ static Project projectFromJson(const QJsonObject &jsonObj) project.displayName = jsonObj.value("name_with_namespace").toString(); project.pathName = jsonObj.value("path_with_namespace").toString(); project.id = jsonObj.value("id").toInt(-1); - project.visibility = jsonObj.value("visibility").toString("public"); + project.visibility = jsonObj.value("visibility").toString(); project.httpUrl = jsonObj.value("http_url_to_repo").toString(); project.sshUrl = jsonObj.value("ssh_url_to_repo").toString(); if (jsonObj.contains("forks_count")) From bffd6b33826fd52fe992b57cc3959155ebb8c0df Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 8 Mar 2023 21:07:39 +0100 Subject: [PATCH 31/38] qbs build: Fix gtest_gmock module There was a module name appearing where it shouldn't have. This just worked accidentally due to a bug in the qbs implementation. Change-Id: I768b5cefd82f201138e6e07c72867ec8cb62dd2b Reviewed-by: Reviewed-by: Christian Stenger --- qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs b/qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs index 5229db14403..02bbb8a3022 100644 --- a/qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs +++ b/qbs/modules/qtc_gtest_gmock/qtc_gtest_gmock.qbs @@ -49,15 +49,15 @@ Module { } Properties { - condition: qtc_gtest_gmock.useRepo + condition: useRepo cpp.includePaths: [ - FileInfo.joinPaths(qtc_gtest_gmock.gtestDir, "include"), - FileInfo.joinPaths(qtc_gtest_gmock.gmockDir, "include"), + FileInfo.joinPaths(gtestDir, "include"), + FileInfo.joinPaths(gmockDir, "include"), ] } validate: { - if (!qtc_gtest_gmock.externalLibsPresent && !gtestProbe.found) { + if (!externalLibsPresent && !gtestProbe.found) { console.warn("No GTest found."); throw new Error(); } From 423b485a36f678c224ed25a919afa2449bd3abee Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 9 Mar 2023 10:39:46 +0100 Subject: [PATCH 32/38] Debugger: Disable source code display in debugger log for cdb Printing the source code line the debugger stopped at causes issue in the general output handling and was just used to conveniently reading the log file. Fixes: QTCREATORBUG-25054 Change-Id: I8db54ef6aa101b2bc7e39984bbf93bd6c9e2dc41 Reviewed-by: Christian Stenger --- src/plugins/debugger/cdb/cdbengine.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 5c5d8b1e74b..450d36b8f04 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -244,7 +244,6 @@ void CdbEngine::adjustOperateByInstruction(bool operateByInstruction) return; m_lastOperateByInstruction = operateByInstruction; runCommand({QLatin1String(m_lastOperateByInstruction ? "l-t" : "l+t"), NoFlags}); - runCommand({QLatin1String(m_lastOperateByInstruction ? "l-s" : "l+s"), NoFlags}); } bool CdbEngine::canHandleToolTip(const DebuggerToolTipContext &context) const From b63713a84f524e0b05fa001351cabfa7866f071b Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 10 Mar 2023 10:11:10 +0100 Subject: [PATCH 33/38] ClangCodeModel: Prefer clangd's switch header/source It's more reliable than the built-in code model with non-trivial directory layouts. Fixes: QTCREATORBUG-28878 Change-Id: I02a058e7efb54e6af0998948a20d990e10293f03 Reviewed-by: Christian Stenger --- .../clangcodemodel/clangmodelmanagersupport.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp index 64a8dac7bdf..5cc123ac911 100644 --- a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp +++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp @@ -341,16 +341,10 @@ void ClangModelManagerSupport::findUsages(const CppEditor::CursorInEditor &curso void ClangModelManagerSupport::switchHeaderSource(const FilePath &filePath, bool inNextSplit) { - if (ClangdClient * const client = clientForFile(filePath)) { - // The fast, synchronous approach works most of the time, so let's try that one first. - const FilePath otherFile = correspondingHeaderOrSource(filePath); - if (!otherFile.isEmpty()) - openEditor(otherFile, inNextSplit); - else - client->switchHeaderSource(filePath, inNextSplit); - return; - } - CppModelManager::switchHeaderSource(inNextSplit, CppModelManager::Backend::Builtin); + if (ClangdClient * const client = clientForFile(filePath)) + client->switchHeaderSource(filePath, inNextSplit); + else + CppModelManager::switchHeaderSource(inNextSplit, CppModelManager::Backend::Builtin); } void ClangModelManagerSupport::checkUnused(const Link &link, Core::SearchResult *search, From 03d3bf9f21100184e6e229a27fd4d7c1f7c63b14 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 10 Mar 2023 11:31:34 +0100 Subject: [PATCH 34/38] Edit change log for 10.0 - Add paths to new preferences to make it easier to find them - The Qt Quick UI Prototype issue was fixed, not added Change-Id: I89a86d5095c64726d21cff07ef6353f9350c5215 Reviewed-by: Eike Ziller --- dist/changelog/changes-10.0.0.md | 33 +++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/dist/changelog/changes-10.0.0.md b/dist/changelog/changes-10.0.0.md index 53bcd7e1623..27577ae85a8 100644 --- a/dist/changelog/changes-10.0.0.md +++ b/dist/changelog/changes-10.0.0.md @@ -33,7 +33,8 @@ Editing * Added renaming of includes when renaming `.ui` files (QTCREATORBUG-14259) * Added automatic refactoring of C++ code when forms in `.ui` files are renamed (QTCREATORBUG-1179) -* Added the option to ignore files for indexing (QTCREATORBUG-28313) +* Added the option to ignore files for indexing to `Preferences > C++ > + Code Model` (QTCREATORBUG-28313) * Added `Tools > C++ > Find Unused Functions`, and `Find Unused C/C++ Functions` to the `Projects` view context menu (QTCREATORBUG-6772) * Fixed text codec when rewriting headers as part of renaming @@ -61,9 +62,11 @@ Editing ### QML * Updated code model to Qt 6.5 -* Added experimental support for the QML language server +* Added experimental support for the QML language server (qmlls) to `Edit > + Preferences > Qt Quick > QML/JS Editing` * Added a color preview tooltip (QTCREATORBUG-28446) -* Added the option to apply `qmlformat` on file save (QTCREATORBUG-28192, +* Added the option to apply `qmlformat` on file save to `Edit > Preferences > + Qt Quick > QML/JS Editing > Command` (QTCREATORBUG-28192, QTCREATORBUG-26602) * Added `Follow Symbol` for QRC paths in string literals (QTCREATORBUG-28087) * Adapted the Qt Quick Application wizard template to new features in Qt 6.4 @@ -79,24 +82,28 @@ Editing Projects -------- -* Moved the preference page for `Devices` to below `Kits` +* Moved the `Preferences` page for `Devices` to below `Kits` * Added `Build > Run Generator` for exporting projects to other build systems (QTCREATORBUG-28149) * Added the option to browse remote file systems for remote builds and targets -* Added support for opening remote terminals + in `Projects > Build Settings > Build directory > Browse`, for example +* Added support for opening remote terminals from `Projects > Build Settings > + Build Environment > Open Terminal` * Fixed that wizards did not create target directories (QTCREATORBUG-28346) * Fixed that absolute paths could be shown when relative paths would be preferable (QTCREATORBUG-288) ### CMake -* Added a deployment method with `cmake --install` (QTCREATORBUG-25880) -* Added the option to use `cmake-format` for CMake files +* Added a deployment method with `cmake --install` to `Projects > Run Settings > + Add Deploy Step > CMake Install` (QTCREATORBUG-25880) +* Added the option to use `cmake-format` for CMake files to `Edit > Preferences > + CMake > Formatter` ([cmake-format Documentation](https://cmake-format.readthedocs.io/en/latest/)) -* Added the option to show advanced configure items by default +* Added `Show advanced options by default` to `Edit > Preferences > CMake > Tools` * Added support for the `external` strategy for the architecture and toolset of presets (QTCREATORBUG-28693) -* Moved `Autorun CMake` to global settings +* Moved `Autorun CMake` to `Edit > Preferences > CMake > General` * Changed the environment for running CMake to be based on the build environment by default (QTCREATORBUG-28513) * Fixed that `Package manager auto setup` created a dependency of the project @@ -112,10 +119,6 @@ Projects * Removed the wizard template for dynamically loaded `.ui` projects (QTCREATORBUG-25807) -### Qt Quick UI Prototype - -* Added support for running on remote Linux devices - Debugging --------- @@ -180,6 +183,10 @@ Platforms * Removed service management from the manifest editor (QTCREATORBUG-28024) * Fixed `Open package location after build` (QTCREATORBUG-28791) +### Boot to Qt + +* Fixed the deployment of Qt Quick UI Prototype projects + ### Docker * Added support for the remote code model via a remote Clangd From d154388f27c0e0fe2176a8f4a2517f2dd409d493 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Tue, 7 Mar 2023 17:47:33 +0100 Subject: [PATCH 35/38] Android: add "threads" command for jdb settelment By issuing "threads" the jdb will output the names of the running threads. This makes sure that jdb has "settled" and is in a running state. Task-number: QTCREATORBUG-26592 Task-number: QTCREATORBUG-26709 Task-number: QTCREATORBUG-28141 Task-number: QTCREATORBUG-28428 Task-number: QTCREATORBUG-28851 Change-Id: Ib371e333eb9fc4d93a6b797bf7be68793f887fcd Reviewed-by: Alessandro Portale --- src/plugins/android/androidrunnerworker.cpp | 41 ++++++++++++--------- src/plugins/debugger/lldb/lldbengine.cpp | 6 +-- 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/src/plugins/android/androidrunnerworker.cpp b/src/plugins/android/androidrunnerworker.cpp index 53721cebdb0..e702d487b01 100644 --- a/src/plugins/android/androidrunnerworker.cpp +++ b/src/plugins/android/androidrunnerworker.cpp @@ -735,10 +735,10 @@ void AndroidRunnerWorker::handleJdbSettled() { qCDebug(androidRunWorkerLog) << "Handle JDB settled"; auto waitForCommand = [this] { - for (int i= 0; i < 5 && m_jdbProcess->state() == QProcess::Running; ++i) { + for (int i = 0; i < 120 && m_jdbProcess->state() == QProcess::Running; ++i) { m_jdbProcess->waitForReadyRead(500); QByteArray lines = m_jdbProcess->readAll(); - const auto linesList = lines.split('\n'); + const auto linesList = lines.split('\n'); for (const auto &line : linesList) { auto msg = line.trimmed(); if (msg.startsWith(">")) @@ -747,24 +747,29 @@ void AndroidRunnerWorker::handleJdbSettled() } return false; }; - if (waitForCommand()) { - m_jdbProcess->write("cont\n"); - if (m_jdbProcess->waitForBytesWritten(5000) && waitForCommand()) { - m_jdbProcess->write("exit\n"); - m_jdbProcess->waitForBytesWritten(5000); - if (!m_jdbProcess->waitForFinished(5000)) { - m_jdbProcess->terminate(); - if (!m_jdbProcess->waitForFinished(5000)) { - qCDebug(androidRunWorkerLog) << "Killing JDB process"; - m_jdbProcess->kill(); - m_jdbProcess->waitForFinished(); - } - } else if (m_jdbProcess->exitStatus() == QProcess::NormalExit && m_jdbProcess->exitCode() == 0) { - qCDebug(androidRunWorkerLog) << "JDB settled"; - return; - } + + const QStringList commands{"threads", "cont", "exit"}; + const int jdbTimeout = 5000; + + for (const QString &command : commands) { + if (waitForCommand()) { + m_jdbProcess->write(QString("%1\n").arg(command).toLatin1()); + m_jdbProcess->waitForBytesWritten(jdbTimeout); } } + + if (!m_jdbProcess->waitForFinished(jdbTimeout)) { + m_jdbProcess->terminate(); + if (!m_jdbProcess->waitForFinished(jdbTimeout)) { + qCDebug(androidRunWorkerLog) << "Killing JDB process"; + m_jdbProcess->kill(); + m_jdbProcess->waitForFinished(); + } + } else if (m_jdbProcess->exitStatus() == QProcess::NormalExit && m_jdbProcess->exitCode() == 0) { + qCDebug(androidRunWorkerLog) << "JDB settled"; + return; + } + emit remoteProcessFinished(Tr::tr("Cannot attach JDB to the running application.")); } diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index e8c3c361383..3283d5ff7d5 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -281,12 +281,12 @@ void LldbEngine::handleLldbStarted() cmd2.arg("attachpid", attachedPID); } else { - cmd2.arg("startmode", rp.startMode); // it is better not to check the start mode on the python sid (as we would have to duplicate the // enum values), and thus we assume that if the rp.attachPID is valid we really have to attach - QTC_CHECK(!rp.attachPID.isValid() || (rp.startMode == AttachToCrashedProcess - || rp.startMode == AttachToLocalProcess)); + QTC_CHECK(rp.attachPID.isValid() && (rp.startMode == AttachToRemoteProcess + || rp.startMode == AttachToLocalProcess + || rp.startMode == AttachToRemoteServer)); cmd2.arg("attachpid", rp.attachPID.pid()); cmd2.arg("sysroot", rp.deviceSymbolsRoot.isEmpty() ? rp.sysRoot.toString() : rp.deviceSymbolsRoot); From 05d9742a96abafbd07007319cc35167d8975b070 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Fri, 10 Mar 2023 20:11:59 +0100 Subject: [PATCH 36/38] CMakePM: Expand CMake preset macros also for environment vars This fixes the case when a CMake variable (CMAKE_PREFIX_PATH) would reference an environment variable (qt_path) that would contain a CMake preset macro (${sourceDir}/../qt_install). Fixes: QTCREATORBUG-28606 Change-Id: Ib6239b13782b2ea854969547af46c3fe82a061f4 Reviewed-by: Reviewed-by: Alessandro Portale --- .../cmakeprojectimporter.cpp | 17 ++++++++++++----- .../cmakeprojectmanager/presetsmacros.cpp | 9 +++++++++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp index ce01fcdc6ba..3d5b4c02c17 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp @@ -154,7 +154,9 @@ FilePaths CMakeProjectImporter::importCandidates() } static CMakeConfig configurationFromPresetProbe( - const FilePath &importPath, const PresetsDetails::ConfigurePreset &configurePreset) + const FilePath &importPath, + const FilePath &sourceDirectory, + const PresetsDetails::ConfigurePreset &configurePreset) { const FilePath cmakeListTxt = importPath / "CMakeLists.txt"; cmakeListTxt.writeFileContents(QByteArray("cmake_minimum_required(VERSION 3.15)\n" @@ -169,7 +171,7 @@ static CMakeConfig configurationFromPresetProbe( const FilePath cmakeExecutable = FilePath::fromString(configurePreset.cmakeExecutable.value()); Environment env = cmakeExecutable.deviceEnvironment(); - CMakePresets::Macros::expand(configurePreset, env, importPath); + CMakePresets::Macros::expand(configurePreset, env, sourceDirectory); env.setupEnglishOutput(); cmake.setEnvironment(env); @@ -208,9 +210,14 @@ static CMakeConfig configurationFromPresetProbe( : CMakeConfig(); auto expandCacheValue = - [configurePreset, env, importPath, cache](const QString &key) -> QString { + [configurePreset, env, sourceDirectory, cache](const QString &key) -> QString { QString result = cache.stringValueOf(key.toUtf8()); - CMakePresets::Macros::expand(configurePreset, env, importPath, result); + CMakePresets::Macros::expand(configurePreset, env, sourceDirectory, result); + + // all usages involve file paths, so make sure they are cleaned up + const FilePaths paths = transform(result.split(";"), &FilePath::fromUserInput); + result = transform(paths, &FilePath::path).join(";"); + return result; }; @@ -665,7 +672,7 @@ QList CMakeProjectImporter::examineDirectory(const FilePath &importPath, if (cache.valueOf("CMAKE_C_COMPILER").isEmpty() && cache.valueOf("CMAKE_CXX_COMPILER").isEmpty()) { QApplication::setOverrideCursor(Qt::WaitCursor); - config = configurationFromPresetProbe(importPath, configurePreset); + config = configurationFromPresetProbe(importPath, projectDirectory(), configurePreset); QApplication::restoreOverrideCursor(); if (!configurePreset.generator) { diff --git a/src/plugins/cmakeprojectmanager/presetsmacros.cpp b/src/plugins/cmakeprojectmanager/presetsmacros.cpp index 4dd25c3b1d1..71cff64e1bf 100644 --- a/src/plugins/cmakeprojectmanager/presetsmacros.cpp +++ b/src/plugins/cmakeprojectmanager/presetsmacros.cpp @@ -144,6 +144,9 @@ void expand(const PresetType &preset, return env.value(macroName); }); + // Make sure to expand the CMake macros also for environment variables + expandAllButEnv(preset, sourceDirectory, value); + if (append) env.appendOrSet(key, value, sep); else @@ -182,6 +185,9 @@ void expand(const PresetType &preset, return QString("${%1}").arg(macroName); }); + // Make sure to expand the CMake macros also for environment variables + expandAllButEnv(preset, sourceDirectory, value); + envItems.emplace_back(Utils::EnvironmentItem(key, value, operation)); } } @@ -202,6 +208,9 @@ void expand(const PresetType &preset, value = expandMacroEnv("penv", value, [env](const QString ¯oName) { return env.value(macroName); }); + + // Make sure to expand the CMake macros also for environment variables + expandAllButEnv(preset, sourceDirectory, value); } void updateToolchainFile( From 425262ce7e0c18ff3d48283a39be2e1379194cce Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 13 Mar 2023 09:50:15 +0100 Subject: [PATCH 37/38] iOS: Fix freeze when stopping application The target of the connection determines in which thread the slot is executed, and in these cases the slot needs to be executed in the logging thread. But the LogTailFiles object is created and stays on the main thread. So, the slot that was supposed to stop the event loop in the logging thread was blocked from being executed when IosToolHanderPrivate waited for the canceled threads to finish with futureSynchronizer.waitForFinished(). Use the event loop as the "target" of the connections. Amends 33e8251edffcf96a9b4cb206ff5a7c317d25f75d Change-Id: Ie78fcb33b88c1fe7a138fac790fd4f3b7dd9bad9 Reviewed-by: Jarek Kobus --- src/plugins/ios/iostoolhandler.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/plugins/ios/iostoolhandler.cpp b/src/plugins/ios/iostoolhandler.cpp index 0cf9fed5cec..0331ba2ccab 100644 --- a/src/plugins/ios/iostoolhandler.cpp +++ b/src/plugins/ios/iostoolhandler.cpp @@ -72,14 +72,12 @@ public: // The future is canceled when app on simulator is stoped. QEventLoop loop; QFutureWatcher watcher; - connect(&watcher, &QFutureWatcher::canceled, this, [&] { - loop.quit(); - }); + connect(&watcher, &QFutureWatcher::canceled, &loop, [&] { loop.quit(); }); watcher.setFuture(fi.future()); // Process to print the console output while app is running. - auto logProcess = [this, fi](QProcess *tailProcess, std::shared_ptr file) { - QObject::connect(tailProcess, &QProcess::readyReadStandardOutput, this, [=] { + auto logProcess = [&](QProcess *tailProcess, std::shared_ptr file) { + QObject::connect(tailProcess, &QProcess::readyReadStandardOutput, &loop, [=] { if (!fi.isCanceled()) emit logMessage(QString::fromLocal8Bit(tailProcess->readAll())); }); From 4d2b448541cfa44ee385c9da6249be67c90330e5 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 9 Mar 2023 08:29:09 +0200 Subject: [PATCH 38/38] GDB: Do not skip detach for core inferior shutdown Another attempt for 87c00b86dbf75a9204041b0b8e836415b97dc125. This section was added in 3b5ecac238, which was a refactoring commit, not sure why. It causes state discrepancy, because only on quit the "thread-exited" messages are processed, and when the thread list is clear, the engine considers it as InferiorShutdownFinished and triggers engine shutdown again, which is wrong, because it quits twice and can no longer write to the process, which is already dead at this point. Change-Id: Ic5cfced672b640865e701ac96b6fcea34d748211 Reviewed-by: hjk Reviewed-by: Christian Stenger --- src/plugins/debugger/gdb/gdbengine.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 5156d2e4474..b8ba1441edd 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -1624,10 +1624,6 @@ QString GdbEngine::cleanupFullName(const QString &fileName) void GdbEngine::shutdownInferior() { CHECK_STATE(InferiorShutdownRequested); - if (runParameters().startMode == AttachToCore) { - notifyInferiorShutdownFinished(); - return; - } DebuggerCommand cmd; cmd.function = QLatin1String(runParameters().closeMode == DetachAtClose ? "detach " : "kill "); cmd.callback = CB(handleInferiorShutdown);