################ # Config ################ # C++ project language: cpp dist: trusty sudo: required group: edge ################ # Services ################ services: - docker ################ # Build matrix ################ matrix: include: ################ # Linux / GCC ################ - os: linux compiler: gcc env: - COMPILER_PACKAGE=g++-7 - C_COMPILER=gcc-7 - CXX_COMPILER=g++-7 - os: linux compiler: gcc env: - COMPILER_PACKAGE=g++-8 - C_COMPILER=gcc-8 - CXX_COMPILER=g++-8 - os: linux compiler: gcc env: - COMPILER_PACKAGE=g++-9 - C_COMPILER=gcc-9 - CXX_COMPILER=g++-9 - os: linux compiler: gcc env: - COMPILER_PACKAGE=g++-10 - C_COMPILER=gcc-10 - CXX_COMPILER=g++-10 ################ # Linux / Clang ################ - os: linux env: - COMPILER_PACKAGE=clang-7 - C_COMPILER=clang-7 - CXX_COMPILER=clang++-7 - os: linux env: - COMPILER_PACKAGE=clang-8 - C_COMPILER=clang-8 - CXX_COMPILER=clang++-8 - os: linux env: - COMPILER_PACKAGE=clang-9 - C_COMPILER=clang-9 - CXX_COMPILER=clang++-9 - os: linux env: - COMPILER_PACKAGE=clang-10 - C_COMPILER=clang-10 - CXX_COMPILER=clang++-10 before_install: # Show OS/compiler version (this may not be the same OS as the Docker container) - uname -a # Use an artful container - gives us access to latest compilers. - docker run -e "DEBIAN_FRONTEND=noninteractive" -d --name ubuntu-test-container -v $(pwd):/travis ubuntu:focal tail -f /dev/null - docker ps install: # Create our container - docker exec -t ubuntu-test-container bash -c "apt-get update -y && apt-get --no-install-recommends install -y software-properties-common cmake ninja-build libboost-all-dev libev-dev libuv1-dev ninja-build libssl-dev $COMPILER_PACKAGE && apt-get -y clean && rm -rf /var/lib/apt/lists/*" ################ # Build / Test ################ script: # Run the container that we created and build the code - docker exec -t ubuntu-test-container bash -c "cd /travis && export CC=/usr/bin/$C_COMPILER && export CXX=/usr/bin/$CXX_COMPILER && mkdir build.release && cd build.release && cmake ${CMAKE_OPTIONS} -DAMQP-CPP_BUILD_EXAMPLES=ON -DAMQP-CPP_LINUX_TCP=ON --config Release -GNinja .. && cmake --build . && cd .."