Browse Source

package/ci: properly test all GLX and EGL applications.

Interesting that neither GlxApplication nor XEglApplication was actually
built on the CI. Also test all EGL applications and contexts on GLX
builds as well, as those should work there too. For GLX on EGL builds
it's a different story.
pull/168/head
Vladimír Vondruš 3 years ago
parent
commit
e188daf392
  1. 79
      package/ci/circleci.yml
  2. 3
      package/ci/unix-desktop-gles.sh
  3. 2
      package/ci/unix-desktop.sh

79
package/ci/circleci.yml

@ -302,7 +302,13 @@ jobs:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: GLX EXTRA_OPTS: >
-DMAGNUM_WITH_GLXAPPLICATION=ON
-DMAGNUM_WITH_XEGLAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_GLXCONTEXT=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
steps: steps:
- install-base-linux: - install-base-linux:
extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev
@ -324,7 +330,13 @@ jobs:
environment: environment:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: GLX EXTRA_OPTS: >
-DMAGNUM_WITH_GLXAPPLICATION=ON
-DMAGNUM_WITH_XEGLAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_GLXCONTEXT=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
steps: steps:
# Not installing the old GCC 4.8 and CMake 3.5 to speed up. These are # Not installing the old GCC 4.8 and CMake 3.5 to speed up. These are
# tested more than enough on other jobs. # tested more than enough on other jobs.
@ -362,7 +374,10 @@ jobs:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: EGL EXTRA_OPTS: >
-DMAGNUM_WITH_XEGLAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
# STUPID yml interprets unquoted ON as a boolean # STUPID yml interprets unquoted ON as a boolean
TARGET_GLES2: "ON" TARGET_GLES2: "ON"
steps: steps:
@ -388,7 +403,10 @@ jobs:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: EGL EXTRA_OPTS: >
-DMAGNUM_WITH_XEGLAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
# STUPID yml interprets unquoted OFF as a boolean # STUPID yml interprets unquoted OFF as a boolean
TARGET_GLES2: "OFF" TARGET_GLES2: "OFF"
steps: steps:
@ -418,11 +436,18 @@ jobs:
# to be either installed or static. Tests are however deliberately run # to be either installed or static. Tests are however deliberately run
# before install, so the static builds are the only case where the # before install, so the static builds are the only case where the
# utilities get thoroughly tested. # utilities get thoroughly tested.
EXTRA_OPTS: -DMAGNUM_SCENECONVERTER_STATIC_PLUGINS=Magnum::AnySceneImporter;Magnum::AnySceneConverter;Magnum::ObjImporter -DMAGNUM_IMAGECONVERTER_STATIC_PLUGINS=Magnum::AnyImageImporter;Magnum::AnyImageConverter;Magnum::TgaImporter;Magnum::TgaImageConverter EXTRA_OPTS: >
-DMAGNUM_WITH_GLXAPPLICATION=ON
-DMAGNUM_WITH_XEGLAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_GLXCONTEXT=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
-DMAGNUM_SCENECONVERTER_STATIC_PLUGINS=Magnum::AnySceneImporter;Magnum::AnySceneConverter;Magnum::ObjImporter
-DMAGNUM_IMAGECONVERTER_STATIC_PLUGINS=Magnum::AnyImageImporter;Magnum::AnyImageConverter;Magnum::TgaImporter;Magnum::TgaImageConverter
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8 LCOV_EXTRA_OPTS: --gcov-tool /usr/bin/gcov-4.8
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: GLX
steps: steps:
- install-base-linux: - install-base-linux:
extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev
@ -447,7 +472,13 @@ jobs:
BUILD_DEPRECATED: "OFF" BUILD_DEPRECATED: "OFF"
CMAKE_CXX_FLAGS: -DCORRADE_NO_ASSERT CMAKE_CXX_FLAGS: -DCORRADE_NO_ASSERT
CONFIGURATION: Release CONFIGURATION: Release
PLATFORM_GL_API: GLX EXTRA_OPTS: >
-DMAGNUM_WITH_GLXAPPLICATION=ON
-DMAGNUM_WITH_XEGLAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_GLXCONTEXT=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
steps: steps:
- install-base-linux: - install-base-linux:
extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev
@ -473,10 +504,16 @@ jobs:
BUILD_APPLICATIONS: "OFF" BUILD_APPLICATIONS: "OFF"
CMAKE_CXX_FLAGS: -fsanitize=address CMAKE_CXX_FLAGS: -fsanitize=address
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: GLX EXTRA_OPTS: >
-DMAGNUM_WITH_GLXAPPLICATION=ON
-DMAGNUM_WITH_XEGLAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_GLXCONTEXT=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
steps: steps:
- install-base-linux: - install-base-linux:
extra: libgl1-mesa-dev libopenal-dev libvulkan-dev extra: libgl1-mesa-dev libegl1-mesa-dev libopenal-dev libvulkan-dev
- install-clang - install-clang
- install-cmake: - install-cmake:
version: "3.5.2" version: "3.5.2"
@ -493,10 +530,16 @@ jobs:
BUILD_APPLICATIONS: "OFF" BUILD_APPLICATIONS: "OFF"
CMAKE_CXX_FLAGS: -fsanitize=thread CMAKE_CXX_FLAGS: -fsanitize=thread
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: GLX EXTRA_OPTS: >
-DMAGNUM_WITH_GLXAPPLICATION=ON
-DMAGNUM_WITH_XEGLAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSGLXAPPLICATION=ON
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_GLXCONTEXT=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
steps: steps:
- install-base-linux: - install-base-linux:
extra: libgl1-mesa-dev libopenal-dev libvulkan-dev extra: libgl1-mesa-dev libegl1-mesa-dev libopenal-dev libvulkan-dev
- install-clang - install-clang
- install-cmake: - install-cmake:
version: "3.5.2" version: "3.5.2"
@ -509,7 +552,9 @@ jobs:
environment: environment:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: CGL EXTRA_OPTS: >
-DMAGNUM_WITH_WINDOWLESSCGLAPPLICATION=ON
-DMAGNUM_WITH_CGLCONTEXT=ON
steps: steps:
- install-base-macos: - install-base-macos:
extra: sdl2 glfw molten-vk extra: sdl2 glfw molten-vk
@ -522,7 +567,9 @@ jobs:
environment: environment:
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: EGL EXTRA_OPTS: >
-DMAGNUM_WITH_WINDOWLESSEGLAPPLICATION=ON
-DMAGNUM_WITH_EGLCONTEXT=ON
# STUPID yml interprets unquoted OFF as a boolean # STUPID yml interprets unquoted OFF as a boolean
TARGET_GLES2: "OFF" TARGET_GLES2: "OFF"
steps: steps:
@ -557,10 +604,12 @@ jobs:
BUILD_STATIC: "ON" BUILD_STATIC: "ON"
# Same comment as with the linux-static build -- these are the only jobs # Same comment as with the linux-static build -- these are the only jobs
# that test command-line tools thoroughly # that test command-line tools thoroughly
EXTRA_OPTS: -DMAGNUM_SCENECONVERTER_STATIC_PLUGINS=Magnum::AnySceneImporter;Magnum::ObjImporter EXTRA_OPTS: >
-DMAGNUM_WITH_WINDOWLESSCGLAPPLICATION=ON
-DMAGNUM_WITH_CGLCONTEXT=ON
-DMAGNUM_SCENECONVERTER_STATIC_PLUGINS=Magnum::AnySceneImporter;Magnum::ObjImporter
CMAKE_CXX_FLAGS: --coverage CMAKE_CXX_FLAGS: --coverage
CONFIGURATION: Debug CONFIGURATION: Debug
PLATFORM_GL_API: CGL
steps: steps:
- install-base-macos: - install-base-macos:
extra: sdl2 glfw molten-vk extra: sdl2 glfw molten-vk

