|
|
@@ -21,59 +21,102 @@
|
|
|
#
|
|
|
|
|
|
language: cpp
|
|
|
-compiler: gcc
|
|
|
+cache: ccache
|
|
|
+sudo: false
|
|
|
+addons: {apt: {sources: &default_sources george-edison55-precise-backports, packages: &default_packages [doxygen, graphviz]}}
|
|
|
env:
|
|
|
global:
|
|
|
- secure: DE9IUM+pIV757GU0ccfDJhA752442pKu3DyBthrzHW9+GbsqbfuJOx045CYNN5vOWutFPC0A51B9WxhLNpXXqD3mfU8MhP1gkF7SskrHvcAPrCyfdqZf1Q8XDP5phm2KbHhhwxQMYmmicd6yj8DPNy2wRoSgPSDp/ZUDk51XZDU=
|
|
|
- secure: AfoHc5tpnYoI2TVGUeE9Xdru+15pd5N4YzO7EWvwmMnrHtNO3retrmKOGpnIyfbP2BeWRTW/z+BI4G0RrfvubjHu2us4wRh6Jq8+UZohBBkM+ldTnyqYHX97q+6ScWBWZGg7dpthd1x/7fmds8dSRzustHUhI7RzPbWEMQH1DGI=
|
|
|
- - DISPLAY=:99.0
|
|
|
- - NUMJOBS=3
|
|
|
- matrix:
|
|
|
- - LINUX=1 URHO3D_LIB_TYPE=STATIC SITE_UPDATE=1
|
|
|
- - LINUX=1 URHO3D_LIB_TYPE=SHARED
|
|
|
- - WINDOWS=1 URHO3D_LIB_TYPE=STATIC
|
|
|
- - WINDOWS=1 URHO3D_LIB_TYPE=SHARED
|
|
|
- - WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_OPENGL=0
|
|
|
- - WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_OPENGL=0
|
|
|
- # Ubuntu 12.04 LTS does not have up-to-date D3D11 headers, disable the CI build jobs for D3D11 for now until Travis-CI upgrades their OS to 14.04 LTS or better
|
|
|
- # WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_D3D11=1
|
|
|
- # WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_D3D11=1
|
|
|
- - LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
|
|
|
- - LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
|
|
|
- - WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
|
|
|
- - WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
|
|
|
- - WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
|
- - WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
|
- # WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_D3D11=1
|
|
|
- # WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_D3D11=1
|
|
|
+ - NUMJOBS=4
|
|
|
+ - USE_CCACHE=1
|
|
|
+ - CCACHE_SLOPPINESS=pch_defines,time_macros
|
|
|
+ - CCACHE_COMPRESS=1
|
|
|
matrix:
|
|
|
fast_finish: true
|
|
|
include:
|
|
|
- - compiler: clang
|
|
|
+ - &Linux-64bit
|
|
|
+ addons: {apt: {sources: *default_sources, packages: &linux_packages [*default_packages, libasound2-dev, rpm]}}
|
|
|
+ compiler: gcc-64bit-static
|
|
|
env: LINUX=1 URHO3D_LIB_TYPE=STATIC
|
|
|
- - compiler: clang
|
|
|
+ - &Linux-64bit-shared
|
|
|
+ <<: *Linux-64bit
|
|
|
+ compiler: gcc-64bit-shared
|
|
|
env: LINUX=1 URHO3D_LIB_TYPE=SHARED
|
|
|
- - compiler: clang
|
|
|
+ - <<: *Linux-64bit
|
|
|
+ compiler: clang-64bit-static
|
|
|
+ - <<: *Linux-64bit-shared
|
|
|
+ compiler: clang-64bit-shared
|
|
|
+ - &Linux-32bit
|
|
|
+ compiler: gcc-32bit-static
|
|
|
+ addons: {apt: {sources: *default_sources, packages: [*linux_packages, g++-multilib,
|
|
|
+ "libxrandr-dev:i386", "libglapi-mesa:i386", "libgl1-mesa-glx:i386", "libgl1-mesa-dev:i386", "libxext-dev:i386", "libxrender-dev:i386"]}}
|
|
|
env: LINUX=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
|
|
|
- - compiler: clang
|
|
|
+ - &Linux-32bit-shared
|
|
|
+ <<: *Linux-32bit
|
|
|
+ compiler: gcc-32bit-shared
|
|
|
env: LINUX=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
|
|
|
-before_install:
|
|
|
- - free -tm
|
|
|
- - mem=($(free -m |head -2 |tail -1)); if [ ${mem[6]} -eq 0 ]; then export BAD_VM=1; fi
|
|
|
+ - <<: *Linux-32bit
|
|
|
+ compiler: clang-32bit-static
|
|
|
+ - <<: *Linux-32bit-shared
|
|
|
+ compiler: clang-32bit-shared
|
|
|
+ - &MinGW-64bit
|
|
|
+ compiler: x86_64-w64-mingw32-gcc-static
|
|
|
+ addons: {apt: {sources: *default_sources, packages: [*default_packages, gcc-mingw-w64-x86-64, g++-mingw-w64-x86-64, binutils-mingw-w64-x86-64]}}
|
|
|
+ env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC
|
|
|
+ - <<: *MinGW-64bit
|
|
|
+ compiler: x86_64-w64-mingw32-gcc-shared
|
|
|
+ env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED
|
|
|
+ - <<: *MinGW-64bit
|
|
|
+ compiler: x86_64-w64-mingw32-gcc-d3d9-static
|
|
|
+ env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_OPENGL=0
|
|
|
+ - <<: *MinGW-64bit
|
|
|
+ compiler: x86_64-w64-mingw32-gcc-d3d9-shared
|
|
|
+ env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_OPENGL=0
|
|
|
+ # Ubuntu 12.04 LTS does not have up-to-date D3D11 headers, disable the CI build jobs for D3D11 for now until Travis-CI upgrades their OS to 14.04 LTS or better
|
|
|
+ # <<: *MinGW-64bit
|
|
|
+ # compiler: x86_64-w64-mingw32-gcc-d3d11-static
|
|
|
+ # env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_D3D11=1
|
|
|
+ # <<: *MinGW-64bit
|
|
|
+ # compiler: x86_64-w64-mingw32-gcc-d3d11-shared
|
|
|
+ # env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_D3D11=1
|
|
|
+ - &MinGW-32bit
|
|
|
+ compiler: i686-w64-mingw32-gcc-static
|
|
|
+ addons: {apt: {sources: *default_sources, packages: [*default_packages, gcc-mingw-w64-i686, g++-mingw-w64-i686, binutils-mingw-w64-i686]}}
|
|
|
+ env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0
|
|
|
+ - <<: *MinGW-32bit
|
|
|
+ compiler: i686-w64-mingw32-gcc-shared
|
|
|
+ env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0
|
|
|
+ - <<: *MinGW-32bit
|
|
|
+ compiler: i686-w64-mingw32-gcc-d3d9-static
|
|
|
+ env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
|
+ - <<: *MinGW-32bit
|
|
|
+ compiler: i686-w64-mingw32-gcc-d3d9-shared
|
|
|
+ env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_OPENGL=0
|
|
|
+ # <<: *MinGW-32bit
|
|
|
+ # compiler: i686-w64-mingw32-gcc-d3d11-static
|
|
|
+ # env: WINDOWS=1 URHO3D_LIB_TYPE=STATIC URHO3D_64BIT=0 URHO3D_D3D11=1
|
|
|
+ # <<: *MinGW-32bit
|
|
|
+ # compiler: i686-w64-mingw32-gcc-d3d11-shared
|
|
|
+ # env: WINDOWS=1 URHO3D_LIB_TYPE=SHARED URHO3D_64BIT=0 URHO3D_D3D11=1
|
|
|
+before_script:
|
|
|
- export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
|
- - if [ $RELEASE_TAG ] || ([ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]); then export SITE_UPDATE_ON_MASTER_COMMIT=$SITE_UPDATE; if [ "$CC" == "gcc" ] && ([ $RELEASE_TAG ] || echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi; fi
|
|
|
- - if [ "$SITE_UPDATE_ON_MASTER_COMMIT" -o "$PACKAGE_UPLOAD" ]; then travis_retry sudo add-apt-repository ppa:george-edison55/precise-backports -y; fi
|
|
|
- - travis_retry sudo apt-get update -q -y
|
|
|
-install:
|
|
|
- - travis_retry sudo apt-get install -q -y --no-install-recommends libasound2-dev
|
|
|
- - if [ $LINUX ]; then if [ "$URHO3D_64BIT" == "0" ]; then travis_retry sudo apt-get remove -q -y gvfs-daemons && travis_retry sudo apt-get install -q -y libxrandr-dev:i386 libglapi-mesa:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev:i386 libxext-dev:i386 libxrender-dev:i386 g++-multilib && export CMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu; else bash -e /etc/init.d/xvfb start; fi && if [ $PACKAGE_UPLOAD ]; then travis_retry sudo apt-get install -q -y rpm; fi; fi
|
|
|
- - if [ $WINDOWS ]; then if [ "$URHO3D_64BIT" == "0" ]; then travis_retry sudo apt-get install -q -y gcc-mingw-w64-i686 g++-mingw-w64-i686 binutils-mingw-w64-i686 && export ARCH=i686; else travis_retry sudo apt-get install -q -y gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 binutils-mingw-w64-x86-64 && export ARCH=x86_64; fi && travis_retry sudo apt-get install -q -y g++-multilib && export MINGW_PREFIX=/usr/bin/${ARCH}-w64-mingw32; fi
|
|
|
- - if [ "$SITE_UPDATE_ON_MASTER_COMMIT" -o "$PACKAGE_UPLOAD" ]; then travis_retry sudo apt-get install -q -y --no-install-recommends doxygen graphviz; fi
|
|
|
- - free -tm
|
|
|
+ - if [ $RELEASE_TAG ] || ([ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]); then if [ ${TRAVIS_JOB_NUMBER##*.} == 1 ]; then export SITE_UPDATE=1; fi; if [ "$CC" == "gcc" ] && ([ $RELEASE_TAG ] || echo $COMMIT_MESSAGE |grep -cq '\[ci package\]'); then export PACKAGE_UPLOAD=1; fi; fi
|
|
|
+ - if [ $LINUX ]; then if [ "$URHO3D_64BIT" == "0" ]; then export CMAKE_PREFIX_PATH=/usr/lib/i386-linux-gnu; else export DISPLAY=:99.0; bash -e /etc/init.d/xvfb start; fi; fi
|
|
|
+ - if [ $WINDOWS ]; then if [ "$URHO3D_64BIT" == "0" ]; then export ARCH=i686; else export ARCH=x86_64; fi && export MINGW_PREFIX=/usr/bin/${ARCH}-w64-mingw32; fi
|
|
|
+ # MinGW package on Ubuntu 12.04 LTS does not come with d3dcompiler.h file which is required by our CI build with URHO3D_OPENGL=0.
|
|
|
+ # Temporarily workaround the problem by downloading the missing header from Ubuntu 14.04 LTS source package.
|
|
|
+ - if [ $URHO3D_OPENGL ]; then mkdir -p ../Build/{,generated/{UsingBuildTree,UsingSDK}/}include/Urho3D/ThirdParty && wget -P ../Build/include/Urho3D/ThirdParty http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/mingw-w64/trusty/download/package-import%40ubuntu.com-20130624192537-vzn12bb7qd5w3iy8/d3dcompiler.h-20120402093420-bk10a737hzitlkgj-65/d3dcompiler.h && for d in UsingBuildTree UsingSDK; do bash -c "cd ../Build/generated/$d/include/Urho3D/ThirdParty && ln -s ../../../../../include/Urho3D/ThirdParty/d3dcompiler.h ."; done; fi
|
|
|
+ - export PATH=$(whereis -b ccache |grep -o '\S*lib\S*'):$PATH
|
|
|
+ # For some reason clang compiler toolchain installation in Travis CI VM does not have symlink in the ccache symlinks directory, so workaround it
|
|
|
+ - if [ "$CC" == "clang" ]; then ln -s $(which ccache) $HOME/clang && ln -s $(which ccache) $HOME/clang++ && export PATH=$HOME:$PATH; fi
|
|
|
+ - ccache -z -M 100M
|
|
|
+ - unset CCACHE_DISABLE
|
|
|
script: rake ci
|
|
|
+before_cache: ccache -s
|
|
|
after_success:
|
|
|
- - if [ $SITE_UPDATE_ON_MASTER_COMMIT ]; then rake ci_site_update; fi && if [ $SITE_UPDATE ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then rake ci_rebase; fi
|
|
|
+ - if [ $SITE_UPDATE ]; then rake ci_site_update; fi && if [ ${TRAVIS_JOB_NUMBER##*.} == 1 ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then rake ci_rebase; fi
|
|
|
- if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload; if [ $LINUX ] && [ ! "$URHO3D_64BIT" == "0" ]; then rake ci_package_upload URHO3D_USE_LIB64_RPM=1; fi; fi
|
|
|
|
|
|
# vi: set ts=2 sw=2 expandtab:
|