From 6804dfe8e35dce50bb82e73c68a3a7d6b7b47fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 7 Feb 2022 17:26:12 +0100 Subject: [PATCH] package/ci: add MSVC 2022 builds and MSVC 2019 /permissive- build. Equivalently to what's done in Corrade, so a dynamic, static, clang-cl and /permissive- build; plus dedicated ES2/ES3 builds. --- package/ci/appveyor-desktop-gles.bat | 1 + package/ci/appveyor-desktop.bat | 4 ++- package/ci/appveyor.yml | 48 ++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) diff --git a/package/ci/appveyor-desktop-gles.bat b/package/ci/appveyor-desktop-gles.bat index 2741e3fc0..4f94009ac 100644 --- a/package/ci/appveyor-desktop-gles.bat +++ b/package/ci/appveyor-desktop-gles.bat @@ -1,3 +1,4 @@ +if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2022" call "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat" x64 || exit /b if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2019" call "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Auxiliary/Build/vcvarsall.bat" x64 || exit /b if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" call "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat" x64 || exit /b set PATH=%APPVEYOR_BUILD_FOLDER%\deps\bin;%PATH% diff --git a/package/ci/appveyor-desktop.bat b/package/ci/appveyor-desktop.bat index 3056ef966..b3e7083ba 100644 --- a/package/ci/appveyor-desktop.bat +++ b/package/ci/appveyor-desktop.bat @@ -1,3 +1,4 @@ +if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2022" call "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat" %PLATFORM% || exit /b if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2019" call "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Auxiliary/Build/vcvarsall.bat" %PLATFORM% || exit /b if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" call "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvarsall.bat" %PLATFORM% || exit /b if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" call "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/vcvarsall.bat" %PLATFORM% || exit /b @@ -9,7 +10,8 @@ rem need to explicitly specify a 64-bit target, otherwise CMake+Ninja can't rem figure that out -- https://gitlab.kitware.com/cmake/cmake/issues/16259 rem for TestSuite we need to enable exceptions explicitly with /EH as these are rem currently disabled -- https://github.com/catchorg/Catch2/issues/1113 -if "%COMPILER%" == "msvc-clang" set COMPILER_EXTRA=-DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/Llvm/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/Llvm/bin/lld-link.exe" -DCMAKE_CXX_FLAGS="-m64 /EHsc" +if "%COMPILER%" == "msvc-clang" if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2022" set COMPILER_EXTRA=-DCMAKE_CXX_COMPILER="C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/Llvm/bin/lld-link.exe" -DCMAKE_CXX_FLAGS="-m64 /EHsc" +if "%COMPILER%" == "msvc-clang" if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2019" set COMPILER_EXTRA=-DCMAKE_CXX_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/Llvm/bin/clang-cl.exe" -DCMAKE_LINKER="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/Llvm/bin/lld-link.exe" -DCMAKE_CXX_FLAGS="-m64 /EHsc" rem Build Corrade git clone --depth 1 https://github.com/mosra/corrade.git || exit /b diff --git a/package/ci/appveyor.yml b/package/ci/appveyor.yml index a8ea4cdc7..0cc4cc06d 100644 --- a/package/ci/appveyor.yml +++ b/package/ci/appveyor.yml @@ -23,6 +23,13 @@ environment: APPVEYOR_JOB_NAME: windows-msvc2019 CONFIGURATION: Debug ENABLE_VULKAN: ON + - TARGET: desktop + COMPILER: msvc + PLATFORM: x64 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + APPVEYOR_JOB_NAME: windows-msvc2022 + CONFIGURATION: Debug + ENABLE_VULKAN: ON - TARGET: desktop COMPILER: msvc PLATFORM: x64 @@ -31,6 +38,14 @@ environment: CONFIGURATION: Debug BUILD_STATIC: ON ENABLE_VULKAN: ON + - TARGET: desktop + COMPILER: msvc + PLATFORM: x64 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + APPVEYOR_JOB_NAME: windows-static-msvc2022 + CONFIGURATION: Debug + BUILD_STATIC: ON + ENABLE_VULKAN: ON - TARGET: desktop COMPILER: msvc-clang PLATFORM: x64 @@ -38,6 +53,13 @@ environment: APPVEYOR_JOB_NAME: windows-msvc2019-clang CONFIGURATION: Debug ENABLE_VULKAN: ON + - TARGET: desktop + COMPILER: msvc-clang + PLATFORM: x64 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + APPVEYOR_JOB_NAME: windows-msvc2022-clang + CONFIGURATION: Debug + ENABLE_VULKAN: ON # Build at least one 32bit Release build, so we catch things that are not a # problem on either 64bit or Debug. - TARGET: desktop @@ -47,6 +69,24 @@ environment: APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 APPVEYOR_JOB_NAME: windows-32b-msvc2015 CONFIGURATION: Release + - TARGET: desktop + COMPILER: msvc + # Same reasoning as in Corrade for /EHsc + COMPILER_EXTRA: -DCMAKE_CXX_FLAGS="/permissive- /EHsc" -DMSVC_COMPATIBILITY=OFF + PLATFORM: x64 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 + APPVEYOR_JOB_NAME: windows-conforming-msvc2019 + CONFIGURATION: Debug + ENABLE_VULKAN: ON + - TARGET: desktop + COMPILER: msvc + # Not playing with fire and using /EHsc on 2022 as well + COMPILER_EXTRA: -DCMAKE_CXX_FLAGS="/permissive- /EHsc" -DMSVC_COMPATIBILITY=OFF + PLATFORM: x64 + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + APPVEYOR_JOB_NAME: windows-conforming-msvc2022 + CONFIGURATION: Debug + ENABLE_VULKAN: ON - TARGET: desktop COMPILER: mingw APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 @@ -60,6 +100,14 @@ environment: TARGET_GLES2: OFF APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 APPVEYOR_JOB_NAME: windows-gles3-msvc2019 + - TARGET: desktop-gles + TARGET_GLES2: ON + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + APPVEYOR_JOB_NAME: windows-gles2-msvc2022 + - TARGET: desktop-gles + TARGET_GLES2: OFF + APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 + APPVEYOR_JOB_NAME: windows-gles3-msvc2022 - TARGET: rt TARGET_GLES2: OFF APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017