And a few helper classes. This allows SdkTool being build
without Creator's Utils, and does not impose restrictions
on the development there.
Change-Id: Id15db9293f343ad2aeee5c09cc819d112ec144e4
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Specifies the main purpose more clearly. The remaining ones a "true"
(internal) variants in models and as action data.
Change-Id: I8dd3c846e419f29d88283c2f48268ef6685b19fe
Reviewed-by: Eike Ziller <eike.ziller@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>
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I88edd91395849574436299b8badda21bb93bea39
Reviewed-by: hjk <hjk@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>
* Moved all sdktool code into a static library, allowing us to link against the actual functionality in unittests
* Convert all tests to proper unittests
Change-Id: I5c93be0faecbd8b68e0923655483c870a2f408b5
Reviewed-by: hjk <hjk@qt.io>
Adding new kit items so far required touching test code in several
places.
Also, use more but simpler individual tests to find failing tests
quicker.
Change-Id: I540b93c01a6bdbb85353928713995c262dfc919e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
QDir::cleanPath() doesn't work well with the scheme://... syntax.
Change-Id: I2d2a86e416251ea2396b67ab1e5831444d4a979a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
No need to write these settings with the old key from
Qt Creator 4.3 anymore.
Change-Id: If6ece7277abea20945a56917f4bb55826f4ea769
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Do not add the empty string as CMake configuration. People are
apparently trying to use the empty string to make sure nothing
is set up.
Task-number: QTCREATORBUG-21696
Change-Id: I702e26bc135e30c36f770210f885a4680d4b0359
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Treat a empty string passed in as argument to --qt as "No Qt" by
forcing that to "-1".
Fixes: QTCREATORBUG-23168
Change-Id: I03c536d0cc0f7bc2ad291a2bbcc5297df509b524
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
sdktool made the "display names" unique by potentially adding a number.
This has multiple drawbacks:
- The display name can contain variables that lead to
unique _expanded_ names
- Adding a number doesn't really help for distinguishing things
- That number is then hard-baked into the install settings
Installers should take care that they register identifiable names.
And if we really want to ensure unique names, then Qt Creator can do that
itself, or even better leave the user to do it, because a number doesn't
really help anyhow.
Fixes: QTCREATORBUG-17909
Change-Id: Id0f44c0cbe457047a0713bda4980fb5d4bc5bcaa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
The name "KitInformation" does not properly convey the fact that it
represents a certain *aspect* of a kit. The same goes for
"KitConfigWidget", which in addition was inconsistent with
"KitInformation".
We now use "KitAspect" and "KitAspectWidget".
Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97
Reviewed-by: hjk <hjk@qt.io>
Allow for overriding the ABIs detected for a Qt version from the
sdktool.
Leave the default at "auto-detect ABI".
Change-Id: Ibe2625b0a321a9541512d36a91aa2e42611a959b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
--cmake <ID>, --cmake-generator <GEN>:<EXTRA>:<TOOLSET>:<PLATFORM>
and --cmake-config "<KEY>:<TYPE>=<VALUE>" are now supported.
When using --cmake-generator <GEN> must be set, the rest is optional.
--cmake-config may be repeated several times. All will end up in the
kit in the sequence they appear on the command line.
Task-number: QTCREATORBUG-17290
Change-Id: Ida79d65095682331f53d0fbb36d606ad16e6c4ac
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Keep the old syntax for registering toolchains for new kits
via the SDK tool working.
This should make for smoother sailing for our users, as we can
not foretell which combinations of Qt Creator and Qt installer
(with SDKtool calls) will end up on the machines of our users.
Change-Id: Ib0fb99759ab9dcd75c64c556e18c27e900bf6236
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
All internal paths in Qt Creator are using '/' as path separator.
Make sure to normalize paths set via the SDKtool to that convention.
Change-Id: If7ef250d49686a0f60d08516b718eb7c84a059ef
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Use --env TEST=somevalue or --env TEST (to unset TEST) once per
environment variable you want to set/unset.
Task-number: QTCREATORBUG-14342
Change-Id: Ia968aeb55a9702d12bc0beb9a38bdd8309a18559
Reviewed-by: Rainer Keller <rainer.keller@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Do not put empty values for settings into the kits: These will prevent
data from being editable in Qt Creator.
Task-number: QTCREATORBUG-12017
Change-Id: I10f67ed0038ba7e1a79cbf7b5658247a2d18b8eb
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Do check for toolchains not defined in the toolchains.xml file again,
but also allow for toolchain IDs to be ABIs.
This partially reverts a commit from Kai made earlier.
Change-Id: Idad004f0bff655bc136bc43de5837d61a045e311
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Fixes a regression in 07f7dd9c14
that caused the Qt SDK installer to complain e.g. with
Toolchain x86-linux-generic-elf-86bit does not exist.
Qt Creator has code to automatically detect toolchains, so
it's not necessary for every toolchain to be explicitly registered.
Task-number: QTBUG-37875
Change-Id: I1e8909da2ff919a8cccdf86bb3a2f7a5cc79a257
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Check for existing Qt versions, toolchains and devices if
those ids are given.
Change-Id: I0447d55e01cc40e43669ba7999126b0260974c0b
Reviewed-by: Rainer Keller <rainer.keller@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>