Browse Source

package/ci: merge Vulkan Windows build into the GL ones.

Otherwise I'd need to duplicate that for clang-cl, mingw and so on. It's
enabled only on MSVC 2019 and newer, because I don'r really care about
older versions -- those are mainly for compatibility with existing code,
and Vulkan is not existing code yet.
pull/234/head
Vladimír Vondruš 6 years ago
parent
commit
2cbd50fb73
  1. 5
      package/ci/appveyor-desktop-mingw.bat
  2. 74
      package/ci/appveyor-desktop-vulkan.bat
  3. 5
      package/ci/appveyor-desktop.bat
  4. 24
      package/ci/appveyor.yml

5
package/ci/appveyor-desktop-mingw.bat

@ -27,6 +27,7 @@ cmake .. ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DCMAKE_PREFIX_PATH="%APPVEYOR_BUILD_FOLDER%/SDL;%APPVEYOR_BUILD_FOLDER%/openal" ^
-DWITH_AUDIO=ON ^
-DWITH_VK=ON ^
-DWITH_SDL2APPLICATION=ON ^
-DWITH_WINDOWLESSWGLAPPLICATION=ON ^
-DWITH_WGLCONTEXT=ON ^
@ -49,15 +50,17 @@ cmake .. ^
-DWITH_SCENECONVERTER=ON ^
-DWITH_SHADERCONVERTER=ON ^
-DWITH_GL_INFO=ON ^
-DWITH_VK_INFO=ON ^
-DWITH_AL_INFO=ON ^
-DBUILD_TESTS=ON ^
-DBUILD_GL_TESTS=ON ^
-DBUILD_VK_TESTS=ON ^
-G Ninja || exit /b
cmake --build . || exit /b
rem Test
set CORRADE_TEST_COLOR=ON
ctest -V -E GLTest || exit /b
ctest -V -E "(GL|Vk)Test" || exit /b
rem Test install, after running the tests as for them it shouldn't be needed
cmake --build . --target install || exit /b

74
package/ci/appveyor-desktop-vulkan.bat

@ -1,74 +0,0 @@
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
set PATH=%APPVEYOR_BUILD_FOLDER%\deps\bin;%PATH%
rem Build Corrade
git clone --depth 1 git://github.com/mosra/corrade.git || exit /b
cd corrade || exit /b
mkdir build && cd build || exit /b
cmake .. ^
-DCMAKE_BUILD_TYPE=Debug ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DWITH_INTERCONNECT=OFF ^
-DUTILITY_USE_ANSI_COLORS=ON ^
-G Ninja || exit /b
cmake --build . || exit /b
cmake --build . --target install || exit /b
cd .. && cd ..
rem Build the fastest Vulkan driver ever. See appveyor.yml for why Vulkan is
rem a separate build for now.
cl.exe /c package/ci/libvulkan.cpp || exit /b
lib.exe /OUT:%APPVEYOR_BUILD_FOLDER%/deps/lib/libvulkan.lib libvulkan.obj || exit /b
rem Enabling only stuff that's directly affected by Vulkan (which means also
rem parts of Platform, which need Trade for icon import in tests), disabling
rem everything else.
mkdir build && cd build || exit /b
cmake .. ^
-DCMAKE_BUILD_TYPE=Debug ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/SDL ^
-DVulkan_LIBRARY=%APPVEYOR_BUILD_FOLDER%/deps/lib/libvulkan.lib ^
-DWITH_AUDIO=OFF ^
-DWITH_DEBUGTOOLS=OFF ^
-DWITH_GL=OFF ^
-DWITH_MESHTOOLS=OFF ^
-DWITH_PRIMITIVES=OFF ^
-DWITH_SCENEGRAPH=OFF ^
-DWITH_SHADERS=OFF ^
-DWITH_TEXT=OFF ^
-DWITH_TEXTURETOOLS=OFF ^
-DWITH_TRADE=ON ^
-DWITH_VK=ON ^
-DWITH_ANYAUDIOIMPORTER=OFF ^
-DWITH_ANYIMAGECONVERTER=OFF ^
-DWITH_ANYIMAGEIMPORTER=OFF ^
-DWITH_ANYSCENECONVERTER=ON ^
-DWITH_ANYSCENEIMPORTER=OFF ^
-DWITH_MAGNUMFONT=OFF ^
-DWITH_MAGNUMFONTCONVERTER=OFF ^
-DWITH_OBJIMPORTER=OFF ^
-DWITH_TGAIMAGECONVERTER=OFF ^
-DWITH_TGAIMPORTER=OFF ^
-DWITH_WAVAUDIOIMPORTER=OFF ^
-DWITH_DISTANCEFIELDCONVERTER=OFF ^
-DWITH_FONTCONVERTER=OFF ^
-DWITH_IMAGECONVERTER=OFF ^
-DWITH_SCENECONVERTER=OFF ^
-DWITH_GL_INFO=OFF ^
-DWITH_VK_INFO=ON ^
-DWITH_AL_INFO=OFF ^
-DWITH_SDL2APPLICATION=ON ^
-DWITH_GLFWAPPLICATION=ON ^
-DBUILD_TESTS=ON ^
-DBUILD_GL_TESTS=OFF ^
-DBUILD_VK_TESTS=ON ^
-G Ninja || exit /b
cmake --build . || exit /b
rem Test
set CORRADE_TEST_COLOR=ON
ctest -V -E "(GL|Vk)Test" || exit /b
rem Test install, after running the tests as for them it shouldn't be needed
cmake --build . --target install || exit /b

