瀏覽代碼

Drop Visual Studio 9 2008 generator

This generator has been deprecated since CMake 3.27.  Remove it.
Brad King 1 年之前
父節點
當前提交
03c31b0395
共有 63 個文件被更改,包括 71 次插入496 次删除
  1. 1 1
      Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst
  2. 6 38
      Help/generator/Visual Studio 9 2008.rst
  3. 1 1
      Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst
  4. 1 1
      Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst
  5. 1 2
      Help/prop_sf/COMPILE_FLAGS.rst
  6. 1 2
      Help/prop_sf/COMPILE_OPTIONS.rst
  7. 1 1
      Help/prop_tgt/DEPLOYMENT_ADDITIONAL_FILES.rst
  8. 1 1
      Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst
  9. 1 2
      Help/prop_tgt/LINKER_TYPE.rst
  10. 1 4
      Help/prop_tgt/VS_GLOBAL_KEYWORD.rst
  11. 3 4
      Help/prop_tgt/VS_KEYWORD.rst
  12. 4 0
      Help/release/dev/remove-vs9-generator.rst
  13. 0 1
      Help/variable/CMAKE_CFG_INTDIR.rst
  14. 1 1
      Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst
  15. 1 1
      Help/variable/CMAKE_VS_DEVENV_COMMAND.rst
  16. 1 1
      Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst
  17. 0 5
      Modules/CheckIPOSupported.cmake
  18. 0 2
      Source/CMakeLists.txt
  19. 0 6
      Source/cmGlobalVisualStudio10Generator.cxx
  20. 0 20
      Source/cmGlobalVisualStudio7Generator.cxx
  21. 0 163
      Source/cmGlobalVisualStudio9Generator.cxx
  22. 0 43
      Source/cmGlobalVisualStudio9Generator.h
  23. 0 6
      Source/cmGlobalVisualStudioGenerator.cxx
  24. 0 1
      Source/cmGlobalVisualStudioGenerator.h
  25. 0 9
      Source/cmGlobalVisualStudioVersionedGenerator.cxx
  26. 2 12
      Source/cmLocalVisualStudio7Generator.cxx
  27. 8 18
      Source/cmVisualStudioGeneratorOptions.cxx
  28. 0 1
      Source/cmVisualStudioGeneratorOptions.h
  29. 1 14
      Source/cmake.cxx
  30. 1 1
      Tests/BuildDepends/CMakeLists.txt
  31. 4 12
      Tests/CMakeLists.txt
  32. 1 1
      Tests/CMakeOnly/CMakeLists.txt
  33. 2 4
      Tests/CompileOptions/CMakeLists.txt
  34. 2 2
      Tests/IncludeDirectories/CMakeLists.txt
  35. 2 4
      Tests/RunCMake/BuildDepends/RunCMakeTest.cmake
  36. 0 1
      Tests/RunCMake/CMP0069/CMP0069-NEW-generator-result.txt
  37. 0 6
      Tests/RunCMake/CMP0069/CMP0069-NEW-generator-stderr.txt
  38. 0 7
      Tests/RunCMake/CMP0069/CMP0069-NEW-generator.cmake
  39. 0 4
      Tests/RunCMake/CMP0069/RunCMakeTest.cmake
  40. 2 8
      Tests/RunCMake/CMakeLists.txt
  41. 7 9
      Tests/RunCMake/CMakePresets/RunCMakeTest.cmake
  42. 1 6
      Tests/RunCMake/CheckIPOSupported/RunCMakeTest.cmake
  43. 0 1
      Tests/RunCMake/CheckIPOSupported/not-supported-by-generator-result.txt
  44. 0 6
      Tests/RunCMake/CheckIPOSupported/not-supported-by-generator-stderr.txt
  45. 0 6
      Tests/RunCMake/CheckIPOSupported/not-supported-by-generator.cmake
  46. 0 0
      Tests/RunCMake/CommandLine/DeprecateVS9-WARN-OFF.cmake
  47. 0 5
      Tests/RunCMake/CommandLine/DeprecateVS9-WARN-ON-stderr.txt
  48. 0 0
      Tests/RunCMake/CommandLine/DeprecateVS9-WARN-ON.cmake
  49. 0 2
      Tests/RunCMake/CommandLine/Envgen-A-platform-stderr-vs9.txt
  50. 0 2
      Tests/RunCMake/CommandLine/Envgen-platform-invalid-stderr-vs9.txt
  51. 0 13
      Tests/RunCMake/CommandLine/RunCMakeTest.cmake
  52. 2 4
      Tests/RunCMake/ExternalProject/RunCMakeTest.cmake
  53. 2 2
      Tests/RunCMake/GeneratorPlatform/RunCMakeTest.cmake
  54. 1 4
      Tests/RunCMake/GoogleTest/RunCMakeTest.cmake
  55. 0 5
      Tests/RunCMake/LinkerSelection/RunCMakeTest.cmake
  56. 0 1
      Tests/RunCMake/LinkerSelection/UnsupportedLinkerType-result.txt
  57. 0 3
      Tests/RunCMake/LinkerSelection/UnsupportedLinkerType-stderr.txt
  58. 0 5
      Tests/RunCMake/LinkerSelection/UnsupportedLinkerType.cmake
  59. 1 2
      Tests/RunCMake/ParseImplicitLinkInfo/RunCMakeTest.cmake
  60. 4 6
      Tests/RunCMake/VSSolution/RunCMakeTest.cmake
  61. 1 1
      Tests/RunCMake/add_custom_command/RunCMakeTest.cmake
  62. 1 1
      Tests/RunCMake/cmake_host_system_information/RunCMakeTest.cmake
  63. 1 1
      Tests/RunCMake/include_external_msproject/RunCMakeTest.cmake

+ 1 - 1
Help/envvar/CMAKE_MSVCIDE_RUN_PATH.rst

@@ -4,7 +4,7 @@ CMAKE_MSVCIDE_RUN_PATH
 .. include:: ENV_VAR.txt
 
 Extra PATH locations for custom commands when using
-:generator:`Visual Studio 9 2008` (or above) generators.
+:generator:`Visual Studio 12 2013` (or above) generators.
 
 The ``CMAKE_MSVCIDE_RUN_PATH`` environment variable sets the default value for
 the :variable:`CMAKE_MSVCIDE_RUN_PATH` variable if not already explicitly set.

+ 6 - 38
Help/generator/Visual Studio 9 2008.rst

@@ -1,41 +1,9 @@
 Visual Studio 9 2008
 --------------------
 
-Deprecated.  Generates Visual Studio 9 2008 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 9 2008 tools
-  using the :generator:`Visual Studio 14 2015` generator (or above,
-  and with VS 10 2010 also installed) with
-  :variable:`CMAKE_GENERATOR_TOOLSET` set to ``v90``,
-  or by using the :generator:`NMake Makefiles` generator.
-
-Platform Selection
-^^^^^^^^^^^^^^^^^^
-
-The default target platform name (architecture) is ``Win32``.
-
-.. versionadded:: 3.1
-  The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
-  via the :option:`cmake -A` option, to specify a target platform
-  name (architecture).  For example:
-
-  * ``cmake -G "Visual Studio 9 2008" -A Win32``
-  * ``cmake -G "Visual Studio 9 2008" -A x64``
-  * ``cmake -G "Visual Studio 9 2008" -A Itanium``
-  * ``cmake -G "Visual Studio 9 2008" -A <WinCE-SDK>``
-    (Specify a target platform matching a Windows CE SDK name.)
-
-For compatibility with CMake versions prior to 3.1, one may specify
-a target platform name optionally at the end of the generator name.
-This is supported only for:
-
-``Visual Studio 9 2008 Win64``
-  Specify target platform ``x64``.
-
-``Visual Studio 9 2008 IA64``
-  Specify target platform ``Itanium``.
-
-``Visual Studio 9 2008 <WinCE-SDK>``
-  Specify target platform matching a Windows CE SDK name.
+Removed.  This once generated Visual Studio 9 2008 project files, but
+the generator has been removed since CMake 3.30.  It is still possible
+to build with VS 9 2008 tools using the :generator:`Visual Studio 14 2015`
+generator (or above, and with VS 10 2010 also installed) with
+:variable:`CMAKE_GENERATOR_TOOLSET` set to ``v90``, or by using
+the :generator:`NMake Makefiles` generator.

