1language: c
2
3notifications:
4  email: false
5
6matrix:
7  include:
8    - os: linux
9      dist: bionic
10      sudo: required
11      env:
12        - SDL2_LIB=BUNDLED
13        - SDL2_MIXER_LIB=BUNDLED
14        - FLUIDSYNTH_LIB=BUNDLED
15        - BITS=64
16      addons:
17        apt:
18          packages:
19            - cmake-data cmake libglu1-mesa-dev libgl1-mesa-dev # libfluidsynth-dev libsdl2-dev libsdl2-mixer-dev
20      compiler: gcc
21    - os: linux
22      dist: trusty
23      sudo: required
24      env:
25        - SDL2_LIB=BUNDLED
26        - SDL2_MIXER_LIB=BUNDLED
27        - FLUIDSYNTH_LIB=BUNDLED
28        - CMAKE_LIBRARY_PATH=/usr/lib/i386-linux-gnu
29        - BITS=32
30      before_script:
31        - cp ./CMakeLists.32bit.txt ./CMakeLists.txt
32      addons:
33        apt:
34          packages:
35            - cmake-data cmake libx32gcc-4.8-dev libc6-dev-i386 gcc-multilib g++-multilib libglu1-mesa-dev:i386 libgl1-mesa-dev:i386
36      compiler: gcc
37    - os: osx
38      compiler: clang
39      env:
40        - SDL2_LIB=BUNDLED
41        - SDL2_MIXER_LIB=BUNDLED
42        - FLUIDSYNTH_LIB=OFF # Bundled lib failed to compile
43        - BITS=64
44    - os: osx
45      compiler: gcc
46      env:
47        - SDL2_LIB=BUNDLED
48        - SDL2_MIXER_LIB=BUNDLED
49        - FLUIDSYNTH_LIB=OFF # Bundled lib failed to compile
50        - BITS=64
51
52script:
53  - chmod a+rx ./osx-linux/*.sh
54  - sudo TRAVIS=$TRAVIS ./osx-linux/install_${BITS}bit_sdl.sh
55  - cmake -DENABLE_SDL2=${SDL2_LIB} -DENABLE_SOUND=${SDL2_MIXER_LIB} -DENABLE_FLUIDSYNTH=${FLUIDSYNTH_LIB} .
56  - make -j2 systemshock
57
58before_deploy:
59  - mkdir -p shockolate
60  - cp systemshock shockolate
61  - cp osx-linux/install_${BITS}bit_sdl.sh shockolate/install_sdl.sh
62  - cp osx-linux/readme_osx_linux.md shockolate
63  - cp osx-linux/run_$TRAVIS_OS_NAME.sh shockolate/run.sh
64  - cp -r shaders shockolate/
65  - cp -r res shockolate/
66  - export PACKAGE_NAME="shockolate-$TRAVIS_OS_NAME-${BITS}bit.tgz"
67  - tar zcfv $PACKAGE_NAME shockolate
68  - rm -r shockolate
69  - mkdir -p shockolate-source
70  - cp -r systemshock/* shockolate-source/
71  - tar zcvf shockolate-source-$TRAVIS_TAG.tar.gz shockolate-source
72  - rm -r shockolate-source
73
74deploy:
75  provider: releases
76  skip_cleanup: true
77  overwrite: true
78  api_key:
79    secure: "M8fgLU06LQHZS7cf98dHi8bl0BPsyvQHHDWqBaiWqnOoC4XET4fYibFf9B9Ba64RYw5DqPCGbf2onYcDrrUq0cZBwbJsJoVmajKOsWiPzddAtJrk2/nle0MWtjt6OdwbHtg0dNs36QmQ7oRxrEmQaodMmnQW0PKCZOhMmT2zdU73r9ZJ0g4kkkmAAHgfLWYPkfSb9gMj0bn5BLwwGPXv9+NeDFxVG4DY4qjEqQES9tjabVSbVNHretkFCLr0rCpGDQnEZHCP3Wt5c6MoSRunZbRg0X+IwiI1xCEchw2VQFBQiKZ3D4nJIyrZ96iijUQRnnKz5aoMZXQJZQEsnTaZLM+ZbYnK6iA5KWorILdh1odFhNfUJsvWEmEGlrrIQ9qzcAJaIFFch0HRY1S8+gGOy9tEoIpr0VWNZLg8lJvkiQgQmARrt9O+4wIzXZmQnNQcU/N3nWakI68CND4UWk4xAfA6k/Mq2IWyVu477lYxEN+FcqT7EbpowovOOn7e1rutwKDUtb3jWBHZBESF5TCL/hdwdOGNITaV+ENTHbHbWvK6J+3+sCK62xG0/pqzJk3+j7R9zoDvz+htwse/hhk/F3Sa+MpaJQVqtKVD4nBlY/E7+qd3yCyXQm916V+04evjoKOqXXnOOe5d+a87OquLJ6UaynjRsq6lJY2kZ2/Irmc="
80  file: "$PACKAGE_NAME"
81  on:
82    tags: true
83    repo: Interrupt/systemshock
84