mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 16:32:14 -06:00
-fix VirtualFolders in Eclipse under Windows
Under Windows "locationURI" must be used for virtual folders, while "location" must be used only for linked folders. Under Linux it doesn't seem to matter. Alex
This commit is contained in:
@@ -403,7 +403,7 @@ void cmExtraEclipseCDT4Generator::CreateProjectFile()
|
||||
// for each sub project create a linked resource to the source dir
|
||||
// - only if it is an out-of-source build
|
||||
this->AppendLinkedResource(fout, "[Subprojects]",
|
||||
"virtual:/virtual");
|
||||
"virtual:/virtual", true);
|
||||
|
||||
for (std::map<cmStdString, std::vector<cmLocalGenerator*> >::const_iterator
|
||||
it = this->GlobalGenerator->GetProjectMap().begin();
|
||||
@@ -1082,17 +1082,24 @@ void cmExtraEclipseCDT4Generator
|
||||
void cmExtraEclipseCDT4Generator
|
||||
::AppendLinkedResource (cmGeneratedFileStream& fout,
|
||||
const std::string& name,
|
||||
const std::string& path)
|
||||
const std::string& path,
|
||||
bool isVirtualFolder)
|
||||
{
|
||||
const char* locationTag = "location";
|
||||
if (isVirtualFolder) // ... and not a linked folder
|
||||
{
|
||||
locationTag = "locationURI";
|
||||
}
|
||||
|
||||
fout <<
|
||||
"\t\t<link>\n"
|
||||
"\t\t\t<name>"
|
||||
<< cmExtraEclipseCDT4Generator::EscapeForXML(name)
|
||||
<< "</name>\n"
|
||||
"\t\t\t<type>2</type>\n"
|
||||
"\t\t\t<locationURI>"
|
||||
"\t\t\t<" << locationTag << ">"
|
||||
<< cmExtraEclipseCDT4Generator::EscapeForXML(path)
|
||||
<< "</locationURI>\n"
|
||||
<< "</" << locationTag << ">\n"
|
||||
"\t\t</link>\n"
|
||||
;
|
||||
}
|
||||
|
||||
@@ -87,7 +87,8 @@ private:
|
||||
|
||||
static void AppendLinkedResource (cmGeneratedFileStream& fout,
|
||||
const std::string& name,
|
||||
const std::string& path);
|
||||
const std::string& path,
|
||||
bool isVirtualFolder = false);
|
||||
|
||||
bool AppendOutLinkedResource(cmGeneratedFileStream& fout,
|
||||
const std::string& defname,
|
||||
|
||||
Reference in New Issue
Block a user