Originally the idea was to only expose LayoutBuilder, but we
are getting more and more related items. Be consequent now,
and have everything in Utils::Layouting, but not in nested classes.
Change-Id: Ic0f98595882e5c60a25c30ec52df4a0ea79bc0ca
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
When parsing remote .pro files the parsers needs to pretend it runs
on the remote device.
All internal data are now "local on the remote", so that string
manipulation in .pro files "just works", and a 'device root'
string is passed around to relevant functions which then use
it to construct FilePath::toFSPathString()-style paths that
our custom FSEngineImpl can then map to the real device.
Remote $$system() calls are intercepted by the local parser and
redirected using the usual QtcProcess mechanims.
Quite a bit of the ProParser needed adjustments, so there's some
potential for regression.
Task-number: QTCREATORBUG-28242
Task-number: QTCREATORBUG-28161
Task-number: QTCREATORBUG-28355
Change-Id: I6100e7aca4e1db35f5e9689004110aab57e2c595
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The parallel limit constrains the number of parallel tasks
run in the same time. So, if e.g. a group contains 10 children
and the parallel limit is 6, only first 6 tasks are being started
on the beginning and the rest 4 are being postponed until some
running tasks are finished. So, when the one of 6 running tasks
finishes the group starts the 7th task and so on.
Setting parallel limit to 1 means sequential invocation in fact.
The value of 0 means there is no limit and all tasks are run at once.
Remove the ExecuteMode enum, as this is modelled now by the
parallelLimit.
Change-Id: Ice59318be0915401f05bb5a5804078bdc591d09f
Reviewed-by: hjk <hjk@qt.io>
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...
While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only
Change was done by running
find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;
Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The original text before the SPDX change did not include a potential
GPL-4.0, but GPL-2.0.
While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only
Change was done by running
find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR LGPL-3.0/LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only/g" {} ;
Change-Id: Id5e40d3e174ecea660a09e88a02bd57505f1875d
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Since we do not support Qt < 5.15 anymore, and as a first step
for getting rid of our special FindQt5.cmake.
Change-Id: Icc5dbaf9b0a3a622b1f609ff114b9decb6d2856c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Remove qtcreator(_ide_branding).pri, and all remaining .pro/.pri
files that depend on it.
They have CMake files now.
Change-Id: I87d100b49df7ca95694a755cb581cb5eea26aa9a
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Instead of silenty failing and resulting in broken builds/packages.
The property is only available since CMake 3.19, so limit the feature to
that.
Change-Id: I82b06e78540e81a809f7fdfe130648becfc9672e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Utils::Environment takes care of the case insesitivity of the key of
environment variables on Windows.
Change-Id: I624340d30c6b170b5d0a86791f26a4841a0b2fb7
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This way the CMAKE_PREFIX_PATH set to $env{HOME}/Qt (Linux) or
$env{SystemDrive}/Qt (Windows) would work as expected.
Change-Id: I03a9102d6d1da2a8740cab738577c47c44166c6c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Is part of CMakePrests v3, and slipped at the implementation time.
Task-number: QTCREATORBUG-24555
Change-Id: Id3ce90c0a979d44287fc03ae1dd49a64e964cdf2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Now the code takes into consideration the parent environment for
$env{macro} alongside the "environment" presets values.
Task-number: QTCREATORBUG-24555
Change-Id: I644618b0a6f866fd65a4109ee63b1f5bfcd4164d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Restrict the build types only if CMAKE_BUILD_TYPE or
CMAKE_CONFIGURATION_TYPES cache variables are set.
Change-Id: Ib88dcd5d4a0fca86f86e95815edff1116f896324
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
CMakePresets v3 relax the requirement of having the buildDirectory
specified.
This way Qt Creator should use its own mechanism of specifying the build
directory.
Change-Id: I6ba69e6a03cdc058e7b8fa540a6fc564356aba63
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Pass on stderr data and exit code to the caller, it's typically
in a better condition to handle errors.
Use it to notify the user about non-available 'find' arguments
and fix the fallback to ls-based operation.
Change-Id: I535535de2ffa09cad1dd6e9b07eb69f807dbae2f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Moved to a handcrafted function instead of using regex.
This way the Visual C++ Ninja only preset can be processed.
Change-Id: I9b303ee1765db05544d81db7d3b8d9e5223f5f42
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The information was present in the commit adding the test, but that's
not visible when browsing the checkout.
Amends f9ce879b61
Change-Id: If648e37ca8e3e8b84841f5e84b3ea054aa0c5b90
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This way one could easily test the CMake auto-setup package
manager with a vcpkg setup.
Setting vcpkg is as easy as:
> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat
Then you need to have vcpkg in the PATH environment variable.
(PATH=${PATH};c:\projects\vcpkg in Preferences -> Environment)
Change-Id: I0bdc268121c7488c5d2442fd4b40c9ea3b182501
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Checked also plugins in tqtc-qtc-super and in qtc-super.
Change-Id: I3e5b114a49e26ae52b71c11ef6a1f90264dd5a38
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Tested with Qt 6.3.1 and Qt Creator 8.
JDK 11 was needed for gradle, which requires at least version 11.
Change-Id: I9010de1e89efb59a2ec485ff2cff783d5832b680
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We don't want to dedicate the whole resource file system to QML.
Change-Id: I4c7e4af7aeeab00f44c5244e99949a90abb032cf
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
- Remove code for Qt below 6.2 from c++ sources and CMakeLists.txt
- Remove Qml code from .qrc files
- Qbs: Add qt.core.resource_data Groups for Qml code
- Remove OpenGL shader .frag and .vert files
- Remove Qml import version numbers
Change-Id: I3bd1cd95381e66c98ee3af4259e89b0b1eff0709
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
It's not clear what this test is going to do and
how to run it. Besides, it's not working at least
for one year already. There is not a big loss, since
it was utilizing QtcProcess::readDataFromProcess() only.
Change-Id: I821cd2755d5889ddc3f772352148d595ca1816c2
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@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>
Previously the runInShell and outputForRunInShell methods were
exclusively processed single threaded, meaning all calls
were processed sequentially. With the multiplexed
helper script we can now run multiple processes simultaneously.
( see tst_manual_deviceshell )
Additionally the new script allows us to capture both
stdout and stderr from commands which was not possible previously.
Change-Id: I52f4fb46d872dc274edb9c11872d2f6543741b34
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>