diff --git a/CMakeLists.txt b/CMakeLists.txt index 260b362dd..d948833ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -198,6 +198,7 @@ option(BUILD_PLUGINS_STATIC "Build static plugins (default are dynamic)" OFF) option(BUILD_TESTS "Build unit tests" OFF) cmake_dependent_option(BUILD_GL_TESTS "Build unit tests for OpenGL code" OFF "BUILD_TESTS;TARGET_GL" OFF) cmake_dependent_option(BUILD_AL_TESTS "Build unit tests for OpenAL code" ON "BUILD_TESTS;WITH_AUDIO" OFF) +cmake_dependent_option(BUILD_VK_TESTS "Build unit tests for Vulkan code" OFF "BUILD_TESTS;TARGET_VK" OFF) if(BUILD_TESTS) find_package(Corrade REQUIRED TestSuite) if(CORRADE_TARGET_IOS) diff --git a/doc/building.dox b/doc/building.dox index 5524bf76c..af0679bd6 100644 --- a/doc/building.dox +++ b/doc/building.dox @@ -760,6 +760,9 @@ running CTest, e.g.: ctest -R GLTest # run only tests requiring OpenGL context @endcode +Tests requiring Vulkan to work are also disabled by default, enable them with +`BUILD_VK_TESTS`. + @section building-doc Building documentation The documentation is generated using [Doxygen](http://doxygen.org) with the diff --git a/package/archlinux/PKGBUILD b/package/archlinux/PKGBUILD index b0559874a..9f4158cb5 100644 --- a/package/archlinux/PKGBUILD +++ b/package/archlinux/PKGBUILD @@ -56,6 +56,7 @@ build() { -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON \ -G Ninja ninja } diff --git a/package/archlinux/PKGBUILD-android-arm64 b/package/archlinux/PKGBUILD-android-arm64 index 6c478ac59..ea9131491 100644 --- a/package/archlinux/PKGBUILD-android-arm64 +++ b/package/archlinux/PKGBUILD-android-arm64 @@ -49,7 +49,8 @@ build() { -DWITH_GL_INFO=ON \ -DTARGET_GLES2=OFF \ -DBUILD_TESTS=ON \ - -DBUILD_GL_TESTS=ON + -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON ninja } diff --git a/package/archlinux/PKGBUILD-clang b/package/archlinux/PKGBUILD-clang index adaa31ff6..da225875b 100644 --- a/package/archlinux/PKGBUILD-clang +++ b/package/archlinux/PKGBUILD-clang @@ -58,7 +58,8 @@ build() { -DWITH_GL_INFO=ON \ -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ - -DBUILD_GL_TESTS=ON + -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON ninja } diff --git a/package/archlinux/PKGBUILD-clang-addressanitizer b/package/archlinux/PKGBUILD-clang-addressanitizer index 150b72d5e..7894ed735 100644 --- a/package/archlinux/PKGBUILD-clang-addressanitizer +++ b/package/archlinux/PKGBUILD-clang-addressanitizer @@ -59,7 +59,8 @@ build() { -DWITH_GL_INFO=ON \ -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ - -DBUILD_GL_TESTS=ON + -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON ninja } diff --git a/package/archlinux/PKGBUILD-clang-analyzer b/package/archlinux/PKGBUILD-clang-analyzer index c71ae35c0..70f00400c 100644 --- a/package/archlinux/PKGBUILD-clang-analyzer +++ b/package/archlinux/PKGBUILD-clang-analyzer @@ -51,6 +51,7 @@ build() { -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON \ -G Ninja scan-build --use-c++=$(which clang++) --view ninja } diff --git a/package/archlinux/PKGBUILD-clang-libc++ b/package/archlinux/PKGBUILD-clang-libc++ index 66543f52d..132f27ba4 100644 --- a/package/archlinux/PKGBUILD-clang-libc++ +++ b/package/archlinux/PKGBUILD-clang-libc++ @@ -61,7 +61,8 @@ build() { -DWITH_GL_INFO=ON \ -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ - -DBUILD_GL_TESTS=ON + -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON ninja } diff --git a/package/archlinux/PKGBUILD-coverage b/package/archlinux/PKGBUILD-coverage index 3b2518090..b7166d540 100644 --- a/package/archlinux/PKGBUILD-coverage +++ b/package/archlinux/PKGBUILD-coverage @@ -57,6 +57,7 @@ build() { -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON \ -G Ninja ninja } diff --git a/package/archlinux/PKGBUILD-gcc48 b/package/archlinux/PKGBUILD-gcc48 index 8af824485..341d38d87 100644 --- a/package/archlinux/PKGBUILD-gcc48 +++ b/package/archlinux/PKGBUILD-gcc48 @@ -61,7 +61,8 @@ build() { -DWITH_GL_INFO=ON \ -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ - -DBUILD_GL_TESTS=ON + -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON ninja } diff --git a/package/archlinux/PKGBUILD-mingw-w64 b/package/archlinux/PKGBUILD-mingw-w64 index 2078372a6..bd22f9503 100644 --- a/package/archlinux/PKGBUILD-mingw-w64 +++ b/package/archlinux/PKGBUILD-mingw-w64 @@ -46,6 +46,7 @@ build() { -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=OFF \ -G Ninja ninja @@ -82,6 +83,7 @@ build() { -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=OFF \ -G Ninja ninja } diff --git a/package/archlinux/PKGBUILD-release b/package/archlinux/PKGBUILD-release index f320c0161..7d793b45a 100644 --- a/package/archlinux/PKGBUILD-release +++ b/package/archlinux/PKGBUILD-release @@ -51,6 +51,7 @@ build() { -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON \ -G Ninja ninja @@ -91,6 +92,7 @@ build() { -DWITH_AL_INFO=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ + -DBUILD_VK_TESTS=ON \ -G Ninja ninja } diff --git a/package/ci/appveyor-desktop-vulkan.bat b/package/ci/appveyor-desktop-vulkan.bat index ae383ebed..d65cbff05 100644 --- a/package/ci/appveyor-desktop-vulkan.bat +++ b/package/ci/appveyor-desktop-vulkan.bat @@ -61,12 +61,13 @@ cmake .. ^ -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 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 diff --git a/package/ci/unix-desktop-vulkan.sh b/package/ci/unix-desktop-vulkan.sh index 19dd8839a..cbd52c98c 100755 --- a/package/ci/unix-desktop-vulkan.sh +++ b/package/ci/unix-desktop-vulkan.sh @@ -65,10 +65,11 @@ cmake .. \ -DWITH_GLFWAPPLICATION=ON \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=OFF \ + -DBUILD_VK_TESTS=ON \ -DBUILD_DEPRECATED=$BUILD_DEPRECATED \ -G Ninja ninja -ASAN_OPTIONS="color=always" LSAN_OPTIONS="color=always suppressions=$TRAVIS_BUILD_DIR/package/ci/leaksanitizer.conf" CORRADE_TEST_COLOR=ON ctest -V -E GLTest +ASAN_OPTIONS="color=always" LSAN_OPTIONS="color=always suppressions=$TRAVIS_BUILD_DIR/package/ci/leaksanitizer.conf" CORRADE_TEST_COLOR=ON ctest -V -E "(GL|Vk)Test" # Test install, after running the tests as for them it shouldn't be needed ninja install