Commit 81f9c9e8 authored by Brad King's avatar Brad King

Deprecate Visual Studio 8 2005 generator

Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
parent 294cf948
Visual Studio 8 2005
--------------------
Generates Visual Studio 8 2005 project files.
Deprecated. Generates Visual Studio 8 2005 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 8 2005 tools
using the :generator:`Visual Studio 10 2010` (or above) generator
with :variable:`CMAKE_GENERATOR_TOOLSET` set to ``v80``, or by
using the :generator:`NMake Makefiles` generator.
The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set
to specify a target platform name.
......
vs8-deprecate
-------------
* The :generator:`Visual Studio 8 2005` generator is now deprecated
and will be removed in a future version of CMake.
......@@ -293,6 +293,19 @@ void cmGlobalVisualStudio7Generator::Generate()
if (!cmSystemTools::GetErrorOccuredFlag()) {
this->CallVisualStudioMacro(MacroReload);
}
if (this->Version == VS8 && !this->CMakeInstance->GetIsInTryCompile()) {
const char* cmakeWarnVS8 =
this->CMakeInstance->GetState()->GetCacheEntryValue("CMAKE_WARN_VS8");
if (!cmakeWarnVS8 || !cmSystemTools::IsOff(cmakeWarnVS8)) {
this->CMakeInstance->IssueMessage(
cmake::WARNING,
"The \"Visual Studio 8 2005\" generator is deprecated "
"and will be removed in a future version of CMake."
"\n"
"Add CMAKE_WARN_VS8=OFF to the cache to disable this warning.");
}
}
}
void cmGlobalVisualStudio7Generator::OutputSLNFile(
......
......@@ -54,7 +54,7 @@ public:
void GetDocumentation(cmDocumentationEntry& entry) const CM_OVERRIDE
{
entry.Name = std::string(vs8generatorName) + " [arch]";
entry.Brief = "Generates Visual Studio 2005 project files. "
entry.Brief = "Deprecated. Generates Visual Studio 2005 project files. "
"Optional [arch] can be \"Win64\".";
}
......
^CMake Warning:
The "Visual Studio 8 2005" generator is deprecated and will be removed in a
future version of CMake.
Add CMAKE_WARN_VS8=OFF to the cache to disable this warning.$
......@@ -78,6 +78,13 @@ if(RunCMake_GENERATOR STREQUAL "Ninja")
unset(RunCMake_TEST_NO_CLEAN)
endif()
if(RunCMake_GENERATOR MATCHES "^Visual Studio 8 2005")
set(RunCMake_WARN_VS8 1)
run_cmake(DeprecateVS8-WARN-ON)
unset(RunCMake_WARN_VS8)
run_cmake(DeprecateVS8-WARN-OFF)
endif()
if(UNIX)
run_cmake_command(E_create_symlink-no-arg
${CMAKE_COMMAND} -E create_symlink
......
......@@ -51,6 +51,9 @@ function(run_cmake test)
if(APPLE)
list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW)
endif()
if(RunCMake_GENERATOR MATCHES "^Visual Studio 8 2005" AND NOT RunCMake_WARN_VS8)
list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_WARN_VS8=OFF)
endif()
if(RunCMake_MAKE_PROGRAM)
list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}")
endif()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment