diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt index d1e6ad9477..892a7d2e5f 100644 --- a/Source/CMakeLists.txt +++ b/Source/CMakeLists.txt @@ -975,6 +975,7 @@ if(WIN32) cmVisualStudioWCEPlatformParser.cxx cmVSSetupHelper.cxx cmVSSetupHelper.h + cmVSVersion.h ) # Add a manifest file to executables on Windows to allow for diff --git a/Source/cmGlobalVisualStudioGenerator.h b/Source/cmGlobalVisualStudioGenerator.h index 9a919cbaa3..46d98f7e99 100644 --- a/Source/cmGlobalVisualStudioGenerator.h +++ b/Source/cmGlobalVisualStudioGenerator.h @@ -14,6 +14,7 @@ #include "cmGlobalGenerator.h" #include "cmTargetDepend.h" +#include "cmVSVersion.h" #include "cmValue.h" class cmCustomCommand; @@ -31,15 +32,7 @@ class cmake; class cmGlobalVisualStudioGenerator : public cmGlobalGenerator { public: - /** Known versions of Visual Studio. */ - enum class VSVersion : uint16_t - { - VS14 = 140, - VS15 = 150, - VS16 = 160, - VS17 = 170, - VS18 = 180, - }; + using VSVersion = cm::VS::Version; ~cmGlobalVisualStudioGenerator() override; diff --git a/Source/cmVSVersion.h b/Source/cmVSVersion.h new file mode 100644 index 0000000000..3fe0d2fb72 --- /dev/null +++ b/Source/cmVSVersion.h @@ -0,0 +1,19 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file LICENSE.rst or https://cmake.org/licensing for details. */ +#pragma once + +#include + +namespace cm { +namespace VS { +/** Known versions of Visual Studio. */ +enum class Version : std::uint16_t +{ + VS14 = 140, + VS15 = 150, + VS16 = 160, + VS17 = 170, + VS18 = 180, +}; +} +}