Merge topic 'EclipseNoLinkedResources'
fbda958
Eclipse: add switch to disable linked resources (#13189)
This commit is contained in:
commit
0b9dac6cbc
|
@ -77,6 +77,8 @@ endif()
|
||||||
# This variable is used by the Eclipse generator and appended to the make invocation commands.
|
# This variable is used by the Eclipse generator and appended to the make invocation commands.
|
||||||
set(CMAKE_ECLIPSE_MAKE_ARGUMENTS "${_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when Eclipse invokes make. Enter e.g. -j<some_number> to get parallel builds")
|
set(CMAKE_ECLIPSE_MAKE_ARGUMENTS "${_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when Eclipse invokes make. Enter e.g. -j<some_number> to get parallel builds")
|
||||||
|
|
||||||
|
set(CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES TRUE CACHE BOOL "If disabled, CMake will not generate linked resource to the subprojects and to the source files within targets")
|
||||||
|
|
||||||
# This variable is used by the Eclipse generator in out-of-source builds only.
|
# This variable is used by the Eclipse generator in out-of-source builds only.
|
||||||
set(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT FALSE CACHE BOOL "If enabled, CMake will generate a source project for Eclipse in CMAKE_SOURCE_DIR")
|
set(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT FALSE CACHE BOOL "If enabled, CMake will generate a source project for Eclipse in CMAKE_SOURCE_DIR")
|
||||||
mark_as_advanced(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT)
|
mark_as_advanced(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT)
|
||||||
|
|
|
@ -38,6 +38,7 @@ cmExtraEclipseCDT4Generator
|
||||||
this->SupportedGlobalGenerators.push_back("Unix Makefiles");
|
this->SupportedGlobalGenerators.push_back("Unix Makefiles");
|
||||||
|
|
||||||
this->SupportsVirtualFolders = true;
|
this->SupportsVirtualFolders = true;
|
||||||
|
this->GenerateLinkedResources = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
@ -83,6 +84,9 @@ void cmExtraEclipseCDT4Generator::Generate()
|
||||||
this->HomeDirectory = mf->GetHomeDirectory();
|
this->HomeDirectory = mf->GetHomeDirectory();
|
||||||
this->HomeOutputDirectory = mf->GetHomeOutputDirectory();
|
this->HomeOutputDirectory = mf->GetHomeOutputDirectory();
|
||||||
|
|
||||||
|
this->GenerateLinkedResources = mf->IsOn(
|
||||||
|
"CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES");
|
||||||
|
|
||||||
this->IsOutOfSourceBuild = (this->HomeDirectory!=this->HomeOutputDirectory);
|
this->IsOutOfSourceBuild = (this->HomeDirectory!=this->HomeOutputDirectory);
|
||||||
|
|
||||||
this->GenerateSourceProject = (this->IsOutOfSourceBuild &&
|
this->GenerateSourceProject = (this->IsOutOfSourceBuild &&
|
||||||
|
@ -501,6 +505,10 @@ void cmExtraEclipseCDT4Generator::CreateLinksForTargets(
|
||||||
linkName2 += ti->first;
|
linkName2 += ti->first;
|
||||||
this->AppendLinkedResource(fout, linkName2, "virtual:/virtual",
|
this->AppendLinkedResource(fout, linkName2, "virtual:/virtual",
|
||||||
VirtualFolder);
|
VirtualFolder);
|
||||||
|
if (!this->GenerateLinkedResources)
|
||||||
|
{
|
||||||
|
break; // skip generating the linked resources to the source files
|
||||||
|
}
|
||||||
std::vector<cmSourceGroup> sourceGroups=makefile->GetSourceGroups();
|
std::vector<cmSourceGroup> sourceGroups=makefile->GetSourceGroups();
|
||||||
// get the files from the source lists then add them to the groups
|
// get the files from the source lists then add them to the groups
|
||||||
cmTarget* tgt = const_cast<cmTarget*>(&ti->second);
|
cmTarget* tgt = const_cast<cmTarget*>(&ti->second);
|
||||||
|
@ -555,6 +563,11 @@ void cmExtraEclipseCDT4Generator::CreateLinksForTargets(
|
||||||
void cmExtraEclipseCDT4Generator::CreateLinksToSubprojects(
|
void cmExtraEclipseCDT4Generator::CreateLinksToSubprojects(
|
||||||
cmGeneratedFileStream& fout, const std::string& baseDir)
|
cmGeneratedFileStream& fout, const std::string& baseDir)
|
||||||
{
|
{
|
||||||
|
if (!this->GenerateLinkedResources)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// for each sub project create a linked resource to the source dir
|
// for each sub project create a linked resource to the source dir
|
||||||
// - only if it is an out-of-source build
|
// - only if it is an out-of-source build
|
||||||
this->AppendLinkedResource(fout, "[Subprojects]",
|
this->AppendLinkedResource(fout, "[Subprojects]",
|
||||||
|
|
|
@ -109,6 +109,7 @@ private:
|
||||||
std::string HomeOutputDirectory;
|
std::string HomeOutputDirectory;
|
||||||
bool IsOutOfSourceBuild;
|
bool IsOutOfSourceBuild;
|
||||||
bool GenerateSourceProject;
|
bool GenerateSourceProject;
|
||||||
|
bool GenerateLinkedResources;
|
||||||
bool SupportsVirtualFolders;
|
bool SupportsVirtualFolders;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue