VS: Ignore USE_FOLDER property on VS versions that do not support it

Solution folders are supported on VS 8 and above in the full versions
and on VS 11 and above in the express versions.
This commit is contained in:
Brad King 2016-04-26 08:22:27 -04:00
parent 0c58d2d0fd
commit 571bedec29
7 changed files with 16 additions and 13 deletions

View File

@ -608,12 +608,6 @@ void cmGlobalVisualStudio10Generator::PathTooLong(
}
}
//----------------------------------------------------------------------------
bool cmGlobalVisualStudio10Generator::UseFolderProperty()
{
return IsExpressEdition() ? false : cmGlobalGenerator::UseFolderProperty();
}
//----------------------------------------------------------------------------
bool cmGlobalVisualStudio10Generator::IsNsightTegra() const
{

View File

@ -127,8 +127,6 @@ protected:
bool SystemIsWindowsPhone;
bool SystemIsWindowsStore;
bool UseFolderProperty();
private:
class Factory;
struct LongestSourcePath

View File

@ -239,10 +239,10 @@ void cmGlobalVisualStudio11Generator::WriteSLNHeader(std::ostream& fout)
//----------------------------------------------------------------------------
bool cmGlobalVisualStudio11Generator::UseFolderProperty()
{
// Intentionally skip over the parent class implementation and call the
// grand-parent class's implementation. Folders are not supported by the
// Express editions in VS10 and earlier, but they are in VS11 Express.
return cmGlobalVisualStudio8Generator::UseFolderProperty();
// Intentionally skip up to the top-level class implementation.
// Folders are not supported by the Express editions in VS10 and earlier,
// but they are in VS11 Express and above.
return cmGlobalGenerator::UseFolderProperty();
}
//----------------------------------------------------------------------------

View File

@ -75,6 +75,9 @@ protected:
const std::set<std::string>& depends);
virtual void WriteSLNHeader(std::ostream& fout);
// Folders are not supported by VS 7.1.
virtual bool UseFolderProperty() { return false; }
std::string ProjectConfigurationSectionName;
};
#endif

View File

@ -193,6 +193,12 @@ void cmGlobalVisualStudio8Generator::Configure()
this->cmGlobalVisualStudio7Generator::Configure();
}
//----------------------------------------------------------------------------
bool cmGlobalVisualStudio8Generator::UseFolderProperty()
{
return IsExpressEdition() ? false : cmGlobalGenerator::UseFolderProperty();
}
//----------------------------------------------------------------------------
std::string cmGlobalVisualStudio8Generator::GetUserMacrosDirectory()
{

View File

@ -97,6 +97,8 @@ protected:
const char* path,
const cmGeneratorTarget *t);
bool UseFolderProperty();
std::string Name;
std::string WindowsCEVersion;
bool ExpressEdition;

View File

@ -92,7 +92,7 @@ void cmGlobalVisualStudioGenerator::AddExtraIDETargets()
//
// Organize in the "predefined targets" folder:
//
if (this->UseFolderProperty() && this->GetVersion() > VS71)
if (this->UseFolderProperty())
{
allBuild->SetProperty("FOLDER", this->GetPredefinedTargetsFolder());
}