Activate matrix and multi-os in travis

This commit is contained in:
xawotihs
2015-10-31 20:15:47 +01:00
parent 667ac39e06
commit 3ec2ceb725
2 changed files with 92 additions and 62 deletions

View File

@@ -1,68 +1,94 @@
language: cpp
os:
- linux
- osx
branches:
except:
- latest-master
before_install:
- export BUILD_PSP=YES
- export BUILD_ANDROID=NO
- export BUILD_SDL=YES
- export BUILD_Qt=YES
- export BUILD_MAC=YES
- sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty universe"
- sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty main"
- sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
- sudo add-apt-repository --yes ppa:kalakris/cmake
- sudo apt-get -qq update
- sudo apt-get -qq install g++-4.8
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90
- sudo apt-get -qq install cmake
- if [ "$TRAVIS_OS_NAME" == “linux” ]; then
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty universe” &&
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty main” &&
sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test &&
sudo add-apt-repository --yes ppa:kalakris/cmake &&
sudo apt-get -qq update &&
sudo apt-get -qq install g++-4.8 &&
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90 &&
sudo apt-get -qq install cmake;
fi
- if [ "$TRAVIS_OS_NAME" == “osx” ]; then
brew update &&
brew install qt5 &&
brew install dpkg &&
curl -s -f -L https://raw.github.com/r-plus/dotfiles/master/install_theos.sh | bash &&
pwd &&
ls;
fi
# Building for PSP here
- if [ "$BUILD_PSP" == "YES" ]; then
- if [ "$BUILD_TYPE” == “PSP” ]; then
export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" &&
export PSPSDK="$PSPDEV/psp/sdk" &&
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" &&
wget -O sdk.lzma http://sourceforge.net/projects/minpspw/files/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma/download;
fi
# Building for Android here
- if [ "$BUILD_ANDROID" == "YES" ]; then
- if [ "$BUILD_TYPE” == “ANDROID” ]; then
export ANDROID="android-sdk-linux/tools/android" &&
if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; fi &&
wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv &&
wget http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz -nv;
fi
# Building for Qt here
- if [ "$BUILD_Qt" == "YES" ]; then
- if [ "$BUILD_TYPE” == “Qt” ]; then
sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev &&
export QMAKE="qmake -qt=qt5";
fi
# Building for SDL here
- if [ "$BUILD_SDL" == "YES" ]; then
- if [ "$BUILD_TYPE” == “SDL” ]; then
export SDL2DIR="$TRAVIS_BUILD_DIR/thirdparty/SDL2";
fi
install:
- sudo apt-get install --force-yes -qq libtinyxml-dev libjpeg-dev libpng-dev libgif-dev libz-dev libboost-system-dev libboost-thread-dev libboost-date-time-dev
- if [ "$BUILD_PSP" == "YES" ]; then
tar -x --xz -f sdk.lzma;
fi
- if [ "$BUILD_ANDROID" == "YES" ]; then
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 &&
tar -zxf android-sdk_r24.3.4-linux.tgz &&
$ANDROID list sdk --extended -a &&
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-10 --no-ui --force --no-https;
fi
- sudo pip install pyjavaproperties
- sudo pip install github3.py
- sudo pip install cpp-coveralls
- if [ "$TRAVIS_OS_NAME" == “linux” ]; then
sudo pip install cpp-coveralls &&
sudo apt-get install --force-yes -qq libtinyxml-dev libjpeg-dev libpng-dev libgif-dev libz-dev libboost-system-dev libboost-thread-dev libboost-date-time-dev;
fi
- if [ "$BUILD_TYPE” == “PSP” ]; then
tar -x --xz -f sdk.lzma;
fi
- if [ "$BUILD_TYPE” == “ANDROID” ]; then
tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 &&
tar -zxf android-sdk_r24.3.4-linux.tgz &&
$ANDROID list sdk --extended -a &&
echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-23.0.1,android-10 --no-ui --force --no-https;
fi
- sudo pip install pyjavaproperties
- sudo pip install github3.py
env:
- BUILD_TYPE=PSP
- BUILD_TYPE=ANDROID
- BUILD_TYPE=SDL
- BUILD_TYPE=Qt
- BUILD_TYPE=iOS
global:
- secure: "EBzr1+qjQsOhn0s+tcFmXR1jP9B0xiOSXuXbRXWZ1OEHNvp8+A5/pS84LYVFlaZqmxr5dApxvPtwhgLIUbQ3EPXm8LpC3KgSD4dS+9/QMbxhe5TK4oczgFRGcDTMJQZsCzhOh7hp3tbcbJg5Gp+VT7aFjFQSHDGwhzSJXsXwh/8="
- secure: "X5dTQfofqAutnXxmu11Ep2MQ5QYnMN8m0AITRtwymhEF2UclcOudI1+skPtuhAGbWQnSO+lhunV3cvMfw2/Ml3k/VDz6VdFSKFrzAu7ja1VLJfcxr7chi0s8q30pVBb66tGydjIBac3B+RQyqgmZQW1frbRrhC/kPFQ6wPWOJdQ="
- secure: "T97NUPnxCpVZ/c5HH0zfo0FO3DPSRMSmze58ubW5EUTZOjAMtEt+OFdsrNZvUTCugUj2M1agtonZbAbczpaAL+lgZcHDgXgWMkfO0pMnsWX1yyCNqMuE/iTMpJr/xsLQeyWlftWjJLsseQU45abZsd1XVmda/G+ZhrDLF1y55SA="
matrix:
exclude:
- os: osx
env: BUILD_TYPE=PSP
- os: osx
env: BUILD_TYPE=ANDROID
- os: linux
env: BUILD_TYPE=iOS
script: "tools/travis-script.sh"
after_success:

View File

@@ -18,11 +18,12 @@ fi
echo RELEASE_NAME = $RELEASE_NAME
# updating versions with the TRAVIS build numbers
cd projects/mtg/
ant update > error.txt
cd ../..
if [ "$TRAVIS_OS_NAME” = “linux” ]; then
# updating versions with the TRAVIS build numbers
cd projects/mtg/
ant update > error.txt
cd ../..
fi
# we create resource package
cd projects/mtg/bin/Res
@@ -33,7 +34,7 @@ mv core_*.zip ../../../../core.zip
cd ../../../..
# we're building a PSP binary here
if [ "$BUILD_PSP" = "YES" ]; then
if [ "$BUILD_TYPE" = "PSP" ]; then
mkdir build_psp
cd build_psp
cmake -DCMAKE_TOOLCHAIN_FILE=../CMakeModules/psp.toolchain.cmake ..
@@ -42,28 +43,28 @@ if [ "$BUILD_PSP" = "YES" ]; then
fi
# we're building an Android binary here
if [ "$BUILD_ANDROID" = "YES" ]; then
mkdir build_sdl
cd build_sdl
cmake -DCMAKE_TOOLCHAIN_FILE=../CMakeModules/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-10
make -j8
cd ..
if [ "$BUILD_TYPE" = "ANDROID" ]; then
mkdir build_android
cd build_android
cmake -DCMAKE_TOOLCHAIN_FILE=../CMakeModules/android.toolchain.cmake -DANDROID_NATIVE_API_LEVEL=android-10
make -j8
cd ..
fi
# we're building a Qt version with GUI here
if [ "$BUILD_Qt" = "YES" ]; then
mkdir build_qt_widget
cd build_qt_widget
cmake -Dbackend_qt_widget=ON -Dbackend_qt_console=OFF ..
make -j4
cd ..
if [ "$BUILD_TYPE= “Qt” ]; then
mkdir build_qt_widget
cd build_qt_widget
cmake -Dbackend_qt_widget=ON -Dbackend_qt_console=OFF ..
make -j4
cd ..
# let's try an Intel linux binary in debug text-mode-only
mkdir build_qt_console
cd build_qt_console
cmake -Dbackend_qt_console=ON ..
make -j4
cd ..
mkdir build_qt_console
cd build_qt_console
cmake -Dbackend_qt_console=ON ..
make -j4
cd ..
# Now we run the testsuite (Res needs to be in the working directory)
cd projects/mtg
@@ -72,14 +73,17 @@ if [ "$BUILD_Qt" = "YES" ]; then
fi
# we're building a SDL version
if [ "$BUILD_SDL" = "YES" ]; then
mkdir build_SDL
cd build_SDL
cmake -Dbackend_sdl=ON ..
make -j4
cd ..
if [ "$BUILD_TYPE" = "SDL" ]; then
mkdir build_SDL
cd build_SDL
cmake -Dbackend_sdl=ON ..
make -j4
cd ..
fi
# Let's launch de Mac cross-compilation
if [ "$BUILD_MAC" = "YES" ]; then
./tools/build-macos-script.sh
# Let's launch de iOS cross-compilation
if [ "$BUILD_TYPE” = “iOS” ]; then
cd projects/mtg/iOS
make -j 4 package
cd ../../..
fi