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>
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>
The names for registered Qt, cmake and toolchain must
no more be unique.
Amends e9e4c27e3a.
Change-Id: Icea00636f3632148f209616de3473816e12e4655
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>
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>
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>
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>
Negative return values are interpreted as 'process crashed' on
Windows: QTBUG-28735 . This in turn means the installer framework
always shows an error dialog.
By using positive numbers even for error conditions the installer
can decide to ignore certain errors instead.
Change-Id: Ib5cdd461372ac13fe417feb6ff43a7424c159f68
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
Make sure to use autodetection sources (--id) in sdktool that
are actually expected by Creator. Do so by prepending the necessary
magic.
This makes sure that creator will actually remove the SDK Qt versions
again once they get removed by SDKtool.
Task-number: QTCREATORBUG-8235
Change-Id: I8dde1ab1ae192c8f79de9fb9104461e7435237ec
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Simplify the .pro-file while at it and add rpath.
Change-Id: Ia111e76093c6c375d04fca51d81ac87a267b0121
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Add a tool to ease configuration of Qt versions, tool chains
and kits with Qt Creator for the SDK and similar systems.
Change-Id: I9727dd25ea359a935ea494b035a59411eb3529b8
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>