فهرست منبع

VS: Use $(ConfigurationName) as CMAKE_CFG_INTDIR in VS 7, 8, 9

This will allow us to use a value other than just the config name
for the project OutputDirectory setting used for $(OutDir).

Also use $(ConfigurationName) instead of $(OutDir) for the link
directory configuration suffix since that is a hard-coded instance of
a use case for CMAKE_CFG_INTDIR.
Brad King 10 سال پیش
والد
کامیت
aa2ba12164

+ 10 - 0
Help/release/dev/vs7-OutputDirectory.rst

@@ -0,0 +1,10 @@
+vs7-OutputDirectory
+-------------------
+
+* The :variable:`CMAKE_CFG_INTDIR` variable value for Visual Studio
+  7, 8, and 9 is now ``$(ConfigurationName)`` instead of ``$(OutDir)``.
+  This should have no effect on the intended use cases of the variable.
+
+* With Visual Studio 7, 8, and 9 generators the value of the ``$(OutDir)``
+  placeholder no longer evaluates to the configuration name.  Projects
+  should use ``$(ConfigurationName)`` for that instead.

+ 5 - 5
Help/variable/CMAKE_CFG_INTDIR.rst

@@ -12,11 +12,11 @@ values:
 
 
 ::
 ::
 
 
-  $(IntDir)        = Visual Studio 6
-  $(OutDir)        = Visual Studio 7, 8, 9
-  $(Configuration) = Visual Studio 10
-  $(CONFIGURATION) = Xcode
-  .                = Make-based tools
+  $(IntDir)            = Visual Studio 6
+  $(ConfigurationName) = Visual Studio 7, 8, 9
+  $(Configuration)     = Visual Studio 10
+  $(CONFIGURATION)     = Xcode
+  .                    = Make-based tools
 
 
 Since these values are evaluated by the native build system, this
 Since these values are evaluated by the native build system, this
 variable is suitable only for use in command lines that will be
 variable is suitable only for use in command lines that will be

+ 2 - 1
Source/cmGlobalVisualStudio7Generator.h

@@ -94,7 +94,8 @@ public:
                                         std::string& dir);
                                         std::string& dir);
 
 
   ///! What is the configurations directory variable called?
   ///! What is the configurations directory variable called?
-  virtual const char* GetCMakeCFGIntDir() const { return "$(OutDir)"; }
+  virtual const char* GetCMakeCFGIntDir() const
+    { return "$(ConfigurationName)"; }
 
 
   /** Return true if the target project file should have the option
   /** Return true if the target project file should have the option
       LinkLibraryDependencies and link to .sln dependencies. */
       LinkLibraryDependencies and link to .sln dependencies. */

+ 2 - 1
Source/cmLocalVisualStudio7Generator.cxx

@@ -1441,7 +1441,8 @@ cmLocalVisualStudio7Generator
 
 
     // First search a configuration-specific subdirectory and then the
     // First search a configuration-specific subdirectory and then the
     // original directory.
     // original directory.
-    fout << comma << this->ConvertToXMLOutputPath((dir+"/$(OutDir)").c_str())
+    fout << comma
+         << this->ConvertToXMLOutputPath((dir+"/$(ConfigurationName)").c_str())
          << "," << this->ConvertToXMLOutputPath(dir.c_str());
          << "," << this->ConvertToXMLOutputPath(dir.c_str());
     comma = ",";
     comma = ",";
     }
     }