5
package/ci/appveyor-desktop.bat

@ -33,6 +33,7 @@ cmake .. ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DCMAKE_PREFIX_PATH="%APPVEYOR_BUILD_FOLDER%/SDL;%APPVEYOR_BUILD_FOLDER%/openal" ^
-DWITH_AUDIO=ON ^
-DWITH_VK=%ENABLE_VULKAN% ^
-DWITH_SDL2APPLICATION=ON ^
-DWITH_GLFWAPPLICATION=ON ^
-DWITH_WINDOWLESSWGLAPPLICATION=ON ^
@ -56,9 +57,11 @@ cmake .. ^
-DWITH_SCENECONVERTER=ON ^
-DWITH_SHADERCONVERTER=ON ^
-DWITH_GL_INFO=ON ^
-DWITH_VK_INFO=%ENABLE_VULKAN% ^
-DWITH_AL_INFO=ON ^
-DBUILD_TESTS=ON ^
-DBUILD_GL_TESTS=ON ^
-DBUILD_VK_TESTS=%ENABLE_VULKAN% ^
-DBUILD_STATIC=%BUILD_STATIC% ^
-DBUILD_PLUGINS_STATIC=%BUILD_STATIC% ^
%COMPILER_EXTRA% -G Ninja || exit /b
@ -66,7 +69,7 @@ cmake --build . || exit /b
rem Test
set CORRADE_TEST_COLOR=ON
ctest -V -E GLTest || exit /b
ctest -V -E "(GL|Vk)Test" || exit /b
rem Test install, after running the tests as for them it shouldn't be needed
cmake --build . --target install || exit /b

24
package/ci/appveyor.yml

@ -8,24 +8,21 @@ environment:
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
- TARGET: desktop-vulkan
COMPILER: msvc
PLATFORM: x64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
APPVEYOR_JOB_NAME: windows-vulkan-msvc2019
CONFIGURATION: Debug
ENABLE_VULKAN: ON
- TARGET: desktop
COMPILER: msvc
PLATFORM: x64
@ -33,12 +30,14 @@ environment:
APPVEYOR_JOB_NAME: windows-static-msvc2019
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
# Build at least one 32bit Release build, so we catch things that are not a
# problem on either 64bit or Debug.
- TARGET: desktop
@ -52,6 +51,7 @@ environment:
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 2017
@ -105,7 +105,6 @@ install:
# 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-vulkan" set BUILD_APPLICATIONS=YES
- IF "%TARGET%" == "desktop-gles" set BUILD_APPLICATIONS=NO
# SDL2
@ -122,6 +121,13 @@ install:
- 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?
@ -132,10 +138,6 @@ 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
# Vulkan needs to be in a separate build, because in the future it'll need
# C++14 and building it together with C++11 code would harm verifiability of
# C++11 compatibility.
- IF "%TARGET%" == "desktop-vulkan" call package\ci\appveyor-desktop-vulkan.bat
- IF "%TARGET%" == "rt" call package\ci\appveyor-rt.bat
cache:

Loading…
Cancel
Save