mirror of
https://github.com/eclipse/paho.mqtt.cpp.git
synced 2025-05-09 03:11:23 +08:00
Updated travis for CMake build with Catch2 unit tests.
This commit is contained in:
parent
735be58b66
commit
596b8afb45
105
.travis.yml
105
.travis.yml
@ -1,11 +1,11 @@
|
||||
language: cpp
|
||||
|
||||
sudo: required
|
||||
|
||||
dist: trusty
|
||||
|
||||
dist: bionic
|
||||
os: linux
|
||||
|
||||
before_install:
|
||||
- ./install_catch2.sh
|
||||
|
||||
install:
|
||||
# Install Paho MQTT C (Need only paho-mqtt3a and paho-mqtt3as)
|
||||
- ./install_paho_mqtt_c.sh
|
||||
@ -13,7 +13,6 @@ install:
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- cppcheck
|
||||
@ -26,49 +25,12 @@ addons:
|
||||
|
||||
matrix:
|
||||
include:
|
||||
# GCC 4.8
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- g++-4.8
|
||||
- cppcheck
|
||||
- libcppunit-dev
|
||||
- git
|
||||
- cmake
|
||||
- cmake-data
|
||||
- doxygen
|
||||
- mosquitto
|
||||
env: COMPILER=g++-4.8
|
||||
# GCC 4.9
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- g++-4.9
|
||||
- cppcheck
|
||||
- libcppunit-dev
|
||||
- git
|
||||
- cmake
|
||||
- cmake-data
|
||||
- doxygen
|
||||
- mosquitto
|
||||
env: COMPILER=g++-4.9
|
||||
# GCC 5
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- g++-5
|
||||
@ -86,7 +48,6 @@ matrix:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- g++-6
|
||||
@ -98,17 +59,15 @@ matrix:
|
||||
- doxygen
|
||||
- mosquitto
|
||||
env: COMPILER=g++-6
|
||||
# Clang 3.6
|
||||
- compiler: clang
|
||||
# GCC 7
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.6
|
||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- clang-3.6
|
||||
- g++-7
|
||||
- cppcheck
|
||||
- libcppunit-dev
|
||||
- git
|
||||
@ -116,18 +75,16 @@ matrix:
|
||||
- cmake-data
|
||||
- doxygen
|
||||
- mosquitto
|
||||
env: COMPILER=clang++-3.6
|
||||
# Clang 3.8
|
||||
- compiler: clang
|
||||
env: COMPILER=g++-7
|
||||
# GCC 8
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-precise-3.8
|
||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- clang-3.8
|
||||
- g++-8
|
||||
- cppcheck
|
||||
- libcppunit-dev
|
||||
- git
|
||||
@ -135,13 +92,47 @@ matrix:
|
||||
- cmake-data
|
||||
- doxygen
|
||||
- mosquitto
|
||||
env: COMPILER=clang++-3.8
|
||||
env: COMPILER=g++-8
|
||||
# Clang 3.9
|
||||
- compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- clang-3.9
|
||||
- cppcheck
|
||||
- libcppunit-dev
|
||||
- git
|
||||
- cmake
|
||||
- cmake-data
|
||||
- doxygen
|
||||
- mosquitto
|
||||
env: COMPILER=clang++-3.9
|
||||
# Clang 4.0
|
||||
- compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||
packages:
|
||||
- clang-4.0
|
||||
- cppcheck
|
||||
- libcppunit-dev
|
||||
- git
|
||||
- cmake
|
||||
- cmake-data
|
||||
- doxygen
|
||||
- mosquitto
|
||||
env: COMPILER=clang++-4.0
|
||||
exclude:
|
||||
- compiler: gcc
|
||||
|
||||
script:
|
||||
# Test CMake building
|
||||
- ./travis_build_cmake.sh
|
||||
# Test build
|
||||
- ./travis_build.sh
|
||||
# Static Analysis
|
||||
- cppcheck --enable=all --std=c++11 --force --quiet src/*.cpp
|
||||
|
||||
|
22
install_catch2.sh
Executable file
22
install_catch2.sh
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# install_catch2.sh
|
||||
#
|
||||
# Travis CI build/test helper script for the Eclipse Paho C++ library.
|
||||
# This installs Catch2 into the VM.
|
||||
#
|
||||
|
||||
set -ex
|
||||
|
||||
VERSION=2.9.1
|
||||
|
||||
# Install Catch2 from sources
|
||||
wget https://github.com/catchorg/Catch2/archive/v${VERSION}.tar.gz
|
||||
tar -xf v${VERSION}.tar.gz
|
||||
cd Catch2-${VERSION}/
|
||||
cmake -Bbuild -H. -DBUILD_TESTING=OFF
|
||||
|
||||
# CMake bin is installed in a strange place where
|
||||
# sudo can not find by default.
|
||||
sudo env "PATH=$PATH" cmake --build build/ --target install
|
||||
|
33
travis_build.sh
Executable file
33
travis_build.sh
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
||||
|
||||
if [ "$COMPILER" == "" ]; then
|
||||
COMPILER=g++;
|
||||
fi
|
||||
|
||||
echo "travis build dir $TRAVIS_BUILD_DIR pwd $PWD"
|
||||
|
||||
rm -rf build/
|
||||
cmake -Bbuild -H. -DCMAKE_CXX_COMPILER=$COMPILER -DPAHO_BUILD_SAMPLES=ON -DPAHO_BUILD_STATIC=ON -DPAHO_BUILD_DOCUMENTATION=OFF -DPAHO_WITH_SSL=OFF
|
||||
cmake --build build/
|
||||
pushd build
|
||||
sudo make install
|
||||
popd
|
||||
|
||||
# Run the unit tests
|
||||
./build/tests/unit/unit_tests #--success
|
||||
|
||||
#ctest -VV --timeout 600
|
||||
#cpack --verbose
|
||||
|
||||
rm -rf build/
|
||||
cmake -Bbuild -H. -DCMAKE_CXX_COMPILER=$COMPILER -DPAHO_BUILD_SAMPLES=ON -DPAHO_BUILD_STATIC=ON -DPAHO_BUILD_DOCUMENTATION=OFF -DPAHO_WITH_SSL=ON
|
||||
cmake --build build/
|
||||
pushd build
|
||||
sudo make install
|
||||
popd
|
||||
|
||||
fi
|
@ -1,27 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
||||
|
||||
if [ "$COMPILER" == "" ]; then
|
||||
COMPILER=g++;
|
||||
fi
|
||||
|
||||
rm -rf build_cmake
|
||||
mkdir build_cmake
|
||||
pushd build_cmake
|
||||
cmake -DCMAKE_CXX_COMPILER=$COMPILER -DPAHO_BUILD_SAMPLES=ON -DPAHO_BUILD_STATIC=ON -DPAHO_BUILD_DOCUMENTATION=OFF -DPAHO_WITH_SSL=OFF ..
|
||||
make
|
||||
sudo make install
|
||||
popd
|
||||
|
||||
rm -rf build_cmake
|
||||
mkdir build_cmake
|
||||
pushd build_cmake
|
||||
cmake -DCMAKE_CXX_COMPILER=$COMPILER -DPAHO_BUILD_SAMPLES=ON -DPAHO_BUILD_STATIC=ON -DPAHO_BUILD_DOCUMENTATION=ON -DPAHO_WITH_SSL=ON ..
|
||||
make
|
||||
sudo make install
|
||||
popd
|
||||
|
||||
fi
|
Loading…
x
Reference in New Issue
Block a user