Merge remote-tracking branch 'origin/10.0'
Change-Id: Ie591b7130b33a042509e56701384f8ff4d9cb7f8
25
dist/changelog/changes-10.0.0.md
vendored
@@ -15,6 +15,8 @@ General
|
||||
|
||||
* Added support for temporarily dragging progress details out of the way
|
||||
in addition to hiding them with the button below them (QTCREATORBUG-28078)
|
||||
* Fixed that the locator search term was not preserved when using `Open as
|
||||
Centered Popup`
|
||||
|
||||
Editing
|
||||
-------
|
||||
@@ -108,6 +110,12 @@ Projects
|
||||
by default (QTCREATORBUG-28513)
|
||||
* Fixed that `Package manager auto setup` created a dependency of the project
|
||||
build to the Qt Creator installation
|
||||
* Fixed that cloned build configurations could miss values from the `Initial
|
||||
Parameters` (QTCREATORBUG-28759)
|
||||
* Fixed that CMake preset macros were not expanded for environment variables
|
||||
(QTCREATORBUG-28606)
|
||||
* Fixed a crash with the `Kit Configuration` button for build configurations
|
||||
(QTCREATORBUG-28740)
|
||||
|
||||
### Qbs
|
||||
|
||||
@@ -129,9 +137,15 @@ Debugging
|
||||
* Fixed highlighting in the `Disassembler` view
|
||||
* Fixed skipping `std::function` details when stepping
|
||||
* Fixed an out of memory issue when debugging long lists (QTCREATORBUG-26416)
|
||||
* Fixed the highlighting of values and members in the memory view
|
||||
(QTCREATORBUG-23681)
|
||||
* GDB
|
||||
* Fixed issues with GDB 13.1
|
||||
* CDB
|
||||
* Fixed the printing of addresses of pointers with multiple base classes
|
||||
(QTCREATORBUG-28337)
|
||||
* Fixed some performance issues (QTCREATORBUG-18287)
|
||||
* Fixed a freeze with non-UTF-8 system encoding (QTCREATORBUG-25054)
|
||||
|
||||
### Python
|
||||
|
||||
@@ -159,9 +173,10 @@ Version Control Systems
|
||||
### Git
|
||||
|
||||
* Improved tracking of external changes (QTCREATORBUG-21089)
|
||||
* Added editor annotation for blame information (instant blame) with a setting
|
||||
(opt-out) and an action to show it manually for the current line
|
||||
(QTCREATORBUG-23299)
|
||||
* Added editor annotation for blame information (instant blame) with the setting
|
||||
`Edit > Preferences > Version Control Git > Add instant blame annotations to
|
||||
editor` (opt-out) and the `Tools > Git > Current File > Instant Blame` action
|
||||
to show annotation manually for the current line (QTCREATORBUG-23299)
|
||||
|
||||
Test Integration
|
||||
----------------
|
||||
@@ -169,7 +184,8 @@ Test Integration
|
||||
* Improved `Run` and `Debug Test Under Cursor` (QTCREATORBUG-28496)
|
||||
* Improved the number of files that are scanned for tests
|
||||
* Improved output handling (QTCREATORBUG-28706)
|
||||
* Made the expensive checking for tests in derived `TestCase` objects optional
|
||||
* Added an option to enable the expensive checking for tests in derived
|
||||
`TestCase` objects to `Edit > Preferences > Testing > Qt Test`
|
||||
|
||||
Platforms
|
||||
---------
|
||||
@@ -242,6 +258,7 @@ Philip Van Hoof
|
||||
Pranta Dastider
|
||||
Robert Löhning
|
||||
Sami Shalayel
|
||||
Samuel Gaist
|
||||
Samuel Ghinet
|
||||
Sergey Levin
|
||||
Sivert Krøvel
|
||||
|
Before Width: | Height: | Size: 9.8 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-bazaar.webp
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-clearcase.webp
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-cvs.webp
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-fossil.webp
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-general.webp
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-gerrit.webp
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-git.webp
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-mercurial.webp
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-perforce.webp
Normal file
After Width: | Height: | Size: 4.9 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-vcs-subversion.webp
Normal file
After Width: | Height: | Size: 5.0 KiB |
@@ -172,7 +172,7 @@
|
||||
\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}
|
||||
\li In \uicontrol {Restrict to MIME types}, add the \l{Editing 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.
|
||||
|
@@ -83,7 +83,7 @@
|
||||
directories.
|
||||
|
||||
Also, the \uicontrol {Open Terminal} button in the
|
||||
\uicontrol {Use build environment} section opens a terminal on the device.
|
||||
\uicontrol {Build Environment} section opens a terminal on the device.
|
||||
|
||||
\section1 Starting External Processes
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2018 The Qt Company Ltd.
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
@@ -40,4 +40,22 @@
|
||||
\uicontrol Uncommit leaves the working tree ready for a new commit. The only
|
||||
change it might make is restoring pending merges that were present before
|
||||
the commit.
|
||||
|
||||
\section1 Bazaar Preferences
|
||||
|
||||
To set Bazaar preferences, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Version Control} > \uicontrol Bazaar:
|
||||
|
||||
\image qtcreator-preferences-vcs-bazaar.webp {Bazaar preferences}
|
||||
|
||||
\list
|
||||
\li \uicontrol Command specifies the path to the command line client
|
||||
executable.
|
||||
\li \uicontrol {Default username} and \uicontrol {Default email}
|
||||
specify the username and email address to use by default when
|
||||
committing changes.
|
||||
\li \uicontrol {Log count} sets the maximum number of lines the log can
|
||||
have.
|
||||
\li \uicontrol Timeout sets a timeout for version control operations.
|
||||
\endlist
|
||||
*/
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2018 The Qt Company Ltd.
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
@@ -15,9 +15,8 @@
|
||||
\title Using ClearCase
|
||||
|
||||
IBM Rational ClearCase is a version control, workspace management, parallel
|
||||
development support, and build automation solution developed by IBM. The
|
||||
ClearCase client plugin is available on Linux and Windows for accessing a
|
||||
ClearCase server.
|
||||
development support, and build automation solution developed by IBM. Use the
|
||||
ClearCase client plugin on Linux and Windows to access a ClearCase server.
|
||||
|
||||
\section1 Using GNU Diffutils with ClearCase
|
||||
|
||||
@@ -32,8 +31,10 @@
|
||||
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Version Control} > \uicontrol ClearCase.
|
||||
|
||||
\image qtcreator-preferences-vcs-clearcase.webp {ClearCase preferences}
|
||||
|
||||
\li Select the \uicontrol External radio button. The radio button is
|
||||
disabled if \c diff is not found in the PATH.
|
||||
disabled if \c diff is not in the PATH.
|
||||
|
||||
\li In the \uicontrol Arguments field, specify arguments for running
|
||||
\c diff.
|
||||
@@ -51,12 +52,10 @@
|
||||
a UCM activity. By default, the activities are automatically assigned names.
|
||||
To disable this functionality, select \uicontrol Edit > \uicontrol Preferences
|
||||
> \uicontrol {Version Control} > \uicontrol ClearCase, and then deselect the
|
||||
\uicontrol {Automatically assign activity names} check box.
|
||||
\uicontrol {Auto assign activity names} check box.
|
||||
|
||||
To automatically check out files when you edit them, select \uicontrol Edit
|
||||
> \uicontrol Preferences > \uicontrol {Version Control} > \uicontrol ClearCase,
|
||||
and then select the \uicontrol {Automatically check out files on edit}
|
||||
check box.
|
||||
To automatically check out files when you edit them, select the
|
||||
\uicontrol {Automatically check out files on edit} check box.
|
||||
|
||||
To cancel the checkout for a file and delete the checked-out version,
|
||||
select \uicontrol Tools > \uicontrol ClearCase >
|
||||
@@ -68,12 +67,12 @@
|
||||
|
||||
To create a permanent new version of the current file or all files in the
|
||||
versioned object base (VOB), select \uicontrol Tools >
|
||||
\uicontrol {ClearCase} > \uicontrol {Check In}. To be asked to confirm
|
||||
\uicontrol {ClearCase} > \uicontrol {Check In}. To confirm
|
||||
that you want to check in the files, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Version Control} > \uicontrol ClearCase,
|
||||
and then select the \uicontrol {Prompt on check-in} check box.
|
||||
|
||||
By default, you are asked to enter a comment when checking files out or in.
|
||||
By default, you have to enter a comment when checking files out or in.
|
||||
To suppress this prompt, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Version Control} > \uicontrol ClearCase, and then select the
|
||||
\uicontrol {Do not prompt for comment during checkout or check-in} check
|
||||
@@ -89,4 +88,8 @@
|
||||
> \uicontrol {Version Control} > \uicontrol ClearCase, and then select the
|
||||
\uicontrol {Disable indexer} check box. To only have some VOBs indexed,
|
||||
specify them in the \uicontrol {Index only VOBs} field.
|
||||
|
||||
Specify the number of event records to show in \uicontrol {History count}.
|
||||
|
||||
Set a timeout for version control operations in \uicontrol Timeout.
|
||||
*/
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2019 The Qt Company Ltd.
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
@@ -29,18 +29,20 @@
|
||||
To unedit files in the local directory, as well as recursively in all
|
||||
subdirectories, select \uicontrol {Unedit Repository}.
|
||||
|
||||
To specify the CVS root directory, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Version Control} > \uicontrol CVS, and then
|
||||
specify the path to the directory in the \uicontrol {CVS root} field.
|
||||
\section1 CVS Preferences
|
||||
|
||||
You can specify settings for viewing diff output in the
|
||||
\uicontrol {Diff options} field.
|
||||
To set CVS preferences, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Version Control} > \uicontrol CVS:
|
||||
|
||||
By default, you are prompted to confirm that you want to submit changes.
|
||||
To suppress the prompt, deselect the \uicontrol {Prompt on submit} check
|
||||
box.
|
||||
\image qtcreator-preferences-vcs-cvs.webp {CVS preferences}
|
||||
|
||||
By default, all files that belong to the commit are annotated. To disable
|
||||
this feature, deselect the \uicontrol {Describe all files matching commit
|
||||
id} check box.
|
||||
\list
|
||||
\li \uicontrol {CVS Command} specifies the path to the command line
|
||||
client executable.
|
||||
\li \uicontrol {CVS root} specifies the CVS root.
|
||||
\li \uicontrol Timeout sets a timeout for version control operations.
|
||||
\li \uicontrol {Diff options} sets preferences for viewing diff output.
|
||||
\li \uicontrol {Describe all files matching commit id} annotates all
|
||||
files that belong to the commit.
|
||||
\endlist
|
||||
*/
|
||||
|
@@ -29,6 +29,9 @@
|
||||
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Version Control} > \uicontrol Fossil, and set the
|
||||
designated directory in the \uicontrol {Default path} field.
|
||||
|
||||
\image qtcreator-preferences-vcs-fossil.webp {Fossil preferences}
|
||||
|
||||
\endlist
|
||||
|
||||
To create a local Fossil repository, select \uicontrol Tools >
|
||||
@@ -62,4 +65,28 @@
|
||||
\li \uicontrol Settings
|
||||
\li Configure the settings of the local repository.
|
||||
\endtable
|
||||
|
||||
\section1 Fossil Preferences
|
||||
|
||||
To set Fossil preferences, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Version Control} > \uicontrol Fossil:
|
||||
|
||||
\list
|
||||
\li \uicontrol Command specifies the path to the command line client
|
||||
executable.
|
||||
\li \uicontrol {Default path} sets the path to the directory to store
|
||||
local repositories by default.
|
||||
\li \uicontrol {Default user} specifies an existing user who becomes the
|
||||
author of changes made to the repository.
|
||||
\li \uicontrol {SSL/TLS identity} sets the SSL/TLS client identity key
|
||||
to use for authentication if the server requests it.
|
||||
\li \uicontrol {Log count} sets the maximum number of lines the log can
|
||||
have.
|
||||
\li \uicontrol {Log width} sets the width of log entry lines to 20 or
|
||||
above. The value 0 shows a single line per entry.
|
||||
\li \uicontrol {Timeout} sets a timeout for version control operations.
|
||||
\li \uicontrol {Disable auto sync} disables automatic pull before
|
||||
a commit or update and automatic push after a commit or tag or branch
|
||||
creation.
|
||||
\endlist
|
||||
*/
|
||||
|
@@ -42,4 +42,23 @@
|
||||
\li \uicontrol{Push}
|
||||
\li Push changes to the remote repository.
|
||||
\endtable
|
||||
|
||||
\section1 Mercurial Preferences
|
||||
|
||||
To set preferences for Mercurial, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Mercurial:
|
||||
|
||||
\image qtcreator-preferences-vcs-mercurial.webp {Mercurial preferences}
|
||||
|
||||
\list
|
||||
\li \uicontrol Command specifies the path to the command line client
|
||||
executable.
|
||||
\li \uicontrol {Default username} and \uicontrol {Default email}
|
||||
specify the username and email address to use by default when
|
||||
committing changes.
|
||||
\li \uicontrol {Log count} sets the maximum number of lines the log can
|
||||
have.
|
||||
\li \uicontrol Timeout sets a timeout for version control operations.
|
||||
\endlist
|
||||
|
||||
*/
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2018 The Qt Company Ltd.
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
/*!
|
||||
@@ -8,21 +8,14 @@
|
||||
\section1 Setting Up Version Control Systems
|
||||
|
||||
\QC uses the version control system's command line clients to access your
|
||||
repositories. To allow access, make sure that the command line clients can
|
||||
be located using the \c{PATH} environment variable. Alternatively, specify
|
||||
the path to the command line client executable in the \uicontrol Command
|
||||
field in the version control system specific tab in \uicontrol Edit >
|
||||
repositories. Make sure that the command line clients are in the \c{PATH}
|
||||
environment variable, or specify the path to the command line client
|
||||
executable in the version control system specific tab in \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Version Control}.
|
||||
|
||||
If authentication is required to access the repository, enter the user
|
||||
credentials in the \uicontrol Username and \uicontrol Password fields.
|
||||
|
||||
Enter a timeout for version control operations in the \uicontrol Timeout
|
||||
field.
|
||||
|
||||
For some version control systems, you can specify the maximum number of
|
||||
lines the log can have in the \uicontrol {Log count} field.
|
||||
\image qtcreator-preferences-vcs-bazaar.webp {Bazaar preferences}
|
||||
|
||||
The other configuration options depend on the version control system.
|
||||
After you set up the version control system, use the command line to check
|
||||
that everything works (for example, use the status command). If no issues
|
||||
arise, you should be ready to use the system also from \QC.
|
||||
@@ -35,12 +28,14 @@
|
||||
Select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Version Control}
|
||||
> \uicontrol General to specify settings for submit messages:
|
||||
|
||||
\image qtcreator-preferences-vcs-general.webp {General tab in Version Control preferences}
|
||||
|
||||
\list
|
||||
\li \uicontrol{Wrap submit messages at} limits the line length of a
|
||||
submit message to the specified number of characters.
|
||||
\li \uicontrol{Submit message check script} is a script or program that
|
||||
can be used to perform checks on the submit message before
|
||||
submitting. The submit message is passed in as the script's first
|
||||
performs checks on the submit message before
|
||||
submitting. The submit message is the script's first
|
||||
parameter. If there is an error, the script should output a
|
||||
message on standard error and return a non-zero exit code.
|
||||
\li \uicontrol{User/alias configuration file} is a text file that lists
|
||||
@@ -73,7 +68,7 @@
|
||||
For example, \c ssh-askpass or \c x11-ssh-askpass, depending on the
|
||||
ssh-askpass implementation that you use.
|
||||
\li \uicontrol {Reset VCS Cache} resets the version control system
|
||||
configuration to a state known to \QC after it has been changed
|
||||
configuration to a state known to \QC after you change it
|
||||
from the command line, for example.
|
||||
\endlist
|
||||
|
||||
|
@@ -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
|
||||
|
||||
// **********************************************************************
|
||||
@@ -29,9 +29,18 @@
|
||||
|
||||
\section1 Configuring Perforce
|
||||
|
||||
In the Perforce preferences, you can specify workspace details:
|
||||
\uicontrol {P4 user}, \uicontrol {P4 client}, and \uicontrol {P4 port}. To
|
||||
specify the details individually for several projects, use configuration
|
||||
To set Perforce preferences, select \uicontrol Edit > \uicontrol Preferences
|
||||
> \uicontrol {Version Control} > \uicontrol Perforce:
|
||||
|
||||
\image qtcreator-preferences-vcs-perforce.webp {Perforce preferences}
|
||||
|
||||
In \uicontrol {P4 command}, set the path to the command line client
|
||||
executable.
|
||||
|
||||
Set workspace details in \uicontrol {P4 user}, \uicontrol {P4 client}, and
|
||||
\uicontrol {P4 port}.
|
||||
|
||||
To specify the details individually for several projects, use configuration
|
||||
files instead. Create a \c {p4config.txt} configuration file for each
|
||||
project in the top level project directory, and run
|
||||
\c{p4 set P4CONFIG=p4config.txt} once. You must deselect the
|
||||
@@ -56,9 +65,4 @@
|
||||
|
||||
To view information about change lists and the files in them, select
|
||||
\uicontrol Tools > \uicontrol Perforce > \uicontrol Describe.
|
||||
|
||||
By default, you must confirm that you want to submit changes. To suppress
|
||||
the confirmation prompt, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Version Control} > \uicontrol Perforce, and then deselect the
|
||||
\uicontrol {Prompt on submit} check box.
|
||||
*/
|
||||
|
@@ -1,4 +1,4 @@
|
||||
// Copyright (C) 2019 The Qt Company Ltd.
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
@@ -21,14 +21,27 @@
|
||||
\uicontrol Subversion > \uicontrol Describe to display commit log messages
|
||||
for a revision.
|
||||
|
||||
By default, you must confirm that you want to submit changes. To suppress the
|
||||
confirmation prompt, select \uicontrol Edit > \uicontrol Preferences >
|
||||
\uicontrol {Version Control} > \uicontrol Subversion, and then deselect the
|
||||
\uicontrol {Prompt on submit} check box.
|
||||
|
||||
To show whitespace changes in annotation views, deselect the
|
||||
\uicontrol {Ignore whitespace changes in annotation} check box.
|
||||
|
||||
You can use Git as a client for a Subversion server. For more information,
|
||||
see \l{Using Git with Subversion}.
|
||||
|
||||
\section1 Subversion Preferences
|
||||
|
||||
To set Subversion preferences, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Version Control} >
|
||||
\uicontrol Subversion:
|
||||
|
||||
\image qtcreator-preferences-vcs-subversion.webp {Subversion preferences}
|
||||
|
||||
\list
|
||||
\li \uicontrol {Subversion command} specifies the path to the command
|
||||
line client executable.
|
||||
\li \uicontrol {Username} and \uicontrol {Password} specify the user
|
||||
credentials to access the repository if the server requires
|
||||
\uicontrol Authentication.
|
||||
\li \uicontrol {Log count} sets the maximum number of lines the log can
|
||||
have.
|
||||
\li \uicontrol Timeout sets a timeout for version control operations.
|
||||
\li \uicontrol {Ignore whitespace changes in annotation} hides whitespace
|
||||
changes in annotation views.
|
||||
\endlist
|
||||
*/
|
||||
|
@@ -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
|
||||
|
||||
// **********************************************************************
|
||||
@@ -46,6 +46,8 @@
|
||||
set to \c %HOMEDRIVE%%HOMEPATH% when the Git executable is run and
|
||||
authorization works as it would with \c {git bash}.
|
||||
|
||||
\image qtcreator-preferences-vcs-git.webp {Git preferences}
|
||||
|
||||
\section1 Working with the Current File
|
||||
|
||||
To work with the current file, select the commands in \uicontrol Tools >
|
||||
@@ -73,9 +75,15 @@
|
||||
|
||||
To display the versioning history of a file, select \uicontrol{Log of}.
|
||||
The log output has the date, the commit message, and a commit
|
||||
identifier. Click on the commit identifier to view commit details.
|
||||
identifier.
|
||||
|
||||
\image qtcreator-git-log.png "Commit details in Git log"
|
||||
You can set the maximum number of log entries to show in \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Git >
|
||||
\uicontrol {Log count}.
|
||||
|
||||
Click on the commit identifier to view commit details.
|
||||
|
||||
\image qtcreator-git-log.png {Commit details in Git log}
|
||||
|
||||
Right-clicking on a commit identifier brings up a context menu that lets
|
||||
you apply actions on the commit, such as view annotations or cherry-pick
|
||||
@@ -109,7 +117,7 @@
|
||||
\uicontrol {Git Show} view, select \uicontrol {Describe Change} in the
|
||||
context menu.
|
||||
|
||||
\image qtcreator-vcs-show.png "Commit description in Git show"
|
||||
\image qtcreator-vcs-show.png {Commit description in Git show}
|
||||
|
||||
\section2 Viewing Annotations
|
||||
|
||||
@@ -117,7 +125,14 @@
|
||||
view displays the lines of the file prepended by the commit identifier they
|
||||
originate from.
|
||||
|
||||
\image qtcreator-git-blame.webp "Git Blame view"
|
||||
\image qtcreator-git-blame.webp {Git Blame view}
|
||||
|
||||
By default, each line is annotated in the editor when you scroll through
|
||||
the file. To disable this feature, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Git, and
|
||||
deselect \uicontrol {Add instant blame annotations to editor}. To view
|
||||
annotations for the current line, select \uicontrol Tools > \uicontrol Git >
|
||||
\uicontrol {Current File} > \uicontrol {Instant Blame}.
|
||||
|
||||
Click the commit identifier to show a detailed description of the change.
|
||||
|
||||
@@ -197,7 +212,7 @@
|
||||
commit page containing a text editor where you can enter your commit
|
||||
message and a checkable list of modified files to include.
|
||||
|
||||
\image qtcreator-vcs-commit.png "Committing changes with Git"
|
||||
\image qtcreator-vcs-commit.png {Committing changes with Git}
|
||||
|
||||
\uicontrol {General Information} displays the names of the
|
||||
repository and branch for the commit.
|
||||
@@ -234,7 +249,7 @@
|
||||
\uicontrol Git > \uicontrol {Local Repository} >
|
||||
\uicontrol {Amend Last Commit}.
|
||||
|
||||
\image qtcreator-git-amend.png "Amending a Git commit"
|
||||
\image qtcreator-git-amend.png {Amending a Git commit}
|
||||
|
||||
To view the commit in its current form, before amending, select
|
||||
\uicontrol {Show HEAD}.
|
||||
@@ -279,7 +294,7 @@
|
||||
\uicontrol {Git Branches} sidebar view shows the checked out
|
||||
branch in bold and underlined in the list of branches.
|
||||
|
||||
\image qtcreator-vcs-gitbranch.png "Git Branches sidebar view"
|
||||
\image qtcreator-vcs-gitbranch.png {Git Branches sidebar view}
|
||||
|
||||
Old entries and tags are filtered out of the list of branches
|
||||
by default. To include them, select \inlineimage icons/filtericon.png
|
||||
@@ -424,7 +439,7 @@
|
||||
commits, select \uicontrol Tools > \uicontrol Git >
|
||||
\uicontrol {Actions on Commits}.
|
||||
|
||||
\image creator-git-commit-actions.png "Select a Git Commit dialog"
|
||||
\image creator-git-commit-actions.png {Select a Git Commit dialog}
|
||||
|
||||
You can apply the following actions on commits:
|
||||
|
||||
@@ -565,7 +580,7 @@
|
||||
Select the \uicontrol HTTPS check box to prepend \c https to the Gerrit URL
|
||||
if Gerrit does not add it.
|
||||
|
||||
\image qtcreator-gerrit-options.png "Gerrit preferences"
|
||||
\image qtcreator-preferences-vcs-gerrit.webp {Gerrit preferences}
|
||||
|
||||
\section1 Working with Git Tools
|
||||
|
||||
|
@@ -326,7 +326,7 @@ void doSemanticHighlighting(
|
||||
styles.mainStyle = C_PARAMETER;
|
||||
} else if (token.type == "macro") {
|
||||
styles.mainStyle = C_MACRO;
|
||||
} else if (token.type == "type") {
|
||||
} else if (token.type == "type" || token.type == "concept") {
|
||||
styles.mainStyle = C_TYPE;
|
||||
} else if (token.type == "modifier") {
|
||||
styles.mainStyle = C_KEYWORD;
|
||||
|
@@ -1300,6 +1300,9 @@ void ClangdTestHighlighting::test_data()
|
||||
<< QList<int>{C_FIELD} << 0;
|
||||
QTest::newRow("fake operator method call") << 1050 << 8 << 1050 << 22
|
||||
<< QList<int>{C_FUNCTION} << 0;
|
||||
QTest::newRow("concept definition") << 1053 << 30 << 1053 << 42
|
||||
<< QList<int>{C_TYPE, C_DECLARATION} << 0;
|
||||
QTest::newRow("concept use") << 1054 << 29 << 1054 << 41 << QList<int>{C_TYPE} << 0;
|
||||
}
|
||||
|
||||
void ClangdTestHighlighting::test()
|
||||
|
@@ -1049,3 +1049,6 @@ void useStrangeStruct(StructWithMisleadingMemberNames *s) {
|
||||
s->operatormember = 5;
|
||||
s->operatorMethod();
|
||||
}
|
||||
|
||||
template<typename T> concept NoConstraint = true;
|
||||
static void constrainedFunc(NoConstraint auto t) {}
|
||||
|
@@ -1,4 +1,5 @@
|
||||
TEMPLATE = app
|
||||
CONFIG -= qt
|
||||
CONFIG += c++2a
|
||||
SOURCES = highlighting.cpp
|
||||
QMAKE_CXXFLAGS += -broken
|
||||
|
@@ -165,24 +165,23 @@ void ClangToolRunWorker::start()
|
||||
.arg(toolName, projectFile.toUserOutput(), m_diagnosticConfig.displayName()),
|
||||
Utils::NormalMessageFormat);
|
||||
|
||||
// Collect files
|
||||
const auto [includeDir, clangVersion]
|
||||
= getClangIncludeDirAndVersion(runControl()->commandLine().executable());
|
||||
const ClangToolType tool = m_tool == ClangTidyTool::instance() ? ClangToolType::Tidy
|
||||
: ClangToolType::Clazy;
|
||||
const FilePath executable = toolExecutable(tool);
|
||||
const auto [includeDir, clangVersion] = getClangIncludeDirAndVersion(executable);
|
||||
|
||||
// Collect files
|
||||
AnalyzeUnits unitsToProcess;
|
||||
for (const FileInfo &fileInfo : m_fileInfos)
|
||||
unitsToProcess.append({fileInfo, includeDir, clangVersion});
|
||||
|
||||
qCDebug(LOG) << Q_FUNC_INFO << runControl()->commandLine().executable()
|
||||
<< includeDir << clangVersion;
|
||||
qCDebug(LOG) << Q_FUNC_INFO << executable << includeDir << clangVersion;
|
||||
qCDebug(LOG) << "Files to process:" << unitsToProcess;
|
||||
qCDebug(LOG) << "Environment:" << m_environment;
|
||||
|
||||
m_filesAnalyzed.clear();
|
||||
m_filesNotAnalyzed.clear();
|
||||
|
||||
const ClangToolType tool = m_tool == ClangTidyTool::instance() ? ClangToolType::Tidy
|
||||
: ClangToolType::Clazy;
|
||||
using namespace Tasking;
|
||||
QList<TaskItem> tasks{ParallelLimit(qMax(1, m_runSettings.parallelJobs()))};
|
||||
for (const AnalyzeUnit &unit : std::as_const(unitsToProcess)) {
|
||||
|
@@ -225,6 +225,7 @@ static QPair<FilePath, QString> clangIncludeDirAndVersion(const FilePath &clangT
|
||||
|
||||
QPair<FilePath, QString> getClangIncludeDirAndVersion(const FilePath &clangToolPath)
|
||||
{
|
||||
QTC_CHECK(!clangToolPath.isEmpty());
|
||||
static QMap<FilePath, QPair<FilePath, QString>> cache;
|
||||
auto it = cache.find(clangToolPath);
|
||||
if (it == cache.end())
|
||||
|
@@ -665,12 +665,15 @@ void CMakeBuildSettingsWidget::kitCMakeConfiguration()
|
||||
|
||||
auto layout = new QGridLayout(dialog);
|
||||
|
||||
kitAspect.createConfigWidget(m_buildSystem->kit())
|
||||
->addToLayoutWithLabel(layout->parentWidget());
|
||||
generatorAspect.createConfigWidget(m_buildSystem->kit())
|
||||
->addToLayoutWithLabel(layout->parentWidget());
|
||||
configurationKitAspect.createConfigWidget(m_buildSystem->kit())
|
||||
->addToLayoutWithLabel(layout->parentWidget());
|
||||
KitAspectWidget *widget = kitAspect.createConfigWidget(m_buildSystem->kit());
|
||||
widget->setParent(dialog);
|
||||
widget->addToLayoutWithLabel(layout->parentWidget());
|
||||
widget = generatorAspect.createConfigWidget(m_buildSystem->kit());
|
||||
widget->setParent(dialog);
|
||||
widget->addToLayoutWithLabel(layout->parentWidget());
|
||||
widget = configurationKitAspect.createConfigWidget(m_buildSystem->kit());
|
||||
widget->setParent(dialog);
|
||||
widget->addToLayoutWithLabel(layout->parentWidget());
|
||||
|
||||
layout->setColumnStretch(1, 1);
|
||||
|
||||
@@ -1175,6 +1178,12 @@ static void addCMakeConfigurePresetToInitialArguments(QStringList &initialArgume
|
||||
initialArguments.removeIf(
|
||||
[presetArgument](const QString &item) { return item == presetArgument; });
|
||||
|
||||
// Remove the -DQTC_KIT_DEFAULT_CONFIG_HASH argument
|
||||
const QString presetHashArgument
|
||||
= CMakeConfigurationKitAspect::kitDefaultConfigHashItem(k).toArgument();
|
||||
initialArguments.removeIf(
|
||||
[presetHashArgument](const QString &item) { return item == presetHashArgument; });
|
||||
|
||||
PresetsDetails::ConfigurePreset configurePreset
|
||||
= Utils::findOrDefault(project->presetsData().configurePresets,
|
||||
[presetName](const PresetsDetails::ConfigurePreset &preset) {
|
||||
|
@@ -209,12 +209,51 @@ void CMakeProject::readPresets()
|
||||
return data;
|
||||
};
|
||||
|
||||
std::function<void(Internal::PresetsData & presetData, Utils::FilePaths & inclueStack)>
|
||||
resolveIncludes = [&](Internal::PresetsData &presetData, Utils::FilePaths &includeStack) {
|
||||
if (presetData.include) {
|
||||
for (const QString &path : presetData.include.value()) {
|
||||
Utils::FilePath includePath = Utils::FilePath::fromUserInput(path);
|
||||
if (!includePath.isAbsolutePath())
|
||||
includePath = presetData.fileDir.resolvePath(path);
|
||||
|
||||
Internal::PresetsData includeData = parsePreset(includePath);
|
||||
if (includeData.include) {
|
||||
if (includeStack.contains(includePath)) {
|
||||
TaskHub::addTask(BuildSystemTask(
|
||||
Task::TaskType::Warning,
|
||||
Tr::tr("Attempt to include %1 which was already parsed.")
|
||||
.arg(includePath.path()),
|
||||
Utils::FilePath(),
|
||||
-1));
|
||||
TaskHub::requestPopup();
|
||||
} else {
|
||||
resolveIncludes(includeData, includeStack);
|
||||
}
|
||||
}
|
||||
|
||||
presetData.configurePresets = includeData.configurePresets
|
||||
+ presetData.configurePresets;
|
||||
presetData.buildPresets = includeData.buildPresets + presetData.buildPresets;
|
||||
|
||||
includeStack << includePath;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const Utils::FilePath cmakePresetsJson = projectDirectory().pathAppended("CMakePresets.json");
|
||||
const Utils::FilePath cmakeUserPresetsJson = projectDirectory().pathAppended("CMakeUserPresets.json");
|
||||
|
||||
Internal::PresetsData cmakePresetsData = parsePreset(cmakePresetsJson);
|
||||
Internal::PresetsData cmakeUserPresetsData = parsePreset(cmakeUserPresetsJson);
|
||||
|
||||
// resolve the include
|
||||
Utils::FilePaths includeStack = {cmakePresetsJson};
|
||||
resolveIncludes(cmakePresetsData, includeStack);
|
||||
|
||||
includeStack = {cmakeUserPresetsJson};
|
||||
resolveIncludes(cmakeUserPresetsData, includeStack);
|
||||
|
||||
m_presetsData = combinePresets(cmakePresetsData, cmakeUserPresetsData);
|
||||
setupBuildPresets(m_presetsData);
|
||||
}
|
||||
|
@@ -710,7 +710,10 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
||||
data->cmakePresetDefaultConfigHash
|
||||
= CMakeConfigurationKitAspect::computeDefaultConfigHash(config, data->cmakeBinary);
|
||||
|
||||
QByteArrayList buildConfigurationTypes = {cache.valueOf("CMAKE_BUILD_TYPE")};
|
||||
QString cmakeBuildType = QString::fromUtf8(cache.valueOf("CMAKE_BUILD_TYPE"));
|
||||
CMakePresets::Macros::expand(configurePreset, env, projectDirectory(), cmakeBuildType);
|
||||
|
||||
QByteArrayList buildConfigurationTypes = {cmakeBuildType.toUtf8()};
|
||||
if (buildConfigurationTypes.front().isEmpty()) {
|
||||
buildConfigurationTypes.clear();
|
||||
QByteArray buildConfigurationTypesString = cache.valueOf("CMAKE_CONFIGURATION_TYPES");
|
||||
|
@@ -7,6 +7,7 @@
|
||||
#include <utils/environment.h>
|
||||
#include <utils/filepath.h>
|
||||
#include <utils/hostosinfo.h>
|
||||
#include <utils/osspecificaspects.h>
|
||||
|
||||
using namespace Utils;
|
||||
|
||||
@@ -40,10 +41,13 @@ static void expandAllButEnv(const PresetsDetails::ConfigurePreset &preset,
|
||||
value.replace("${sourceDirName}", sourceDirectory.fileName());
|
||||
|
||||
value.replace("${presetName}", preset.name);
|
||||
value.replace("${fileDir}", preset.fileDir.path());
|
||||
if (preset.generator)
|
||||
value.replace("${generator}", preset.generator.value());
|
||||
|
||||
value.replace("${hostSystemName}", getHostSystemName(sourceDirectory.osType()));
|
||||
value.replace("${pathListSep}",
|
||||
Utils::OsSpecificAspects::pathListSeparator(sourceDirectory.osType()));
|
||||
}
|
||||
|
||||
static void expandAllButEnv(const PresetsDetails::BuildPreset &preset,
|
||||
@@ -53,10 +57,13 @@ static void expandAllButEnv(const PresetsDetails::BuildPreset &preset,
|
||||
value.replace("${dollar}", "$");
|
||||
|
||||
value.replace("${sourceDir}", sourceDirectory.toString());
|
||||
value.replace("${fileDir}", preset.fileDir.path());
|
||||
value.replace("${sourceParentDir}", sourceDirectory.parentDir().toString());
|
||||
value.replace("${sourceDirName}", sourceDirectory.fileName());
|
||||
|
||||
value.replace("${presetName}", preset.name);
|
||||
value.replace("${pathListSep}",
|
||||
Utils::OsSpecificAspects::pathListSeparator(sourceDirectory.osType()));
|
||||
}
|
||||
|
||||
static QString expandMacroEnv(const QString ¯oPrefix,
|
||||
|
@@ -36,6 +36,22 @@ bool parseCMakeMinimumRequired(const QJsonValue &jsonValue, QVersionNumber &vers
|
||||
return true;
|
||||
}
|
||||
|
||||
std::optional<QStringList> parseInclude(const QJsonValue &jsonValue)
|
||||
{
|
||||
std::optional<QStringList> includes;
|
||||
|
||||
if (!jsonValue.isUndefined()) {
|
||||
if (jsonValue.isArray()) {
|
||||
includes = QStringList();
|
||||
const QJsonArray includeArray = jsonValue.toArray();
|
||||
for (const QJsonValue &includeValue : includeArray)
|
||||
includes.value() << includeValue.toString();
|
||||
}
|
||||
}
|
||||
|
||||
return includes;
|
||||
}
|
||||
|
||||
std::optional<PresetsDetails::Condition> parseCondition(const QJsonValue &jsonValue)
|
||||
{
|
||||
std::optional<PresetsDetails::Condition> condition;
|
||||
@@ -133,7 +149,8 @@ std::optional<PresetsDetails::Condition> parseCondition(const QJsonValue &jsonVa
|
||||
}
|
||||
|
||||
bool parseConfigurePresets(const QJsonValue &jsonValue,
|
||||
QList<PresetsDetails::ConfigurePreset> &configurePresets)
|
||||
QList<PresetsDetails::ConfigurePreset> &configurePresets,
|
||||
const Utils::FilePath &fileDir)
|
||||
{
|
||||
// The whole section is optional
|
||||
if (jsonValue.isUndefined())
|
||||
@@ -151,6 +168,7 @@ bool parseConfigurePresets(const QJsonValue &jsonValue,
|
||||
PresetsDetails::ConfigurePreset preset;
|
||||
|
||||
preset.name = object.value("name").toString();
|
||||
preset.fileDir = fileDir;
|
||||
preset.hidden = object.value("hidden").toBool();
|
||||
|
||||
QJsonValue inherits = object.value("inherits");
|
||||
@@ -291,7 +309,8 @@ bool parseConfigurePresets(const QJsonValue &jsonValue,
|
||||
}
|
||||
|
||||
bool parseBuildPresets(const QJsonValue &jsonValue,
|
||||
QList<PresetsDetails::BuildPreset> &buildPresets)
|
||||
QList<PresetsDetails::BuildPreset> &buildPresets,
|
||||
const Utils::FilePath &fileDir)
|
||||
{
|
||||
// The whole section is optional
|
||||
if (jsonValue.isUndefined())
|
||||
@@ -309,6 +328,7 @@ bool parseBuildPresets(const QJsonValue &jsonValue,
|
||||
PresetsDetails::BuildPreset preset;
|
||||
|
||||
preset.name = object.value("name").toString();
|
||||
preset.fileDir = fileDir;
|
||||
preset.hidden = object.value("hidden").toBool();
|
||||
|
||||
QJsonValue inherits = object.value("inherits");
|
||||
@@ -416,6 +436,8 @@ bool PresetsParser::parse(const Utils::FilePath &jsonFile, QString &errorMessage
|
||||
|
||||
QJsonObject root = jsonDoc.object();
|
||||
|
||||
m_presetsData.fileDir = jsonFile.parentDir();
|
||||
|
||||
if (!parseVersion(root.value("version"), m_presetsData.version)) {
|
||||
errorMessage = Tr::tr("Invalid \"version\" in file \"%1\".").arg(jsonFile.fileName());
|
||||
return false;
|
||||
@@ -426,14 +448,21 @@ bool PresetsParser::parse(const Utils::FilePath &jsonFile, QString &errorMessage
|
||||
m_presetsData.cmakeMinimimRequired);
|
||||
|
||||
// optional
|
||||
if (!parseConfigurePresets(root.value("configurePresets"), m_presetsData.configurePresets)) {
|
||||
m_presetsData.include = parseInclude(root.value("include"));
|
||||
|
||||
// optional
|
||||
if (!parseConfigurePresets(root.value("configurePresets"),
|
||||
m_presetsData.configurePresets,
|
||||
jsonFile.parentDir())) {
|
||||
errorMessage
|
||||
= Tr::tr("Invalid \"configurePresets\" section in %1 file").arg(jsonFile.fileName());
|
||||
return false;
|
||||
}
|
||||
|
||||
// optional
|
||||
if (!parseBuildPresets(root.value("buildPresets"), m_presetsData.buildPresets)) {
|
||||
if (!parseBuildPresets(root.value("buildPresets"),
|
||||
m_presetsData.buildPresets,
|
||||
jsonFile.parentDir())) {
|
||||
errorMessage
|
||||
= Tr::tr("Invalid \"buildPresets\" section in %1 file").arg(jsonFile.fileName());
|
||||
return false;
|
||||
|
@@ -90,6 +90,7 @@ public:
|
||||
void inheritFrom(const ConfigurePreset &other);
|
||||
|
||||
QString name;
|
||||
Utils::FilePath fileDir;
|
||||
std::optional<bool> hidden = false;
|
||||
std::optional<QStringList> inherits;
|
||||
std::optional<Condition> condition;
|
||||
@@ -115,6 +116,7 @@ public:
|
||||
void inheritFrom(const BuildPreset &other);
|
||||
|
||||
QString name;
|
||||
Utils::FilePath fileDir;
|
||||
std::optional<bool> hidden = false;
|
||||
std::optional<QStringList> inherits;
|
||||
std::optional<Condition> condition;
|
||||
@@ -140,6 +142,8 @@ public:
|
||||
int version = 0;
|
||||
QVersionNumber cmakeMinimimRequired;
|
||||
QHash<QString, QString> vendor;
|
||||
std::optional<QStringList> include;
|
||||
Utils::FilePath fileDir;
|
||||
QList<PresetsDetails::ConfigurePreset> configurePresets;
|
||||
QList<PresetsDetails::BuildPreset> buildPresets;
|
||||
};
|
||||
|
@@ -3941,10 +3941,10 @@ void GdbEngine::handleGdbStarted()
|
||||
}
|
||||
|
||||
if (!rp.sysRoot.isEmpty()) {
|
||||
runCommand({"set sysroot " + rp.sysRoot.toString()});
|
||||
runCommand({"set sysroot " + rp.sysRoot.path()});
|
||||
// sysroot is not enough to correctly locate the sources, so explicitly
|
||||
// relocate the most likely place for the debug source
|
||||
runCommand({"set substitute-path /usr/src " + rp.sysRoot.toString() + "/usr/src"});
|
||||
runCommand({"set substitute-path /usr/src " + rp.sysRoot.path() + "/usr/src"});
|
||||
}
|
||||
|
||||
//QByteArray ba = QFileInfo(sp.dumperLibrary).path().toLocal8Bit();
|
||||
@@ -4139,7 +4139,7 @@ void GdbEngine::handleDebugInfoLocation(const DebuggerResponse &response)
|
||||
const FilePath debugInfoLocation = runParameters().debugInfoLocation;
|
||||
if (!debugInfoLocation.isEmpty() && debugInfoLocation.exists()) {
|
||||
const QString curDebugInfoLocations = response.consoleStreamOutput.split('"').value(1);
|
||||
QString cmd = "set debug-file-directory " + debugInfoLocation.toString();
|
||||
QString cmd = "set debug-file-directory " + debugInfoLocation.path();
|
||||
if (!curDebugInfoLocations.isEmpty())
|
||||
cmd += HostOsInfo::pathListSeparator() + curDebugInfoLocations;
|
||||
runCommand({cmd});
|
||||
@@ -4799,7 +4799,7 @@ void GdbEngine::handleTargetExtendedRemote(const DebuggerResponse &response)
|
||||
runCommand({"attach " + QString::number(runParameters().attachPID.pid()),
|
||||
CB(handleTargetExtendedAttach)});
|
||||
} else if (!runParameters().inferior.command.isEmpty()) {
|
||||
runCommand({"-gdb-set remote exec-file " + runParameters().inferior.command.executable().toString(),
|
||||
runCommand({"-gdb-set remote exec-file " + runParameters().inferior.command.executable().path(),
|
||||
CB(handleTargetExtendedAttach)});
|
||||
} else {
|
||||
const QString title = Tr::tr("No Remote Executable or Process ID Specified");
|
||||
|
@@ -53,9 +53,9 @@ McuPackage::McuPackage(const SettingsHandler::Ptr &settingsHandler,
|
||||
, m_addToSystemPath(addToSystemPath)
|
||||
, m_valueType(valueType)
|
||||
{
|
||||
m_path = FilePath::fromUserInput(qtcEnvironmentVariable(m_environmentVariableName));
|
||||
if (!m_path.exists()) {
|
||||
m_path = this->settingsHandler->getPath(settingsKey, QSettings::UserScope, m_defaultPath);
|
||||
m_path = this->settingsHandler->getPath(settingsKey, QSettings::UserScope, m_defaultPath);
|
||||
if (m_path.isEmpty()) {
|
||||
m_path = FilePath::fromUserInput(qtcEnvironmentVariable(m_environmentVariableName));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,92 +1,14 @@
|
||||
{
|
||||
"version": 3,
|
||||
"version": 4,
|
||||
"cmakeMinimumRequired": {
|
||||
"major": 3,
|
||||
"minor": 21,
|
||||
"minor": 23,
|
||||
"patch": 0
|
||||
},
|
||||
"include": [
|
||||
"mingw.json", "msvc.json"
|
||||
],
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "mingw",
|
||||
"displayName": "MinGW 11.2.0",
|
||||
"generator": "Ninja",
|
||||
"installDir": "../inst-${presetName}",
|
||||
"cacheVariables": {
|
||||
"CMAKE_PREFIX_PATH": "$env{SYSTEMDRIVE}/Qt/6.4.2/mingw_64"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
},
|
||||
"environment": {
|
||||
"PATH": "$env{SYSTEMDRIVE}/Qt/Tools/mingw1120_64/bin;$penv{PATH}"
|
||||
},
|
||||
"debug" : {
|
||||
"find" : true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "mingw-make",
|
||||
"binaryDir": "${sourceDir}/build-${presetName}-release",
|
||||
"displayName": "MinGW 11.2.0 Makefiles",
|
||||
"generator": "MinGW Makefiles",
|
||||
"inherits" : "mingw",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_PREFIX_PATH": "$env{SystemDrive}/Qt/6.4.2/mingw_64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "visualc",
|
||||
"displayName": "Visual C++ 2019 x64",
|
||||
"generator": "Visual Studio 16 2019",
|
||||
"binaryDir": "${sourceDir}/build-${presetName}",
|
||||
"architecture" : {
|
||||
"value": "x64"
|
||||
},
|
||||
"toolchainFile" : "../cmakepresets/msvc-toolchain.cmake",
|
||||
"condition" : {
|
||||
"type": "not",
|
||||
"condition": {
|
||||
"type": "notEquals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "$env{HOST_SYSTEM_NAME}"
|
||||
}
|
||||
},
|
||||
"environment" : {
|
||||
"HOST_SYSTEM_NAME": "Windows",
|
||||
"QT_VERSION": "6.4.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "visualc-ninja",
|
||||
"displayName": "Visual C++ 2019 x64 Ninja",
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/build-${presetName}",
|
||||
"toolchainFile" : "c:/Qt/6.4.2/msvc2019_64/lib/cmake/Qt6/qt.toolchain.cmake",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
},
|
||||
"environment" : {
|
||||
"VCToolsVersion": "14.29.30133",
|
||||
"WindowsSDKVersion" : "10.0.22000.0",
|
||||
"VCArch": "x64",
|
||||
"VCToolsInstallDir": "$env{ProgramFiles(x86)}/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/$env{VCToolsVersion}",
|
||||
"WindowsSdkDir" : "$env{ProgramFiles(x86)}/Windows Kits/10",
|
||||
"WindowsSdkIncVerDir": "$env{WindowsSdkDir}/Include/$env{WindowsSDKVersion}",
|
||||
"WindowsSdkLibVerDir": "$env{WindowsSdkDir}/Lib/$env{WindowsSDKVersion}",
|
||||
|
||||
"INCLUDE": "$env{VCToolsInstallDir}/ATLMFC/include;$env{VCToolsInstallDir}/include;$env{WindowsSdkIncVerDir}/ucrt;$env{WindowsSdkIncVerDir}/shared;$env{WindowsSdkIncVerDir}/um;$env{WindowsSdkIncVerDir}/winrt;$env{WindowsSdkIncVerDir}/cppwinrt",
|
||||
"LIB": "$env{VCToolsInstallDir}/ATLMFC/lib/$env{VCArch};$env{VCToolsInstallDir}/lib/$env{VCArch};$env{WindowsSdkLibVerDir}/ucrt/$env{VCArch};$env{WindowsSdkLibVerDir}/um/$env{VCArch}",
|
||||
"PATH": "$env{VCToolsInstallDir}/bin/HostX64/$env{VCArch};$env{WindowsSdkDir}/bin/$env{WindowsSDKVersion}/$env{VCArch};$penv{PATH}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "linux-gcc",
|
||||
"displayName": "Linux GCC",
|
||||
@@ -99,39 +21,5 @@
|
||||
"rhs": "Linux"
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "mingw",
|
||||
"displayName": "MinGW default",
|
||||
"configurePreset": "mingw",
|
||||
"targets": "${sourceDirName}"
|
||||
},
|
||||
{
|
||||
"name": "mingw-verbose",
|
||||
"inherits": "mingw",
|
||||
"displayName": "MinGW verbose",
|
||||
"verbose": true
|
||||
},
|
||||
{
|
||||
"name": "mingw-make",
|
||||
"displayName": "MinGW make 4 CPUs",
|
||||
"configurePreset": "mingw-make",
|
||||
"jobs": 4
|
||||
},
|
||||
{
|
||||
"name": "visualc-debug",
|
||||
"configurePreset": "visualc",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "visualc-relwithdebinfo",
|
||||
"inherits": "visualc-debug",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "visualc-ninja",
|
||||
"configurePreset": "visualc-ninja"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
61
tests/manual/cmakepresets/mingw.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"version": 4,
|
||||
"cmakeMinimumRequired": {
|
||||
"major": 3,
|
||||
"minor": 23,
|
||||
"patch": 0
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "mingw",
|
||||
"displayName": "MinGW 11.2.0",
|
||||
"generator": "Ninja",
|
||||
"installDir": "../inst-${presetName}",
|
||||
"cacheVariables": {
|
||||
"CMAKE_PREFIX_PATH": "$env{SYSTEMDRIVE}/Qt/6.4.2/mingw_64"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
},
|
||||
"environment": {
|
||||
"PATH": "$env{SYSTEMDRIVE}/Qt/Tools/mingw1120_64/bin;$penv{PATH}"
|
||||
},
|
||||
"debug" : {
|
||||
"find" : true
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "mingw-make",
|
||||
"binaryDir": "${sourceDir}/build-${presetName}-release",
|
||||
"displayName": "MinGW 11.2.0 Makefiles",
|
||||
"generator": "MinGW Makefiles",
|
||||
"inherits" : "mingw",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release",
|
||||
"CMAKE_PREFIX_PATH": "$env{SystemDrive}/Qt/6.4.2/mingw_64"
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "mingw",
|
||||
"displayName": "MinGW default",
|
||||
"configurePreset": "mingw",
|
||||
"targets": "${sourceDirName}"
|
||||
},
|
||||
{
|
||||
"name": "mingw-verbose",
|
||||
"inherits": "mingw",
|
||||
"displayName": "MinGW verbose",
|
||||
"verbose": true
|
||||
},
|
||||
{
|
||||
"name": "mingw-make",
|
||||
"displayName": "MinGW make 4 CPUs",
|
||||
"configurePreset": "mingw-make",
|
||||
"jobs": 4
|
||||
}
|
||||
]
|
||||
}
|
76
tests/manual/cmakepresets/msvc.json
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"version": 4,
|
||||
"cmakeMinimumRequired": {
|
||||
"major": 3,
|
||||
"minor": 23,
|
||||
"patch": 0
|
||||
},
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "visualc",
|
||||
"displayName": "Visual C++ 2019 x64",
|
||||
"generator": "Visual Studio 16 2019",
|
||||
"binaryDir": "${sourceDir}/build-${presetName}",
|
||||
"architecture" : {
|
||||
"value": "x64"
|
||||
},
|
||||
"toolchainFile" : "../cmakepresets/msvc-toolchain.cmake",
|
||||
"condition" : {
|
||||
"type": "not",
|
||||
"condition": {
|
||||
"type": "notEquals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "$env{HOST_SYSTEM_NAME}"
|
||||
}
|
||||
},
|
||||
"environment" : {
|
||||
"HOST_SYSTEM_NAME": "Windows",
|
||||
"QT_VERSION": "6.4.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "visualc-ninja",
|
||||
"displayName": "Visual C++ 2019 x64 Ninja",
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/build-${presetName}",
|
||||
"toolchainFile" : "c:/Qt/6.4.2/msvc2019_64/lib/cmake/Qt6/qt.toolchain.cmake",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "Release"
|
||||
},
|
||||
"condition": {
|
||||
"type": "equals",
|
||||
"lhs": "${hostSystemName}",
|
||||
"rhs": "Windows"
|
||||
},
|
||||
"environment" : {
|
||||
"VCToolsVersion": "14.29.30133",
|
||||
"WindowsSDKVersion" : "10.0.22000.0",
|
||||
"VCArch": "x64",
|
||||
"VCToolsInstallDir": "$env{ProgramFiles(x86)}/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/$env{VCToolsVersion}",
|
||||
"WindowsSdkDir" : "$env{ProgramFiles(x86)}/Windows Kits/10",
|
||||
"WindowsSdkIncVerDir": "$env{WindowsSdkDir}/Include/$env{WindowsSDKVersion}",
|
||||
"WindowsSdkLibVerDir": "$env{WindowsSdkDir}/Lib/$env{WindowsSDKVersion}",
|
||||
|
||||
"INCLUDE": "$env{VCToolsInstallDir}/ATLMFC/include;$env{VCToolsInstallDir}/include;$env{WindowsSdkIncVerDir}/ucrt;$env{WindowsSdkIncVerDir}/shared;$env{WindowsSdkIncVerDir}/um;$env{WindowsSdkIncVerDir}/winrt;$env{WindowsSdkIncVerDir}/cppwinrt",
|
||||
"LIB": "$env{VCToolsInstallDir}/ATLMFC/lib/$env{VCArch};$env{VCToolsInstallDir}/lib/$env{VCArch};$env{WindowsSdkLibVerDir}/ucrt/$env{VCArch};$env{WindowsSdkLibVerDir}/um/$env{VCArch}",
|
||||
"PATH": "$env{VCToolsInstallDir}/bin/HostX64/$env{VCArch};$env{WindowsSdkDir}/bin/$env{WindowsSDKVersion}/$env{VCArch};$penv{PATH}"
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "visualc-debug",
|
||||
"configurePreset": "visualc",
|
||||
"configuration": "Debug"
|
||||
},
|
||||
{
|
||||
"name": "visualc-relwithdebinfo",
|
||||
"inherits": "visualc-debug",
|
||||
"configuration": "RelWithDebInfo"
|
||||
},
|
||||
{
|
||||
"name": "visualc-ninja",
|
||||
"configurePreset": "visualc-ninja"
|
||||
}
|
||||
]
|
||||
}
|
@@ -2172,7 +2172,7 @@ namespace plugin {
|
||||
|
||||
void testPlugin()
|
||||
{
|
||||
QString dir = QDir::currentPath();
|
||||
QString dir = QApplication::applicationDirPath();
|
||||
#ifdef Q_OS_LINUX
|
||||
QLibrary lib(dir + "/libsimple_test_plugin.so");
|
||||
#endif
|
||||
|