+ 1 - 1
Help/prop_dir/VS_GLOBAL_SECTION_POST_section.rst

@@ -17,7 +17,7 @@ pairs.  Each such pair will be transformed into an entry in the
 solution global section.  Whitespace around key and value is ignored.
 List elements which do not contain an equal sign are skipped.
 
-This property only works for Visual Studio 9 and above; it is ignored
+This property only works for Visual Studio 12 and above; it is ignored
 on other generators.  The property only applies when set on a
 directory whose ``CMakeLists.txt`` contains a :command:`project` command.
 

+ 1 - 1
Help/prop_dir/VS_GLOBAL_SECTION_PRE_section.rst

@@ -17,6 +17,6 @@ pairs.  Each such pair will be transformed into an entry in the
 solution global section.  Whitespace around key and value is ignored.
 List elements which do not contain an equal sign are skipped.
 
-This property only works for Visual Studio 9 and above; it is ignored
+This property only works for Visual Studio 12 and above; it is ignored
 on other generators.  The property only applies when set on a
 directory whose ``CMakeLists.txt`` contains a :command:`project` command.

+ 1 - 2
Help/prop_sf/COMPILE_FLAGS.rst

@@ -5,8 +5,7 @@ Additional flags to be added when compiling this source file.
 
 The ``COMPILE_FLAGS`` property, managed as a string, sets additional compiler
 flags used that will be added to the list of compile flags when this source
-file builds.  The flags will be added after target-wide flags (except in
-some cases not supported by the :generator:`Visual Studio 9 2008` generator).
+file builds.  The flags will be added after target-wide flags.
 
 Use :prop_sf:`COMPILE_DEFINITIONS` to pass additional preprocessor definitions.
 

+ 1 - 2
Help/prop_sf/COMPILE_OPTIONS.rst

@@ -7,8 +7,7 @@ List of additional options to pass to the compiler.
 
 This property holds a :ref:`semicolon-separated list <CMake Language Lists>`
 of options and will be added to the list of compile flags when this source
-file builds.  The options will be added after target-wide options (except in
-some cases not supported by the :generator:`Visual Studio 9 2008` generator).
+file builds.  The options will be added after target-wide options.
 
 Contents of ``COMPILE_OPTIONS`` may use "generator expressions" with the
 syntax ``$<...>``.  See the :manual:`cmake-generator-expressions(7)` manual

+ 1 - 1
Help/prop_tgt/DEPLOYMENT_ADDITIONAL_FILES.rst

@@ -4,7 +4,7 @@ DEPLOYMENT_ADDITIONAL_FILES
 .. versionadded:: 3.13
 
 Set the WinCE project ``AdditionalFiles`` in ``DeploymentTool`` in ``.vcproj``
-files generated by the :generator:`Visual Studio 9 2008` generator.
+files generated by the :ref:`Visual Studio Generators`.
 This is useful when you want to debug on remote WinCE device.
 Specify additional files that will be copied to the device.
 For example:

+ 1 - 1
Help/prop_tgt/DEPLOYMENT_REMOTE_DIRECTORY.rst

@@ -5,7 +5,7 @@ DEPLOYMENT_REMOTE_DIRECTORY
 
 Set the WinCE project ``RemoteDirectory`` in ``DeploymentTool`` and
 ``RemoteExecutable`` in ``DebuggerTool`` in ``.vcproj`` files generated
-by the :generator:`Visual Studio 9 2008` generator.
+by the :ref:`Visual Studio Generators`.
 This is useful when you want to debug on remote WinCE device.
 For example:
 

+ 1 - 2
Help/prop_tgt/LINKER_TYPE.rst

@@ -8,8 +8,7 @@ Specify which linker will be used for the link step. The property value may use
 
 .. include:: ../variable/LINKER_PREDEFINED_TYPES.txt
 
-This property is not supported on :generator:`Green Hills MULTI` and
-:generator:`Visual Studio 9 2008` generators.
+This property is not supported on :generator:`Green Hills MULTI` generator.
 
 The implementation details for the selected linker will be provided by the
 :variable:`CMAKE_<LANG>_USING_LINKER_<TYPE>` variable. For example:

+ 1 - 4
Help/prop_tgt/VS_GLOBAL_KEYWORD.rst

@@ -1,12 +1,9 @@
 VS_GLOBAL_KEYWORD
 -----------------
 
-Visual Studio project keyword for VS 10 (2010) and newer.
+Visual Studio project keyword.
 
 Sets the "keyword" attribute for a generated Visual Studio project.
 Defaults to "Win32Proj".  You may wish to override this value with
 "ManagedCProj", for example, in a Visual Studio managed C++ unit test
 project.
-
-Use the :prop_tgt:`VS_KEYWORD` target property to set the
-keyword for Visual Studio 9 (2008) and older.

+ 3 - 4
Help/prop_tgt/VS_KEYWORD.rst

@@ -1,10 +1,9 @@
 VS_KEYWORD
 ----------
 
-Visual Studio project keyword for VS 9 (2008) and older.
-
-Can be set to change the visual studio keyword, for example Qt
-integration works better if this is set to Qt4VSv1.0.
+Removed.  This once specified the Visual Studio project keyword
+for the :generator:`Visual Studio 9 2008` generator, and older,
+but all of those generators have been removed.
 
 Use the :prop_tgt:`VS_GLOBAL_KEYWORD` target property to set the
 keyword for Visual Studio 12 (2013) and newer.

+ 4 - 0
Help/release/dev/remove-vs9-generator.rst

@@ -0,0 +1,4 @@
+remove-vs9-generator
+--------------------
+
+* The :generator:`Visual Studio 9 2008` generator has been removed.

+ 0 - 1
Help/variable/CMAKE_CFG_INTDIR.rst

@@ -18,7 +18,6 @@ Example values:
 
 ::
 
-  $(ConfigurationName) = Visual Studio 9
   $(Configuration)     = Visual Studio 12 and above
   $(CONFIGURATION)     = Xcode
   .                    = Make-based tools

+ 1 - 1
Help/variable/CMAKE_MSVCIDE_RUN_PATH.rst

@@ -5,7 +5,7 @@ CMAKE_MSVCIDE_RUN_PATH
 
 Extra PATH locations that should be used when executing
 :command:`add_custom_command` or :command:`add_custom_target` when using the
-:generator:`Visual Studio 9 2008` (or above) generator. This allows
+:generator:`Visual Studio 12 2013` (or above) generator. This allows
 for running commands and using dll's that the IDE environment is not aware of.
 
 If not set explicitly the value is initialized by the ``CMAKE_MSVCIDE_RUN_PATH``

+ 1 - 1
Help/variable/CMAKE_VS_DEVENV_COMMAND.rst

@@ -1,7 +1,7 @@
 CMAKE_VS_DEVENV_COMMAND
 -----------------------
 
-The generators for :generator:`Visual Studio 9 2008` and above set this
+The generators for :generator:`Visual Studio 12 2013` and above set this
 variable to the ``devenv.com`` command installed with the corresponding
 Visual Studio version.  Note that this variable may be empty on
 Visual Studio Express editions because they do not provide this tool.

+ 1 - 1
Help/variable/CMAKE_VS_INTEL_Fortran_PROJECT_VERSION.rst

@@ -1,7 +1,7 @@
 CMAKE_VS_INTEL_Fortran_PROJECT_VERSION
 --------------------------------------
 
-When generating for :generator:`Visual Studio 9 2008` or greater with the Intel
+When generating for :generator:`Visual Studio 12 2013` or greater with the Intel
 Fortran plugin installed, this specifies the ``.vfproj`` project file format
 version.  This is intended for internal use by CMake and should not be
 used by project code.

+ 0 - 5
Modules/CheckIPOSupported.cmake

@@ -257,11 +257,6 @@ function(check_ipo_supported)
     endif()
   endforeach()
 
-  if(CMAKE_GENERATOR MATCHES "^Visual Studio 9 ")
-    _ipo_not_supported("CMake doesn't support IPO for current generator")
-    return()
-  endif()
-
   foreach(x ${languages})
     _ipo_run_language_check(${x})
   endforeach()

