.travis.yml 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. ########################################################################
  2. ## Travis CI config for Pothos
  3. ##
  4. ## * not all components will be configured
  5. ## * the matrix builds Release and Debug
  6. ## * run the self tests after install
  7. ########################################################################
  8. sudo: required
  9. dist: trusty
  10. language: cpp
  11. compiler: gcc
  12. env:
  13. global:
  14. - INSTALL_PREFIX=/usr/local
  15. - SOAPY_SDR_BRANCH=master
  16. matrix:
  17. - BUILD_TYPE=Debug
  18. - BUILD_TYPE=Release
  19. # whitelist
  20. branches:
  21. only:
  22. - master
  23. - maint
  24. before_install:
  25. # regular ubuntu packages
  26. - sudo add-apt-repository main
  27. - sudo add-apt-repository universe
  28. # tool chain for gcc5
  29. - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
  30. # development files from ppa
  31. - sudo add-apt-repository -y ppa:myriadrf/drivers
  32. - sudo add-apt-repository -y ppa:pothosware/support
  33. - sudo add-apt-repository -y ppa:pothosware/framework
  34. # update after package changes
  35. - sudo apt-get update -qq
  36. install:
  37. # tool chain for gcc5
  38. - sudo apt-get install -qq g++-5
  39. - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 90
  40. # install development dependencies
  41. - sudo apt-get install -qq libnuma-dev cmake
  42. # install development dependencies from drivers ppa
  43. - sudo apt-get install -qq libspuce-dev libsoapysdr-dev
  44. # install development dependencies from support ppa
  45. - sudo apt-get install -qq libpoco-dev-min libmuparserx-dev
  46. # install audio support dependencies
  47. - sudo apt-get install -qq portaudio19-dev libjack-jackd2-dev
  48. # install graphics support dependencies
  49. - sudo apt-get install -qq qtbase5-dev libqt5svg5-dev libqwt-qt5-dev
  50. # install python support dependencies
  51. - sudo apt-get install -qq python-dev python-numpy
  52. # install SoapySDR from source
  53. - git clone https://github.com/pothosware/SoapySDR.git
  54. - pushd SoapySDR
  55. - git checkout ${SOAPY_SDR_BRANCH}
  56. - mkdir build && cd build
  57. - cmake ../ -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
  58. - make && sudo make install
  59. - popd
  60. script:
  61. - mkdir build && cd build
  62. - cmake ../ -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPython_ADDITIONAL_VERSIONS=2.7
  63. - make -j2
  64. - sudo make install
  65. # setup environment paths
  66. - export LD_LIBRARY_PATH=${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}
  67. - export PATH=${INSTALL_PREFIX}/bin:${PATH}
  68. - export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH}
  69. - export PYTHONPATH=${INSTALL_PREFIX}/lib/python2.7/dist-packages:${PYTHONPATH}
  70. # basic test for command line utility
  71. - PothosUtil --system-info
  72. - PothosUtil --self-tests