It's a normal MacroExpander by now, with some extra setup code that's
used only in one place.
Change-Id: I97244b93d5c165245b02748508c7fdef1b191582
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This allows a MacroExpander also to describe an expansion it can
do which was restricted to the global VariableManager only.
The global is now just a thin (unneeded) wrapper about new "standard"
functionality.
Change-Id: Ida7ca70cf3d319eae4220ea8d12f3dd1c0d4042c
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Do not care whether the unexpandedDisplay name is unique or not, nor
whether the display name is unique or not.
Warn if it is not in the Kits Options Page, but that is all.
Change-Id: I1cbeb5beb477d533092ade6ef67a97044e53477c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Fix logic around temporary qt versions. We want essentially shared
ownership of kits on the temporary qt version.
Change-Id: Ic8c748aa2b04afb5a30444563b3fc2f4272ca47c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This change also adds a AbstractMacroExpander for the QtKitInformation.
It supports the following variables in the Kit display name:
%{Qt:version} - Qt version number
%{Qt:type} - Qt type
%{Qt:name} - Qt version name
%{Qt:mkspec} - mkspec used by the Qt version
Task-number: QTCREATORBUG-11118
Change-Id: I7263781336ab561c34880b187ebd55e81e6ca215
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Make available features and platforms methods on kits (implemented
via the KitInformation). Add convenience methods to KitManager to
collect all that.
Remove QtFeatureProvider and implement KitFeatureProvider instead.
The idea of this patch is to make it easier to find which kits are
applicable to which wizard: I should now be able to match the
wizard features against a kit and have a good set of kits to choose
from.
Change-Id: Ie5be0213f142cfdf4417ac55bd6cbb056265a531
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Currently we pass in some places by value, elsewhere by const ref and
for some weird reason also by const value in a lot of places. The latter
is particularly annoying, as it is also used in interfaces and therefore
forces all implementors to do the same, since leaving the "const" off is
causing compiler warnings with MSVC.
Change-Id: I65b87dc3cce0986b8a55ff6119cb752361027803
Reviewed-by: hjk <hjk121@nokiamail.com>
This makes it possible to use concise names for shadow-build
directories, for example {projectname}_5s for Qt 5 / stable instead
of the long, auto-generated names. Also, users can then manually
configure names for kits with non-latin names, which would otherwise
result in underscores and dashes with numbers.
Change-Id: If0eab746942246d1aba6a5dd04f59d3219be47b8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
According to Ossi the only safe characters in a path for qmake are
alphanumerical, underscore, dot and dash.
Task-number: QTCREATORBUG-10980
Change-Id: Ibacbfeb7f04f1f0524093f1d8fce637ea4ae6fd6
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This allows plugins (e.g Andoird, BlackBerry...) to better control
the kits that are auto generated from their SDK/Target sources.
Change-Id: I250451a21364780d083ef99af232ae914f8756f4
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Do not trust kits with an invalid id, as there is no way those
could have ended up being saved out by creator. Safe all other kits
that were constructed using Kit(const QVariantMap &).
This new constructor uses the code that used to be in fromMap(...),
with some simplifications.
Remove fromMap(...) method from kit as it is no longer used.
Change-Id: Iac28ea9b85670e03088a4b7c5283af6b4b70c0fc
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This avoids useless validation runs during construction.
Also reorder member variables to save a couple of bytes
in the structure.
Change-Id: Ibc33b89f12c306852af02d387ee2d177f732bb83
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Stay below the radar during construction/fromMap. This avoids some
signals from the KitManager about unmanaged kits having been updated.
This signal is used in three places only and always connected only
after the the construction happend. So this should be safe.
Change-Id: If6cc29b6bb98fa161776a9a79f48f88173db04b8
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
While those do not hurt they are just unnecessary.
Change-Id: Ic2a971637fe6b0441c6fffa0d3c5161aea36e924
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Mutable KitInformation are those that are supposed to be editable in more
user-accessible places (e.g. like the Mini Target Selector or similar)
than the normal kit options page.
The functionality to display these settings is not part of this patch.
Change-Id: I13446c49abf89eaf739a60dbcd01c97e2144de45
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
It's rare that users will want older toolchains.
In updateAutomaticKits distinguish between a Kit being removed since
the toolchain doesn't exist anymore. Which happens on e.g. changing
the ndk path. If the toolchain still exists, then it isn't the
newest anymore, so demote the Kit to a manual kit thus enabling the
user to remove it if he no longer needs it.
Change-Id: I59203abc9bed5f2c46a002cea68fd72a84283840
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
The only os specific issue handled at this time is windows not wanting
to overwrite binaries that are still running. Make that message trigger
a build issue and provide a hint how to handle it.
Task-number: QTCREATORBUG-9100
Change-Id: Id0b270202b67b0b7d555392cb35b0e2ebcbc8fad
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Display warning and error icons in the kit options page. This is more
consistent with what we do elsewhere.
Change-Id: I31786054da3ad8c55931156f0124740eea2d68d3
Reviewed-by: Daniel Teske <daniel.teske@digia.com>