Browse Source

package/ci: build GLFW and SDL2 apps in the Vulkan build.

pull/368/head
Vladimír Vondruš 7 years ago
parent
commit
4a1f6737b6
  1. 7
      package/ci/appveyor-desktop-vulkan.bat
  2. 22
      package/ci/appveyor.yml
  3. 6
      package/ci/travis-desktop-vulkan.sh
  4. 6
      package/ci/travis.yml

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

@ -20,12 +20,13 @@ rem a separate build for now.
cl.exe /c package/ci/libvulkan.cpp || exit /b cl.exe /c package/ci/libvulkan.cpp || exit /b
lib.exe /OUT:%APPVEYOR_BUILD_FOLDER%/deps/lib/libvulkan.lib libvulkan.obj || 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, disabling rem Enabling only stuff that's directly affected by Vulkan (which means also
rem everything else. rem parts of Platform), disabling everything else.
mkdir build && cd build || exit /b mkdir build && cd build || exit /b
cmake .. ^ cmake .. ^
-DCMAKE_BUILD_TYPE=Debug ^ -DCMAKE_BUILD_TYPE=Debug ^
-DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^ -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%/deps ^
-DCMAKE_PREFIX_PATH=%APPVEYOR_BUILD_FOLDER%/SDL ^
-DVulkan_LIBRARY=%APPVEYOR_BUILD_FOLDER%/deps/lib/libvulkan.lib ^ -DVulkan_LIBRARY=%APPVEYOR_BUILD_FOLDER%/deps/lib/libvulkan.lib ^
-DWITH_AUDIO=OFF ^ -DWITH_AUDIO=OFF ^
-DWITH_DEBUGTOOLS=OFF ^ -DWITH_DEBUGTOOLS=OFF ^
@ -53,6 +54,8 @@ cmake .. ^
-DWITH_IMAGECONVERTER=OFF ^ -DWITH_IMAGECONVERTER=OFF ^
-DWITH_GL_INFO=OFF ^ -DWITH_GL_INFO=OFF ^
-DWITH_AL_INFO=OFF ^ -DWITH_AL_INFO=OFF ^
-DWITH_SDL2APPLICATION=ON ^
-DWITH_GLFWAPPLICATION=ON ^
-DBUILD_TESTS=ON ^ -DBUILD_TESTS=ON ^
-DBUILD_GL_TESTS=OFF ^ -DBUILD_GL_TESTS=OFF ^
-G Ninja || exit /b -G Ninja || exit /b

22
package/ci/appveyor.yml

@ -65,17 +65,23 @@ install:
- IF "%TARGET%" == "desktop" ren openal\bin\Win64\soft_oal.dll OpenAL32.dll - IF "%TARGET%" == "desktop" ren openal\bin\Win64\soft_oal.dll OpenAL32.dll
- IF "%TARGET%" == "desktop-gles" ren openal\bin\Win64\soft_oal.dll OpenAL32.dll - IF "%TARGET%" == "desktop-gles" ren openal\bin\Win64\soft_oal.dll OpenAL32.dll
# 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 # SDL2
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.9-VC.zip appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.9-VC.zip - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER%" == "msvc" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.9-VC.zip appveyor DownloadFile http://www.libsdl.org/release/SDL2-devel-2.0.9-VC.zip
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" 7z x SDL2-devel-2.0.9-VC.zip && ren SDL2-2.0.9 SDL - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER%" == "msvc" 7z x SDL2-devel-2.0.9-VC.zip && ren SDL2-2.0.9 SDL
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.9-mingw.tar.gz appveyor DownloadFile http://libsdl.org/release/SDL2-devel-2.0.9-mingw.tar.gz - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER%" == "mingw" IF NOT EXIST %APPVEYOR_BUILD_FOLDER%\SDL2-devel-2.0.9-mingw.tar.gz appveyor DownloadFile http://libsdl.org/release/SDL2-devel-2.0.9-mingw.tar.gz
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" 7z x SDL2-devel-2.0.9-mingw.tar.gz & 7z x SDL2-devel-2.0.9-mingw.tar & ren SDL2-2.0.9 SDL - IF "%BUILD_APPLICATIONS%" == "YES" IF "%COMPILER%" == "mingw" 7z x SDL2-devel-2.0.9-mingw.tar.gz & 7z x SDL2-devel-2.0.9-mingw.tar & ren SDL2-2.0.9 SDL
# GLFW # GLFW
- IF "%TARGET%" == "desktop" 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 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 "%TARGET%" == "desktop" 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" 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 "%TARGET%" == "desktop" IF "%COMPILER%" == "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%" == "msvc" copy glfw\lib-vc2015\glfw3.dll deps\bin\ && copy glfw\lib-vc2015\glfw3dll.lib deps\lib\glfw3.lib
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "mingw" copy glfw\lib-mingw-w64\glfw3.dll deps\bin\ && copy glfw\lib-mingw-w64\libglfw3dll.a deps\lib\libglfw3.a - 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
build_script: build_script:
- IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" call package\ci\appveyor-desktop.bat - IF "%TARGET%" == "desktop" IF "%COMPILER%" == "msvc" call package\ci\appveyor-desktop.bat