+ 0 - 2
Source/CMakeLists.txt

@@ -886,8 +886,6 @@ if(WIN32)
         cmGlobalVisualStudio7Generator.h
         cmGlobalVisualStudio8Generator.cxx
         cmGlobalVisualStudio8Generator.h
-        cmGlobalVisualStudio9Generator.cxx
-        cmGlobalVisualStudio9Generator.h
         cmVisualStudioGeneratorOptions.h
         cmVisualStudioGeneratorOptions.cxx
         cmVsProjectType.h

+ 0 - 6
Source/cmGlobalVisualStudio10Generator.cxx

@@ -1275,12 +1275,6 @@ std::string cmGlobalVisualStudio10Generator::Encoding()
 const char* cmGlobalVisualStudio10Generator::GetToolsVersion() const
 {
   switch (this->Version) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
-      return "4.0";
-
-      // in Visual Studio 2013 they detached the MSBuild tools version
-      // from the .Net Framework version and instead made it have it's own
-      // version number
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
       return "12.0";
     case cmGlobalVisualStudioGenerator::VSVersion::VS14:

+ 0 - 20
Source/cmGlobalVisualStudio7Generator.cxx

@@ -310,26 +310,6 @@ void cmGlobalVisualStudio7Generator::Generate()
                                 GetSLNFile(this->LocalGenerators[0].get()));
   }
 
