From 2006e4a4050871429e492ab883be0033d6add9a8 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 16 Sep 2009 11:44:50 -0400 Subject: Generate proper Intel Fortran project version The Intel Visual Fortran compiler plugin for MS Visual Studio may be one of several versions of the Intel compiler. This commit teaches CMake to detect the plugin version and set the version number in .vfproj files. See issue #9169. --- Source/cmLocalVisualStudio7Generator.cxx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 855c2e3..5fc00f0 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -31,6 +31,9 @@ #include // for isspace +// Package GUID of Intel Visual Fortran plugin to VS IDE +#define CM_INTEL_PLUGIN_GUID "{B68A201D-CB9B-47AF-A52F-7EEC72E217E4}" + static bool cmLVS6G_IsFAT(const char* dir); class cmLocalVisualStudio7GeneratorInternals @@ -1675,10 +1678,19 @@ cmLocalVisualStudio7Generator cmGlobalVisualStudio7Generator* gg = static_cast(this->GlobalGenerator); + + // Compute the version of the Intel plugin to the VS IDE. + // If the key does not exist then use a default guess. + std::string intelVersion = "9.10"; + std::string vskey = gg->GetRegistryBase(); + vskey += "\\Packages\\" CM_INTEL_PLUGIN_GUID ";ProductVersion"; + cmSystemTools::ReadRegistryValue(vskey.c_str(), intelVersion, + cmSystemTools::KeyWOW64_32); + fout << "\n" << "