.travis.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. language: c
  2. sudo: false
  3. compiler:
  4. - gcc
  5. - clang
  6. os:
  7. - linux
  8. - osx
  9. env:
  10. global:
  11. - BUILD_TYPE=Coverage
  12. - ENABLE_SSL=YES
  13. - ENABLE_SSL_DYNAMIC_LOADING=YES
  14. - ENABLE_WEBSOCKETS=YES
  15. - ENABLE_CXX=NO
  16. - ENABLE_IPV6=NO
  17. - ENABLE_LUA=NO
  18. - ENABLE_LUA_SHARED=NO
  19. - C_STANDARD=auto
  20. - CXX_STANDARD=auto
  21. matrix:
  22. - BUILD_SHARED=NO
  23. NO_FILES=NO
  24. - BUILD_SHARED=YES
  25. NO_FILES=NO
  26. - BUILD_SHARED=NO
  27. NO_FILES=YES
  28. - BUILD_SHARED=YES
  29. NO_FILES=YES
  30. addons:
  31. apt:
  32. packages:
  33. - cmake
  34. - openssl
  35. - libssl-dev
  36. sources:
  37. - kubuntu-backports
  38. before_install:
  39. - cmake --version
  40. install:
  41. - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  42. PATH=~/.local/bin:${PATH};
  43. pip install --user --upgrade pip;
  44. pip install --user cpp-coveralls;
  45. fi
  46. before_script:
  47. # Generate the build scripts with CMake
  48. - pwd
  49. - ls -l
  50. - mkdir output
  51. - cd output
  52. - cmake --version
  53. - cmake
  54. -G "Unix Makefiles"
  55. -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
  56. -DBUILD_SHARED_LIBS=${BUILD_SHARED}
  57. "-DCIVETWEB_THIRD_PARTY_DIR=${HOME}/third-party"
  58. -DCIVETWEB_ENABLE_THIRD_PARTY_OUTPUT=YES
  59. -DCIVETWEB_ENABLE_SSL=${ENABLE_SSL}
  60. -DCIVETWEB_SERVE_NO_FILES=${NO_FILES}
  61. -DCIVETWEB_ENABLE_SSL_DYNAMIC_LOADING=${ENABLE_SSL_DYNAMIC_LOADING}
  62. -DCIVETWEB_ENABLE_WEBSOCKETS=${ENABLE_WEBSOCKETS}
  63. -DCIVETWEB_ENABLE_CXX=${ENABLE_CXX}
  64. -DCIVETWEB_ENABLE_IPV6=${ENABLE_IPV6}
  65. -DCIVETWEB_ENABLE_LUA=${ENABLE_LUA}
  66. -DCIVETWEB_ENABLE_LUA_SHARED=${ENABLE_LUA_SHARED}
  67. -DCIVETWEB_C_STANDARD=${C_STANDARD}
  68. -DCIVETWEB_CXX_STANDARD=${CXX_STANDARD}
  69. ..
  70. cache:
  71. directories:
  72. - $HOME/third-party
  73. matrix:
  74. - fast_finish: true
  75. script:
  76. - CTEST_OUTPUT_ON_FAILURE=1 make all test
  77. after_success:
  78. - if [ "${BUILD_TYPE}" == "Coverage" -a "${TRAVIS_OS_NAME}" == "linux" ]; then
  79. coveralls --include src --include include --gcov-options '\-lp' --root .. --build-root .;
  80. fi