| 
								
							 | 
							
								language: c
							 | 
						
						
						
							| 
								
							 | 
							
								dist: trusty
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								git:
							 | 
						
						
						
							| 
								
							 | 
							
								  depth: 3
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								# TODO we could use a 32 bit Docker container for running true 32-bit tests
							 | 
						
						
						
							| 
								
							 | 
							
								services:
							 | 
						
						
						
							| 
								
							 | 
							
								  - docker
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								matrix:
							 | 
						
						
						
							| 
								
							 | 
							
								  include:
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: linux
							 | 
						
						
						
							| 
								
							 | 
							
								      env: ARCH=i386
							 | 
						
						
						
							| 
								
							 | 
							
								      sudo: required
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: linux
							 | 
						
						
						
							| 
								
							 | 
							
								      env: ARCH=amd64 INSTALL_GLFW=YES USE_EXTERNAL_GLFW=OFF
							 | 
						
						
						
							| 
								
							 | 
							
								      sudo: required
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: linux
							 | 
						
						
						
							| 
								
							 | 
							
								      env: ARCH=amd64 INSTALL_GLFW=YES OPENAL=ON STATIC=OFF RELEASE=NO
							 | 
						
						
						
							| 
								
							 | 
							
								      sudo: required
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: linux
							 | 
						
						
						
							| 
								
							 | 
							
								      env: WAYLAND=ON ARCH=amd64 RELEASE=NO
							 | 
						
						
						
							| 
								
							 | 
							
								      sudo: required
							 | 
						
						
						
							| 
								
							 | 
							
								      addons:
							 | 
						
						
						
							| 
								
							 | 
							
								          apt:
							 | 
						
						
						
							| 
								
							 | 
							
								              packages:
							 | 
						
						
						
							| 
								
							 | 
							
								                  - libwayland-dev
							 | 
						
						
						
							| 
								
							 | 
							
								                  - libxkbcommon-dev
							 | 
						
						
						
							| 
								
							 | 
							
								                  - libegl1-mesa-dev
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: osx
							 | 
						
						
						
							| 
								
							 | 
							
								      env: ARCH=universal
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: osx
							 | 
						
						
						
							| 
								
							 | 
							
								      osx_image: xcode9.4
							 | 
						
						
						
							| 
								
							 | 
							
								      env: ARCH=universal SHARED=OFF RELEASE=NO
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: linux
							 | 
						
						
						
							| 
								
							 | 
							
								      env: ARCH=arm64-android RELEASE=NO
							 | 
						
						
						
							| 
								
							 | 
							
								      sudo: required
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: linux
							 | 
						
						
						
							| 
								
							 | 
							
								      env: ARCH=arm32-android RELEASE=NO
							 | 
						
						
						
							| 
								
							 | 
							
								      sudo: required
							 | 
						
						
						
							| 
								
							 | 
							
								    - os: linux
							 | 
						
						
						
							| 
								
							 | 
							
								      env: ARCH=html5 RELEASE=NO
							 | 
						
						
						
							| 
								
							 | 
							
								      sudo: required
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								before_script:
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								before_install:
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [ -z "$USE_EXTERNAL_GLFW" ]; then export USE_EXTERNAL_GLFW=IF_POSSIBLE; fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [ -z "$SHARED"            ]; then export SHARED=ON ; fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [ -z "$STATIC"            ]; then export STATIC=ON ; fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [ -z "$OPENAL"            ]; then export OPENAL=OFF; fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [[ "$INSTALL_GLFW" == "YES" && "$USE_EXTERNAL_GLFW" != "OFF" ]]; then
							 | 
						
						
						
							| 
								
							 | 
							
								      export DONT_TEST=1;
							 | 
						
						
						
							| 
								
							 | 
							
								    fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [ "$TRAVIS_OS_NAME" == "linux" ]; then
							 | 
						
						
						
							| 
								
							 | 
							
								      if [[ "$ARCH" == *-android ]]; then
							 | 
						
						
						
							| 
								
							 | 
							
								        export DONT_TEST=1;
							 | 
						
						
						
							| 
								
							 | 
							
								        export RAYLIB_PACKAGE_SUFFIX="-Android-arm64";
							 | 
						
						
						
							| 
								
							 | 
							
								        wget https://dl.google.com/android/repository/android-ndk-r17-linux-x86_64.zip;
							 | 
						
						
						
							| 
								
							 | 
							
								        unzip -qq android-ndk*.zip;
							 | 
						
						
						
							| 
								
							 | 
							
								        if [[ "$ARCH" == arm64-* ]]; then
							 | 
						
						
						
							| 
								
							 | 
							
								          export RAYLIB_PACKAGE_SUFFIX="-Android-arm64";
							 | 
						
						
						
							| 
								
							 | 
							
								          TOOLCHAIN_ARCH=arm64;
							 | 
						
						
						
							| 
								
							 | 
							
								          PREFIX=aarch64-linux-android-;
							 | 
						
						
						
							| 
								
							 | 
							
								        else
							 | 
						
						
						
							| 
								
							 | 
							
								          export RAYLIB_PACKAGE_SUFFIX="-Android-arm32";
							 | 
						
						
						
							| 
								
							 | 
							
								          TOOLCHAIN_ARCH=arm;
							 | 
						
						
						
							| 
								
							 | 
							
								          PREFIX=arm-linux-androideabi-;
							 | 
						
						
						
							| 
								
							 | 
							
								        fi;
							 | 
						
						
						
							| 
								
							 | 
							
								        android-ndk*/build/tools/make_standalone_toolchain.py --arch $TOOLCHAIN_ARCH --api 21 --install-dir /tmp/android-toolchain;
							 | 
						
						
						
							| 
								
							 | 
							
								        export PATH=/tmp/android-toolchain/bin:$PATH;
							 | 
						
						
						
							| 
								
							 | 
							
								        export CC=${PREFIX}clang;
							 | 
						
						
						
							| 
								
							 | 
							
								        export CXX=${PREFIX}clang++;
							 | 
						
						
						
							| 
								
							 | 
							
								        export CMAKE_ARCH_ARGS='-DPLATFORM=Android';
							 | 
						
						
						
							| 
								
							 | 
							
								      elif [ "$ARCH" == "html5" ]; then
							 | 
						
						
						
							| 
								
							 | 
							
								        export DONT_TEST=1;
							 | 
						
						
						
							| 
								
							 | 
							
								        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';
							 | 
						
						
						
							| 
								
							 | 
							
								        RUNNER='docker exec -it emscripten cmake -E chdir build';
							 | 
						
						
						
							| 
								
							 | 
							
								      else
							 | 
						
						
						
							| 
								
							 | 
							
								        sudo apt-get install -y gcc-multilib
							 | 
						
						
						
							| 
								
							 | 
							
								                                libasound2-dev:$ARCH
							 | 
						
						
						
							| 
								
							 | 
							
								                                libxcursor-dev:$ARCH libxinerama-dev:$ARCH mesa-common-dev:$ARCH
							 | 
						
						
						
							| 
								
							 | 
							
								                                libx11-dev:$ARCH libxrandr-dev:$ARCH libxrandr2:$ARCH libxi-dev:$ARCH
							 | 
						
						
						
							| 
								
							 | 
							
								                                libgl1-mesa-dev:$ARCH libglu1-mesa-dev:$ARCH;
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        if [ "$OPENAL" == "ON" ]; then sudo apt-get install -y libopenal-dev; fi;
							 | 
						
						
						
							| 
								
							 | 
							
								        if [ "$ARCH" == "i386" ]; then export CMAKE_ARCH_ARGS='-DCMAKE_C_FLAGS=-m32 -DCMAKE_SYSTEM_LIBRARY_PATH=/usr/lib/i386-linux-gnu -DSUPPORT_FILEFORMAT_FLAC=OFF'; fi;
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								        export RAYLIB_PACKAGE_SUFFIX="-Linux-$ARCH";
							 | 
						
						
						
							| 
								
							 | 
							
								        if [ "$INSTALL_GLFW" == "YES" ]; then
							 | 
						
						
						
							| 
								
							 | 
							
								          wget 'http://ftp.de.debian.org/debian/pool/main/g/glfw3/libglfw3_3.2.1-1_amd64.deb';
							 | 
						
						
						
							| 
								
							 | 
							
								          wget 'http://ftp.de.debian.org/debian/pool/main/g/glfw3/libglfw3-dev_3.2.1-1_amd64.deb';
							 | 
						
						
						
							| 
								
							 | 
							
								          sudo dpkg -i libglfw3_3.2.1-1_amd64.deb libglfw3-dev_3.2.1-1_amd64.deb;
							 | 
						
						
						
							| 
								
							 | 
							
								        fi;
							 | 
						
						
						
							| 
								
							 | 
							
								      fi;
							 | 
						
						
						
							| 
								
							 | 
							
								    fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [ "$TRAVIS_OS_NAME" == "osx" ]; then
							 | 
						
						
						
							| 
								
							 | 
							
								      export RAYLIB_PACKAGE_SUFFIX="-macOS";
							 | 
						
						
						
							| 
								
							 | 
							
								      if [ "$INSTALL_GLFW" == "YES" ]; then brew update; brew install glfw; fi;
							 | 
						
						
						
							| 
								
							 | 
							
								    fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - mkdir build
							 | 
						
						
						
							| 
								
							 | 
							
								  - $RUNNER $CC --version
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								script:
							 | 
						
						
						
							| 
								
							 | 
							
								  - cd build
							 | 
						
						
						
							| 
								
							 | 
							
								  - if test -n "$WAYLAND";
							 | 
						
						
						
							| 
								
							 | 
							
								      then wget https://mirrors.kernel.org/ubuntu/pool/universe/e/extra-cmake-modules/extra-cmake-modules_5.38.0a-0ubuntu1_amd64.deb;
							 | 
						
						
						
							| 
								
							 | 
							
								      sudo dpkg -i extra-cmake-modules_5.38.0a-0ubuntu1_amd64.deb;
							 | 
						
						
						
							| 
								
							 | 
							
								      git clone git://anongit.freedesktop.org/wayland/wayland-protocols;
							 | 
						
						
						
							| 
								
							 | 
							
								      pushd wayland-protocols;
							 | 
						
						
						
							| 
								
							 | 
							
								      git checkout 1.12 && ./autogen.sh --prefix=/usr && make && sudo make install;
							 | 
						
						
						
							| 
								
							 | 
							
								      popd;
							 | 
						
						
						
							| 
								
							 | 
							
								    fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - $RUNNER cmake $CMAKE_ARCH_ARGS
							 | 
						
						
						
							| 
								
							 | 
							
								      -DMACOS_FATLIB=ON
							 | 
						
						
						
							| 
								
							 | 
							
								      -DSTATIC=$STATIC -DSHARED=$SHARED
							 | 
						
						
						
							| 
								
							 | 
							
								      -DBUILD_EXAMPLES=ON -DBUILD_GAMES=ON
							 | 
						
						
						
							| 
								
							 | 
							
								      -DUSE_EXTERNAL_GLFW=$USE_EXTERNAL_GLFW
							 | 
						
						
						
							| 
								
							 | 
							
								      -DUSE_WAYLAND=$WAYLAND
							 | 
						
						
						
							| 
								
							 | 
							
								      -DINCLUDE_EVERYTHING=ON
							 | 
						
						
						
							| 
								
							 | 
							
								      ..
							 | 
						
						
						
							| 
								
							 | 
							
								  - $RUNNER make VERBOSE=1
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [ "$RELEASE" != "NO" ]; then $RUNNER make package; fi
							 | 
						
						
						
							| 
								
							 | 
							
								  - sudo $RUNNER make install
							 | 
						
						
						
							| 
								
							 | 
							
								  - if [ ! "$DONT_TEST" ]; then
							 | 
						
						
						
							| 
								
							 | 
							
								      pkg-config --static --libs raylib;
							 | 
						
						
						
							| 
								
							 | 
							
								      nm -g release/libraylib.a | grep glfwGetProcAddress || (echo "libraylib.a doesn't contain GLFW symbols! Aborting..." && false);
							 | 
						
						
						
							| 
								
							 | 
							
								      ctest --output-on-failure;
							 | 
						
						
						
							| 
								
							 | 
							
								    fi
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								deploy:
							 | 
						
						
						
							| 
								
							 | 
							
								  provider: releases
							 | 
						
						
						
							| 
								
							 | 
							
								  api_key:
							 | 
						
						
						
							| 
								
							 | 
							
								    secure: LvqUIAN/3dJul+Ra2iK3tSaNG5IwsNMmGIwVMy0DK5IBCxiQPBc9pWGiE30RTBPt6Z+N4BhMEE8DtUl+vnISlMoHWNIIhF2zwC66hs/F7zY7qEITMRSmfiLcqxQysknFOnJB06CATgXcFqlEo9j+t4abrG/f3qcb92J4O2uNz336Au2myTx93Q5MxbyA7KiUuEutFnb2dWiPCY4d+sGeXEfsiD2R7aj/8MaWOkoGdZVrTkI9juMgvpImkjQBArvqdjUMeT3MsRrwgOIq5v2GFV9dOl8k1WzPeT8B2JHh00ed/o1/wuFq/cLLOxtYo2+Pv3+xatOrlexoX0WkDm7C9/L1W5U4rLexU3CQ9mMBmHPnp6k/WXZ5QXEE4uUF0+LpN3XlIXzFpdZmZiVV8VLxg2WvyncMmivYiu7/MTkyfZxyKkzwl7sZZslzHA9kOGedGaN7b7/2B77OFHoQK8lKfdFml7jJnarh+89nenNZYMab0E8qkOJOyb2bYlDTa0/2nyxGiyymYgq6YHLNrDbhqB/1LzdgzjMliQ8ri5q9Ux2vjfcqOzhfAmcwFwnY/D6yXJWYi0DWpHZdpKl3du6dYDrypW91/yDWbwiJ/YhrE7ZunzrcB6GH/QkbuzWxdCth39rQAHih8DG01co/K3Gvi4yGjvIH5tFUpyEolMnpMiA=
							 | 
						
						
						
							| 
								
							 | 
							
								  file_glob: true
							 | 
						
						
						
							| 
								
							 | 
							
								  file: raylib-*.tar.gz
							 | 
						
						
						
							| 
								
							 | 
							
								  skip_cleanup: true
							 | 
						
						
						
							| 
								
							 | 
							
								  on:
							 | 
						
						
						
							| 
								
							 | 
							
								    repo: raysan5/raylib
							 | 
						
						
						
							| 
								
							 | 
							
								    branch: master
							 | 
						
						
						
							| 
								
							 | 
							
								    tags: true
							 |