Merge topic 'vs-old-express-no-folders'
571bedec VS: Ignore USE_FOLDER property on VS versions that do not support it 0c58d2d0 VS: Detect VS 8 and 9 Express editions
This commit is contained in:
commit
8a00c16b59
@ -608,12 +608,6 @@ void cmGlobalVisualStudio10Generator::PathTooLong(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
|
||||||
bool cmGlobalVisualStudio10Generator::UseFolderProperty()
|
|
||||||
{
|
|
||||||
return IsExpressEdition() ? false : cmGlobalGenerator::UseFolderProperty();
|
|
||||||
}
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool cmGlobalVisualStudio10Generator::IsNsightTegra() const
|
bool cmGlobalVisualStudio10Generator::IsNsightTegra() const
|
||||||
{
|
{
|
||||||
|
@ -56,9 +56,6 @@ public:
|
|||||||
cmMakefile *, bool optional);
|
cmMakefile *, bool optional);
|
||||||
virtual void WriteSLNHeader(std::ostream& fout);
|
virtual void WriteSLNHeader(std::ostream& fout);
|
||||||
|
|
||||||
/** Is the installed VS an Express edition? */
|
|
||||||
bool IsExpressEdition() const { return this->ExpressEdition; }
|
|
||||||
|
|
||||||
/** Generating for Nsight Tegra VS plugin? */
|
/** Generating for Nsight Tegra VS plugin? */
|
||||||
bool IsNsightTegra() const;
|
bool IsNsightTegra() const;
|
||||||
std::string GetNsightTegraVersion() const;
|
std::string GetNsightTegraVersion() const;
|
||||||
@ -129,9 +126,6 @@ protected:
|
|||||||
bool SystemIsWindowsCE;
|
bool SystemIsWindowsCE;
|
||||||
bool SystemIsWindowsPhone;
|
bool SystemIsWindowsPhone;
|
||||||
bool SystemIsWindowsStore;
|
bool SystemIsWindowsStore;
|
||||||
bool ExpressEdition;
|
|
||||||
|
|
||||||
bool UseFolderProperty();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class Factory;
|
class Factory;
|
||||||
|
@ -239,10 +239,10 @@ void cmGlobalVisualStudio11Generator::WriteSLNHeader(std::ostream& fout)
|
|||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool cmGlobalVisualStudio11Generator::UseFolderProperty()
|
bool cmGlobalVisualStudio11Generator::UseFolderProperty()
|
||||||
{
|
{
|
||||||
// Intentionally skip over the parent class implementation and call the
|
// Intentionally skip up to the top-level class implementation.
|
||||||
// grand-parent class's implementation. Folders are not supported by the
|
// Folders are not supported by the Express editions in VS10 and earlier,
|
||||||
// Express editions in VS10 and earlier, but they are in VS11 Express.
|
// but they are in VS11 Express and above.
|
||||||
return cmGlobalVisualStudio8Generator::UseFolderProperty();
|
return cmGlobalGenerator::UseFolderProperty();
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
@ -75,6 +75,9 @@ protected:
|
|||||||
const std::set<std::string>& depends);
|
const std::set<std::string>& depends);
|
||||||
virtual void WriteSLNHeader(std::ostream& fout);
|
virtual void WriteSLNHeader(std::ostream& fout);
|
||||||
|
|
||||||
|
// Folders are not supported by VS 7.1.
|
||||||
|
virtual bool UseFolderProperty() { return false; }
|
||||||
|
|
||||||
std::string ProjectConfigurationSectionName;
|
std::string ProjectConfigurationSectionName;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -103,6 +103,10 @@ cmGlobalVisualStudio8Generator::cmGlobalVisualStudio8Generator(cmake* cm,
|
|||||||
this->Name = name;
|
this->Name = name;
|
||||||
this->ExtraFlagTable = this->GetExtraFlagTableVS8();
|
this->ExtraFlagTable = this->GetExtraFlagTableVS8();
|
||||||
this->Version = VS8;
|
this->Version = VS8;
|
||||||
|
std::string vc8Express;
|
||||||
|
this->ExpressEdition = cmSystemTools::ReadRegistryValue(
|
||||||
|
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\8.0\\Setup\\VC;"
|
||||||
|
"ProductDir", vc8Express, cmSystemTools::KeyWOW64_32);
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
@ -189,6 +193,12 @@ void cmGlobalVisualStudio8Generator::Configure()
|
|||||||
this->cmGlobalVisualStudio7Generator::Configure();
|
this->cmGlobalVisualStudio7Generator::Configure();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
bool cmGlobalVisualStudio8Generator::UseFolderProperty()
|
||||||
|
{
|
||||||
|
return IsExpressEdition() ? false : cmGlobalGenerator::UseFolderProperty();
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
std::string cmGlobalVisualStudio8Generator::GetUserMacrosDirectory()
|
std::string cmGlobalVisualStudio8Generator::GetUserMacrosDirectory()
|
||||||
{
|
{
|
||||||
|
@ -66,6 +66,9 @@ public:
|
|||||||
virtual bool TargetsWindowsCE() const {
|
virtual bool TargetsWindowsCE() const {
|
||||||
return !this->WindowsCEVersion.empty(); }
|
return !this->WindowsCEVersion.empty(); }
|
||||||
|
|
||||||
|
/** Is the installed VS an Express edition? */
|
||||||
|
bool IsExpressEdition() const { return this->ExpressEdition; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void AddExtraIDETargets();
|
virtual void AddExtraIDETargets();
|
||||||
virtual const char* GetIDEVersion() { return "8.0"; }
|
virtual const char* GetIDEVersion() { return "8.0"; }
|
||||||
@ -94,8 +97,11 @@ protected:
|
|||||||
const char* path,
|
const char* path,
|
||||||
const cmGeneratorTarget *t);
|
const cmGeneratorTarget *t);
|
||||||
|
|
||||||
|
bool UseFolderProperty();
|
||||||
|
|
||||||
std::string Name;
|
std::string Name;
|
||||||
std::string WindowsCEVersion;
|
std::string WindowsCEVersion;
|
||||||
|
bool ExpressEdition;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
class Factory;
|
class Factory;
|
||||||
|
@ -104,6 +104,10 @@ cmGlobalVisualStudio9Generator::cmGlobalVisualStudio9Generator(cmake* cm,
|
|||||||
: cmGlobalVisualStudio8Generator(cm, name, platformName)
|
: cmGlobalVisualStudio8Generator(cm, name, platformName)
|
||||||
{
|
{
|
||||||
this->Version = VS9;
|
this->Version = VS9;
|
||||||
|
std::string vc9Express;
|
||||||
|
this->ExpressEdition = cmSystemTools::ReadRegistryValue(
|
||||||
|
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0\\Setup\\VC;"
|
||||||
|
"ProductDir", vc9Express, cmSystemTools::KeyWOW64_32);
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
@ -92,7 +92,7 @@ void cmGlobalVisualStudioGenerator::AddExtraIDETargets()
|
|||||||
//
|
//
|
||||||
// Organize in the "predefined targets" folder:
|
// Organize in the "predefined targets" folder:
|
||||||
//
|
//
|
||||||
if (this->UseFolderProperty() && this->GetVersion() > VS71)
|
if (this->UseFolderProperty())
|
||||||
{
|
{
|
||||||
allBuild->SetProperty("FOLDER", this->GetPredefinedTargetsFolder());
|
allBuild->SetProperty("FOLDER", this->GetPredefinedTargetsFolder());
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user