Browse Source

Fix Visual Studio lookup logic to handle Visual Studio 2012 and 2013 (11.0 and 12.0) environment variables

pull/160/head
Øystein Krog 12 years ago
parent
commit
5c4cf56af0
  1. 16
      src/CppParser/VSLookup.cpp
  2. 10
      src/Parser/VSLookup.cpp

16
src/CppParser/VSLookup.cpp

@ -199,6 +199,8 @@ static bool getVisualStudioDir(std::string &path) { @@ -199,6 +199,8 @@ static bool getVisualStudioDir(std::string &path) {
}
// Try the environment.
const char *vs120comntools = getenv("VS120COMNTOOLS");
const char *vs110comntools = getenv("VS110COMNTOOLS");
const char *vs100comntools = getenv("VS100COMNTOOLS");
const char *vs90comntools = getenv("VS90COMNTOOLS");
const char *vs80comntools = getenv("VS80COMNTOOLS");
@ -206,7 +208,15 @@ static bool getVisualStudioDir(std::string &path) { @@ -206,7 +208,15 @@ static bool getVisualStudioDir(std::string &path) {
// Try to find the version that we were compiled with
if(false) {}
#if (_MSC_VER >= 1600) // VC100
#if (_MSC_VER >= 1800) // VC120
else if (vs120comntools) {
vscomntools = vs120comntools;
}
#elif (_MSC_VER == 1700) // VC110
else if (vs110comntools) {
vscomntools = vs110comntools;
}
#elif (_MSC_VER == 1600) // VC100
else if(vs100comntools) {
vscomntools = vs100comntools;
}
@ -220,6 +230,10 @@ static bool getVisualStudioDir(std::string &path) { @@ -220,6 +230,10 @@ static bool getVisualStudioDir(std::string &path) {
}
#endif
// Otherwise find any version we can
else if (vs120comntools)
vscomntools = vs120comntools;
else if (vs110comntools)
vscomntools = vs110comntools;
else if (vs100comntools)
vscomntools = vs100comntools;
else if (vs90comntools)

10
src/Parser/VSLookup.cpp

@ -230,12 +230,16 @@ static bool getVisualStudioDir(std::string &path) { @@ -230,12 +230,16 @@ static bool getVisualStudioDir(std::string &path) {
}
#endif
// Otherwise find any version we can
else if (vs120comntools)
vscomntools = vs120comntools;
else if (vs110comntools)
vscomntools = vs110comntools;
else if (vs100comntools)
vscomntools = vs100comntools;
vscomntools = vs100comntools;
else if (vs90comntools)
vscomntools = vs90comntools;
vscomntools = vs90comntools;
else if (vs80comntools)
vscomntools = vs80comntools;
vscomntools = vs80comntools;
if (vscomntools && *vscomntools) {
const char *p = strstr(vscomntools, "\\Common7\\Tools");

Loading…
Cancel
Save