| notifications: | |
| email: false | |
| language: cpp | |
| os: linux | |
| dist: bionic | |
| cache: | |
| ccache: true | |
| directories: | |
| - $HOME/.ccache | |
| jobs: | |
| include: | |
| - name: "Emscripten" | |
| env: CACHE_NAME=emscripten | |
| cache: | |
| directories: | |
| - $HOME/.emscripten_ports | |
| - $HOME/.emscripten_cache | |
| services: | |
| - docker | |
| before_install: | |
| - docker run -dit --name emscripten -v $(pwd):/src -v $HOME/.emscripten_ports:/emsdk_portable/.data/ports -v $HOME/.emscripten_cache:/emsdk_portable/.data/cache trzeci/emscripten:sdk-incoming-64bit bash | |
| install: | |
| script: | |
| - docker exec -it emscripten emcmake cmake -B build.em -G "Unix Makefiles" | |
| - docker exec -it emscripten make -C build.em | |
| - name: "Linux" | |
| env: | |
| - RELEASE_FILE=${TRAVIS_BUILD_DIR}${REPO}-${TRAVIS_TAG}-${TRAVIS_BUILD_NUMBER}-LIN64 | |
| addons: | |
| apt: | |
| libsdl2-dev | |
| python3-pip | |
| python3-setuptools | |
| before_deploy: | |
| - make install | |
| - tar -zcf ${RELEASE_FILE}.tar.gz bin/ | |
| deploy: | |
| provider: releases | |
| file: ${RELEASE_FILE}.tar.gz | |
| on: | |
| tags: true | |
| edge: true | |
| - name: "STM32" | |
| env: | |
| - TOOLCHAIN=../32blit.toolchain | |
| - RELEASE_FILE=${TRAVIS_BUILD_DIR}${REPO}-${TRAVIS_TAG}-${TRAVIS_BUILD_NUMBER}-STM32 | |
| addons: | |
| apt: | |
| gcc-arm-none-eabi | |
| libnewlib-arm-none-eabi | |
| libstdc++-arm-none-eabi-newlib | |
| python3-pip | |
| python3-setuptools | |
| zip | |
| before_deploy: | |
| - make install | |
| - tar -zcf ${RELEASE_FILE}.tar.gz bin/ | |
| - zip -9 ${RELEASE_FILE}.zip bin/* | |
| deploy: | |
| provider: releases | |
| file: | |
| - ${RELEASE_FILE}.tar.gz | |
| - ${RELEASE_FILE}.zip | |
| on: | |
| tags: true | |
| edge: true | |
| - name: "MinGW" | |
| env: | |
| - TOOLCHAIN=../mingw.toolchain | |
| - CMAKE_ARGS="-DSDL2_DIR=$TRAVIS_BUILD_DIR/SDL2-2.0.10/x86_64-w64-mingw32/lib/cmake/SDL2/ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" | |
| - RELEASE_FILE=${TRAVIS_BUILD_DIR}${REPO}-${TRAVIS_TAG}-${TRAVIS_BUILD_NUMBER}-WIN64 | |
| cache: | |
| directories: | |
| - SDL2-2.0.10/ | |
| - $HOME/.ccache | |
| addons: | |
| apt: | |
| g++-mingw-w64 | |
| python3-pip | |
| python3-setuptools | |
| zip | |
| before_script: | |
| - | | |
| if [ ! -f SDL2-2.0.10/README.txt ]; then | |
| curl https://libsdl.org/release/SDL2-devel-2.0.10-mingw.tar.gz -o SDL2.tar.gz | |
| tar -xf SDL2.tar.gz | |
| sed -i "s|/opt/local|$PWD/SDL2-2.0.10|g" ./SDL2-2.0.10/x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake | |
| fi | |
| before_deploy: | |
| - make install | |
| - zip -9 ${RELEASE_FILE}.zip bin/* | |
| deploy: | |
| provider: releases | |
| file: ${RELEASE_FILE}.zip | |
| on: | |
| tags: true | |
| edge: true | |
| - name: "macOS" | |
| os: osx | |
| cache: | |
| directories: | |
| - $HOME/Library/Frameworks/SDL2.framework | |
| before_script: | |
| - | | |
| if [ ! -f ~/Library/Frameworks/SDL2.framework/SDL2 ]; then | |
| curl https://libsdl.org/release/SDL2-2.0.10.dmg -o SDL2.dmg | |
| hdiutil mount SDL2.dmg | |
| mkdir -p ~/Library/Frameworks | |
| cp -r /Volumes/SDL2/SDL2.framework ~/Library/Frameworks/ | |
| fi | |
| - name: "Visual Studio (CMake)" | |
| os: windows | |
| env: CMAKE_ARGS=-DSDL2_DIR=$TRAVIS_BUILD_DIR/vs/sdl | |
| cache: | |
| directories: | |
| - vs/sdl/ | |
| before_install: | |
| - choco uninstall -y mingw | |
| - choco install -y python3 --version=3.8 | |
| - export PATH=$PATH:"c:\Python38" | |
| - ln -s /c/Python38/python.exe /c/Python38/python3.exe | |
| before_script: | |
| - | | |
| if [ ! -d vs/sdl/lib ]; then | |
| curl https://libsdl.org/release/SDL2-devel-2.0.10-VC.zip -o SDL2.zip | |
| unzip SDL2.zip -d vs/sdl | |
| # move dirs up | |
| mv vs/sdl/SDL2-2.0.10/* vs/sdl | |
| fi | |
| - name: "Visual Studio (.sln)" | |
| os: windows | |
| cache: | |
| directories: | |
| - vs/sdl/ | |
| before_install: | |
| - choco uninstall -y mingw | |
| - choco install -y visualstudio2019buildtools visualstudio2019-workload-vctools python3 | |
| - export PATH=$PATH:"c:\Python38" | |
| - ln -s /c/Python38/python.exe /c/Python38/python3.exe | |
| script: | |
| - export PATH=$PATH:"c:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin" | |
| - | | |
| if [ ! -d vs/sdl/lib ]; then | |
| curl https://libsdl.org/release/SDL2-devel-2.0.10-VC.zip -o SDL2.zip | |
| unzip SDL2.zip -d vs/sdl | |
| # move dirs up | |
| mv vs/sdl/SDL2-2.0.10/* vs/sdl | |
| fi | |
| - msbuild.exe vs/32blit.sln | |
| install: | |
| - python3 -m pip install bitstring construct pillow | |
| script: | |
| - ccache --zero-stats || true | |
| - mkdir build && cd build | |
| - cmake -DCMAKE_TOOLCHAIN_FILE=$TOOLCHAIN -DCMAKE_INSTALL_PREFIX=`pwd` $CMAKE_ARGS .. | |
| - cmake --build . | |
| - ccache --show-stats || true |