Pass it as compiler flag, which makes sure that not only cxxVersion
is set correctly (depending on the compiler) but that also the
toolchainDefines are the right ones for C++11 (most significantly,
the value of __cplusplus which affects STL features).
Change-Id: I53dd543b30b7fc2824283ec119d7d5261f50f130
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Instead of having two lists of paths, now only one list is used where
both include paths and framework paths can be mixed. This reflects the
way the compiler is invoked, and retains the (correct) search order.
Task-number: QTCREATORBUG-11599
Change-Id: I373953e3e305df5b7a0d10920e12d146584adf9f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This field is used by the generic project manager which passes the
".config" file in it. The advantage is that both the SnapshotUpdater and
the clang code model do not need to do anything smart, but can pass it
directly to the preprocessor.
Task-number: QTCREATORBUG-11390
Change-Id: I44fc7b20afd28fb59608412f2cce86af6f7e7d6b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
So we can ignore possibly problematic toolchain-defines, while can still
unconditionally apply project-defines.
Change-Id: I7cb96f35a963d080011fe888ef71bfc098dd33ef
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Add displayname and project file path and a pointer back to the
project.
Change-Id: Ic9a18f52a6291493bd3a95fd3456ed0e1a3c63e3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
These not only take less space than UTF-16 encoded QStrings, but due to
the caching in the CppEditorSupport also take less time to build.
This patch also fixes a number of possible encoding issues, where files
and constant strings were (falsely) assumed to be UTF-8.
Change-Id: Ib6f91c9a94ebed5b5dfbd4eb2998825c62c72784
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Remove unused code and cancel any running indexing.
Change-Id: I1afbd6e4e041224e36c715242b8be31991259e86
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This introduces an API change for the project managers. Those are not
expected to call updateSourceFiles() anymore.
Task-number: QTCREATORBUG-9581
Change-Id: I77befd29fb851c9acf87204d571da00183c9cd05
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
That is what it actually is, wrt how Qt API calls it.
Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Instead of requiring subclasses to implement a method.
Also renames IDocument::rename to IDocument::setFileName,
since it doesn't really rename any files or such.
Change-Id: I1344025c24d2f74a6a983e04fb0a5245f1f37aad
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
...so parsing progress will also be reported for projects consisting of
only one source file.
Task-number: QTCREATORBUG-9597
Change-Id: If35a00b6f949258d64921f144919269fa0c81d36
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Now it uses ProjectPart::evaluateToolchain() to read toolchain info with
given compiler flags.
Change-Id: I97c643707e1626424824aa9b53786f146b0f4790
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Rename ModelManagerInterface.(h|cpp) to cppmodelmanagerinterface.(h|cpp).
Rename TypeHierarchyBuilder.(h|cpp) to typehierarchybuilder.(h|cpp).
Change-Id: I035d833fd205d7460819bd0fb7031294359032f9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
There were quite a few classes using CPlusPlus namespace in the
CppTools plugin. Rename them and do some other small namespace
related coding style fixups.
Change-Id: I093fc1f3fc394fd9923e3f18d5f66522e288f21d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
when refreshing project check if files exist, and add only existing
files to the project
Change-Id: I5937bbe39e56c089b97350e095458c014fd294fb
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
The previous method of identifying the files matching any C/C++ or
ObjC++ mime types somewhat naively searched through all mime-types
(especially for hard to identify files) and then checked whether the
returned mime type was part of a limited set. This takes too long for
large projects.
The new method only checks against the mime types we're actually looking
for.
Task-number: QTCREATORBUG-8625
Change-Id: I956f3653db6b961c5c814eed1a1a43ac8a118704
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Now it will only consider C and C++ files as source files by filtering
on mime-type. This seems appropriate for now since it currently only
supports C++ projects anyway.
Also removed the list of generated files, which was always empty since
there is no way to tell the generic project which files are generated.
Task-number: QTCREATORBUG-5451
Change-Id: I12209995db4b30643af1d51123813c24d016f44c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Paths in the .includes file are user edited and may contain trailing
slashes.
If these are not filtered out, the CppCompletionAssistProcessor
suggestions are missing the first character (e.g. rc/, not src/).
Change-Id: I19b4c811d504042d0a4eb4ee8961818b3e17051c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Switching the stdlib implementation is possible with clang and results
in different include pathes being used (and potentially different defines).
Change-Id: I9c856256f51ceded9dc7892c1dde2bcc8c1b024c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
By not simpy removing all filenodes and foldernodes.
The algorithm is not optimal, since it searches for each difference
instead of traversing the two trees in lockstep, like for example the
qmake project manager does. But it seems good enough.
Task-number: QTCREATORBUG-7410
Change-Id: Ie7c0f4bc57cd3aff4e8b7a26845cfaf213329326
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>