-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
55 lines (51 loc) · 1.71 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
sudo: false
language: c
os:
- linux
- osx
dist: trusty
matrix:
allow_failures:
- os: osx
install:
- wget http://download.savannah.gnu.org/releases/freetype/freetype-2.7.1.tar.gz
- tar -xzf freetype-2.7.1.tar.gz
- cd freetype-2.7.1
- ./configure CFLAGS="-fPIC" --without-zlib --without-png --without-bzip2
- make
- cd objs
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then clang -shared -fPIC -o libfreetype-6.dylib *.o; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then gcc -shared -fPIC -o libfreetype.so.6 *.o; fi
- cd ..
- cd ..
before_script:
- set -e
- git clone --depth 1 https://github.com/nim-lang/csources.git
- cd csources
- sh build.sh
- cd ..
- git clone --depth 1 https://github.com/nim-lang/Nim.git
- mv $(pwd)/csources/bin/nim $(pwd)/Nim/bin/
- cd Nim
- sed -i -e 's,cc = gcc,cc = clang,' config/nim.cfg
- export PATH=$(pwd)/bin:$PATH
- nim c -d:release --verbosity:0 --hints:off koch
- ./koch boot -d:release --verbosity:0 --hints:off
- ./koch nimble
- cd ..
- nimble refresh
- nimble install nimBMP
- nimble install polyBool
- nimble install freetype
script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then mv $(pwd)/freetype-2.7.1/objs/libfreetype.so.6 ./examples/; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mv $(pwd)/freetype-2.7.1/objs/libfreetype-6.dylib ./examples/; fi
- cd examples
- nim e build.nims
- nim e -d:release build.nims
- nim c -d:release --verbosity:0 --hints:off gen_color_conv
- ./gen_color_conv > gen_color_conv.cpp
- g++ -o gen_color_conv_cpp -I../agg-2.5/include gen_color_conv.cpp
- ./gen_color_conv_cpp > test_color_conv_inc.nim
- nim c -d:release --verbosity:0 --hints:off test_color_conv_test
- ./test_color_conv_test