This is in preparation for having support for cmake's server
mode.
Change-Id: I6cc04fe7c5132c491c3f3c0f46560b8ad88808e8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Add helper code to FolderNode that enables the creation of a tree
of File- and FolderNodes from a FolderNode and a list of FileNodes.
Change-Id: Iba4b6a768fc3d0501851f141372e7e34913ba518
Reviewed-by: hjk <hjk@qt.io>
Some polish for the CMakeProject. Remove unnecessary includes, etc.
Change-Id: I3a73aac79b2177adc613f31865074f778ef21360
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>
Makes for way more robust (and featureful) generator discovery.
Change-Id: I7df837500e1c3a200960e9d157b5c105dacd4068
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
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>
Generator is only part of the picture now that the extraGenerator
is separate. Use CMakeGeneratorKitInformation::generatorArguments
instead, that is always the complete thing.
Change-Id: Ifb6238397e70b36e2dc1b145d3dfad1afa2caa3f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Add a helper method to split a ;-separated list cmake-style.
Change-Id: I334c31109f442f48a22e91e32b3d810882d6682e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Report cmake version in CMakeTool options page.
Task-number: QTCREATORBUG-16089
Change-Id: I506f87bd7037394dc46e9772305c9f909bcc3548
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This is done by updating folders once and not per file.
Task-number: QTCREATORBUG-16930
Change-Id: I6c1959031e7ad774cfd22c7364c88e1d0bd32962
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This is necessary for themable + HighDPI icons in the options dialog.
Change-Id: I8e3ff87a24591af40bb76b39cd970443d7678fae
Reviewed-by: hjk <hjk@qt.io>
Work around a bug in the documentation of CMAKE_COMPILER_IS_GNU*, which
leads to creator offering invalid completion when editing CMakeLists.txt
files.
Task-number: QTCREATORBUG-16852
Change-Id: I7c61445a7448bdd6f5de5f235316c260ba28e757
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Different buildconfigurationfactories will always return different
BuildInfo, as the factories will turn the information into a different
set of objects (even if the information those objects are created from
are identical).
Each factory will always produce the same (sub-)type of BuildInfo, as
they need that information to proceed. So using the factory-address
as a kind of type-identifier is save.
Change-Id: Ia30355c26e045d453c0c2b75da893a4bac38b048
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Users tend to select cmake.app, which is actually a GUI for cmake and
not what Creator expects. So check for the proper binary in the bundle
and return that if it exists.
Change-Id: I1668baa6236ee4ae88da200cef257b636f7a9e72
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Those produce no direct artifacts, so there is no need to check those
Change-Id: Ic10720c1f3c3a7b602c45b870bfd39604754ddee
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
There is UtilityType now, so use that if there is no executable being
generated.
Change-Id: I9e8d512077b8352ec056b49c8db03644482b8fbc
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This allows to define snippets for CMakeLists.txt files. They can not
be used yet:-/
Change-Id: Iad68632798ecfe04018d08d284f9b5a8b0e564ee
Reviewed-by: David Schulz <david.schulz@qt.io>
The toplevel CMakeLists.txt file should always be visible in the project tree,
otherwise there is no way to fix problems that stop creator from reading the
project structure.
Since the cmake configuration may add that file itself, creator needs to
check before adding that file. All other files are taken straight from
cmake, which makes sure they are unique.
See the minimal project attached to QTCREATORBUG-16671 for an example
triggering this issue.
Change-Id: Iff3e307134b023e6955f47657e998a5981b03da0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Fixes a crash when re-opening a cmake project.
Change-Id: I5fc747f19787594964fe55c19e29e944c4a5092d
Reviewed-by: Benjamin Zeller <benjamin.zeller@canonical.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
If ProjectMacroExpander doesn't resolve it we fall back to the generic
ProjectExplorer resolution, which is likely to pick the wrong project.
Task-number: QTCREATORBUG-16724
Change-Id: I201b722c5fe184905f744a1f344ec46941f92ae3
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This way we can use them from libraries, not only from plugins.
Change-Id: Ic35cfd5f04d638d87606bf272b2c00ded1267c1b
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The LeveledTreeModel case is general enough to cover
the UniformTreeModel case, so merge them and rename to
TreeModel. The former TreeModel is now BaseTreeModel.
BaseTreeModels should not be instantiated directly,
a tree model with non-uniform basic items is available
as TreeModel<>.
Done-with: Eike Ziller <eike.ziller@qt.io>
Change-Id: I64a65617ab68c0cde39cf65f4bc092ef808ee6fb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>