3
package/ci/unix-desktop-gles.sh

@ -31,8 +31,6 @@ cmake .. \
-DMAGNUM_WITH_VK=OFF \ -DMAGNUM_WITH_VK=OFF \
-DMAGNUM_WITH_GLFWAPPLICATION=ON \ -DMAGNUM_WITH_GLFWAPPLICATION=ON \
-DMAGNUM_WITH_SDL2APPLICATION=ON \ -DMAGNUM_WITH_SDL2APPLICATION=ON \
-DMAGNUM_WITH_WINDOWLESS${PLATFORM_GL_API}APPLICATION=ON \
-DMAGNUM_WITH_${PLATFORM_GL_API}CONTEXT=ON \
-DMAGNUM_WITH_OPENGLTESTER=ON \ -DMAGNUM_WITH_OPENGLTESTER=ON \
`# Some plugins have to be enabled in order to test rendering output` \ `# Some plugins have to be enabled in order to test rendering output` \
`# Converter plugins are needed by the DebugTools::screenshot() test` \ `# Converter plugins are needed by the DebugTools::screenshot() test` \
@ -57,6 +55,7 @@ cmake .. \
-DMAGNUM_WITH_AL_INFO=OFF \ -DMAGNUM_WITH_AL_INFO=OFF \
-DMAGNUM_BUILD_TESTS=ON \ -DMAGNUM_BUILD_TESTS=ON \
-DMAGNUM_BUILD_GL_TESTS=ON \ -DMAGNUM_BUILD_GL_TESTS=ON \
$EXTRA_OPTS \
-G Ninja -G Ninja
ninja $NINJA_JOBS ninja $NINJA_JOBS

2
package/ci/unix-desktop.sh

@ -36,8 +36,6 @@ cmake .. \
-DMAGNUM_WITH_VK=ON \ -DMAGNUM_WITH_VK=ON \
-DMAGNUM_WITH_GLFWAPPLICATION=$BUILD_APPLICATIONS \ -DMAGNUM_WITH_GLFWAPPLICATION=$BUILD_APPLICATIONS \
-DMAGNUM_WITH_SDL2APPLICATION=$BUILD_APPLICATIONS \ -DMAGNUM_WITH_SDL2APPLICATION=$BUILD_APPLICATIONS \
-DMAGNUM_WITH_WINDOWLESS${PLATFORM_GL_API}APPLICATION=ON \
-DMAGNUM_WITH_${PLATFORM_GL_API}CONTEXT=ON \
-DMAGNUM_WITH_OPENGLTESTER=ON \ -DMAGNUM_WITH_OPENGLTESTER=ON \
-DMAGNUM_WITH_ANYAUDIOIMPORTER=ON \ -DMAGNUM_WITH_ANYAUDIOIMPORTER=ON \
-DMAGNUM_WITH_ANYIMAGECONVERTER=ON \ -DMAGNUM_WITH_ANYIMAGECONVERTER=ON \

Loading…
Cancel
Save