6
package/ci/travis-desktop-vulkan.sh

@ -21,8 +21,8 @@ cd ../..
# Vulkan build. # Vulkan build.
g++ package/ci/libvulkan.cpp -std=c++11 -shared -o $HOME/libvulkan.so g++ package/ci/libvulkan.cpp -std=c++11 -shared -o $HOME/libvulkan.so
# Enabling only stuff that's directly affected by Vulkan, disabling everything # Enabling only stuff that's directly affected by Vulkan (which means also
# else. # parts of Platform), disabling everything else.
mkdir build && cd build mkdir build && cd build
# Not using CXXFLAGS in order to avoid affecting dependencies # Not using CXXFLAGS in order to avoid affecting dependencies
cmake .. \ cmake .. \
@ -56,6 +56,8 @@ cmake .. \
-DWITH_DISTANCEFIELDCONVERTER=OFF \ -DWITH_DISTANCEFIELDCONVERTER=OFF \
-DWITH_FONTCONVERTER=OFF \ -DWITH_FONTCONVERTER=OFF \
-DWITH_IMAGECONVERTER=OFF \ -DWITH_IMAGECONVERTER=OFF \
-DWITH_SDL2APPLICATION=ON \
-DWITH_GLFWAPPLICATION=ON \
-DBUILD_TESTS=ON \ -DBUILD_TESTS=ON \
-DBUILD_GL_TESTS=OFF \ -DBUILD_GL_TESTS=OFF \
-DBUILD_DEPRECATED=$BUILD_DEPRECATED \ -DBUILD_DEPRECATED=$BUILD_DEPRECATED \

6
package/ci/travis.yml

@ -60,6 +60,8 @@ matrix:
packages: packages:
- ninja-build - ninja-build
- lcov - lcov
- libsdl2-dev
- libglfw3-dev
- language: cpp - language: cpp
os: linux os: linux
dist: xenial dist: xenial
@ -205,11 +207,11 @@ install:
- if [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-sanitizers" ] || [ "$TARGET" == "desktop-gles" ]; then printf "[General]\ndrivers=null" > ~/.alsoftrc; fi - if [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-sanitizers" ] || [ "$TARGET" == "desktop-gles" ]; then printf "[General]\ndrivers=null" > ~/.alsoftrc; fi
# SDL on macOS and iOS (cached) # SDL on macOS and iOS (cached)
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install sdl2; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && ( [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-vulkan" ] ); then HOMEBREW_NO_AUTO_UPDATE=1 brew install sdl2; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then curl -O https://www.libsdl.org/release/SDL2-2.0.4.tar.gz && tar -xzvf SDL2-2.0.4.tar.gz && cd SDL2-2.0.4/Xcode-iOS/SDL && xcodebuild -sdk iphonesimulator9.3 | xcpretty && mkdir -p ../../../sdl2/lib && cp build/Release-iphonesimulator/libSDL2.a ../../../sdl2/lib && mkdir -p ../../../sdl2/include/SDL2 && cp -R ../../include/* ../../../sdl2/include/SDL2 && cd ../../..; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "ios-simulator" ]; then curl -O https://www.libsdl.org/release/SDL2-2.0.4.tar.gz && tar -xzvf SDL2-2.0.4.tar.gz && cd SDL2-2.0.4/Xcode-iOS/SDL && xcodebuild -sdk iphonesimulator9.3 | xcpretty && mkdir -p ../../../sdl2/lib && cp build/Release-iphonesimulator/libSDL2.a ../../../sdl2/lib && mkdir -p ../../../sdl2/include/SDL2 && cp -R ../../include/* ../../../sdl2/include/SDL2 && cd ../../..; fi
# GLFW (cached) # GLFW (cached)
- if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$TARGET" == "desktop" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install glfw; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && ( [ "$TARGET" == "desktop" ] || [ "$TARGET" == "desktop-vulkan" ] ); then HOMEBREW_NO_AUTO_UPDATE=1 brew install glfw; fi
# SwiftShader on Linux (cached). Taken from Chromium snapshot 587878 # SwiftShader on Linux (cached). Taken from Chromium snapshot 587878
# (swiftshader-bin Arch package). # (swiftshader-bin Arch package).

Loading…
Cancel
Save