After parsing the CMake response, we make the configuration variables
table reflect the actual configuration in the build directory. It is one
of our "promises" that we do not break an existing build configuration,
to avoid unexpected rebuilds.
This was not quite true for the "QML debugging and profiling" setting.
When that setting and the actual build directory disagreed, the user
would get a dialog asking for running CMake with additional parameters,
and when running CMake via the button in projects mode or the menu, it
would just change these configuration parameters, potentially leading to
an unexpected complete rebuild of the application.
So, after parsing check if the actual CMake configuration matches our
QML debugging setting, and if not, change the setting to "Leave at
Default", to ensure that we don't mess with the build.
Fix the "Run CMake" button state (in the "Current Configuration") when
changing the QML debugging option, which should become bold, if the
CMake parameters change.
Amends 2577ce8ba1 and fixes the drawback
mentioned there, i.e. setting the build directory of a "Debug" build
configuration to an existing build directory with QML debugging
disabled, will now simply set the QML debugging option to "Leave at
Default" instead of forcing it to "Enabled".
Change-Id: Ie6d4875d59319687d94e44e459ca76038e5813c0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
When configuring a CMake project on the command line, CMake will
(correctly) find and use the compiler from the current developer
directory, usually somewhere in
/Applications/Xcode.app/Contents/Developer
But Qt Creator auto-detects and sets up the compiler /usr/bin/clang(++)
for desktop kits. This leads to a compiler mismatch between kits and the
imported build, and to new kits registered in Qt Creator for the import.
Since /usr/bin/clang(++) is just a thin wrapper that resolves to the
compiler in the current developer directory, resolve that in Qt Creator
with "xcrun -f <command>" too (caching the result), and include that
when comparing toolchains for importing builds.
Fixes: QTCREATORBUG-27591
Change-Id: I301e2a4e267450b488b49d0c32d4ce89001bb5ec
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
- Move look-up to CplusPlus::FindUsages, where we are guaranteed that
we actually have the document source.
- Use the same straightforward algorithm as with clangd.
- Undo the changes to CppDocument::functionAt(), which broke
the autotest.
Amends 6f7e7980d2.
Change-Id: I008d05ba41a3b63b71e3131d7021e0d4e7d0641f
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
instead of QTEST_MAIN. Reduces the initialization that is done by the Qt
test applications, and can also reduce interference with normal OS
operations like the current window loosing focus.
Change-Id: If88f289281aa1c8703ac7d4dbe0799d067c16588
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
We don't have a PluginManager instance when running the autotests.
Change-Id: Ib36ea2bb58e500a2ad4b601cedfb8d426fda7e4e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Set values did not show up inside the ui. Likely a redo of
the options page would be more appropriate, but for now the
quick fix should be good as well.
Change-Id: Id782ba48ea4dee08b2c6720cdf9e78350f1e9a47
Reviewed-by: David Schulz <david.schulz@qt.io>
Do not return an empty file path if we cannot find a python venv for a
file path, but also consider the configured interpreters.
Change-Id: I5a7f06e394fb925f9a00143fc5f0797e8754534b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Allow to bypass certificate verifications.
Currently the bypassing is not stored into the settings,
so this is not permanent.
Change-Id: Ieb564464a28cf2d4973c6b1baa696d6c22b07177
Reviewed-by: David Schulz <david.schulz@qt.io>
That was part of the initial Proof of Concept and is not needed anymore,
the normal build steps can nowadays be remote.
Change-Id: Ic69ff89ebdcf8e6aef73d71954a48501c68c60ff
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Use smart pointer for member of McuPackage.
Change-Id: I2474fc791b91c489be77aee3aab86401aaef76e8
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Dawid Śliwa <dawid.sliwa@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
To something large, but limit it. Having many editors open for the same
document can be a strain on slower machines.
Fixes: QTCREATORBUG-27568
Change-Id: I7074fc2c8eae1f4ccaa14a9a48b01afede454b0a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
Use the same name for the test framework or tool across
Qt Creator.
Change-Id: I3116644ab03cc46c2e9d7e8aa3b8af8a5386dba4
Reviewed-by: David Schulz <david.schulz@qt.io>
Fixes the following printout on Creator shutdown when
LinuxDeviceProcessList was used:
[launcher] "qtc.utils.launcher: \"Shutting down while process
/usr/bin/ssh is running\"\n"
SOFT ASSERT: "m_handles.isEmpty()" in file
/home/jarek/dev/creator-8/src/libs/utils/launchersocket.cpp, line 533
Destroying process launcher while 1 processes are still alive.
The following processes are still alive:
"/usr/bin/ssh" QList("-M", "-N", "-o", "ControlPersist=no", "-o",
"PermitLocalCommand=yes", "-o", "LocalCommand=echo", "-o",
"StrictHostKeyChecking=no", "-o", "Port=22", "-o", "User=jarek",
"-o", "IdentitiesOnly=yes", "-i", "/home/jarek/my_test_key/test_key",
"-o", "BatchMode=yes", "-o", "ConnectTimeout=10", "-o",
"ControlPath=/tmp/QtCreator-EACYSH/cs", "127.0.0.1") in thread 0x1d62b98
Change-Id: Ib64de5d4651b78fb313d7affa88f3f796953382e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The message is shown e.g. when trying to run an app on remote
device when ssh service is not running.
Change-Id: I2db06cf8e999d55e7c822c14168185d07e0c3286
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
On (debian based) linux the "command -v base64" did fail to find
the base64 exectuable. Instead we now use "which".
Change-Id: I9b57527d93952b08bcb9abc7484a7e6891aa664c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Since Qt 6.4 is built with NDK r23b, use that by default for
user apps as well. This is also needed to account for QTBUG-102972.
Task-number: QTBUG-102972
Change-Id: Id8485e0477b5e36c4d895582f5700c1f16b5a0c5
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Before we were installing the timer inside the process
interface handler. The issue was that when the handler was
moved into another thread, the timer was restarted (that's
what happens with all timers when they are moved into another
thread).
The fix is to keep the timer inside the caller thread and
detect inside waitForSignal() whether a timer was started.
In case the remaining time for kill timer is less than
a timeout for waitForSignal, we split the waiting into two
parts and execute kill() in meantime.
Change-Id: I2c18805593fe2f73d816cce40dbb45bf58a50715
Reviewed-by: hjk <hjk@qt.io>
Rename it into ProcessSignalType. It's going to be
used in new interface.
Change-Id: Ifbab8bbb601f14ecbf65d940e524c558d5f1d7a1
Reviewed-by: hjk <hjk@qt.io>
Added possibility to keep link to global settings visible when
checkbox is invisible.
Change-Id: I724f1c1997b640b2277c4004acd24d5f6cca9faa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Add a setter and getter for reaper timeout. This makes it
possible to customize the timeout for the reaper after which it
should call kill() when previous terminate() was unsuccessful.
This setting is also used for QtcProcess::stop().
Change-Id: I653a3ad107ae4173bb8254c85cfc07886bf6a9c6
Reviewed-by: hjk <hjk@qt.io>
At the same time, use the more descriptive FilePath::displayName()
instead toUserOutput().
Change-Id: I9bcca84b1f0be025c511b6fbf58c7308c9ffd60f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Debugger, watchhandler: incorrect type conversion:
Converting from `int` to `unsigned int` can lead to a situation where
the result is too large to be represented as a `QChar`.
Task-number: QTCREATORBUG-27107
Change-Id: I7873635f7a1ef29f62339ffe23b4dd84cb089e2b
Reviewed-by: hjk <hjk@qt.io>