# Build Configuration for Travis CI
# https://travis-ci.org
-dist: trusty
+dist: xenial
sudo: required
language: cpp
- set -e
- |
if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then
- # Get VulkanTools and build DevSim
- mkdir -p external
- cd external
- git clone https://github.com/LunarG/VulkanTools.git
- cd VulkanTools
- # Get as little as possible from external sources
- ./update_external_sources.sh --glslang --no-build
- # Build as few components as possible
- cmake -H. -Bbuild -DBUILD_LOADER=NO -DBUILD_TESTS=NO \
- -DBUILD_LAYERS=NO -DBUILD_DEMOS=NO -DBUILD_VKTRACE=NO \
- -DBUILD_VKJSON=NO -DBUILD_VIA=NO -DBUILD_ICD=NO
- make -C build -j $core_count
+ # Build Vulkan-Headers
+ cd ${TRAVIS_BUILD_DIR}
+ git clone https://github.com/KhronosGroup/Vulkan-Headers.git
+ cd Vulkan-Headers
+ mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=install ..
+ make -j $core_count install
cd ${TRAVIS_BUILD_DIR}
fi
- |
if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then
- # Build LVL
- ./update_external_sources.sh
- cmake -H. -Bdbuild -DCMAKE_BUILD_TYPE=Debug
- make -C dbuild -j $core_count
+ # Build Vulkan-Loader for Vulkan-Tools
+ cd ${TRAVIS_BUILD_DIR}
+ git clone https://github.com/KhronosGroup/Vulkan-Loader.git
+ cd Vulkan-Loader
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Debug -DVULKAN_HEADERS_INSTALL_DIR=${TRAVIS_BUILD_DIR}/Vulkan-Headers/build/install -DCMAKE_INSTALL_PREFIX=install ..
+ make -j $core_count install
+ cd ${TRAVIS_BUILD_DIR}
fi
- |
if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then
- # Run Tests
- (cd dbuild/tests; ./vkvalidatelayerdoc.sh)
- export LD_LIBRARY_PATH=dbuild/loader:$LD_LIBRARY_PATH
- export VK_LAYER_PATH=external/VulkanTools/build/layersvt:dbuild/layers
- export VK_ICD_FILENAMES=dbuild/icd/VkICD_mock_icd.json
- dbuild/tests/vk_layer_validation_tests
- for profile in tests/device_profiles/*.json
- do
- echo Testing with profile $profile
- VK_DEVSIM_FILENAME=$profile dbuild/tests/vk_layer_validation_tests --devsim
- done
+ # Build Vulkan-Tools
+ cd ${TRAVIS_BUILD_DIR}
+ mkdir build
+ cd build
+ cmake -DCMAKE_BUILD_TYPE=Debug -DVULKAN_HEADERS_INSTALL_DIR=${TRAVIS_BUILD_DIR}/Vulkan-Headers/build/install -DVULKAN_LOADER_INSTALL_DIR=${TRAVIS_BUILD_DIR}/Vulkan-Loader/build/install ..
+ make -j $core_count
+ cd ${TRAVIS_BUILD_DIR}
+ fi
+ - |
+ if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then
+ # Run vulkaninfo as a test
+ cd ${TRAVIS_BUILD_DIR}
+ cd build/vulkaninfo
+ ldd vulkaninfo
+ VK_ICD_FILENAMES=../icd/VkICD_mock_icd.json ./vulkaninfo
+ cd ${TRAVIS_BUILD_DIR}
fi
- |
if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then
- pushd build-android
- ./update_external_sources_android.sh --abi $ANDROID_ABI --no-build
- ./android-generate.sh
+ pushd ${TRAVIS_BUILD_DIR}/build-android
+ ./update_external_sources_android.sh --abi $ANDROID_ABI --no-build
+ popd
+ pushd ${TRAVIS_BUILD_DIR}/cube/android
USE_CCACHE=1 NDK_CCACHE=ccache ndk-build APP_ABI=$ANDROID_ABI -j $core_count
popd
fi
- cnorthrop@google.com
- tobine@google.com
- chrisforbes@google.com
+ - shannon@lunarg.com
on_success: change
on_failure: always