Do not keep data around once it is used. It will not help on the next run,
especially not when the parsing fails then:-)
Change-Id: Ifa1259b74349ac172a5c9d5411c10d429085b853
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Do not run cmake on file changes if that was disabled in the CMakeTool.
Task-number: QTCREATORBUG-17232
Change-Id: I478161aebe353ddc47e24dd8a7f2cec54822e7d0
Reviewed-by: Tim Jenssen <tim.jenssen@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>
This prevents stale tasks from piling up in the issues pane.
Change-Id: I90f79e969b8929e5bb43e3964c01fcd10af2ea33
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
CMake is pretty poor with the data on which files are contained in a project.
Run a filesystem scan of the project directory to find more files.
Change-Id: I9cc3293a9faf9a967efa5f586c144c3e7773588b
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This so called type is not documented to exist but apparently widely used.
Change-Id: I0a7693e19874887a6e7260964d119d204e5be1ec
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Use class enum to shorten the FileType to quint16. This frees up a couple
of bytes per FileNode and we can have many of those.
Change-Id: I3a9ae25059690fefa15305a4268269647d6dc1c9
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
"Generator" is written in lower case in the existing strings.
Change-Id: Ibef67f3f8c4a0aa5a0fa04f68e6b10fb2251d3ef
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Fix the name of the pipe used to talk to cmake-server on windows. The name needs
to follow a very specific pattern there.
Change-Id: I2789be43b374d008e2bf784563ab362efd891e59
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
We relied on the CppModelManager to tell us whether a project was reparsed
after a kit change. While this worked, it was not guaranteed that the project
is really finished (and ready for e.g. building) after pushing new ProjectInfos
to the CppModelManager.
Rely on the projects telling when they are finished with parsing. This is more
accurate and future-proof.
The introduced signals in Project and SessionManager are (at the moment)
only for tests.
Change-Id: I1b368ec4585ffa8755eb28fac6d187cce31243ee
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Implement a reader that interacts with CMake server mode to retrieve
its data.
Change-Id: I4146a648475c2c5811b8a08126f10ff3b99e79f5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Implement a helper class that can be used to talk to CMake's
server-mode.
Change-Id: I1df4af665991a5e0a3acb301ffd28008dd4fe86f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Only the original one is implemented so far, but at least
in theory backends for retrieving data from cmake can now
be switched at runtime.
Change-Id: Id73a81c7d40f078be95defd30a38511dca3a3720
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The index was handled wrongly.
Change-Id: I8a98c7a16e32798a9b7662c6c5c1683d248580da
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Without this forward declaration compiling cmakekitinformation.cpp yields
a compilation error saying QDialog does not name a type.
Change-Id: I55066706e9850a947cac47e6e7150928c2fc6c51
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
...otherwise all previously selected build configurations begins to
process changes in CMakeLists.txt or other cmake-related files after
save it.
Change-Id: I86ff59022c85d88052ff434480e670ebddd90864
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Add a method to turn a CMakeConfigItem into a string suitable to be passed
to CMake.
Change-Id: Ia7834f1c2fad387dd6e6eaa3863f93385d48ca71
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Make CMakeConfigItem use an (optional) macroexpander when asked to turn
a CMakeConfigItem into a string.
Change-Id: I7189fc4e5189d86809d002be3951934c37d98f12
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
No need to pass in the complete kit. Remove a couple of unnecessary
namespace names.
Change-Id: I2ac895535a80b4a54a423ce62dbdede65b67437b
Reviewed-by: Tim Jenssen <tim.jenssen@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>
CMake provides "hack" for cmake-gui, that allows set options variants
and select then from drop down list. Allows Qt Creator re-use this
solution.
See:
- https://blog.kitware.com/constraining-values-with-comboboxes-in-cmake-cmake-gui/
- http://blog.bethcodes.com/cmake-tips-tricks-drop-down-list
Drop down values can be added to option via:
SET_PROPERTY(CACHE OptionName PROPERTY STRINGS Option1 Option2 Option3)
This solution should not restrict to provide any other value, it
provides only suggestion for user to select one of prdefined values.
Change-Id: I8fc52155775f1e04979db8206bb42363df9359e8
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Continue to concentrate all the code reading random cmake files in
BuildDirManager. Now the task is to clean up the code, make it less
dependent on values it should not depend on (kits, etc.), make it
handle changes better and finally add another implementation that
uses the cmake server mode to extract the data.
Change-Id: I533625e376b969b64287bc205bd2e4be7a605306
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Make sure to run cmake *before* cmake --build when cmake files just
got saved. This helps e.g. when editing CMakeLists.txt files and the
hitting "Built" and "Save all" (or "Always save before build").
Task-number: QTCREATORBUG-16187
Change-Id: I16b1d02eb342a447003380946ce7a9d785476a0e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This will make it easier to introduce a new type of BuildDirManager
to accommodate cmake server-mode.
Change-Id: I989aab9df44dff1cfdff226ef97bb30bb092ffdd
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>