Browse Source

For Travis CI - attempt to perform CI build for Raspberry Pi platform.

Yao Wei Tjong 姚伟忠 11 years ago
parent
commit
dd1cbc9499
2 changed files with 18 additions and 4 deletions
  1. 8 4
      .travis.yml
  2. 10 0
      Rakefile

+ 8 - 4
.travis.yml

@@ -36,10 +36,13 @@ env:
     - WINDOWS=1 ARCH=i686                  URHO3D_LIB_TYPE=SHARED
     - ANDROID=1                            URHO3D_LIB_TYPE=STATIC
     - ANDROID=1                            URHO3D_LIB_TYPE=SHARED
-#matrix:
-#  fast_finish: true
-#  allow_failures:
-#    - env:
+    - RPI=1                                URHO3D_LIB_TYPE=STATIC
+    - RPI=1                                URHO3D_LIB_TYPE=SHARED
+matrix:
+  fast_finish: true
+  allow_failures:
+    - env: RPI=1 URHO3D_LIB_TYPE=STATIC
+    - env: RPI=1 URHO3D_LIB_TYPE=SHARED
 language: cpp
 compiler: gcc
 before_install:
@@ -47,6 +50,7 @@ before_install:
     - bash -c "[ $ON_MASTER_COMMIT ]" && export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT) && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]' && git fetch --depth=2000 --tags origin $TRAVIS_BRANCH && export PACKAGE_UPLOAD=1 || true
     - bash -c "[ $ON_MASTER_COMMIT ]" && export RELEASE_TAG=$(git describe --tags --exact-match $TRAVIS_COMMIT 2>/dev/null) && bash -c "[ $RELEASE_TAG ]" && export PACKAGE_UPLOAD=1 || true
     - bash -c "[ $ANDROID ]" && wget -q http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2 && tar xjf *.bz2 && rm *.bz2 && ln -s android-ndk* android-ndk && export ANDROID_NDK=$(pwd)/android-ndk && bash -c "[ $PACKAGE_UPLOAD ]" && wget -q http://dl.google.com/android/android-sdk_r22.6.1-linux.tgz && tar xzf *.tgz && rm *.tgz && ln -s android-sdk* android-sdk && export ANDROID_SDK=$(pwd)/android-sdk || true
+    - bash -c "[ $RPI ]" && git clone --depth 1 https://github.com/raspberrypi/tools.git rpi-tools && export RASPI_TOOL=$(pwd)/rpi-tools && git clone --depth=1 https://github.com/urho3d/rpi-sysroot.git rpi-sysroot && export RASPI_ROOT=$(pwd)/rpi-sysroot || true
     - bash -c "( [ $SITE_UPDATE_ON_MASTER_COMMIT ] || [ $PACKAGE_UPLOAD ] )" && sudo add-apt-repository ppa:george-edison55/precise-backports -y || true
     - sudo apt-get update -q -y
 install:

+ 10 - 0
Rakefile

@@ -106,6 +106,8 @@ task :travis_ci_package_upload do
     platform_prefix = 'mingw-'
   elsif ENV['IOS']
     platform_prefix = 'ios-'
+  elsif ENV['RPI']
+    platform_prefix = 'raspi-'
   else
     platform_prefix = ''
   end
@@ -230,6 +232,14 @@ def makefile_travis_ci
     ENV['SKIP_NATIVE'] = '1'
     system './cmake_gcc.sh' or abort 'Failed to reconfigure Urho3D library for Android build'
     platform_prefix = 'android-'
+  elsif ENV['RPI']
+    # LuaJIT on Raspberry Pi build requires tolua++ and buildvm-raspi tools to be built natively first
+    system 'cd Build/ThirdParty/toluapp/src/bin && make' or abort 'Failed to build tolua++ tool'
+    system 'cd Build/ThirdParty/LuaJIT/generated/buildvm-raspi && make' or abort 'Failed to build buildvm-android tool'
+    # Reconfigure Raspberry Pi build one more time now that we have the tools built
+    ENV['SKIP_NATIVE'] = '1'
+    system './cmake_gcc.sh' or abort 'Failed to reconfigure Urho3D library for Raspberry Pi build'
+    platform_prefix = 'raspi-'
   elsif ENV['WINDOWS']
     platform_prefix = 'mingw-'
   else