.travis.yml 2.1 KB

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