summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-04-26 12:16:19 (GMT)
committerBrad King <brad.king@kitware.com>2016-04-26 12:16:19 (GMT)
commit0c58d2d0fdc518e12e6aa5a15012437c573a910c (patch)
treeda66cd5aef685febba20624af4a614f9a78a9008 /Source
parent657a446175c1b61999a77958c5b7480f8be041a5 (diff)
downloadCMake-0c58d2d0fdc518e12e6aa5a15012437c573a910c.zip
CMake-0c58d2d0fdc518e12e6aa5a15012437c573a910c.tar.gz
CMake-0c58d2d0fdc518e12e6aa5a15012437c573a910c.tar.bz2
VS: Detect VS 8 and 9 Express editions
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalVisualStudio10Generator.h4
-rw-r--r--Source/cmGlobalVisualStudio8Generator.cxx4
-rw-r--r--Source/cmGlobalVisualStudio8Generator.h4
-rw-r--r--Source/cmGlobalVisualStudio9Generator.cxx4
4 files changed, 12 insertions, 4 deletions
diff --git a/Source/cmGlobalVisualStudio10Generator.h b/Source/cmGlobalVisualStudio10Generator.h
index 6bf4740..d4be329 100644
--- a/Source/cmGlobalVisualStudio10Generator.h
+++ b/Source/cmGlobalVisualStudio10Generator.h
@@ -56,9 +56,6 @@ public:
cmMakefile *, bool optional);
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? */
bool IsNsightTegra() const;
std::string GetNsightTegraVersion() const;
@@ -129,7 +126,6 @@ protected:
bool SystemIsWindowsCE;
bool SystemIsWindowsPhone;
bool SystemIsWindowsStore;
- bool ExpressEdition;
bool UseFolderProperty();
diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx
index 3abff6c..7e880fe 100644
--- a/Source/cmGlobalVisualStudio8Generator.cxx
+++ b/Source/cmGlobalVisualStudio8Generator.cxx
@@ -103,6 +103,10 @@ cmGlobalVisualStudio8Generator::cmGlobalVisualStudio8Generator(cmake* cm,
this->Name = name;
this->ExtraFlagTable = this->GetExtraFlagTableVS8();
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);
}
//----------------------------------------------------------------------------
diff --git a/Source/cmGlobalVisualStudio8Generator.h b/Source/cmGlobalVisualStudio8Generator.h
index b3093cc..93803c3 100644
--- a/Source/cmGlobalVisualStudio8Generator.h
+++ b/Source/cmGlobalVisualStudio8Generator.h
@@ -66,6 +66,9 @@ public:
virtual bool TargetsWindowsCE() const {
return !this->WindowsCEVersion.empty(); }
+ /** Is the installed VS an Express edition? */
+ bool IsExpressEdition() const { return this->ExpressEdition; }
+
protected:
virtual void AddExtraIDETargets();
virtual const char* GetIDEVersion() { return "8.0"; }
@@ -96,6 +99,7 @@ protected:
std::string Name;
std::string WindowsCEVersion;
+ bool ExpressEdition;
private:
class Factory;
diff --git a/Source/cmGlobalVisualStudio9Generator.cxx b/Source/cmGlobalVisualStudio9Generator.cxx
index 884f754..da6ffae 100644
--- a/Source/cmGlobalVisualStudio9Generator.cxx
+++ b/Source/cmGlobalVisualStudio9Generator.cxx
@@ -104,6 +104,10 @@ cmGlobalVisualStudio9Generator::cmGlobalVisualStudio9Generator(cmake* cm,
: cmGlobalVisualStudio8Generator(cm, name, platformName)
{
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);
}
//----------------------------------------------------------------------------