cmake: introduce a cache of files with no compilation data
The following debug message is now printed once rather than 6 times for each file without compilation data:
kdevelop.plugins.cmake: no information found for "/path/to/file"
The added mutable
data member should not break thread safety, because
there is no locking when the data is modified. Apparently
CMakeManager::fileInformation()
is always called from the main thread.
The definitions of DefinesAndIncludesManager
's member functions that
(indirectly) call fileInformation()
start with the following assertion:
Q_ASSERT(QThread::currentThread() == qApp->thread());