Browse Source

Deprecate Visual Studio 7 .NET 2003 generator

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 9 years ago
parent
commit
ce82e0a53f

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

@@ -1,4 +1,10 @@
 Visual Studio 7 .NET 2003
 -------------------------
 
-Generates Visual Studio .NET 2003 project files.
+Deprecated.  Generates Visual Studio .NET 2003 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.1 tools using the
+  :generator:`NMake Makefiles` generator.

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

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

+ 1 - 1
Source/cmGlobalVisualStudio71Generator.cxx

@@ -325,5 +325,5 @@ void cmGlobalVisualStudio71Generator
 ::GetDocumentation(cmDocumentationEntry& entry)
 {
   entry.Name = cmGlobalVisualStudio71Generator::GetActualName();
-  entry.Brief = "Generates Visual Studio .NET 2003 project files.";
+  entry.Brief = "Deprecated. Generates Visual Studio .NET 2003 project files.";
 }

+ 17 - 0
Source/cmGlobalVisualStudio7Generator.cxx

@@ -335,6 +335,23 @@ void cmGlobalVisualStudio7Generator::Generate()
     {
     this->CallVisualStudioMacro(MacroReload);
     }
+
+  if (this->Version == VS71 &&
+      !this->CMakeInstance->GetIsInTryCompile())
+    {
+    const char* cmakeWarnVS71 =
+      this->CMakeInstance->GetState()->GetCacheEntryValue("CMAKE_WARN_VS71");
+    if (!cmakeWarnVS71 || !cmSystemTools::IsOff(cmakeWarnVS71))
+      {
+      this->CMakeInstance->IssueMessage(
+        cmake::WARNING,
+        "The \"Visual Studio 7 .NET 2003\" generator is deprecated "
+        "and will be removed in a future version of CMake."
+        "\n"
+        "Add CMAKE_WARN_VS71=OFF to the cache to disable this warning."
+        );
+      }
+    }
 }
 
 void cmGlobalVisualStudio7Generator

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


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

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

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


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

@@ -72,6 +72,13 @@ if(RunCMake_GENERATOR STREQUAL "Ninja")
   unset(RunCMake_TEST_NO_CLEAN)
 endif()
 
+if(RunCMake_GENERATOR STREQUAL "Visual Studio 7 .NET 2003")
+  set(RunCMake_WARN_VS71 1)
+  run_cmake(DeprecateVS71-WARN-ON)
+  unset(RunCMake_WARN_VS71)
+  run_cmake(DeprecateVS71-WARN-OFF)
+endif()
+
 if(UNIX)
   run_cmake_command(E_create_symlink-no-arg
     ${CMAKE_COMMAND} -E create_symlink

+ 3 - 0
Tests/RunCMake/RunCMake.cmake

@@ -51,6 +51,9 @@ function(run_cmake test)
   if(APPLE)
     list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW)
   endif()
+  if(RunCMake_GENERATOR STREQUAL "Visual Studio 7 .NET 2003" AND NOT RunCMake_WARN_VS71)
+    list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_WARN_VS71=OFF)
+  endif()
   if(RunCMake_MAKE_PROGRAM)
     list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}")
   endif()