.travis.yml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. # Copyright (c) 2012-2016 Sebastien Rombauts (sebastien.rombauts@gmail.com)
  2. # request for Ubuntu 14.04 Trusty VM
  3. sudo: true
  4. dist: trusty
  5. cache:
  6. apt: true
  7. # NOTE: no language, so that we can set CXX and CC env vars as required
  8. #language: cpp
  9. matrix:
  10. include:
  11. # gcc default
  12. - compiler: gcc
  13. env:
  14. - CC=gcc
  15. - CXX=g++
  16. # gcc 4.9 std=default
  17. - compiler: gcc
  18. addons:
  19. apt:
  20. sources:
  21. - ubuntu-toolchain-r-test
  22. packages:
  23. - g++-4.9
  24. env:
  25. - CC=gcc-4.9
  26. - CXX=g++-4.9
  27. # gcc 5 std=c++03
  28. - compiler: gcc
  29. addons:
  30. apt:
  31. sources:
  32. - ubuntu-toolchain-r-test
  33. packages:
  34. - g++-5
  35. env:
  36. - CC=gcc-5
  37. - CXX=g++-5
  38. - CXXFLAGS="-std=c++03"
  39. # gcc 5 std=c++11
  40. - compiler: gcc
  41. addons:
  42. apt:
  43. sources:
  44. - ubuntu-toolchain-r-test
  45. packages:
  46. - g++-5
  47. env:
  48. - CC=gcc-5
  49. - CXX=g++-5
  50. - CXXFLAGS="-std=c++11"
  51. # gcc 5 std=c++14
  52. - compiler: gcc
  53. addons:
  54. apt:
  55. sources:
  56. - ubuntu-toolchain-r-test
  57. packages:
  58. - g++-5
  59. env:
  60. - CC=gcc-5
  61. - CXX=g++-5
  62. - CXXFLAGS="-std=c++14"
  63. # gcc 5 std=c++1z
  64. - compiler: gcc
  65. addons:
  66. apt:
  67. sources:
  68. - ubuntu-toolchain-r-test
  69. packages:
  70. - g++-5
  71. env:
  72. - CC=gcc-5
  73. - CXX=g++-5
  74. - CXXFLAGS="-std=c++1z"
  75. # gcc 6 std=c++14
  76. - compiler: gcc
  77. addons:
  78. apt:
  79. sources:
  80. - ubuntu-toolchain-r-test
  81. packages:
  82. - g++-6
  83. env:
  84. - CXX=g++-6
  85. - CXXFLAGS="-std=c++14"
  86. # gcc 6 std=c++1z
  87. - compiler: gcc
  88. addons:
  89. apt:
  90. sources:
  91. - ubuntu-toolchain-r-test
  92. packages:
  93. - g++-6
  94. env:
  95. - CC=gcc-6
  96. - CXX=g++-6
  97. - CXXFLAGS="-std=c++1z"
  98. # gcc 6 std=c++14 all warnings, pedantic
  99. - compiler: gcc
  100. addons:
  101. apt:
  102. sources:
  103. - ubuntu-toolchain-r-test
  104. packages:
  105. - g++-6
  106. env:
  107. - CC=gcc-6
  108. - CXX=g++-6
  109. - CXXFLAGS="-std=c++14 -Wall -Wextra -pedantic"
  110. # clang default
  111. - compiler: clang
  112. env:
  113. - CC=clang
  114. - CXX=clang++
  115. # clang 3.8
  116. - compiler: clang
  117. os: linux
  118. env:
  119. - CC=clang
  120. - CXX=clang++
  121. - LLVM_VERSION=3.8.0
  122. - LLVM_ARCHIVE_PATH=$HOME/clang+llvm.tar.xz
  123. - CPPFLAGS="-I $HOME/clang-$LLVM_VERSION/include/c++/v1"
  124. - CXXFLAGS=-lc++
  125. - PATH=$HOME/clang-$LLVM_VERSION/bin:$PATH
  126. - LD_LIBRARY_PATH=$HOME/clang-$LLVM_VERSION/lib:$LD_LIBRARY_PATH
  127. before_install:
  128. - wget http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-x86_64-linux-gnu-ubuntu-14.04.tar.xz -O $LLVM_ARCHIVE_PATH
  129. - mkdir $HOME/clang-$LLVM_VERSION
  130. - tar xf $LLVM_ARCHIVE_PATH -C $HOME/clang-$LLVM_VERSION --strip-components 1
  131. # os x
  132. - compiler: clang
  133. os: osx
  134. osx_image: xcode8
  135. install:
  136. - brew install cmake
  137. env:
  138. - CC=clang
  139. - CXX=clang
  140. - CXXFLAGS=-lstdc++
  141. before_install:
  142. - if [[ "$CXX" == "g++" ]]; then pip install --user cpp-coveralls ; fi
  143. # scripts to run before build
  144. before_script:
  145. - mkdir build
  146. - cd build
  147. - cmake -DCMAKE_BUILD_TYPE=Debug -DSQLITECPP_USE_GCOV=ON -DSQLITECPP_BUILD_EXAMPLES=ON -DSQLITECPP_BUILD_TESTS=ON ..
  148. # build examples, and run tests (ie make & make test)
  149. script:
  150. - cmake --build .
  151. - ctest --verbose --output-on-failure
  152. # generate and publish GCov coveralls results
  153. after_success:
  154. - if [[ "$CXX" == "g++" ]]; then coveralls --root .. -e examples -e googletest -e sqlite3 -e tests -E ".*feature_tests.*" -E ".*CompilerId.*" --gcov-options '\-lp' ; fi