summaryrefslogtreecommitdiffhomepage
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml36
1 files changed, 22 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml
index 82f73e8d..2fd73c18 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,7 +5,8 @@ git:
depth: 3
# TODO we could use a 32 bit Docker container for running true 32-bit tests
-# services: - docker
+services:
+ - docker
matrix:
include:
@@ -16,10 +17,10 @@ matrix:
env: ARCH=amd64
sudo: required
- os: linux
- env: ARCH=amd64 GLFW=SYSTEM
+ env: ARCH=amd64 GLFW=SYSTEM RELEASE=NO
sudo: required
- os: linux
- env: USE_WAYLAND=ON ARCH=amd64
+ env: USE_WAYLAND=ON ARCH=amd64 RELEASE=NO
sudo: required
addons:
apt:
@@ -30,13 +31,15 @@ matrix:
- os: osx
env: ARCH=universal
- os: linux
- env: ARCH=arm64-android
+ env: ARCH=arm64-android RELEASE=NO
+ sudo: required
+ - os: linux
+ env: ARCH=html5 RELEASE=NO
sudo: required
before_script:
before_install:
- - export PLATFORM=Desktop
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then
if [[ "$ARCH" == *-android ]]; then
export RAYLIB_PACKAGE_SUFFIX="-Android-arm64";
@@ -44,9 +47,14 @@ before_install:
unzip -qq android-ndk*.zip;
android-ndk*/build/tools/make_standalone_toolchain.py --arch arm64 --api 21 --install-dir /tmp/android-toolchain;
export PATH=/tmp/android-toolchain/bin:$PATH;
- export PLATFORM=Android;
+ export CMAKE_ARCH_ARGS='-DPLATFORM=Android';
export CC=aarch64-linux-android-clang;
export CXX=aarch64-linux-android-clang++;
+ elif [ "$ARCH" == "html5" ]; then
+ export RAYLIB_PACKAGE_SUFFIX="-html5";
+ docker run --privileged=true -dit --name emscripten -v $(pwd):/src trzeci/emscripten:sdk-incoming-64bit bash;
+ export CMAKE_ARCH_ARGS='-DPLATFORM=Web -DCMAKE_TOOLCHAIN_FILE=../cmake/emscripten.cmake';
+ export RUNNER='docker exec -it emscripten cmake -E chdir build';
else
sudo apt-get install -y gcc-multilib
libasound2-dev:$ARCH
@@ -68,10 +76,10 @@ before_install:
export RAYLIB_PACKAGE_SUFFIX="-macOS";
if [ "$GLFW" == "SYSTEM" ]; then brew update; brew install glfw; fi;
fi
- - "$CC --version"
+ - mkdir build
+ - $RUNNER $CC --version
script:
- - mkdir build
- cd build
- if test -n "${USE_WAYLAND}";
then wget https://mirrors.kernel.org/ubuntu/pool/universe/e/extra-cmake-modules/extra-cmake-modules_5.38.0a-0ubuntu1_amd64.deb;
@@ -81,12 +89,12 @@ script:
git checkout 1.12 && ./autogen.sh --prefix=/usr && make && sudo make install;
popd;
fi
- - cmake $CMAKE_ARCH_ARGS -DMACOS_FATLIB=ON -DSTATIC=ON -DSHARED=ON -DBUILD_EXAMPLES=ON -DBUILD_GAMES=ON -DUSE_EXTERNAL_GLFW=IF_POSSIBLE -DUSE_WAYLAND=${USE_WAYLAND} -DPLATFORM=${PLATFORM} ..
- - make VERBOSE=1
- - if [ "$GLFW" != "SYSTEM" ]; then make package; fi;
- - sudo make install
- - pkg-config --static --libs raylib
- - if [[ "$ARCH" != *-android ]]; then
+ - $RUNNER cmake $CMAKE_ARCH_ARGS -DMACOS_FATLIB=ON -DSTATIC=ON -DSHARED=ON -DBUILD_EXAMPLES=ON -DBUILD_GAMES=ON -DUSE_EXTERNAL_GLFW=IF_POSSIBLE -DUSE_WAYLAND=${USE_WAYLAND} ..
+ - $RUNNER make VERBOSE=1
+ - if [ "$RELEASE" != "NO" ]; then $RUNNER make package; fi;
+ - sudo $RUNNER make install
+ - if [[ "$ARCH" != *-android && "$ARCH" != html5 ]]; then
+ pkg-config --static --libs raylib;
nm -g release/libraylib.a | grep glfwGetProcAddress || (echo "libraylib.a doesn't contain GLFW symbols! Aborting..." && false);
fi