-  if (this->Version == VSVersion::VS9 &&
-      !this->CMakeInstance->GetIsInTryCompile()) {
-    std::string cmakeWarnVS9;
-    if (cmValue cached = this->CMakeInstance->GetState()->GetCacheEntryValue(
-          "CMAKE_WARN_VS9")) {
-      this->CMakeInstance->MarkCliAsUsed("CMAKE_WARN_VS9");
-      cmakeWarnVS9 = *cached;
-    } else {
-      cmSystemTools::GetEnv("CMAKE_WARN_VS9", cmakeWarnVS9);
-    }
-    if (cmakeWarnVS9.empty() || !cmIsOff(cmakeWarnVS9)) {
-      this->CMakeInstance->IssueMessage(
-        MessageType::WARNING,
-        "The \"Visual Studio 9 2008\" generator is deprecated "
-        "and will be removed in a future version of CMake."
-        "\n"
-        "Add CMAKE_WARN_VS9=OFF to the cache to disable this warning.");
-    }
-  }
-
   if (this->Version == VSVersion::VS12 &&
       !this->CMakeInstance->GetIsInTryCompile()) {
     std::string cmakeWarnVS12;

+ 0 - 163
Source/cmGlobalVisualStudio9Generator.cxx

@@ -1,163 +0,0 @@
-/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-   file Copyright.txt or https://cmake.org/licensing for details.  */
-#include "cmGlobalVisualStudio9Generator.h"
-
-#include <cstring>
-#include <utility>
-#include <vector>
-
-#include "cmGlobalGenerator.h"
-#include "cmGlobalGeneratorFactory.h"
-#include "cmGlobalVisualStudioGenerator.h"
-#include "cmStringAlgorithms.h"
-#include "cmSystemTools.h"
-#include "cmVisualStudioWCEPlatformParser.h"
-
-class cmake;
-
-static const char vs9generatorName[] = "Visual Studio 9 2008";
-
-class cmGlobalVisualStudio9Generator::Factory : public cmGlobalGeneratorFactory
-{
-public:
-  std::unique_ptr<cmGlobalGenerator> CreateGlobalGenerator(
-    const std::string& name, bool allowArch, cmake* cm) const override
-  {
-    if (strncmp(name.c_str(), vs9generatorName,
-                sizeof(vs9generatorName) - 1) != 0) {
-      return std::unique_ptr<cmGlobalGenerator>();
-    }
-
-    const char* p = name.c_str() + sizeof(vs9generatorName) - 1;
-    if (p[0] == '\0') {
-      return std::unique_ptr<cmGlobalGenerator>(
-        new cmGlobalVisualStudio9Generator(cm, name, ""));
-    }
-
-    if (!allowArch || p[0] != ' ') {
-      return std::unique_ptr<cmGlobalGenerator>();
-    }
-
-    ++p;
-
-    if (!strcmp(p, "IA64")) {
-      return std::unique_ptr<cmGlobalGenerator>(
-        new cmGlobalVisualStudio9Generator(cm, name, "Itanium"));
-    }
-
-    if (!strcmp(p, "Win64")) {
-      return std::unique_ptr<cmGlobalGenerator>(
-        new cmGlobalVisualStudio9Generator(cm, name, "x64"));
-    }
-
-    cmVisualStudioWCEPlatformParser parser(p);
-    parser.ParseVersion("9.0");
-    if (!parser.Found()) {
-      return std::unique_ptr<cmGlobalGenerator>();
-    }
-
-    auto ret = std::unique_ptr<cmGlobalVisualStudio9Generator>(
-      new cmGlobalVisualStudio9Generator(cm, name, p));
-    ret->WindowsCEVersion = parser.GetOSVersion();
-    return std::unique_ptr<cmGlobalGenerator>(std::move(ret));
-  }
-
-  cmDocumentationEntry GetDocumentation() const override
-  {
-    return { cmStrCat(vs9generatorName, " [arch]"),
-             "Deprecated.  Generates Visual Studio 2008 project files.  "
-             "Optional [arch] can be \"Win64\" or \"IA64\"." };
-  }
-
-  std::vector<std::string> GetGeneratorNames() const override
-  {
-    std::vector<std::string> names;
-    names.emplace_back(vs9generatorName);
-    return names;
-  }
-
-  std::vector<std::string> GetGeneratorNamesWithPlatform() const override
-  {
-    std::vector<std::string> names;
-    names.emplace_back(cmStrCat(vs9generatorName, " Win64"));
-    names.emplace_back(cmStrCat(vs9generatorName, " IA64"));
-    cmVisualStudioWCEPlatformParser parser;
-    parser.ParseVersion("9.0");
-    const std::vector<std::string>& availablePlatforms =
-      parser.GetAvailablePlatforms();
-    for (std::string const& i : availablePlatforms) {
-      names.emplace_back(cmStrCat("Visual Studio 9 2008 ", i));
-    }
-    return names;
-  }
-
-  bool SupportsToolset() const override { return false; }
-  bool SupportsPlatform() const override { return true; }
-
-  std::vector<std::string> GetKnownPlatforms() const override
-  {
-    std::vector<std::string> platforms;
-    platforms.emplace_back("x64");
-    platforms.emplace_back("Win32");
-    platforms.emplace_back("Itanium");
-    cmVisualStudioWCEPlatformParser parser;
-    parser.ParseVersion("9.0");
-    const std::vector<std::string>& availablePlatforms =
-      parser.GetAvailablePlatforms();
-    for (std::string const& i : availablePlatforms) {
-      platforms.emplace_back(i);
-    }
-    return platforms;
-  }
-
-  std::string GetDefaultPlatformName() const override { return "Win32"; }
-};
-
-std::unique_ptr<cmGlobalGeneratorFactory>
-cmGlobalVisualStudio9Generator::NewFactory()
-{
-  return std::unique_ptr<cmGlobalGeneratorFactory>(new Factory);
-}
-
-cmGlobalVisualStudio9Generator::cmGlobalVisualStudio9Generator(
-  cmake* cm, const std::string& name,
-  std::string const& platformInGeneratorName)
-  : cmGlobalVisualStudio8Generator(cm, name, platformInGeneratorName)
-{
-  this->Version = VSVersion::VS9;
-  std::string vc9Express;
-  this->ExpressEdition = cmSystemTools::ReadRegistryValue(
-    "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0\\Setup\\VC;"
-    "ProductDir",
-    vc9Express, cmSystemTools::KeyWOW64_32);
-}
-
-std::string cmGlobalVisualStudio9Generator::GetUserMacrosDirectory()
-{
-  std::string base;
-  std::string path;
-
-  // base begins with the VisualStudioProjectsLocation reg value...
-  if (cmSystemTools::ReadRegistryValue(
-        "HKEY_CURRENT_USER\\Software\\Microsoft\\VisualStudio\\9.0;"
-        "VisualStudioProjectsLocation",
-        base)) {
-    cmSystemTools::ConvertToUnixSlashes(base);
-
-    // 9.0 macros folder:
-    path = cmStrCat(base, "/VSMacros80");
-    // *NOT* a typo; right now in Visual Studio 2008 beta the macros
-    // folder is VSMacros80... They may change it to 90 before final
-    // release of 2008 or they may not... we'll have to keep our eyes
-    // on it
-  }
-
-  // path is (correctly) still empty if we did not read the base value from
-  // the Registry value
-  return path;
-}
-
-std::string cmGlobalVisualStudio9Generator::GetUserMacrosRegKeyBase()
-{
-  return R"(Software\Microsoft\VisualStudio\9.0\vsmacros)";
-}

+ 0 - 43
Source/cmGlobalVisualStudio9Generator.h

@@ -1,43 +0,0 @@
-/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-   file Copyright.txt or https://cmake.org/licensing for details.  */
-#pragma once
-
-#include <memory>
-#include <string>
-
-#include "cmGlobalVisualStudio8Generator.h"
-
-class cmGlobalGeneratorFactory;
-class cmake;
-
-/** \class cmGlobalVisualStudio9Generator
- * \brief Write a Unix makefiles.
- *
- * cmGlobalVisualStudio9Generator manages UNIX build process for a tree
- */
-class cmGlobalVisualStudio9Generator : public cmGlobalVisualStudio8Generator
-{
-public:
-  static std::unique_ptr<cmGlobalGeneratorFactory> NewFactory();
-
-  /**
-   * Where does this version of Visual Studio look for macros for the
-   * current user? Returns the empty string if this version of Visual
-   * Studio does not implement support for VB macros.
-   */
-  std::string GetUserMacrosDirectory() override;
-
-  /**
-   * What is the reg key path to "vsmacros" for this version of Visual
-   * Studio?
-   */
-  std::string GetUserMacrosRegKeyBase() override;
-
-protected:
-  cmGlobalVisualStudio9Generator(cmake* cm, const std::string& name,
-                                 std::string const& platformInGeneratorName);
-
-private:
-  class Factory;
-  friend class Factory;
-};

+ 0 - 6
Source/cmGlobalVisualStudioGenerator.cxx

@@ -104,8 +104,6 @@ std::string const& cmGlobalVisualStudioGenerator::GetPlatformName() const
 const char* cmGlobalVisualStudioGenerator::GetIDEVersion() const
 {
   switch (this->Version) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
-      return "9.0";
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
       return "12.0";
     case cmGlobalVisualStudioGenerator::VSVersion::VS14:
@@ -127,10 +125,6 @@ void cmGlobalVisualStudioGenerator::WriteSLNHeader(std::ostream& fout)
   fout << '\n';
 
   switch (this->Version) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
-      fout << "Microsoft Visual Studio Solution File, Format Version 10.00\n";
-      fout << "# Visual Studio 2008\n";
-      break;
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
       fout << "Microsoft Visual Studio Solution File, Format Version 12.00\n";
       if (this->ExpressEdition) {

+ 0 - 1
Source/cmGlobalVisualStudioGenerator.h

@@ -34,7 +34,6 @@ public:
   /** Known versions of Visual Studio.  */
   enum class VSVersion : uint16_t
   {
-    VS9 = 90,
     VS12 = 120,
     /* VS13 = 130 was skipped */
     VS14 = 140,

+ 0 - 9
Source/cmGlobalVisualStudioVersionedGenerator.cxx

@@ -125,8 +125,6 @@ static unsigned int VSVersionToMajor(
   cmGlobalVisualStudioGenerator::VSVersion v)
 {
   switch (v) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
-      return 9;
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
       return 12;
     case cmGlobalVisualStudioGenerator::VSVersion::VS14:
@@ -145,8 +143,6 @@ static const char* VSVersionToToolset(
   cmGlobalVisualStudioGenerator::VSVersion v)
 {
   switch (v) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
-      return "v90";
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
       return "v120";
     case cmGlobalVisualStudioGenerator::VSVersion::VS14:
@@ -165,8 +161,6 @@ static std::string VSVersionToMajorString(
   cmGlobalVisualStudioGenerator::VSVersion v)
 {
   switch (v) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
-      return "9";
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
       return "12";
     case cmGlobalVisualStudioGenerator::VSVersion::VS14:
@@ -185,7 +179,6 @@ static const char* VSVersionToAndroidToolset(
   cmGlobalVisualStudioGenerator::VSVersion v)
 {
   switch (v) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
       return "";
     case cmGlobalVisualStudioGenerator::VSVersion::VS14:
@@ -485,7 +478,6 @@ bool cmGlobalVisualStudioVersionedGenerator::MatchesGeneratorName(
 {
   std::string genName;
   switch (this->Version) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
     case cmGlobalVisualStudioGenerator::VSVersion::VS14:
       break;
@@ -752,7 +744,6 @@ cmGlobalVisualStudioVersionedGenerator::GetAndroidApplicationTypeRevision()
   const
 {
   switch (this->Version) {
-    case cmGlobalVisualStudioGenerator::VSVersion::VS9:
     case cmGlobalVisualStudioGenerator::VSVersion::VS12:
       return "";
     case cmGlobalVisualStudioGenerator::VSVersion::VS14:

+ 2 - 12
Source/cmLocalVisualStudio7Generator.cxx

@@ -1133,12 +1133,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(
         fout << "\t\t\t\tGenerateDebugInformation=\"true\"\n";
       }
       if (this->WindowsCEProject) {
-        if (this->GetVersion() <
-            cmGlobalVisualStudioGenerator::VSVersion::VS9) {
-          fout << "\t\t\t\tSubSystem=\"9\"\n";
-        } else {
-          fout << "\t\t\t\tSubSystem=\"8\"\n";
-        }
+        fout << "\t\t\t\tSubSystem=\"8\"\n";
       }
       std::string stackVar = cmStrCat("CMAKE_", linkLanguage, "_STACK_SIZE");
       cmValue stackVal = this->Makefile->GetDefinition(stackVar);
@@ -1221,12 +1216,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(
         fout << "\t\t\t\tGenerateDebugInformation=\"true\"\n";
       }
       if (this->WindowsCEProject) {
-        if (this->GetVersion() <
-            cmGlobalVisualStudioGenerator::VSVersion::VS9) {
-          fout << "\t\t\t\tSubSystem=\"9\"\n";
-        } else {
-          fout << "\t\t\t\tSubSystem=\"8\"\n";
-        }
+        fout << "\t\t\t\tSubSystem=\"8\"\n";
 
         if (!linkOptions.GetFlag("EntryPointSymbol")) {
           const char* entryPointSymbol = targetOptions.UsingUnicode()

+ 8 - 18
Source/cmVisualStudioGeneratorOptions.cxx

@@ -26,7 +26,6 @@ cmVisualStudioGeneratorOptions::cmVisualStudioGeneratorOptions(
   cmVS7FlagTable const* extraTable)
   : cmIDEOptions()
   , LocalGenerator(lg)
-  , Version(lg->GetVersion())
   , CurrentTool(tool)
 {
   // Store the given flag tables.
@@ -75,8 +74,7 @@ void cmVisualStudioGeneratorOptions::FixExceptionHandlingDefault()
   // initialization to off, but the user has the option of removing
   // the flag to disable exception handling.  When the user does
   // remove the flag we need to override the IDE default of on.
-  if (this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9 &&
-      !this->LocalGenerator->IsVFProj()) {
+  if (!this->LocalGenerator->IsVFProj()) {
     // by default VS puts <ExceptionHandling></ExceptionHandling> empty
     // for a project, to make our projects look the same put a new line
     // and space over for the closing </ExceptionHandling> as the default
@@ -94,15 +92,12 @@ void cmVisualStudioGeneratorOptions::SetVerboseMakefile(bool verbose)
   // to the generated project to disable logo suppression.  Otherwise
   // the GUI default is to enable suppression.
   //
-  // On Visual Studio 9, the value of this attribute should be
+  // In '.vfproj' files, the value of this attribute should be
   // "FALSE", instead of an empty string.
   if (verbose &&
       this->FlagMap.find("SuppressStartupBanner") == this->FlagMap.end()) {
     this->FlagMap["SuppressStartupBanner"] =
-      this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9 &&
-        !this->LocalGenerator->IsVFProj()
-      ? ""
-      : "FALSE";
+      !this->LocalGenerator->IsVFProj() ? "" : "FALSE";
   }
 }
 
@@ -369,15 +364,13 @@ void cmVisualStudioGeneratorOptions::OutputPreprocessorDefinitions(
   }
 
   std::ostringstream oss;
-  if (this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9 &&
-      !this->LocalGenerator->IsVFProj()) {
+  if (!this->LocalGenerator->IsVFProj()) {
     oss << "%(" << tag << ')';
   }
   auto de = cmRemoveDuplicates(this->Defines);
   for (std::string const& di : cmMakeRange(this->Defines.cbegin(), de)) {
     std::string define;
-    if (this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9 &&
-        !this->LocalGenerator->IsVFProj()) {
+    if (!this->LocalGenerator->IsVFProj()) {
       // Escape the definition for MSBuild.
       define = di;
       cmVS10EscapeForMSBuild(define);
@@ -424,8 +417,7 @@ void cmVisualStudioGeneratorOptions::OutputAdditionalIncludeDirectories(
     }
 
     // Escape this include for the MSBuild.
-    if (this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9 &&
-        !this->LocalGenerator->IsVFProj()) {
+    if (!this->LocalGenerator->IsVFProj()) {
       cmVS10EscapeForMSBuild(include);
     }
     oss << sep << include;
@@ -437,8 +429,7 @@ void cmVisualStudioGeneratorOptions::OutputAdditionalIncludeDirectories(
     }
   }
 
-  if (this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9 &&
-      !this->LocalGenerator->IsVFProj()) {
+  if (!this->LocalGenerator->IsVFProj()) {
     oss << sep << "%(" << tag << ')';
   }
 
@@ -452,8 +443,7 @@ void cmVisualStudioGeneratorOptions::OutputFlagMap(std::ostream& fout,
     std::ostringstream oss;
     const char* sep = "";
     for (std::string i : m.second) {
-      if (this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9 &&
-          !this->LocalGenerator->IsVFProj()) {
+      if (!this->LocalGenerator->IsVFProj()) {
         cmVS10EscapeForMSBuild(i);
       }
       oss << sep << i;

+ 0 - 1
Source/cmVisualStudioGeneratorOptions.h

@@ -87,7 +87,6 @@ protected:
 
 private:
   cmLocalVisualStudioGenerator* LocalGenerator;
-  cmGlobalVisualStudioGenerator::VSVersion Version;
 
   std::string Configuration;
   Tool CurrentTool;

+ 1 - 14
Source/cmake.cxx

@@ -97,7 +97,6 @@
 #    include "cmGlobalNMakeMakefileGenerator.h"
 #    include "cmGlobalVisualStudio12Generator.h"
 #    include "cmGlobalVisualStudio14Generator.h"
-#    include "cmGlobalVisualStudio9Generator.h"
 #    include "cmGlobalVisualStudioVersionedGenerator.h"
 #    include "cmVSSetupHelper.h"
 
@@ -2636,7 +2635,6 @@ std::unique_ptr<cmGlobalGenerator> cmake::EvaluateDefaultGlobalGenerator()
   static VSVersionedGenerator const vsGenerators[] = {
     { "14.0", "Visual Studio 14 2015" }, //
     { "12.0", "Visual Studio 12 2013" }, //
-    { "9.0", "Visual Studio 9 2008" }
   };
   static const char* const vsEntries[] = {
     "\\Setup\\VC;ProductDir", //
@@ -3021,7 +3019,6 @@ void cmake::AddDefaultGenerators()
     cmGlobalVisualStudioVersionedGenerator::NewFactory15());
   this->Generators.push_back(cmGlobalVisualStudio14Generator::NewFactory());
   this->Generators.push_back(cmGlobalVisualStudio12Generator::NewFactory());
-  this->Generators.push_back(cmGlobalVisualStudio9Generator::NewFactory());
   this->Generators.push_back(cmGlobalBorlandMakefileGenerator::NewFactory());
   this->Generators.push_back(cmGlobalNMakeMakefileGenerator::NewFactory());
   this->Generators.push_back(cmGlobalJOMMakefileGenerator::NewFactory());
@@ -3781,22 +3778,12 @@ int cmake::Build(int jobs, std::string dir, std::vector<std::string> targets,
   // itself, there is the risk of building an out-of-date solution file due
   // to limitations of the underlying build system.
   std::string const stampList = cachePath + "/" + "CMakeFiles/" +
-    cmGlobalVisualStudio9Generator::GetGenerateStampList();
+    cmGlobalVisualStudio12Generator::GetGenerateStampList();
 
   // Note that the stampList file only exists for VS generators.
   if (cmSystemTools::FileExists(stampList)) {
 
-    // Check if running for Visual Studio 9 - we need to explicitly run
-    // the glob verification script before starting the build
     this->AddScriptingCommands();
-    if (this->GlobalGenerator->MatchesGeneratorName("Visual Studio 9 2008")) {
-      std::string const globVerifyScript =
-        cachePath + "/" + "CMakeFiles/" + "VerifyGlobs.cmake";
-      if (cmSystemTools::FileExists(globVerifyScript)) {
-        std::vector<std::string> args;
-        this->ReadListFile(args, globVerifyScript);
-      }
-    }
 
     if (!cmakeCheckStampList(stampList)) {
       // Correctly initialize the home (=source) and home output (=binary)

+ 1 - 1
Tests/BuildDepends/CMakeLists.txt

@@ -42,7 +42,7 @@ list(APPEND _cmake_options "-DTEST_LINK_DEPENDS=${TEST_LINK_DEPENDS}")
 
 list(APPEND _cmake_options "-DCMAKE_FORCE_DEPFILES=1")
 
-if(NOT CMAKE_GENERATOR MATCHES "Visual Studio ([^9]|9[0-9])")
+if(NOT CMAKE_GENERATOR MATCHES "Visual Studio")
   set(TEST_MULTI3 1)
   list(APPEND _cmake_options "-DTEST_MULTI3=1")
 endif()

+ 4 - 12
Tests/CMakeLists.txt

@@ -40,9 +40,7 @@ set(ENV{HOME} \"${TEST_HOME}\")
 endif()
 
 # Suppress generator deprecation warnings in test suite.
-if(CMAKE_GENERATOR MATCHES "^Visual Studio 9 2008")
-  set(TEST_WARN_VS_CODE "set(ENV{CMAKE_WARN_VS9} OFF)")
-elseif(CMAKE_GENERATOR MATCHES "^Visual Studio 12 2013")
+if(CMAKE_GENERATOR MATCHES "^Visual Studio 12 2013")
   set(TEST_WARN_VS_CODE "set(ENV{CMAKE_WARN_VS12} OFF)")
 else()
   set(TEST_WARN_VS_CODE "")
@@ -74,9 +72,6 @@ if(BUILD_TESTING)
   set(CMake_TEST_DEVENV "")
   if(CMAKE_VS_DEVENV_COMMAND)
     set(CMake_TEST_DEVENV "${CMAKE_VS_DEVENV_COMMAND}")
-  elseif(CMAKE_GENERATOR MATCHES "Visual Studio 9 " AND
-      NOT CMAKE_MAKE_PROGRAM MATCHES "[mM][sS][bB][uU][iI][lL][dD]\\.[eE][xX][eE]")
-    set(CMake_TEST_DEVENV "${CMAKE_MAKE_PROGRAM}")
   endif()
 
   if(CMAKE_GENERATOR MATCHES "Visual Studio|Xcode")
@@ -472,7 +467,7 @@ if(BUILD_TESTING)
     add_subdirectory(ObjCXX)
   endif()
 
-  if(${CMAKE_GENERATOR} MATCHES "Visual Studio ([^9]|[9][0-9])")
+  if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
     ADD_TEST_MACRO(CSharpOnly CSharpOnly)
     if(NOT CMAKE_VS_PLATFORM_NAME STREQUAL "ARM64")
       ADD_TEST_MACRO(CSharpLinkToCxx CSharpLinkToCxx)
@@ -2209,8 +2204,6 @@ if(BUILD_TESTING)
   endif()
 
   if(MSVC AND NOT MSVC_VERSION LESS 1310
-     AND (NOT CMAKE_GENERATOR MATCHES "Visual Studio 9 "
-          OR CMAKE_SIZEOF_VOID_P EQUAL 4)
      AND (NOT CMAKE_C_COMPILER_ARCHITECTURE_ID STREQUAL "ARM64")
       )
     ADD_TEST_MACRO(VSMASM VSMASM)
@@ -2221,8 +2214,7 @@ if(BUILD_TESTING)
       ADD_TEST_MACRO(SBCS SBCS)
     endif()
 
-    if(NOT "${CMAKE_GENERATOR}" MATCHES "Visual Studio 9 "
-        AND NOT CMAKE_GENERATOR_TOOLSET STREQUAL "v90"
+    if(NOT CMAKE_GENERATOR_TOOLSET STREQUAL "v90"
         AND NOT CMAKE_VS_PLATFORM_NAME STREQUAL "ARM64")
       ADD_TEST_MACRO(VSWindowsFormsResx VSWindowsFormsResx)
       ADD_TEST_MACRO(VSManagedCustomCommand)
@@ -2373,7 +2365,7 @@ if(BUILD_TESTING)
     endif()
   endif()
 
-  if(CMAKE_GENERATOR MATCHES "Visual Studio ([^9]|9[0-9])" AND nasm)
+  if(CMAKE_GENERATOR MATCHES "Visual Studio" AND nasm)
     ADD_TEST_MACRO(VSNASM VSNASM)
   endif()
 

+ 1 - 1
Tests/CMakeOnly/CMakeLists.txt

@@ -54,7 +54,7 @@ if(CMAKE_Fortran_COMPILER)
   add_CMakeOnly_test(CompilerIdFortran)
   set_property(TEST CMakeOnly.CompilerIdFortran APPEND PROPERTY LABELS "Fortran")
 endif()
-if(CMAKE_GENERATOR MATCHES "Visual Studio ([^9]|9[0-9])")
+if(CMAKE_GENERATOR MATCHES "Visual Studio")
   add_CMakeOnly_test(CompilerIdCSharp)
 endif()
 

+ 2 - 4
Tests/CompileOptions/CMakeLists.txt

@@ -74,10 +74,8 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|LCC|AppleClang|MSVC)$")
   endif()
   set_property(TARGET CompileOptions APPEND PROPERTY COMPILE_OPTIONS "-DFLAG_B=2" "-DFLAG_C=2" "-DFLAG_D=1")
   set_property(TARGET testlib APPEND PROPERTY INTERFACE_COMPILE_OPTIONS "-DFLAG_D=2")
-  if(NOT CMAKE_GENERATOR MATCHES "^Visual Studio 9")
-    set_property(TARGET testlib APPEND PROPERTY INTERFACE_COMPILE_OPTIONS "-DFLAG_E=1")
-    set_property(SOURCE main.cpp PROPERTY COMPILE_OPTIONS "-DFLAG_E=2")
-  endif()
+  set_property(TARGET testlib APPEND PROPERTY INTERFACE_COMPILE_OPTIONS "-DFLAG_E=1")
+  set_property(SOURCE main.cpp PROPERTY COMPILE_OPTIONS "-DFLAG_E=2")
 endif()
 
 target_link_libraries(CompileOptions testlib)

+ 2 - 2
Tests/IncludeDirectories/CMakeLists.txt

@@ -98,8 +98,8 @@ if(NOT CMAKE_GENERATOR MATCHES "(Borland|NMake) Makefiles")
   # NMake and Borland seem to have no way to encode a single '^'.
   string(APPEND special_chars "^")
 endif()
-if(NOT CMAKE_GENERATOR MATCHES "Visual Studio 9 2008|Watcom WMake")
-  # The vcproj format separates values with ','.
+if(NOT CMAKE_GENERATOR MATCHES "Watcom WMake")
+  # The wmake format does not support ','.
   string(APPEND special_chars ",")
 endif()
 if(NOT WIN32 AND NOT CYGWIN)

+ 2 - 4
Tests/RunCMake/BuildDepends/RunCMakeTest.cmake

@@ -180,8 +180,7 @@ if (RunCMake_GENERATOR MATCHES "Makefiles")
   unset(RunCMake_TEST_NO_CLEAN)
 endif()
 
-if(RunCMake_GENERATOR MATCHES "Make|Ninja|Visual Studio|Xcode" AND
-    NOT RunCMake_GENERATOR MATCHES "Visual Studio (9|10)( |$)")
+if(RunCMake_GENERATOR MATCHES "Make|Ninja|Visual Studio|Xcode")
   unset(run_BuildDepends_skip_step_3)
   run_BuildDepends(CustomCommandDepfile)
   set(run_BuildDepends_skip_step_3 1)
@@ -191,8 +190,7 @@ if(RunCMake_GENERATOR MATCHES "Make")
   run_BuildDepends(MakeDependencies)
 endif()
 
-if(RunCMake_GENERATOR MATCHES "^Visual Studio 9 " OR
-   (RunCMake_GENERATOR MATCHES "Ninja" AND ninja_version VERSION_LESS 1.7))
+if(RunCMake_GENERATOR MATCHES "Ninja" AND ninja_version VERSION_LESS 1.7)
   # This build tool misses the dependency.
   set(run_BuildDepends_skip_step_2 1)
 endif()

+ 0 - 1
Tests/RunCMake/CMP0069/CMP0069-NEW-generator-result.txt

@@ -1 +0,0 @@
-1

+ 0 - 6
Tests/RunCMake/CMP0069/CMP0069-NEW-generator-stderr.txt

@@ -1,6 +0,0 @@
-^CMake Error at CMP0069-NEW-generator\.cmake:[0-9]+ \(add_executable\):
-  CMake doesn't support IPO for current generator
-Call Stack \(most recent call first\):
-  CMakeLists\.txt:[0-9]+ \(include\)
-+
-CMake Generate step failed\.  Build files cannot be regenerated correctly\.$

+ 0 - 7
Tests/RunCMake/CMP0069/CMP0069-NEW-generator.cmake

@@ -1,7 +0,0 @@
-cmake_policy(SET CMP0069 NEW)
-
-set(_CMAKE_CXX_IPO_SUPPORTED_BY_CMAKE YES)
-set(_CMAKE_CXX_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
-
-add_executable(foo main.cpp)
-set_target_properties(foo PROPERTIES INTERPROCEDURAL_OPTIMIZATION TRUE)

+ 0 - 4
Tests/RunCMake/CMP0069/RunCMakeTest.cmake

@@ -4,7 +4,3 @@ run_cmake(CMP0069-OLD)
 run_cmake(CMP0069-NEW-cmake)
 run_cmake(CMP0069-NEW-compiler)
 run_cmake(CMP0069-WARN)
-
-if(RunCMake_GENERATOR MATCHES "^Visual Studio 9 ")
-  run_cmake(CMP0069-NEW-generator)
-endif()

+ 2 - 8
Tests/RunCMake/CMakeLists.txt

@@ -736,13 +736,7 @@ endif()
 if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
   add_RunCMake_test(CMAKE_MSVCIDE_RUN_PATH)
   add_RunCMake_test(include_external_msproject -DVS_PLATFORM_NAME=${CMAKE_VS_PLATFORM_NAME})
-  if("${CMAKE_GENERATOR}" MATCHES "Visual Studio (9|10)" AND NOT CMAKE_VS_DEVENV_COMMAND)
-    set(NO_USE_FOLDERS 1)
-  endif()
-  add_RunCMake_test(VSSolution -DNO_USE_FOLDERS=${NO_USE_FOLDERS})
-endif()
-
-if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([^9]|9[0-9])")
+  add_RunCMake_test(VSSolution)
   add_RunCMake_test(VS10Project
     -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}
     -DCMAKE_C_COMPILER_VERSION=${CMAKE_C_COMPILER_VERSION}
@@ -1163,7 +1157,7 @@ if(CMake_TEST_ANDROID_NDK OR CMake_TEST_ANDROID_STANDALONE_TOOLCHAIN)
   set_property(TEST RunCMake.Android PROPERTY TIMEOUT ${CMake_TEST_ANDROID_TIMEOUT})
 endif()
 
-if(${CMAKE_GENERATOR} MATCHES "Visual Studio ([^9]|9[0-9])")
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
   add_RunCMake_test(CSharpCustomCommand)
   if(NOT CMAKE_VS_PLATFORM_NAME STREQUAL "ARM64")
     add_RunCMake_test(CSharpReferenceImport)

+ 7 - 9
Tests/RunCMake/CMakePresets/RunCMakeTest.cmake

@@ -262,15 +262,13 @@ if(RunCMake_GENERATOR MATCHES "^Visual Studio ")
   run_cmake_presets(VisualStudioWin32)
   run_cmake_presets(VisualStudioWin64)
   run_cmake_presets(VisualStudioWin32Override -A x64)
-  if(NOT RunCMake_GENERATOR STREQUAL "Visual Studio 9 2008")
-    run_cmake_presets(VisualStudioToolset)
-    run_cmake_presets(VisualStudioToolsetOverride -T "Test Toolset")
-    run_cmake_presets(VisualStudioInheritanceParent)
-    run_cmake_presets(VisualStudioInheritanceChild)
-    run_cmake_presets(VisualStudioInheritanceOverride)
-    run_cmake_presets(VisualStudioInheritanceMulti)
-    run_cmake_presets(VisualStudioInheritanceMultiSecond)
-  endif()
+  run_cmake_presets(VisualStudioToolset)
+  run_cmake_presets(VisualStudioToolsetOverride -T "Test Toolset")
+  run_cmake_presets(VisualStudioInheritanceParent)
+  run_cmake_presets(VisualStudioInheritanceChild)
+  run_cmake_presets(VisualStudioInheritanceOverride)
+  run_cmake_presets(VisualStudioInheritanceMulti)
+  run_cmake_presets(VisualStudioInheritanceMultiSecond)
 else()
   run_cmake_presets(ArchToolsetStrategyNone)
   run_cmake_presets(ArchToolsetStrategyDefault)

+ 1 - 6
Tests/RunCMake/CheckIPOSupported/RunCMakeTest.cmake

@@ -12,13 +12,8 @@ run_cmake(save-to-result)
 run_cmake(cmp0069-is-old)
 
 if(_CMAKE_C_IPO_SUPPORTED_BY_CMAKE
-    AND _CMAKE_C_IPO_MAY_BE_SUPPORTED_BY_COMPILER
-    AND NOT RunCMake_GENERATOR MATCHES "^Visual Studio 9 ")
+    AND _CMAKE_C_IPO_MAY_BE_SUPPORTED_BY_COMPILER)
   run_cmake(CMP0138-WARN)
   run_cmake(CMP0138-OLD)
   run_cmake(CMP0138-NEW)
 endif()
-
-if(RunCMake_GENERATOR MATCHES "^Visual Studio 9 ")
-  run_cmake(not-supported-by-generator)
-endif()

+ 0 - 1
Tests/RunCMake/CheckIPOSupported/not-supported-by-generator-result.txt

@@ -1 +0,0 @@
-1

+ 0 - 6
Tests/RunCMake/CheckIPOSupported/not-supported-by-generator-stderr.txt

@@ -1,6 +0,0 @@
-^CMake Error at .*/Modules/CheckIPOSupported\.cmake:[0-9]+ \(message\):
-  IPO is not supported \(CMake doesn't support IPO for current generator\)\.
-Call Stack \(most recent call first\):
-  .*/Modules/CheckIPOSupported\.cmake:[0-9]+ \(_ipo_not_supported\)
-  not-supported-by-generator\.cmake:[0-9]+ \(check_ipo_supported\)
-  CMakeLists\.txt:[0-9]+ \(include\)$

+ 0 - 6
Tests/RunCMake/CheckIPOSupported/not-supported-by-generator.cmake

@@ -1,6 +0,0 @@
-project(${RunCMake_TEST} LANGUAGES C)
-
-set(_CMAKE_C_IPO_SUPPORTED_BY_CMAKE YES)
-set(_CMAKE_C_IPO_MAY_BE_SUPPORTED_BY_COMPILER YES)
-
-check_ipo_supported()

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


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

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

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


+ 0 - 2
Tests/RunCMake/CommandLine/Envgen-A-platform-stderr-vs9.txt

@@ -1,2 +0,0 @@
-^CMake Error at CMakeLists.+
-  No CMAKE_C_COMPILER could be found.

+ 0 - 2
Tests/RunCMake/CommandLine/Envgen-platform-invalid-stderr-vs9.txt

@@ -1,2 +0,0 @@
-^CMake Error at CMakeLists.+
-  No CMAKE_C_COMPILER could be found.

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

@@ -393,16 +393,10 @@ function(run_EnvironmentGenerator)
       # Envvar shouldn't affect existing build tree
       run_cmake_command(Envgen-platform-existing ${CMAKE_COMMAND} -E chdir ..
         ${CMAKE_COMMAND} --build Envgen-build)
-      if(RunCMake_GENERATOR MATCHES "^Visual Studio 9 ")
-        set(RunCMake-stderr-file "Envgen-platform-invalid-stderr-vs9.txt")
-      endif()
       run_cmake_command(Envgen-platform-invalid ${CMAKE_COMMAND} ${source_dir})
       unset(RunCMake-stderr-file)
       # Command line -G implies -A""
       run_cmake_command(Envgen-G-implicit-platform ${CMAKE_COMMAND} -G "${RunCMake_GENERATOR}" ${source_dir})
-      if(RunCMake_GENERATOR MATCHES "^Visual Studio 9 ")
-        set(RunCMake-stderr-file "Envgen-A-platform-stderr-vs9.txt")
-      endif()
       run_cmake_command(Envgen-A-platform ${CMAKE_COMMAND} -A "fromcli" ${source_dir})
       unset(RunCMake-stderr-file)
       unset(ENV{CMAKE_GENERATOR_PLATFORM})
@@ -1124,13 +1118,6 @@ set(RunCMake_TEST_OPTIONS --profiling-format=google-trace --profiling-output=${P
 run_cmake(ProfilingTest)
 unset(RunCMake_TEST_OPTIONS)
 
-if(RunCMake_GENERATOR MATCHES "^Visual Studio 9 2008")
-  run_cmake_with_options(DeprecateVS9-WARN-ON -DCMAKE_WARN_VS9=ON)
-  unset(ENV{CMAKE_WARN_VS9})
-  run_cmake(DeprecateVS9-WARN-ON)
-  run_cmake_with_options(DeprecateVS9-WARN-OFF -DCMAKE_WARN_VS9=OFF)
-endif()
-
 if(RunCMake_GENERATOR MATCHES "^Visual Studio 12 2013")
   run_cmake_with_options(DeprecateVS12-WARN-ON -DCMAKE_WARN_VS12=ON)
   unset(ENV{CMAKE_WARN_VS12})

+ 2 - 4
Tests/RunCMake/ExternalProject/RunCMakeTest.cmake

@@ -213,7 +213,7 @@ function(__ep_test_BUILD_ALWAYS)
   file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-configure.cmake" [[message(FATAL_ERROR "once: configure should not run again")]])
   file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-build.cmake" [[message(FATAL_ERROR "once: build should not run again")]])
   file(WRITE "${RunCMake_TEST_BINARY_DIR}/once-install.cmake" [[message(FATAL_ERROR "once: install should not run again")]])
-  if(NOT RunCMake_GENERATOR MATCHES "^(Xcode|Visual Studio 9 )")
+  if(NOT RunCMake_GENERATOR STREQUAL "Xcode")
     # The Xcode and VS 9 build systems decide to run this every time.
     file(WRITE "${RunCMake_TEST_BINARY_DIR}/always-configure.cmake" [[message(FATAL_ERROR "always: configure should not run again")]])
   endif()
@@ -247,9 +247,7 @@ function(__ep_test_CONFIGURE_HANDLED_BY_BUILD)
   run_cmake_command(CONFIGURE_HANDLED_BY_BUILD-rebuild ${CMAKE_COMMAND} --build . ${BUILD_CONFIG})
 endfunction()
 
-if(NOT RunCMake_GENERATOR MATCHES "Visual Studio 9 ")
-  __ep_test_CONFIGURE_HANDLED_BY_BUILD()
-endif()
+__ep_test_CONFIGURE_HANDLED_BY_BUILD()
 
 find_package(Git QUIET)
 if(GIT_EXECUTABLE)

+ 2 - 2
Tests/RunCMake/GeneratorPlatform/RunCMakeTest.cmake

@@ -3,7 +3,7 @@ include(RunCMake)
 set(RunCMake_GENERATOR_PLATFORM "")
 run_cmake(NoPlatform)
 
-if("${RunCMake_GENERATOR}" MATCHES "^Visual Studio ([89]|1[0124567])( 20[0-9][0-9])?$")
+if("${RunCMake_GENERATOR}" MATCHES "^Visual Studio [0-9]+( 20[0-9][0-9])?$")
   set(RunCMake_GENERATOR_PLATFORM "x64")
   run_cmake(x64Platform)
 else()
@@ -17,7 +17,7 @@ set(RunCMake_TEST_OPTIONS -A "Test Platform" -A "Extra Platform")
 run_cmake(TwoPlatforms)
 unset(RunCMake_TEST_OPTIONS)
 
-if("${RunCMake_GENERATOR}" MATCHES "^Visual Studio ([89]|1[0124567])( 20[0-9][0-9])?$")
+if("${RunCMake_GENERATOR}" MATCHES "^Visual Studio [0-9]+( 20[0-9][0-9])?$")
   set(RunCMake_TEST_OPTIONS -DCMAKE_TOOLCHAIN_FILE=${RunCMake_SOURCE_DIR}/TestPlatform-toolchain.cmake)
   run_cmake(TestPlatformToolchain)
   unset(RunCMake_TEST_OPTIONS)

+ 1 - 4
Tests/RunCMake/GoogleTest/RunCMakeTest.cmake

@@ -362,10 +362,7 @@ foreach(DISCOVERY_MODE POST_BUILD PRE_TEST)
   run_GoogleTestXML(${DISCOVERY_MODE})
   message("Testing ${DISCOVERY_MODE} discovery mode via DISCOVERY_MODE option...")
   run_GoogleTest_discovery_timeout(${DISCOVERY_MODE})
-  if(# VS 9 does not rebuild if POST_BUILD command changes.
-      NOT "${DISCOVERY_MODE};${RunCMake_GENERATOR}" MATCHES "^POST_BUILD;Visual Studio 9")
-    run_GoogleTest_discovery_arg_change(${DISCOVERY_MODE})
-  endif()
+  run_GoogleTest_discovery_arg_change(${DISCOVERY_MODE})
   run_GoogleTest_discovery_test_list(${DISCOVERY_MODE})
   run_GoogleTest_discovery_test_list_scoped(${DISCOVERY_MODE})
   run_GoogleTest_discovery_flush_script(${DISCOVERY_MODE})

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

@@ -1,10 +1,5 @@
 include(RunCMake)
 
-if (RunCMake_GENERATOR MATCHES "Visual Studio 9 2008")
-  run_cmake(UnsupportedLinkerType)
-  return()
-endif()
-
 run_cmake(InvalidLinkerType1)
 run_cmake(InvalidLinkerType2)
 

+ 0 - 1
Tests/RunCMake/LinkerSelection/UnsupportedLinkerType-result.txt

@@ -1 +0,0 @@
-1

+ 0 - 3
Tests/RunCMake/LinkerSelection/UnsupportedLinkerType-stderr.txt

@@ -1,3 +0,0 @@
-CMake Error at UnsupportedLinkerType.cmake:[0-9]+ \(add_executable\):
-  'LINKER_TYPE' property, specified on target 'main', is not supported by
-  this generator.

+ 0 - 5
Tests/RunCMake/LinkerSelection/UnsupportedLinkerType.cmake

@@ -1,5 +0,0 @@
-
-enable_language(C)
-
-set(CMAKE_LINKER_TYPE LDD)
-add_executable(main main.c)

+ 1 - 2
Tests/RunCMake/ParseImplicitLinkInfo/RunCMakeTest.cmake

@@ -26,8 +26,7 @@ endif()
 if(CMAKE_SYSTEM_NAME MATCHES "^(Linux|Darwin|Windows|AIX|SunOS)$|BSD"
     AND NOT CMAKE_C_COMPILER_ID MATCHES "^(Borland|Embarcadero|OpenWatcom|OrangeC|Watcom)$"
     AND NOT (CMAKE_C_COMPILER_ID MATCHES "^(Intel|IntelLLVM)$" AND CMAKE_SYSTEM_NAME STREQUAL "Windows")
-    AND NOT CMAKE_C_COMPILER_LINKER MATCHES "Visual Studio 9\\.0"
-    AND NOT RunCMake_GENERATOR MATCHES "Visual Studio 9 "
+    AND NOT CMAKE_C_COMPILER_LINKER MATCHES "Microsoft Visual Studio 9\\.0/VC/bin"
     )
   if(NOT CMAKE_C_COMPILER_LINKER OR NOT CMAKE_C_COMPILER_LINKER_ID OR NOT CMAKE_C_COMPILER_LINKER_VERSION)
     message(SEND_ERROR "C compiler's linker not identified:\n"

+ 4 - 6
Tests/RunCMake/VSSolution/RunCMakeTest.cmake

@@ -13,9 +13,7 @@ run_cmake(StartupProject)
 run_cmake(StartupProjectMissing)
 run_cmake(AddPackageToDefault)
 
-if(NOT NO_USE_FOLDERS)
-  run_cmake(StartupProjectUseFolders)
-  run_cmake(CMP0143-WARN)
-  run_cmake_with_options(CMP0143-OLD "-DCMAKE_POLICY_DEFAULT_CMP0143=OLD")
-  run_cmake_with_options(CMP0143-NEW "-DCMAKE_POLICY_DEFAULT_CMP0143=NEW")
-endif()
+run_cmake(StartupProjectUseFolders)
+run_cmake(CMP0143-WARN)
+run_cmake_with_options(CMP0143-OLD "-DCMAKE_POLICY_DEFAULT_CMP0143=OLD")
+run_cmake_with_options(CMP0143-NEW "-DCMAKE_POLICY_DEFAULT_CMP0143=NEW")

+ 1 - 1
Tests/RunCMake/add_custom_command/RunCMakeTest.cmake

@@ -19,7 +19,7 @@ run_cmake(TargetImported)
 run_cmake(TargetLiteralQuotes)
 run_cmake(TargetNotInDir)
 
-if(${RunCMake_GENERATOR} MATCHES "Visual Studio ([^89]|[89][0-9])")
+if(RunCMake_GENERATOR MATCHES "Visual Studio")
   run_cmake(RemoveEmptyCommands)
 endif()
 

+ 1 - 1
Tests/RunCMake/cmake_host_system_information/RunCMakeTest.cmake

@@ -16,7 +16,7 @@ run_cmake(Debian6)
 
 run_cmake(UserFallbackScript)
 
-if(RunCMake_GENERATOR MATCHES "^Visual Studio " AND NOT RunCMake_GENERATOR STREQUAL "Visual Studio 9 2008")
+if(RunCMake_GENERATOR MATCHES "Visual Studio")
   run_cmake(VsMSBuild)
 else()
   run_cmake(VsMSBuildMissing)

+ 1 - 1
Tests/RunCMake/include_external_msproject/RunCMakeTest.cmake

@@ -6,7 +6,7 @@ run_cmake(CustomTypePlatform)
 run_cmake(CustomGuidTypePlatform)
 run_cmake(CustomConfig)
 
-if(RunCMake_GENERATOR MATCHES "Visual Studio ([^9]|9[0-9])")
+if(RunCMake_GENERATOR MATCHES "Visual Studio")
   run_cmake(SkipGetTargetFrameworkProperties)
   run_cmake(VSCSharpReference)
 endif()