aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2021-12-15 20:10:48 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2021-12-15 20:19:56 +0300
commitd021eae1cf9806282745935391a5ca282f4b5999 (patch)
tree11f7eaf21628681296559ad97777405377386cde
parentv3.3 (diff)
downloadcmake-common-d021eae1cf9806282745935391a5ca282f4b5999.tar.gz
cmake-common-d021eae1cf9806282745935391a5ca282f4b5999.zip
support VS 2022
-rw-r--r--.github/workflows/basic.yml6
-rw-r--r--.github/workflows/boost_toolsets.yml10
-rw-r--r--.github/workflows/example_toolsets.yml6
-rw-r--r--.github/workflows/msvc_versions.yml6
-rw-r--r--project/toolset.py10
5 files changed, 30 insertions, 8 deletions
diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml
index f7d8fc5..6adf3ac 100644
--- a/.github/workflows/basic.yml
+++ b/.github/workflows/basic.yml
@@ -21,9 +21,9 @@ jobs:
os:
strategy:
matrix:
- os: [ubuntu-18.04, ubuntu-20.04, windows-2016, windows-2019, macos-10.15, macos-11]
+ os: [ubuntu-18.04, ubuntu-20.04, windows-2016, windows-2019, windows-2022, macos-10.15, macos-11]
include:
- - boost-version: 1.72.0
+ - boost-version: 1.78.0
runs-on: '${{ matrix.os }}'
name: 'Image: ${{ matrix.os }}'
defaults:
@@ -56,7 +56,7 @@ jobs:
python-version: [3.6, 3.7, 3.8, 3.9, 3.x]
include:
- os: ubuntu-latest
- - boost-version: 1.72.0
+ - boost-version: 1.78.0
runs-on: '${{ matrix.os }}'
name: 'Python ${{ matrix.python-version }}'
defaults:
diff --git a/.github/workflows/boost_toolsets.yml b/.github/workflows/boost_toolsets.yml
index ba027c6..d7c6fc4 100644
--- a/.github/workflows/boost_toolsets.yml
+++ b/.github/workflows/boost_toolsets.yml
@@ -15,10 +15,11 @@ jobs:
boost-version: [1.58.0, 1.65.0, 1.72.0]
toolset: [auto, clang, clang-cl, gcc, mingw, msvc]
cygwin: [0, 1]
- os: [ubuntu-latest, windows-2016, windows-2019]
+ os: [ubuntu-latest, windows-2016, windows-2019, windows-2022]
include:
# Prettier run names.
+ - {os: windows-2022, name: Windows 2022}
- {os: windows-2019, name: Windows 2019}
- {os: windows-2016, name: Windows 2016}
- {os: ubuntu-latest, name: Ubuntu}
@@ -44,6 +45,10 @@ jobs:
# On Linux/Cygwin, everything should be fine though.
- toolset: clang
boost-version: 1.58.0
+ os: windows-2022
+ libraries: filesystem program_options regex system
+ - toolset: clang
+ boost-version: 1.58.0
os: windows-2019
libraries: filesystem program_options regex system
- toolset: clang
@@ -58,7 +63,8 @@ jobs:
# Cygwin: no MSVC/clang-cl.
- {cygwin: 1, toolset: msvc}
- {cygwin: 1, toolset: clang-cl}
- # Cygwin is the same on Windows Server 2016 & 2019.
+ # Cygwin is the same on different Windows versions.
+ - {os: windows-2019, cygwin: 1}
- {os: windows-2016, cygwin: 1}
# clang-cl is only supported by Boost.Build since 1.69 (see the
# boost_clang_windows.yml workflow).
diff --git a/.github/workflows/example_toolsets.yml b/.github/workflows/example_toolsets.yml
index a55c7b7..d98cfe0 100644
--- a/.github/workflows/example_toolsets.yml
+++ b/.github/workflows/example_toolsets.yml
@@ -15,10 +15,11 @@ jobs:
example: [simple, static, dynamic]
toolset: [auto, clang, clang-cl, gcc, mingw, msvc]
cygwin: [0, 1]
- os: [ubuntu-latest, windows-2016, windows-2019]
+ os: [ubuntu-latest, windows-2016, windows-2019, windows-2022]
include:
# Prettier run names.
+ - {os: windows-2022, name: Windows 2022}
- {os: windows-2019, name: Windows 2019}
- {os: windows-2016, name: Windows 2016}
- {os: ubuntu-latest, name: Ubuntu}
@@ -58,7 +59,8 @@ jobs:
# Cygwin: no MSVC/clang-cl.
- {cygwin: 1, toolset: msvc}
- {cygwin: 1, toolset: clang-cl}
- # Cygwin is the same on Windows Server 2016 & 2019.
+ # Cygwin is the same on different Windows versions.
+ - {os: windows-2019, cygwin: 1}
- {os: windows-2016, cygwin: 1}
runs-on: '${{ matrix.os }}'
diff --git a/.github/workflows/msvc_versions.yml b/.github/workflows/msvc_versions.yml
index 91d49c9..c1b2700 100644
--- a/.github/workflows/msvc_versions.yml
+++ b/.github/workflows/msvc_versions.yml
@@ -16,21 +16,25 @@ jobs:
- msvc140
- msvc141
- msvc142
+ - msvc143
- vs2015
- vs2017
- vs2019
+ - vs2022
include:
# Runner image.
- {toolset: msvc140, os: windows-2016}
- {toolset: msvc141, os: windows-2016}
- {toolset: msvc142, os: windows-2019}
+ - {toolset: msvc143, os: windows-2022}
- {toolset: vs2015, os: windows-2016}
- {toolset: vs2017, os: windows-2016}
- {toolset: vs2019, os: windows-2019}
+ - {toolset: vs2022, os: windows-2022}
# Boost version.
- - boost-version: 1.72.0
+ - boost-version: 1.78.0
# Some Boost libraries commonly used by me.
- libraries: filesystem program_options regex system test
diff --git a/project/toolset.py b/project/toolset.py
index 136e6dd..001eefb 100644
--- a/project/toolset.py
+++ b/project/toolset.py
@@ -49,6 +49,7 @@ class MSVCVersion(Enum):
VS2015 = '140'
VS2017 = '141'
VS2019 = '142'
+ VS2022 = '143'
def __str__(self):
return str(self.value)
@@ -66,6 +67,8 @@ class MSVCVersion(Enum):
return 'Visual Studio 2017'
if self is MSVCVersion.VS2019:
return 'Visual Studio 2019'
+ if self is MSVCVersion.VS2022:
+ return 'Visual Studio 2022'
raise NotImplementedError(f'unsupported MSVC version: {self}')
@staticmethod
@@ -95,6 +98,8 @@ class MSVCVersion(Enum):
return VisualStudioVersion.VS2017
if MSVCVersion.VS2019:
return VisualStudioVersion.VS2019
+ if MSVCVersion.VS2022:
+ return VisualStudioVersion.VS2022
raise NotImplementedError(f'unsupported MSVC version: {self}')
def to_boost_msvc_version(self):
@@ -117,6 +122,7 @@ class VisualStudioVersion(Enum):
VS2015 = '2015'
VS2017 = '2017'
VS2019 = '2019'
+ VS2022 = '2022'
def __str__(self):
return str(self.value)
@@ -134,6 +140,8 @@ class VisualStudioVersion(Enum):
return f"Same as '{ToolsetType.MSVC}{MSVCVersion.VS2017}'"
if self is VisualStudioVersion.VS2019:
return f"Same as '{ToolsetType.MSVC}{MSVCVersion.VS2019}'"
+ if self is VisualStudioVersion.VS2022:
+ return f"Same as '{ToolsetType.MSVC}{MSVCVersion.VS2022}'"
raise NotImplementedError(f'unsupported Visual Studio version: {self}')
@staticmethod
@@ -160,6 +168,8 @@ class VisualStudioVersion(Enum):
return MSVCVersion.VS2017
if self is VisualStudioVersion.VS2019:
return MSVCVersion.VS2019
+ if self is VisualStudioVersion.VS2022:
+ return MSVCVersion.VS2022
raise NotImplementedError(f'unsupported Visual Studio version: {self}')
def to_visual_studio_version(self):