gcontini
2019-11-30 e22505aee5a36e2290c32ccec12d50ec4e7fde27
.travis.yml
@@ -1,19 +1,159 @@
language: cpp
services: docker
branches:
  only:
    - master
matrix:
   include:
   - os: linux
     dist: bionic
     name: "Ubuntu 18.04 - Travis CI VM"
     addons:
        apt:
          packages:
             - cmake
             - valgrind
             - libssl-dev
             - zlib1g-dev
             - libboost-dev
             - libboost-test-dev
             - libboost-filesystem-dev
             - libboost-iostreams-dev
             - libboost-program-options-dev
             - libboost-system-dev
             - libboost-thread-dev
             - libboost-date-time-dev
     script:
         - cmake --build . --target install
         - ctest
         - ctest -T memcheck
   - os: linux
     dist: xenial
     name: "Ubuntu 16.04 - Travis CI VM"
     addons:
        apt:
          packages:
             - cmake
             - valgrind
             - libssl-dev
             - zlib1g-dev
             - libboost-dev
             - libboost-test-dev
             - libboost-filesystem-dev
             - libboost-iostreams-dev
             - libboost-program-options-dev
             - libboost-system-dev
             - libboost-thread-dev
             - libboost-date-time-dev
   - os: linux
     dist: bionic
     name: "Ubuntu 18.04 - Travis CI VM - Debug build"
     addons:
        apt:
          packages:
             - cmake
             - valgrind
             - libssl-dev
             - zlib1g-dev
             - libboost-dev
             - libboost-test-dev
             - libboost-filesystem-dev
             - libboost-iostreams-dev
             - libboost-program-options-dev
             - libboost-system-dev
             - libboost-thread-dev
             - libboost-date-time-dev
     before_script:
         - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Debug ..
     script:
         - cmake --build . --target install
         - ctest
         - ctest -T memcheck
   - os: linux
     dist: bionic
     name: "CentOS-7 Docker"
     before_script:
        - docker run --name centos7_toconfigure -v `pwd`:/root/open-license-manager centos:centos7 /bin/bash -c
            "yum -y update && yum -y install install centos-release-scl &&
              yum -y install cmake boost boost-devel boost-static openssl openssl-devel glibc-static devtoolset-7-toolchain devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-valgrind-devel &&
              cd /root/open-license-manager/build &&
              CC=/opt/rh/devtoolset-7/root/usr/bin/gcc CXX=/opt/rh/devtoolset-7/root/usr/bin/g++ cmake .."
        - docker commit centos7_toconfigure centos7_configured
     script:
        - docker run --name centos7_make -v `pwd`:/root/open-license-manager centos7_configured /bin/bash -c
            "cd /root/open-license-manager/build && make && make install && VIRT_ENV=CONTAINER make test"
   - os: linux
     dist: bionic
     name: "Ubuntu 18.04 - MinGW cross-compile for Windows x64"
     env:
        - CTEST_OUTPUT_ON_FAILURE=1
        - WINEARCH=win64
     addons:
        apt:
          packages:
             - cmake
             - binutils-mingw-w64
             - mingw-w64
             - mingw-w64-tools
             - mingw-w64-x86-64-dev
             - wine-development
             - wine32-development
     before_script:
        - cd build
        - wget -c https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2
        - tar xjf boost_1_71_0.tar.bz2
        - sudo ln -s /usr/bin/x86_64-w64-mingw32-g++ /usr/local/bin/g++-mingw
        - cd boost_1_71_0
        - ./bootstrap.sh
        - travis_wait 30 ./b2 toolset=gcc-mingw target-os=windows address-model=64 --with-date_time --with-test --with-filesystem --with-program_options --with-regex --with-serialization --with-system runtime-link=static --prefix=./dist release install
        - cd ..
        - cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-ubuntu-mingw64.cmake -DCMAKE_INSTALL_PREFIX=../../install -DBOOST_ROOT=$PWD/boost_1_71_0/dist  ..
   - os: windows
     name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MD)"
     before_script:
         - travis_wait 40 ./scripts/windows_download_boost.bat
         - cd "${TRAVIS_BUILD_DIR}/build"
         - cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT="C:/local/boost" ..
before_install:
  - sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
  - echo "yes" | sudo add-apt-repository ppa:kalakris/cmake
  - sudo apt-get update -qq
  - sudo apt-get install cmake doxygen > /dev/null
  - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8; fi
  - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi
  - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; echo "+++GCC4.8"; fi
   - os: windows
     name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MT)"
     before_script:
         - travis_wait 40 ./scripts/windows_download_boost.bat
         - cd "${TRAVIS_BUILD_DIR}"
         - cd build && cmake -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT="C:/local/boost" -DSTATIC_RUNTIME=1 ..
   - os: windows
     name: "Widnows server 1803 - MinGW Win64"
     env:
        - CACHE_NAME=boost-mingw
     cache:
         name: boost-mingw
         directories:
             - "/C/local/boost"
     before_script:
         - |
           if [ -d "/C/local/boost/lib" ]; then
               echo "Boost already installed"
           else
               echo "Boost not cached, compiling it"
               wget -q https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.7z
               echo "Boost downloaded"
               travis_wait 20 7z x boost_1_68_0.7z -oC:/local
               cd "C:/local/boost_1_68_0"
               ./bootstrap.bat gcc
               travis_wait 40 ./b2.exe -d0 --with-date_time --with-test --with-filesystem --with-program_options --with-regex --with-serialization --with-system runtime-link=static toolset=gcc --prefix=C:/local/boost install
               echo "Boost installed"
               cd /C/local/boost/lib
               dir
           fi
         - cd "${TRAVIS_BUILD_DIR}"
         - cd build && cmake -G "MinGW Makefiles" --trace-expand -DBOOST_ROOT="C:/local/boost" -DBoost_ARCHITECTURE="-x64" -DCMAKE_CXX_COMPILER_ARCHITECTURE_ID="x64" -DCMAKE_SH="CMAKE_SH-NOTFOUND" ..
env:
    - CTEST_OUTPUT_ON_FAILURE=1
before_script:
  - cd build/linux && cmake ../..
script:
  - make
    - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install ..
script:
    - cmake --build . --target install --config Release
    - ctest -C Release