~roguescholar/kdevelop/+git/trunk:cmakePossibleTargetsFile

Last commit made on 2015-01-20
Get this branch:
git clone -b cmakePossibleTargetsFile https://git.launchpad.net/~roguescholar/kdevelop/+git/trunk

Branch merges

Branch information

Name:
cmakePossibleTargetsFile
Repository:
lp:~roguescholar/kdevelop/+git/trunk

Recent commits

e866d08... by Aleix Pol

Merge branch 'master' into cmakePossibleTargetsFile

a3e05c3... by Milian Wolff

Use QDir::isRelativePath.

No need to get the other QFileInfo stuff loaded here.

6cce95e... by Milian Wolff

Cache the lookup of the IDefinesAndIncludesManager.

99722cb... by Milian Wolff

Share common code.

Also optimize the assignment of the large list of compiler defines,
which previously triggered many reallocations.

56e3bf1... by Milian Wolff

Intern MakeFileResolver defines and include paths.

This decreases the memory consumption for the defines/include paths
as queried by the CMake JSON import job considerably. And, since
we can now reuse existing Path instances, we don't need the costly
conversion most of the time, leading to a considerable performance
win as well.

Before, my kdevelop session took ca. ~230MB of memory, now this
number is down to ~153MB. Performance wise, I saw the kdevplatform
JSON file speed up from ~2.2s evaluation down to ~1.4s.

d09760f... by Milian Wolff

f

47c0dc1... by Milian Wolff

Use shared QStringLiteral results.

decd4cc... by Milian Wolff

Cache defines/includes on-demand.

This improves startup speed as we can load the defines/includes
plugin much quicker now. Furthermore, we only initialize the
includes/defines for the compiler(s) that are actually used,
not all available ones, thus decreasing memory consumption.

Before:
Successfully loaded plugin "KDevDefinesAndIncludesManager" from
...kdevplatform/21/kdevdefinesandincludesmanager.so" - took: 200 ms

After:
Successfully loaded plugin "KDevDefinesAndIncludesManager" from
...kdevplatform/21/kdevdefinesandincludesmanager.so" - took: 20 ms

REVIEW: 122145

6484c63... by l10n daemon script <email address hidden>

SVN_SILENT made messages (.desktop file)

d306b26... by Sergey Kalinichev <email address hidden>

Add project to CompilerProvider when includes/defines asked for.

Oterwise, because of projectAboutToBeOpened signal isn't emitted for
some reasons, we could end up in situation when project is not yet added
to the CompilerProvider, but the BackgroundParser already began parsing
the project.

This should hopefully fix the annoying assert for good.

REVIEW: 121984