clone_depth: 1 environment: matrix: # - TARGET: desktop # COMPILER: msvc # PLATFORM: x64 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 # APPVEYOR_JOB_NAME: windows-msvc2015 # CONFIGURATION: Debug # ENABLE_VULKAN: OFF # - TARGET: desktop # COMPILER: msvc # PLATFORM: x64 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 # APPVEYOR_JOB_NAME: windows-msvc2017 # CONFIGURATION: Debug # ENABLE_VULKAN: OFF # - TARGET: desktop # COMPILER: msvc # PLATFORM: x64 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 # 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 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 # APPVEYOR_JOB_NAME: windows-static-msvc2019 # 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 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 # APPVEYOR_JOB_NAME: windows-msvc2019-clang # CONFIGURATION: Debug # ENABLE_VULKAN: ON # # This one collects code coverage using Clang's --coverage and grcov # - 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 # COMPILER: msvc # ANSI_COLORS: ON # PLATFORM: # 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" -DCORRADE_MSVC_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. Testing with the # # conformant preprocessor also, but just on one of the two permissive # # builds to avoid a false impression that the differences are depending on # # /permissive- alone. # COMPILER_EXTRA: -DCMAKE_CXX_FLAGS="/permissive- /EHsc /Zc:preprocessor" -DCORRADE_MSVC_COMPATIBILITY=OFF # PLATFORM: x64 # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022 # APPVEYOR_JOB_NAME: windows-conforming-msvc2022 # CONFIGURATION: Debug # ENABLE_VULKAN: ON # # This one collects code coverage using GCC's --coverage and grcov # - TARGET: desktop # COMPILER: mingw # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 # APPVEYOR_JOB_NAME: windows-mingw # ENABLE_VULKAN: ON # - TARGET: desktop-gles # TARGET_GLES2: ON # APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 # APPVEYOR_JOB_NAME: windows-gles2-msvc2019 # - TARGET: desktop-gles # 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 APPVEYOR_JOB_NAME: windows-rt-gles3-msvc2017 install: # Ninja. `cinst ninja` started 503ing in late November 2019 and wasn't really # reliable before either. So install by hand, as that's reliable always. - IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\ninja-win.zip appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip - 7z x ninja-win.zip -oC:/tools - set PATH=C:/tools;%PATH% # Codecov uploader and grcov. Used for MinGW and clang-cl. - IF "%TARGET%" == "desktop" IF NOT "%COMPILER%" == "msvc" appveyor DownloadFile https://github.com/mozilla/grcov/releases/download/v0.8.20/grcov-x86_64-pc-windows-msvc.zip && 7z x grcov-x86_64-pc-windows-msvc.zip -oC:/tools - IF "%TARGET%" == "desktop" IF NOT "%COMPILER%" == "msvc" appveyor DownloadFile https://uploader.codecov.io/latest/windows/codecov.exe -FileName C:/tools/codecov.exe - IF "%TARGET_GLES2%" == "ON" set TARGET_GLES3=OFF - IF "%TARGET_GLES2%" == "OFF" set TARGET_GLES3=ON - IF NOT "%BUILD_STATIC%" == "ON" set BUILD_STATIC=OFF # For ES builds, otherwise the "%COMPILER:~0,4%" below doesn't work, sigh - IF "%COMPILER%" == "" set COMPILER=msvc # OpenAL. The DLL is copied & renamed by the buildsystem, no need to do that # here anymore. - IF NOT "%TARGET%" == "rt" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\openal-soft-1.22.2-bin.zip appveyor DownloadFile https://github.com/kcat/openal-soft/releases/download/1.22.2/openal-soft-1.22.2-bin.zip - IF NOT "%TARGET%" == "rt" 7z x openal-soft-1.22.2-bin.zip && ren openal-soft-1.22.2-bin openal && echo [General] > %APPDATA%/alsoft.ini & echo drivers=null >> %APPDATA%/alsoft.ini # Build apps on both GL and Vulkan to verify these can build w/o GL as well. # Not on GLES, as there's not much GLES-dependent. - IF "%TARGET%" == "desktop" set BUILD_APPLICATIONS=YES - IF "%TARGET%" == "desktop-gles" set BUILD_APPLICATIONS=NO # SDL2. 2.28.3 is the oldest version that has CMake configs requiring at least # CMake 3.5, older ones don't work with CMake 4 anymore. - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER:~0,4%" == "msvc" appveyor DownloadFile https://github.com/libsdl-org/SDL/releases/download/release-2.28.3/SDL2-devel-2.28.3-VC.zip - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER:~0,4%" == "msvc" 7z x SDL2-devel-2.28.3-VC.zip && ren SDL2-2.28.3 SDL - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER%" == "mingw" appveyor DownloadFile https://github.com/libsdl-org/SDL/releases/download/release-2.28.3/SDL2-devel-2.28.3-mingw.zip - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER%" == "mingw" 7z x SDL2-devel-2.28.3-mingw.zip && ren SDL2-2.28.3 SDL # GLFW - IF "%BUILD_APPLICATIONS%" == "YES" IF "%PLATFORM%" == "" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\glfw-3.2.1.bin.WIN32.zip appveyor DownloadFile https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.bin.WIN32.zip - IF "%BUILD_APPLICATIONS%" == "YES" IF "%PLATFORM%" == "x64" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\glfw-3.2.1.bin.WIN64.zip appveyor DownloadFile https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.bin.WIN64.zip - IF "%BUILD_APPLICATIONS%" == "YES" IF "%PLATFORM%" == "" 7z x glfw-3.2.1.bin.WIN32.zip && ren glfw-3.2.1.bin.WIN32 glfw && mkdir deps && mkdir deps\lib && mkdir deps\bin && mkdir deps\include && xcopy /e glfw\include\* deps\include\ - IF "%BUILD_APPLICATIONS%" == "YES" IF "%PLATFORM%" == "x64" 7z x glfw-3.2.1.bin.WIN64.zip && ren glfw-3.2.1.bin.WIN64 glfw && mkdir deps && mkdir deps\lib && mkdir deps\bin && mkdir deps\include && xcopy /e glfw\include\* deps\include\ - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER:~0,4%" == "msvc" copy glfw\lib-vc2015\glfw3.dll deps\bin\ && copy glfw\lib-vc2015\glfw3dll.lib deps\lib\glfw3.lib - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER%" == "mingw" copy glfw\lib-mingw-w64\glfw3.dll deps\bin\ && copy glfw\lib-mingw-w64\libglfw3dll.a deps\lib\libglfw3.a # SwiftShader for Vulkan + Vulkan loader # TODO: re-enable SwiftShader when we figure out why vkCreateInstance fails #- IF "%ENABLE_VULKAN%" == "ON" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\swiftshader-vulkan-r5464.a6940c8e6e-windows-2019.zip appveyor DownloadFile https://ci.magnum.graphics/swiftshader-vulkan-r5464.a6940c8e6e-windows-2019.zip - IF "%ENABLE_VULKAN%" == "ON" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\vulkan-loader-1.2.153-windows-2019.zip appveyor DownloadFile https://ci.magnum.graphics/vulkan-loader-1.2.153-windows-2019.zip #- IF "%ENABLE_VULKAN%" == "ON" 7z x swiftshader-vulkan-r5464.a6940c8e6e-windows-2019.zip -o%APPVEYOR_BUILD_FOLDER%\deps - IF "%ENABLE_VULKAN%" == "ON" 7z x vulkan-loader-1.2.153-windows-2019.zip -o%APPVEYOR_BUILD_FOLDER%\deps # Angle for WinRT. Zip from https://github.com/mosra/magnum-ci/tree/angle and # self-hosted because GH Actions would make it too simple for people if you # could just download the artifacts directly, right? RIGHT? - IF "%TARGET%" == "rt" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\angle-4134-windows-uwp.zip appveyor DownloadFile https://ci.magnum.graphics/angle-4134-windows-uwp.zip - IF "%TARGET%" == "rt" 7z x angle-4134-windows-uwp.zip -o%APPVEYOR_BUILD_FOLDER%\deps build_script: - IF "%TARGET%" == "desktop" IF "%COMPILER:~0,4%" == "msvc" call package\ci\appveyor-desktop.bat - IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" call package\ci\appveyor-desktop-mingw.bat - IF "%TARGET%" == "desktop-gles" call package\ci\appveyor-desktop-gles.bat - IF "%TARGET%" == "rt" call package\ci\appveyor-rt.bat cache: - ninja-win.zip -> package/ci/appveyor-cache-reset.txt - glfw-3.2.1.bin.WIN64.zip -> package/ci/appveyor-cache-reset.txt