diff options
author | Brad King <brad.king@kitware.com> | 2010-09-08 15:08:05 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2010-09-08 15:08:05 (GMT) |
commit | 28edb70a9e22314da875a8fa104636461b71d8c6 (patch) | |
tree | d10d341de179233daacfdd253799db9428855e91 /Source/cmGlobalGenerator.cxx | |
parent | 02e3f42a6a4bc2b94befd35c908750c10f612d44 (diff) | |
parent | e6ac0aacf6c3ce17141870e252fda77d994782d3 (diff) | |
download | CMake-28edb70a9e22314da875a8fa104636461b71d8c6.zip CMake-28edb70a9e22314da875a8fa104636461b71d8c6.tar.gz CMake-28edb70a9e22314da875a8fa104636461b71d8c6.tar.bz2 |
Merge topic 'vs-project-groups'
e6ac0aa Add FOLDER target property, for IDEs (#3796)
Diffstat (limited to 'Source/cmGlobalGenerator.cxx')
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 944c1fc..c6d05b0 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -1845,6 +1845,38 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets) } } +//---------------------------------------------------------------------------- +const char* cmGlobalGenerator::GetPredefinedTargetsFolder() +{ + const char* prop = + this->GetCMakeInstance()->GetProperty("PREDEFINED_TARGETS_FOLDER"); + + if (prop) + { + return prop; + } + + return "CMakePredefinedTargets"; +} + +//---------------------------------------------------------------------------- +bool cmGlobalGenerator::UseFolderProperty() +{ + const char* prop = this->GetCMakeInstance()->GetProperty("USE_FOLDERS"); + + // If this property is defined, let the setter turn this on or off... + // + if (prop) + { + return cmSystemTools::IsOn(prop); + } + + // By default, this feature is ON: + // + return true; +} + +//---------------------------------------------------------------------------- cmTarget cmGlobalGenerator::CreateGlobalTarget( const char* name, const char* message, const cmCustomCommandLines* commandLines, @@ -1874,6 +1906,14 @@ cmTarget cmGlobalGenerator::CreateGlobalTarget( { target.AddUtility(dit->c_str()); } + + // Organize in the "predefined targets" folder: + // + if (this->UseFolderProperty()) + { + target.SetProperty("FOLDER", this->GetPredefinedTargetsFolder()); + } + return target; } |