mirror of
https://github.com/eclipse/paho.mqtt.cpp.git
synced 2025-05-10 03:39:07 +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
|
language: cpp
|
||||||
|
|
||||||
sudo: required
|
sudo: required
|
||||||
|
dist: bionic
|
||||||
dist: trusty
|
|
||||||
|
|
||||||
os: linux
|
os: linux
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- ./install_catch2.sh
|
||||||
|
|
||||||
install:
|
install:
|
||||||
# Install Paho MQTT C (Need only paho-mqtt3a and paho-mqtt3as)
|
# Install Paho MQTT C (Need only paho-mqtt3a and paho-mqtt3as)
|
||||||
- ./install_paho_mqtt_c.sh
|
- ./install_paho_mqtt_c.sh
|
||||||
@ -13,7 +13,6 @@ install:
|
|||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
|
||||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||||
packages:
|
packages:
|
||||||
- cppcheck
|
- cppcheck
|
||||||
@ -26,49 +25,12 @@ addons:
|
|||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
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
|
# GCC 5
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
|
||||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||||
packages:
|
packages:
|
||||||
- g++-5
|
- g++-5
|
||||||
@ -86,7 +48,6 @@ matrix:
|
|||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
|
|
||||||
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||||
packages:
|
packages:
|
||||||
- g++-6
|
- g++-6
|
||||||
@ -98,17 +59,15 @@ matrix:
|
|||||||
- doxygen
|
- doxygen
|
||||||
- mosquitto
|
- mosquitto
|
||||||
env: COMPILER=g++-6
|
env: COMPILER=g++-6
|
||||||
# Clang 3.6
|
# GCC 7
|
||||||
- compiler: clang
|
- compiler: gcc
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- 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'
|
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||||
packages:
|
packages:
|
||||||
- clang-3.6
|
- g++-7
|
||||||
- cppcheck
|
- cppcheck
|
||||||
- libcppunit-dev
|
- libcppunit-dev
|
||||||
- git
|
- git
|
||||||
@ -116,18 +75,16 @@ matrix:
|
|||||||
- cmake-data
|
- cmake-data
|
||||||
- doxygen
|
- doxygen
|
||||||
- mosquitto
|
- mosquitto
|
||||||
env: COMPILER=clang++-3.6
|
env: COMPILER=g++-7
|
||||||
# Clang 3.8
|
# GCC 8
|
||||||
- compiler: clang
|
- compiler: gcc
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- 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'
|
- sourceline: 'ppa:mosquitto-dev/mosquitto-ppa'
|
||||||
packages:
|
packages:
|
||||||
- clang-3.8
|
- g++-8
|
||||||
- cppcheck
|
- cppcheck
|
||||||
- libcppunit-dev
|
- libcppunit-dev
|
||||||
- git
|
- git
|
||||||
@ -135,13 +92,47 @@ matrix:
|
|||||||
- cmake-data
|
- cmake-data
|
||||||
- doxygen
|
- doxygen
|
||||||
- mosquitto
|
- 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:
|
exclude:
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
|
|
||||||
script:
|
script:
|
||||||
# Test CMake building
|
# Test build
|
||||||
- ./travis_build_cmake.sh
|
- ./travis_build.sh
|
||||||
# Static Analysis
|
# Static Analysis
|
||||||
- cppcheck --enable=all --std=c++11 --force --quiet src/*.cpp
|
- 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