... of a wizard.
For example, the QtQuick application wizard specifies "Qt.5.6" as a
required feature, which has the implicit semantics of "Qt 5.6 or
higher". On the C++ side, a QtVersion adds its exact version x.y plus
all lower ones down to x.0, in an attempt to somehow implement
versioning semantics using tags. This means that versions 6.0 and higher
did not fulfill the 5.6 requirement anymore, which was very likely not
the intention.
We therefore extend the mechanism to major version x-1, though in the
future we should probably come up with a less absurd approach.
Fixes: QTCREATORBUG-27612
Change-Id: I41d60809a02f0caddba7e702c91c01e86ecbd4ac
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
... in the output parser.
This improves the user experience for the edge case that the failing
tool did not emit a (known) error message, and does not hurt otherwise.
Fixes: QTCREATORBUG-27606
Change-Id: I74cd327b1daff80ea2f46620e9d169a3db73578e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The inferior is used to verify that the bitness of the selected debugger
matches the inferior bitness on windows.
Change-Id: Ide7703a1ecc63a7d69101df779ce7f2660fecdbc
Reviewed-by: hjk <hjk@qt.io>
... for the "Hide Sources and Headers" setting.
A .ui file usually corresponds to a source (and possibly a header) file,
and the user very likely wants the option applied to it as well.
Fixes: QTCREATORBUG-27482
Change-Id: I8652d8a9e7686239bcaef8f90d070c794fd5f993
Reviewed-by: hjk <hjk@qt.io>
Plus some cosmetical changes I could not resist.
Change-Id: Id2634d3876437a5dfe7ddb4aaa53db396f37e02a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
With two /tmp/foo.cpp from different devices there is no directly
visible difference in the Open Documents. Adding the device path
for remote cases introduces a difference.
For local files there is no visible difference.
Change-Id: I6f1632d6f51ff24573831af3161492989c5c0bec
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Should normally not happen, but may happen if we face sanitizer
issues.
Change-Id: I5e99fb99f241e24f507f94bce9009c2212188691
Reviewed-by: David Schulz <david.schulz@qt.io>
The RunControl nowadays asks
DeviceManager::deviceForPath(runnable.command.executable) to get the
device, instead of passing that through the runnable.
Since the runnable's command executable is set via
IDevice::filePath(pathOnDevice), where "pathOnDevice" by default is from
the executableAspect, IDevice::filePath should actually return a
"global" path in the form of "device://<device-id>/<path-on-device>".
Since we do not want "device:...." paths for the desktop, return the
simple path in that case only instead.
Fixes: QTCREATORBUG-27709
Change-Id: I75f9406cf3254980e1fee203275b0e72202b7b6d
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
A proper solution would be a proper step handling the copy from
the build container to the device. Instead, rely on the (unchecked)
mounting of build directory from the host file system.
Task-number: QTCREATORBUG-27325
Change-Id: I1a364460c08f205dbc341fa0dc941cf1e3c950ac
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This replaces the ProcessInterface::waitFor...() methods.
It's not obligatory to provide this interface when
implementing ProcessInterface subclass. In this case
generic blocking implementation will be used.
The generic implementation usually isn't as efficient as
the custom one, however, for some sophisticated implementations
of process interface, like e.g. SshProcessInterface, providing
custom implementation is really difficult and error prone.
That's why we try to keep a balance: we provide two custom
implementations for QProcessImpl and for ProcessLauncherImpl,
as they are relatively easy to implement, and rely on
generic implementation for others.
Change-Id: Ifc8bd354479ec67b2e8f74f1510f8de8883e9b94
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Save settings before starting a test, otherwise the
test for newly created device fails since the new
device was added only for the clone of device manager.
Change-Id: Ia36d2ef68740907d7fce51e31c352328de83421c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Since there is no easy way to make device temporary added
into cloned device manager, we construct a full ssh command
manually inside PublicKeyDeploymentDialog.
Fixes: QTCREATORBUG-27706
Change-Id: I28e368a5bff0d89094115e9eaee1395b388359fa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Add a default install(TARGETS ...) command.
It doesn't hurt on desktop and mobile targets, and it is required for
deployment on remote Linux devices.
Change-Id: Ib39c6130b63a9a699ff5cd81756c2913b1246142
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Add a pull request template to inform the potential contributor that the
github Qt Creator presence a mirror is, and that the only way to
contribuite is through gerrit.
Change-Id: I5ddc93f182aaaa87e465677a28705ac5efa04f7f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Since we removed the libclang based backend both implementations of
ModelManagerSupport::functionHintAssistProvider returned a nullptr.
Change-Id: I113c5a08cf604eb1bb2a64a851f022ecd5c908d6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... from Project to BuildSystem.
More direct and less use of Target::activeBuildConfiguration().
Change-Id: I148381d23be0f9ab0750ed1440e1b2b3e25aded0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
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>
EffectReference is always dirty and it is the only dirty flag.
Instead, we update now if any property changed.
Task-number: QDS-7079
Change-Id: I157cf2d3b15120c33f4a6b3f53e526d555c7f80c
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>