|
|
|
|
#!/bin/bash
|
|
|
|
|
set -ev
|
|
|
|
|
|
|
|
|
|
# Corrade
|
|
|
|
|
git clone --depth 1 https://github.com/mosra/corrade.git
|
|
|
|
|
cd corrade
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
cmake .. \
|
|
|
|
|
-DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
|
|
|
|
|
-DCMAKE_INSTALL_RPATH=$HOME/deps/lib \
|
|
|
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
|
|
|
-DBUILD_DEPRECATED=$BUILD_DEPRECATED \
|
|
|
|
|
-DWITH_INTERCONNECT=OFF \
|
|
|
|
|
-DWITH_PLUGINMANAGER=ON \
|
|
|
|
|
-G Ninja
|
|
|
|
|
ninja install
|
|
|
|
|
cd ../..
|
|
|
|
|
|
|
|
|
|
# Enabling only stuff that's directly affected by Vulkan (which means also
|
|
|
|
|
# parts of Platform, which need Trade for icon import in tests), disabling
|
|
|
|
|
# everything else. On Linux this uses a newer GCC because SwiftShader doesn't
|
|
|
|
|
# compile on 4.8; building of Vulkan Magnum code on GCC 4.8 is tested in the
|
|
|
|
|
# combined GL + Vulkan job.
|
|
|
|
|
#
|
|
|
|
|
# Not using CXXFLAGS in order to avoid affecting dependencies.
|
|
|
|
|
mkdir build && cd build
|
|
|
|
|
cmake .. \
|
|
|
|
|
-DCMAKE_CXX_FLAGS="$CMAKE_CXX_FLAGS" \
|
|
|
|
|
`# Vulkan Loader is custom-built on Mac` \
|
|
|
|
|
-DCMAKE_PREFIX_PATH="$HOME/deps;$HOME/vulkan-loader" \
|
|
|
|
|
-DCMAKE_INSTALL_PREFIX=$HOME/deps \
|
|
|
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
|
|
|
-DWITH_AUDIO=OFF \
|
|
|
|
|
`# Needed by VkMeshVkTest, together with TgaImporter and AnyImageImporter` \
|
|
|
|
|
-DWITH_DEBUGTOOLS=ON \
|
|
|
|
|
-DWITH_GL=OFF \
|
|
|
|
|
-DWITH_MESHTOOLS=OFF \
|
|
|
|
|
-DWITH_PRIMITIVES=OFF \
|
|
|
|
|
-DWITH_SCENEGRAPH=OFF \
|
|
|
|
|
-DWITH_SCENETOOLS=OFF \
|
|
|
|
|
-DWITH_SHADERS=OFF \
|
|
|
|
|
-DWITH_TEXT=OFF \
|
|
|
|
|
-DWITH_TEXTURETOOLS=OFF \
|
|
|
|
|
-DWITH_TRADE=ON \
|
|
|
|
|
-DWITH_VK=ON \
|
|
|
|
|
-DWITH_AL_INFO=OFF \
|
|
|
|
|
-DWITH_VK_INFO=ON \
|
|
|
|
|
-DWITH_GL_INFO=OFF \
|
|
|
|
|
-DWITH_ANYAUDIOIMPORTER=OFF \
|
|
|
|
|
-DWITH_ANYIMAGECONVERTER=OFF \
|
|
|
|
|
-DWITH_ANYIMAGEIMPORTER=ON \
|
|
|
|
|
-DWITH_ANYSCENECONVERTER=OFF \
|
|
|
|
|
-DWITH_ANYSCENEIMPORTER=OFF \
|
|
|
|
|
-DWITH_ANYSHADERCONVERTER=OFF \
|
|
|
|
|
-DWITH_MAGNUMFONT=OFF \
|
|
|
|
|
-DWITH_MAGNUMFONTCONVERTER=OFF \
|
|
|
|
|
-DWITH_OBJIMPORTER=OFF \
|
|
|
|
|
-DWITH_TGAIMAGECONVERTER=OFF \
|
|
|
|
|
-DWITH_TGAIMPORTER=ON \
|
|
|
|
|
-DWITH_WAVAUDIOIMPORTER=OFF \
|
|
|
|
|
-DWITH_DISTANCEFIELDCONVERTER=OFF \
|
|
|
|
|
-DWITH_FONTCONVERTER=OFF \
|
|
|
|
|
-DWITH_IMAGECONVERTER=OFF \
|
|
|
|
|
-DWITH_SCENECONVERTER=OFF \
|
|
|
|
|
-DWITH_SHADERCONVERTER=OFF \
|
|
|
|
|
-DWITH_SDL2APPLICATION=ON \
|
|
|
|
|
-DWITH_GLFWAPPLICATION=ON \
|
|
|
|
|
-DBUILD_TESTS=ON \
|
|
|
|
|
-DBUILD_GL_TESTS=OFF \
|
|
|
|
|
-DBUILD_VK_TESTS=ON \
|
|
|
|
|
-DBUILD_DEPRECATED=$BUILD_DEPRECATED \
|
|
|
|
|
-G Ninja
|
|
|
|
|
ninja $NINJA_JOBS
|
|
|
|
|
|
|
|
|
|
export VK_ICD_FILENAMES=$HOME/swiftshader/share/vulkan/icd.d/vk_swiftshader_icd.json
|
|
|
|
|
export CORRADE_TEST_COLOR=ON
|
|
|
|
|
|
|
|
|
|
# Keep in sync with PKGBUILD, PKGBUILD-coverage and PKGBUILD-release
|
|
|
|
|
ctest -V
|
|
|
|
|
MAGNUM_VULKAN_VERSION=1.0 CORRADE_TEST_SKIP_BENCHMARKS=ON ctest -V -R VkTest
|
|
|
|
|
MAGNUM_DISABLE_EXTENSIONS="VK_KHR_get_physical_device_properties2 VK_KHR_get_memory_requirements2 VK_KHR_bind_memory2 VK_KHR_create_renderpass2 VK_KHR_copy_commands2 VK_KHR_maintenance1 VK_KHR_multiview VK_KHR_maintenance2" MAGNUM_VULKAN_VERSION=1.0 CORRADE_TEST_SKIP_BENCHMARKS=ON ctest -V -R VkTest
|
|
|
|
|
|
|
|
|
|
# Test install, after running the tests as for them it shouldn't be needed
|
|
|
|
|
ninja install
|