summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-04-15 13:20:12 (GMT)
committerBrad King <brad.king@kitware.com>2015-04-15 13:21:24 (GMT)
commit7b8e7c4ac3885b9a58ce1c238b045d5580f83c27 (patch)
treefeb554e3ff6c30c748e5a66bc4650a12ea31cf04
parent85c2626babf40d704f133fe49506d25f0a674b5f (diff)
downloadCMake-7b8e7c4ac3885b9a58ce1c238b045d5580f83c27.zip
CMake-7b8e7c4ac3885b9a58ce1c238b045d5580f83c27.tar.gz
CMake-7b8e7c4ac3885b9a58ce1c238b045d5580f83c27.tar.bz2
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.
-rw-r--r--Help/generator/Visual Studio 7.rst8
-rw-r--r--Help/release/dev/vs70-deprecate.rst5
-rw-r--r--Source/cmGlobalVisualStudio7Generator.cxx19
-rw-r--r--Tests/RunCMake/CommandLine/DeprecateVS70-WARN-OFF.cmake0
-rw-r--r--Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON-stderr.txt5
-rw-r--r--Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON.cmake0
-rw-r--r--Tests/RunCMake/CommandLine/RunCMakeTest.cmake5
-rw-r--r--Tests/RunCMake/RunCMake.cmake3
8 files changed, 43 insertions, 2 deletions
diff --git a/Help/generator/Visual Studio 7.rst b/Help/generator/Visual Studio 7.rst
index d0eb719..eb426f4 100644
--- a/Help/generator/Visual Studio 7.rst
+++ b/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.
diff --git a/Help/release/dev/vs70-deprecate.rst b/Help/release/dev/vs70-deprecate.rst
new file mode 100644
index 0000000..fb94110
--- /dev/null
+++ b/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.
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 6a3a145..0d7dfd7 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/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.";
}
//----------------------------------------------------------------------------
diff --git a/Tests/RunCMake/CommandLine/DeprecateVS70-WARN-OFF.cmake b/Tests/RunCMake/CommandLine/DeprecateVS70-WARN-OFF.cmake
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/DeprecateVS70-WARN-OFF.cmake
diff --git a/Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON-stderr.txt b/Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON-stderr.txt
new file mode 100644
index 0000000..ea31ef3
--- /dev/null
+++ b/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.$
diff --git a/Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON.cmake b/Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON.cmake
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/DeprecateVS70-WARN-ON.cmake
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index 4242723..644e5ae 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/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)
diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake
index e5d3590..b24ae0b 100644
--- a/Tests/RunCMake/RunCMake.cmake
+++ b/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()