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>
It is often possible to user (member) functions or members directly.
That improves readablility and potentially reduces the total number of
symbols.
Also use qobject_container_cast at places where it is appropriate.
Change-Id: Ia2591bca356591e001e2c53eeebcf753e5bc3c37
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Do not crash when the cmake tool that was used to parse the project
gets removed.
Change-Id: Ieda3ae2025dbcfb1f90d9bd01c5f0ed960756c6a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
All the KitInformation methods need to gracefully handle a kit that is
a nullptr. Ensure this is indeed the case.
This might fix the actual trigger for QTCREATORBUG-19469.
Change-Id: Id78ac8a26c1be908f41a425ff1935b86888e4b8b
Reviewed-by: hjk <hjk@qt.io>
Also, add context to connect() expressions where we are or were
capturing "this".
Change-Id: I6e006ba6f83d532478018550d148ee93eca59605
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
This in theory enables to fix QTCREATORBUG-16204, but for that the wizard needs logic to adapt
the required features for the listed kits. That is still missing.
Task-number: QTCREATORBUG-16204
Change-Id: Ia01c11bb8c8567a9fc65b06912d6836b70a0195c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
CMakeConfigurationKitInformation::setup did override the existing value
when it was called. That is not intended, the setup method should only
set a value if none exists.
Change-Id: I86d386982311020dc3dbb3a705e1ff87ad02e09c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Do not warn on wrong extra generators if cmake supports server-mode.
Make the massage point out the missing server-mode while at it.
Change-Id: I643c77fbebe4ba9a7ea6fee28422283118d145dd
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
QQT_INSTALL_LIBS does not work as intended. That was not obvious since
Qt Creatod adapts the PATH, which had a similar effect, but breaks when
trying to build the project outside Qt Creator.
Change-Id: I36c7caf69a157ae0d4e3dc500265042fd5964681
Reviewed-by: Florian Apolloner <florian@apolloner.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
"Generator" is written in lower case in the existing strings.
Change-Id: Ibef67f3f8c4a0aa5a0fa04f68e6b10fb2251d3ef
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Do not reset generator information when the generator kit information
is already up to date.
Change-Id: I6bd9b94e8b83af2a58cc11ffcbfa11982374644a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Set variables to hint at the Qt version being used.
QT_QMAKE_EXECUTABLE is used to point to qmake (only relevant for Qt4),
and CMAKE_PREFIX_PATH is set to point to the QT_INSTALL_LIBS directory
which should hold a cmake folder with all the information on the
Qt5 version being used.
Update the warnings on the kit based on whether a Qt4 or a Qt5 is used
in the kit.
Change-Id: I77f95febd4c42c15568ebaf3f82bf82464058f61
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Gunnar Roth <gunnar.roth@gmx.net>
Allow to select generator and extragenerator in a nicer way.
Enable support for platforms and toolsets.
Change-Id: I0c9aae635cdca0ec1db7f285e9cb2785172ed338
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
BREAKS BACKWARD COMPATIBILITY OF TOOLCHAIN SETTINGS!
* Convert old ToolChainKitInformation to new version
* Store several toolchains in one kit (one per language)
Change-Id: Ia59a2ad067c57971ec34ce9b2e43758344443755
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Default KitChooser behavior is to suppress kits with errors everywhere
but non-matching CMake generator settings are irrelevant for both non-CMake
using projects and analyzer/debugger tools.
Change-Id: Ie60f0f23b5c2423128304227fc573526b7ec2113
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Make sure there are no empty strings returned by null configuration
items visible in the output.
Change-Id: I467f33f41b8eeb25b6cb2b1aa3ada4dd7e1d5950
Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Add a reset button to the CMake configuration edit dialog that is
available in the kits configuration panel. It restores the default
value for the kit.
Change-Id: I89921e2c86cbf8d9658a32fe5fa51dc2f903ff00
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Use macros. This makes it possible to address the current qt version
and toolchain without having to update those values all the time.
This significantly simplifies changing Qt versions and toolchains in
the kit as well as the code itself.
Change-Id: I35128eebdc96fe6175f565b2e9bdaa40862516a7
Task-number: QTCREATORBUG-15830
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
If ninja is not an option on windows: Pick mingw makefile generator
for kits with a Mingw toolchain on windows and the nmake makefile
generator for other toolchains on windows.
On Unix fall back to the Unix makefiles generator if ninja is
unavailable as we did before.
Change-Id: I8005615e6f725d38c16c1b9026d3f7548e7b42db
Task-number: QTCREATORBUG-15756
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Only use ninja by default if that is found in PATH. Still prefer ninja
if it is available as that apparently is a huge time saver, especially
on windows.
Change-Id: Iadaecbaddfe6592222f2ed5e42b440665e9246a7
Task-number: QTCREATORBUG-15756
Reviewed-by: Robert Loehning <robert.loehning@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Add CMakeConfigurationKitInformation and supporting classes.
This KitInformation can hold CMake settings that are to be applied
for all configurations when this kit is used. It contains e.g.
the Qt version and toolchain configured in the kit by default, but
can be extended to hold more.
The UI will warn if the toolchain or Qt version set up in CMake
does not match up with those used by the Kit, but it will allow
the user to proceed.
Change-Id: I73f06a6535ce14de323130d74af83b9cb2ec0f0f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>