.travis.yml 1.46 KB
Newer Older
1 2 3 4 5 6 7
language: cpp

compiler:
 - clang
 - gcc

env:
Milo Yip's avatar
Milo Yip committed
8
  matrix:
9 10 11 12
    - CONF=debug   BITS=64
    - CONF=release BITS=64
    - CONF=debug   BITS=32
    - CONF=release BITS=32
Milo Yip's avatar
Milo Yip committed
13
  global:
14
    - GITHUB_REPO='miloyip/rapidjson'
15
    - DEFINES='-DRAPIDJSON_HAS_STDSTRING'
Milo Yip's avatar
Milo Yip committed
16
    - secure: "HrsaCb+N66EG1HR+LWH1u51SjaJyRwJEDzqJGYMB7LJ/bfqb9mWKF1fLvZGk46W5t7TVaXRDD5KHFx9DPWvKn4gRUVkwTHEy262ah5ORh8M6n/6VVVajeV/AYt2C0sswdkDBDO4Xq+xy5gdw3G8s1A4Inbm73pUh+6vx+7ltBbk="
17 18 19 20

before_install:
  - sudo add-apt-repository -y ppa:codegear/release
  - sudo apt-get update -qq
21 22
  - sudo apt-get install -qq premake4 valgrind
  - if [ "$BITS" = 32 ]; then sudo apt-get install -qq g++-multilib libc6-dbg:i386; fi
23 24 25 26

install: true

before_script:
27 28 29 30
  - (cd build && premake4 'gmake')
#   hack to avoid Valgrind bug (https://bugs.kde.org/show_bug.cgi?id=326469),
#   exposed by merging PR#163 (using -march=native)
  - (cd build/gmake && sed -i 's/march=native/msse4.2/' *.make)
31 32

script:
33 34
  - make -C build/gmake -f test.make    config=${CONF}${BITS}
  - make -C build/gmake -f example.make config=${CONF}${BITS}
35
  - if [ "$CONF" = "debug" ] && ( objdump -t -C intermediate/${CONF}/gmake/unittest/x${BITS}/namespacetest.o | grep rapidjson ) ; then echo "Symbol check failed!" ; false; fi
36
  - pushd bin
37
  -  ./unittest_${CONF}_x${BITS}_gmake
38
  - valgrind --leak-check=full --error-exitcode=1 ./unittest_${CONF}_x${BITS}_gmake
39
  - if [ "$CONF" = "release" ]; then ./perftest_${CONF}_x${BITS}_gmake; fi
40 41
  - popd
  - ./build/travis-doxygen.sh;