.travis.yml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. language: cpp
  2. os:
  3. - linux
  4. - osx
  5. - windows
  6. compiler:
  7. - gcc
  8. - clang
  9. - msvc
  10. env:
  11. - EA_CONFIG=Debug
  12. - EA_CONFIG=Release
  13. addons:
  14. apt:
  15. sources:
  16. - ubuntu-toolchain-r-test
  17. - george-edison55-precise-backports
  18. - llvm-toolchain-trusty-7
  19. packages:
  20. - cmake
  21. - cmake-data
  22. - g++-7
  23. - clang-7
  24. matrix:
  25. exclude:
  26. - os: osx
  27. compiler: gcc
  28. - os: osx
  29. compiler: msvc
  30. - os: linux
  31. compiler: msvc
  32. - os: windows
  33. compiler: clang
  34. - os: windows
  35. compiler: gcc
  36. # Handle git submodules yourself
  37. git:
  38. submodules: false
  39. # Use sed to replace the SSH URL with the public URL, then initialize submodules
  40. before_install:
  41. - sed --version >/dev/null 2>&1 && sed -i 's/[email protected]:/https:\/\/github.com\//' .gitmodules || sed -i "" 's/[email protected]:/https:\/\/github.com\//' .gitmodules
  42. - git submodule update --init
  43. install:
  44. - if [[ "$CXX" == "g++" ]]; then export CC="gcc-7" ;fi
  45. - if [[ "$CXX" == "g++" ]]; then export CXX="g++-7" ;fi
  46. - if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CC="clang-7" ;fi
  47. - if [[ "$CXX" == "clang++" && "${TRAVIS_OS_NAME}" != "osx" ]]; then export CXX="clang++-7" ;fi
  48. # Universal Setup
  49. before_script:
  50. - mkdir build_$EA_CONFIG
  51. - cd build_$EA_CONFIG
  52. - cmake .. -DEABASE_BUILD_TESTS:BOOL=ON
  53. - cmake --build . --config $EA_CONFIG
  54. script:
  55. # Run Tests
  56. - cd $TRAVIS_BUILD_DIR/build_$EA_CONFIG/test
  57. - ctest -C $EA_CONFIG -V || exit 1