| @ -1,129 +0,0 @@ | |||
| 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 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: windows | |||
| compiler: gcc | |||
| env: ARCH=i386 SHARED=OFF RELEASE=NO | |||
| 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 [[ "$INSTALL_GLFW" == "YES" && "$USE_EXTERNAL_GLFW" != "OFF" ]]; then | |||
| export DONT_TEST=1; | |||
| fi | |||
| - if [ "$TRAVIS_OS_NAME" == "linux" ]; then | |||
| 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 [ "$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 | |||
| pushd src/external/glfw; | |||
| cmake . -DGLFW_BUILD_DOCS=OFF | |||
| -DGLFW_BUILD_TESTS=OFF | |||
| -DGLFW_BUILD_EXAMPLES=OFF | |||
| -DGLFW_INSTALL=ON | |||
| -DBUILD_SHARED_LIBS=ON | |||
| -DGLFW_USE_WAYLAND=$WAYLAND; | |||
| make; | |||
| sudo make install; | |||
| popd; | |||
| 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 | |||
| - if [ "$TRAVIS_OS_NAME" == "windows" ]; then | |||
| export DONT_TEST=1; | |||
| export RAYLIB_PACKAGE_SUFFIX="-windows"; | |||
| export CMAKE_ARCH_ARGS='-DPLATFORM=Desktop'; | |||
| fi | |||
| - mkdir build | |||
| - $RUNNER $CC --version | |||
| script: | |||
| - cd build | |||
| - if test -n "$WAYLAND"; then | |||
| wget https://mirrors.edge.kernel.org/ubuntu/pool/universe/e/extra-cmake-modules/extra-cmake-modules_5.44.0-0ubuntu1_amd64.deb; | |||
| sudo apt-get clean; | |||
| sudo apt-get update; | |||
| sudo apt-get install dpkg; | |||
| sudo dpkg -i extra-cmake-modules_5.44.0-0ubuntu1_amd64.deb; | |||
| git clone git://anongit.freedesktop.org/wayland/wayland-protocols; | |||
| pushd wayland-protocols; | |||
| git checkout 1.15 && ./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 | |||
| -DUSE_EXTERNAL_GLFW=$USE_EXTERNAL_GLFW | |||
| -DUSE_WAYLAND=$WAYLAND | |||
| -DINCLUDE_EVERYTHING=ON | |||
| -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON | |||
| .. | |||
| - $RUNNER cmake --build . --target | |||
| - if [ "$RELEASE" != "NO" ]; then $RUNNER cmake --build . --target package; fi | |||
| - if [ -n "$RUNNER" ]; then | |||
| sudo $RUNNER cmake --build . --target install; | |||
| else | |||
| $(which sudo) $RUNNER "$(which cmake)" --build . --target install; | |||
| fi | |||
| - 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 | |||