diff options
Diffstat (limited to '.travis.yml')
| -rw-r--r-- | .travis.yml | 36 |
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 |
