Sfoglia il codice sorgente

Deprecate Visual Studio 7 generator (.NET 2002)

Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
Brad King 10 anni fa
parent
commit
7b8e7c4ac3

+ 7 - 1
Help/generator/Visual Studio 7.rst

@@ -1,4 +1,10 @@
 Visual Studio 7
 ---------------
 
-Generates Visual Studio .NET 2002 project files.
+Deprected.  Generates Visual Studio .NET 2002 project files.
+
+.. note::
+  This generator is deprecated and will be removed
+  in a future version of CMake.  It will still be
+  possible to build with VS 7.0 tools using the
+  :generator:`NMake Makefiles` generator.

+ 5 - 0
Help/release/dev/vs70-deprecate.rst

@@ -0,0 +1,5 @@
+vs70-deprecate
+--------------
+
+* The :generator:`Visual Studio 7` generator (.NET 2002) is now
+  deprecated and will be removed in a future version of CMake.

+ 18 - 1
Source/cmGlobalVisualStudio7Generator.cxx

@@ -351,6 +351,23 @@ void cmGlobalVisualStudio7Generator::Generate()
     {
     this->CallVisualStudioMacro(MacroReload);
     }
+
+  if (!this->CMakeInstance->GetIsInTryCompile() &&
+      this->GetName() == "Visual Studio 7")
+    {
+    const char* cmakeWarnVS70 =
+      this->CMakeInstance->GetState()->GetCacheEntryValue("CMAKE_WARN_VS70");
+    if (!cmakeWarnVS70 || !cmSystemTools::IsOff(cmakeWarnVS70))
+      {
+      this->CMakeInstance->IssueMessage(
+        cmake::WARNING,
+        "The \"Visual Studio 7\" generator is deprecated "
+        "and will be removed in a future version of CMake."
+        "\n"
+        "Add CMAKE_WARN_VS70=OFF to the cache to disable this warning."
+        );
+      }
+    }
 }
 
 void cmGlobalVisualStudio7Generator
@@ -983,7 +1000,7 @@ void cmGlobalVisualStudio7Generator
 ::GetDocumentation(cmDocumentationEntry& entry)
 {
   entry.Name = cmGlobalVisualStudio7Generator::GetActualName();
-  entry.Brief = "Generates Visual Studio .NET 2002 project files.";
+  entry.Brief = "Deprecated. Generates Visual Studio .NET 2002 project files.";
 }
 
 //----------------------------------------------------------------------------

+ 0 - 0
Tests/RunCMake/CommandLine/DeprecateVS70-WARN-OFF.cmake


+ 5 - 0
Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON-stderr.txt

@@ -0,0 +1,5 @@
+^CMake Warning:
+  The "Visual Studio 7" generator is deprecated and will be removed in a
+  future version of CMake.
+
+  Add CMAKE_WARN_VS70=OFF to the cache to disable this warning.$

+ 0 - 0
Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON.cmake


+ 5 - 0
Tests/RunCMake/CommandLine/RunCMakeTest.cmake

@@ -45,6 +45,11 @@ if(RunCMake_GENERATOR STREQUAL "Visual Studio 6")
   run_cmake(DeprecateVS6-WARN-ON)
   unset(RunCMake_WARN_VS6)
   run_cmake(DeprecateVS6-WARN-OFF)
+elseif(RunCMake_GENERATOR STREQUAL "Visual Studio 7")
+  set(RunCMake_WARN_VS70 1)
+  run_cmake(DeprecateVS70-WARN-ON)
+  unset(RunCMake_WARN_VS70)
+  run_cmake(DeprecateVS70-WARN-OFF)
 endif()
 
 if(UNIX)

+ 3 - 0
Tests/RunCMake/RunCMake.cmake

@@ -54,6 +54,9 @@ function(run_cmake test)
   if(RunCMake_GENERATOR STREQUAL "Visual Studio 6" AND NOT RunCMake_WARN_VS6)
     list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_WARN_VS6=OFF)
   endif()
+  if(RunCMake_GENERATOR STREQUAL "Visual Studio 7" AND NOT RunCMake_WARN_VS70)
+    list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_WARN_VS70=OFF)
+  endif()
   if(RunCMake_MAKE_PROGRAM)
     list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}")
   endif()