blob: c66ac3dafa980cd6a6012480c5f00253a316aa9a [file] [log] [blame]
Karl Schultz6f099202016-12-29 16:23:42 -07001# Build Configuration for Travis CI
2# https://travis-ci.org
3
Peter Mackay466bd4e2016-10-21 15:54:03 +01004dist: trusty
Karl Schultz6f099202016-12-29 16:23:42 -07005sudo: required
6language: cpp
7
8matrix:
Cody Northrop05cb4ab2017-01-03 08:14:02 -07009 # Show final status immediately if a test fails.
10 fast_finish: true
Karl Schultz6f099202016-12-29 16:23:42 -070011 include:
12 # Android build.
13 - os: linux
14 compiler: gcc
Cody Northrop93f05622017-01-03 08:06:03 -070015 env: VULKAN_BUILD_TARGET=ANDROID ANDROID_TARGET=android-23 ANDROID_ABI=armeabi-v7a
Karl Schultz6f099202016-12-29 16:23:42 -070016 # Linux GCC debug build.
17 - os: linux
18 compiler: gcc
19 env: VULKAN_BUILD_TARGET=LINUX
20 # Linux clang debug build.
21 - os: linux
22 compiler: clang
23 env: VULKAN_BUILD_TARGET=LINUX
24
Cody Northrop93f05622017-01-03 08:06:03 -070025android:
26 components:
27 - tools
28 - platform-tools
29 - build-tools-23.0.2
30 - android-23
31
Cody Northropfa5f2962017-01-03 08:07:15 -070032cache:
33 directories:
34 - external
35 - build-android/external
36
Karl Schultz6f099202016-12-29 16:23:42 -070037before_install:
38 # Install the appropriate Linux packages.
Cody Northropd8d413d2017-01-10 13:29:52 -070039 - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then sudo apt-get -y install libxkbcommon-dev libwayland-dev libmirclient-dev; fi
Karl Schultz6f099202016-12-29 16:23:42 -070040
41 # Install the Android NDK.
Cody Northropd8d413d2017-01-10 13:29:52 -070042 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then export ARCH=`uname -m`; fi
43 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then wget http://dl.google.com/android/repository/android-ndk-r13b-linux-${ARCH}.zip; fi
44 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then unzip -u -q android-ndk-r13b-linux-${ARCH}.zip; fi
45 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then export ANDROID_NDK_HOME=`pwd`/android-ndk-r13b; fi
46 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then export JAVA_HOME="/usr/lib/jvm/java-8-oracle"; fi
47 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then export PATH="$ANDROID_NDK_HOME:$PATH"; fi
Karl Schultz6f099202016-12-29 16:23:42 -070048
Peter Mackay466bd4e2016-10-21 15:54:03 +010049script:
Cody Northropd8d413d2017-01-10 13:29:52 -070050 - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then ./update_external_sources.sh; fi
51 - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then cmake -H. -Bdbuild -DCMAKE_BUILD_TYPE=Debug; fi
52 - if [[ "$VULKAN_BUILD_TARGET" == "LINUX" ]]; then make -C dbuild; fi
53 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then pushd build-android; fi
54 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then ./update_external_sources_android.sh; fi
55 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then ./android-generate.sh; fi
56 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then ndk-build APP_ABI=$ANDROID_ABI; fi
57 - if [[ "$VULKAN_BUILD_TARGET" == "ANDROID" ]]; then popd; fi