.travis.yml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. language: cpp
  2. cache: ccache
  3. env:
  4. - arch=x86_64 CXX_VERSION=current
  5. - arch=x86_64 CXX_VERSION=previous
  6. - arch=x86_64 CXX_VERSION=default
  7. - arch=aarch64 CXX_VERSION=default
  8. os:
  9. - linux
  10. - osx
  11. compiler:
  12. - gcc
  13. - clang
  14. matrix:
  15. exclude:
  16. - env: arch=x86_64 CXX_VERSION=previous
  17. os: osx
  18. compiler: clang
  19. - env: arch=aarch64 CXX_VERSION=default
  20. os: osx
  21. - env: arch=x86_64 CXX_VERSION=default
  22. os: osx
  23. compiler: gcc
  24. allow_failures:
  25. - os: osx
  26. compiler: gcc
  27. # The following gives us Ubuntu 14.04 LTS instead of 12.04 LTS
  28. sudo: required
  29. dist: trusty
  30. install:
  31. - case "$TRAVIS_OS_NAME-$CXX-$CXX_VERSION-$arch" in
  32. linux-g++-current-x86_64)
  33. sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y &&
  34. sudo apt-get update -q &&
  35. sudo apt-get install g++-6 -y &&
  36. export CXX=g++-6 CC=gcc-6;;
  37. linux-g++-previous-x86_64)
  38. sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y &&
  39. sudo apt-get update -q &&
  40. sudo apt-get install g++-5 -y &&
  41. export CXX=g++-5 CC=gcc-5;;
  42. linux-g++-default-x86_64)
  43. ;;
  44. linux-clang++-current-x86_64)
  45. sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y &&
  46. wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
  47. sudo tee /etc/apt/sources.list.d/llvm.list <<< "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main" &&
  48. sudo apt-get update -q &&
  49. sudo apt-get install clang-5.0 -y &&
  50. export CXX=clang++-5.0 CC=clang-5.0;;
  51. linux-clang++-previous-x86_64)
  52. sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y &&
  53. wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
  54. sudo tee /etc/apt/sources.list.d/llvm.list <<< "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-4.0 main" &&
  55. sudo apt-get update -q &&
  56. sudo apt-get install clang-4.0 -y &&
  57. export CXX=clang++-4.0 CC=clang-4.0;;
  58. linux-clang++-default-x86_64)
  59. sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y &&
  60. sudo apt-get update -q &&
  61. sudo apt-get install clang-3.8 libstdc++-6-dev libc++-dev libc++abi-dev -y &&
  62. export CXX=clang++-3.8 CC=clang-3.8;;
  63. osx-g++-current-x86_64)
  64. brew cask uninstall oclint &&
  65. brew update &&
  66. brew install gcc@8 &&
  67. export CXX=g++-8 CC=gcc-8;;
  68. osx-g++-previous-x86_64)
  69. brew cask uninstall oclint &&
  70. brew update &&
  71. brew install gcc@7 &&
  72. export CXX=g++-7 CC=gcc-7;;
  73. osx-clang++-current-x86_64)
  74. wget http://releases.llvm.org/4.0.0/clang+llvm-4.0.0-x86_64-apple-darwin.tar.xz &&
  75. tar xf clang+llvm-4.0.0-x86_64-apple-darwin.tar.xz &&
  76. cd clang+llvm-4.0.0-x86_64-apple-darwin &&
  77. export CXX=$PWD/bin/clang++ CC=$PWD/bin/clang &&
  78. export LDFLAGS="-L$PWD/lib -Wl,-rpath,$PWD/lib" &&
  79. export CPPFLAGS=-I$PWD/include &&
  80. cd ..;;
  81. osx-clang++-previous-x86_64)
  82. exit 1;;
  83. osx-clang++-default-x86_64)
  84. ;;
  85. linux-g++-default-aarch64)
  86. sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y &&
  87. sudo add-apt-repository -y 'deb http://de.archive.ubuntu.com/ubuntu/ xenial main' &&
  88. sudo add-apt-repository -y 'deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates main' &&
  89. sudo apt-get update -q &&
  90. sudo apt-get install -y g++-5-aarch64-linux-gnu &&
  91. export CXX=aarch64-linux-gnu-g++-5 CC=aarch64-linux-gnu-gcc-5 CMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm-linux.cmake;;
  92. linux-clang++-default-aarch64)
  93. wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
  94. sudo tee /etc/apt/sources.list.d/llvm.list <<< "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-5.0 main" &&
  95. sudo apt-get update -q &&
  96. sudo apt-get install -y clang-5.0 &&
  97. sudo add-apt-repository -y 'deb http://de.archive.ubuntu.com/ubuntu/ xenial main' &&
  98. sudo add-apt-repository -y 'deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates main' &&
  99. sudo apt-get update -q &&
  100. sudo apt-get install -y libstdc++-5-dev-arm64-cross gcc-5-aarch64-linux-gnu &&
  101. export CPATH=/usr/aarch64-linux-gnu/include &&
  102. export CXX="clang++-5.0 -target aarch64-linux-gnu" CC="clang-5.0 -target aarch64-linux-gnu" &&
  103. export CMAKE_TOOLCHAIN_FILE=cmake/toolchain-arm-linux.cmake;;
  104. esac
  105. before_script:
  106. - $CXX --version
  107. - cmake --version
  108. - export dashboard_model=Experimental
  109. - export build_type=Release
  110. - export NUMBER_OF_PROCESSORS=2
  111. script:
  112. - ctest -V -S test.cmake
  113. notifications:
  114. email: false
  115. irc:
  116. channels:
  117. - "chat.freenode.net##Vc"
  118. on_success: change # [always|never|change] # default: always
  119. on_failure: always # [always|never|change] # default: always
  120. use_notice: true
  121. skip_join: true