Eclipse: set source path once to fix Eclipse indexer (#13596)
Since CMake 2.8.7 no src-path entry was generated anymore, in response to http://www.cmake.org/Bug/view.php?id=12213 Before that a src-path entry was added for each linked resource. Now only one src-path entry is added, for the ${CMAKE_SOURCE_DIR}. According to http://www.cmake.org/Bug/view.php?id=13596 this makes the indexer behave better. Alex
This commit is contained in:
parent
2362bc8e80
commit
077de8b271
|
@ -579,7 +579,8 @@ void cmExtraEclipseCDT4Generator::CreateLinksToSubprojects(
|
||||||
this->GetEclipsePath(linkSourceDirectory),
|
this->GetEclipsePath(linkSourceDirectory),
|
||||||
LinkToFolder
|
LinkToFolder
|
||||||
);
|
);
|
||||||
this->SrcLinkedResources.push_back(it->first);
|
// Don't add it to the srcLinkedResources, because listing multiple
|
||||||
|
// directories confuses the Eclipse indexer (#13596).
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -730,15 +731,16 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
/* I don't know what the pathentry kind="src" are good for, e.g. autocompletion
|
/* I don't know what the pathentry kind="src" are good for, e.g. autocompletion
|
||||||
* works also without them. Done wrong, the indexer complains, see #12417
|
* works also without them. Done wrong, the indexer complains, see #12417
|
||||||
* and #12213.
|
* and #12213.
|
||||||
|
* According to #13596, this entry at least limits the directories the
|
||||||
|
* indexer is searching for files. So now the "src" entry contains only
|
||||||
|
* the linked resource to CMAKE_SOURCE_DIR.
|
||||||
* The CDT documentation is very terse on that:
|
* The CDT documentation is very terse on that:
|
||||||
* "CDT_SOURCE: Entry kind constant describing a path entry identifying a
|
* "CDT_SOURCE: Entry kind constant describing a path entry identifying a
|
||||||
* folder containing source code to be compiled."
|
* folder containing source code to be compiled."
|
||||||
* Also on the cdt-dev list didn't bring any information:
|
* Also on the cdt-dev list didn't bring any information:
|
||||||
* http://web.archiveorange.com/archive/v/B4NlJDNIpYoOS1SbxFNy
|
* http://web.archiveorange.com/archive/v/B4NlJDNIpYoOS1SbxFNy
|
||||||
* So I'm disabling them for now, hoping that somebody will report if something
|
|
||||||
* is not workging anymore.
|
|
||||||
* Alex */
|
* Alex */
|
||||||
#ifdef DO_CREATE_SRC_PATH_ENTRIES
|
|
||||||
for (std::vector<std::string>::const_iterator
|
for (std::vector<std::string>::const_iterator
|
||||||
it = this->SrcLinkedResources.begin();
|
it = this->SrcLinkedResources.begin();
|
||||||
it != this->SrcLinkedResources.end();
|
it != this->SrcLinkedResources.end();
|
||||||
|
@ -755,7 +757,7 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
|
||||||
excludeFromOut += this->EscapeForXML(*it) + "/|";
|
excludeFromOut += this->EscapeForXML(*it) + "/|";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
excludeFromOut += "**/CMakeFiles/";
|
excludeFromOut += "**/CMakeFiles/";
|
||||||
fout << "<pathentry excluding=\"" << excludeFromOut
|
fout << "<pathentry excluding=\"" << excludeFromOut
|
||||||
<< "\" kind=\"out\" path=\"\"/>\n";
|
<< "\" kind=\"out\" path=\"\"/>\n";
|
||||||
|
|
Loading…
Reference in New Issue