mirror of
https://github.com/CLIUtils/CLI11.git
synced 2025-05-08 07:43:52 +00:00
Dropping cmake and clang 5 since they are now in Travis (#89)
* Dropping cmake and clang 5 since they are now in Travis * Dropping pathlib since it is now unused * Doxy build * Folding output and fixing ccache
This commit is contained in:
parent
b4b7d991f6
commit
2ef176e86c
@ -1,6 +1,6 @@
|
||||
branches:
|
||||
except:
|
||||
- gh-pages
|
||||
only:
|
||||
- master
|
||||
|
||||
install:
|
||||
- set PATH=C:\Python36;%PATH%
|
||||
|
@ -1,17 +0,0 @@
|
||||
CMAKE_VERSION=3.9.6
|
||||
CMAKE_MVERSION=${CMAKE_VERSION%.*}
|
||||
# Non Bash version:
|
||||
# echo CMAKE_MVERSION=`$var | awk -F"." '{ print $1"."$2 }'`
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ] ; then CMAKE_URL="https://cmake.org/files/v${CMAKE_MVERSION}/cmake-${CMAKE_VERSION}-Linux-x86_64.tar.gz" ; fi
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ] ; then CMAKE_URL="https://cmake.org/files/v$CMAKE_MVERSION/cmake-$CMAKE_VERSION-Darwin-x86_64.tar.gz" ; fi
|
||||
cd "${DEPS_DIR}"
|
||||
|
||||
if [[ ! -f "${DEPS_DIR}/cmake/bin/cmake" ]] ; then
|
||||
echo "Downloading CMake $CMAKE_VERSION"
|
||||
mkdir -p cmake
|
||||
travis_retry wget --no-check-certificate --quiet -O - "${CMAKE_URL}" | tar --strip-components=1 -xz -C cmake
|
||||
fi
|
||||
|
||||
export PATH="${DEPS_DIR}/cmake/bin:${PATH}"
|
||||
cd "${TRAVIS_BUILD_DIR}"
|
@ -1,3 +1,5 @@
|
||||
set -evx
|
||||
|
||||
DOXYGEN_URL="ftp://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.13.src.tar.gz"
|
||||
cd "${DEPS_DIR}"
|
||||
|
||||
@ -15,3 +17,6 @@ fi
|
||||
export PATH="${DEPS_DIR}/doxygen/build/bin:${PATH}"
|
||||
|
||||
cd "${TRAVIS_BUILD_DIR}"
|
||||
|
||||
set +evx
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
set -evx
|
||||
|
||||
LCOV_URL="http://ftp.de.debian.org/debian/pool/main/l/lcov/lcov_1.13.orig.tar.gz"
|
||||
cd "${DEPS_DIR}"
|
||||
|
||||
@ -9,3 +11,5 @@ fi
|
||||
|
||||
export PATH="${DEPS_DIR}/lcov/bin:${PATH}"
|
||||
cd "${TRAVIS_BUILD_DIR}"
|
||||
|
||||
set +evx
|
||||
|
@ -1,11 +1,21 @@
|
||||
#!/usr/bin/env sh
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo -en "travis_fold:start:script.build\\r"
|
||||
echo "Building with tidy on..."
|
||||
set -evx
|
||||
|
||||
mkdir build-tidy || true
|
||||
mkdir -p build-tidy
|
||||
cd build-tidy
|
||||
CXX_FLAGS="-Werror -Wall -Wextra -pedantic -std=c++11" cmake .. -DCLANG_TIDY_FIX=ON
|
||||
cmake --build .
|
||||
|
||||
set -evx
|
||||
echo -en "travis_fold:end:script.build\\r"
|
||||
echo -en "travis_fold:start:script.compare\\r"
|
||||
echo "Checking git diff..."
|
||||
set -evx
|
||||
|
||||
git diff --exit-code --color
|
||||
|
||||
set +evx
|
||||
echo -en "travis_fold:end:script.compare\\r"
|
||||
|
20
.ci/make_and_test.sh
Executable file
20
.ci/make_and_test.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
echo -en "travis_fold:start:script.build\\r"
|
||||
echo "Building..."
|
||||
set -evx
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. -DCLI_CXX_STD=$1 -DCLI_SINGLE_FILE_TESTS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
||||
cmake --build . -- -j2
|
||||
|
||||
set +evx
|
||||
echo -en "travis_fold:end:script.build\\r"
|
||||
echo -en "travis_fold:start:script.test\\r"
|
||||
echo "Testing..."
|
||||
set -evx
|
||||
|
||||
ctest --output-on-failure
|
||||
|
||||
set +evx
|
||||
echo -en "travis_fold:end:script.test\\r"
|
@ -1,18 +0,0 @@
|
||||
cd "${DEPS_DIR}"
|
||||
mkdir -p extrabin
|
||||
cd extrabin
|
||||
|
||||
if [ "$CXX" = "g++" ] ; then
|
||||
ln -s `which gcc-$COMPILER` gcc
|
||||
ln -s `which g++-$COMPILER` g++
|
||||
ln -s `which gcov-$COMPILER` gcov
|
||||
else
|
||||
ln -s `which clang-$COMPILER` clang
|
||||
ln -s `which clang++-$COMPILER` clang++
|
||||
ln -s `which clang-format-$COMPILER` clang-format
|
||||
ln -s `which clang-tidy-$COMPILER` clang-tidy
|
||||
fi
|
||||
|
||||
export PATH="${DEPS_DIR}/extrabin":$PATH
|
||||
|
||||
cd "${TRAVIS_BUILD_DIR}"
|
@ -1,3 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo -en "travis_fold:start:script.build\\r"
|
||||
echo "Building..."
|
||||
set -evx
|
||||
|
||||
cd ${TRAVIS_BUILD_DIR}
|
||||
@ -7,8 +11,17 @@ cmake .. -DCLI_SINGLE_FILE_TESTS=OFF -DCLI_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Cover
|
||||
cmake --build . -- -j2
|
||||
cmake --build . --target CLI_coverage
|
||||
|
||||
set +evx
|
||||
echo -en "travis_fold:end:script.build\\r"
|
||||
echo -en "travis_fold:start:script.lcov\\r"
|
||||
echo "Capturing and uploading LCov..."
|
||||
set -evx
|
||||
|
||||
lcov --directory . --capture --output-file coverage.info # capture coverage info
|
||||
lcov --remove coverage.info '*/tests/*' '*/examples/*' '*gtest*' '*gmock*' '/usr/*' --output-file coverage.info # filter out system
|
||||
lcov --list coverage.info #debug info
|
||||
# Uploading report to CodeCov
|
||||
bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"
|
||||
|
||||
set +evx
|
||||
echo -en "travis_fold:end:script.lcov\\r"
|
||||
|
@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
set -evx
|
||||
|
||||
mkdir build || true
|
||||
cd build
|
||||
cmake .. -DCLI_CXX_STD=11 -DCLI_SINGLE_FILE_TESTS=ON -DCMAKE_BUILD_TYPE=Debug
|
||||
cmake --build . -- -j2
|
||||
ctest --output-on-failure
|
||||
if [ -n "$CLI_CXX_STD" ] && [ "$CLI_CXX_STD" -ge "14" ] ; then
|
||||
cmake .. -DCLI_CXX_STD=14 -DCLI_SINGLE_FILE_TESTS=ON -DCMAKE_BUILD_TYPE=Debug
|
||||
cmake --build . -- -j2
|
||||
ctest --output-on-failure
|
||||
fi
|
||||
if [ -n "$CLI_CXX_STD" ] && [ "$CLI_CXX_STD" -ge "17" ] ; then
|
||||
cmake .. -DCLI_CXX_STD=17 -DCLI_SINGLE_FILE_TESTS=ON -DCMAKE_BUILD_TYPE=Debug
|
||||
cmake --build . -- -j2
|
||||
ctest --output-on-failure
|
||||
fi
|
||||
|
||||
set +evx
|
101
.travis.yml
101
.travis.yml
@ -1,55 +1,54 @@
|
||||
language: cpp
|
||||
sudo: false
|
||||
dist: trusty
|
||||
|
||||
# Exclude ghpages,
|
||||
# but even better, don't build branch and PR, just PR
|
||||
branches:
|
||||
exclude:
|
||||
- gh-pages
|
||||
only:
|
||||
- master
|
||||
|
||||
cache:
|
||||
ccache: true
|
||||
apt: true
|
||||
directories:
|
||||
- "${TRAVIS_BUILD_DIR}/deps/cmake"
|
||||
- "${TRAVIS_BUILD_DIR}/deps/doxygen"
|
||||
|
||||
matrix:
|
||||
include:
|
||||
# Default clang
|
||||
- compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
- llvm-toolchain-trusty-5.0
|
||||
packages:
|
||||
- clang++-5.0
|
||||
env:
|
||||
- COMPILER=5.0
|
||||
- CLI_CXX_STD=14
|
||||
- compiler: clang
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.9
|
||||
- clang-format-3.9
|
||||
- clang-tidy-3.9
|
||||
env:
|
||||
- COMPILER=3.9
|
||||
- CLI_CXX_STD=14
|
||||
|
||||
# Check style/tidy
|
||||
- compiler: clang
|
||||
script:
|
||||
- cd "${TRAVIS_BUILD_DIR}"
|
||||
- scripts/check_style.sh
|
||||
- ".ci/check_tidy.sh"
|
||||
- .ci/check_tidy.sh
|
||||
|
||||
# Docs and clang 3.5
|
||||
- compiler: clang
|
||||
env:
|
||||
- DEPLOYMAT=yes
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- clang-3.5
|
||||
env:
|
||||
- COMPILER=3.5
|
||||
- DEPLOY_MAT=yes
|
||||
- DOXYFILE=$TRAVIS_BUILD_DIR/docs/Doxyfile
|
||||
install:
|
||||
- export CC=clang-3.5
|
||||
- export CXX=clang++-3.5
|
||||
script:
|
||||
- .ci/make_and_test.sh 11
|
||||
after_success:
|
||||
- export DOXYFILE=$TRAVIS_BUILD_DIR/docs/Doxyfile
|
||||
- |
|
||||
if [ "${TRAVIS_BRANCH}" == "master" ] && [ "${TRAVIS_PULL_REQUEST}" == "false" ]
|
||||
then
|
||||
echo "Updating docs" && cd $TRAVIS_BUILD_DIR && .ci/build_docs.sh
|
||||
. .ci/build_doxygen.sh
|
||||
.ci/build_docs.sh
|
||||
fi
|
||||
|
||||
# GCC 6 and Coverage
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
@ -59,24 +58,27 @@ matrix:
|
||||
- g++-6
|
||||
- curl
|
||||
- lcov
|
||||
env:
|
||||
- COMPILER=6
|
||||
- CLI_CXX_STD=14
|
||||
before_install:
|
||||
install:
|
||||
- export CC=gcc-6
|
||||
- export CXX=g++-6
|
||||
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
|
||||
- cd $TRAVIS_BUILD_DIR
|
||||
- ". .ci/build_lcov.sh"
|
||||
- ".ci/run_codecov.sh"
|
||||
|
||||
# GCC 4.7 and Conan
|
||||
- compiler: gcc
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-4.7
|
||||
env:
|
||||
- COMPILER=4.7
|
||||
before_install:
|
||||
install:
|
||||
- export CC=gcc-4.7
|
||||
- export CXX=g++-4.7
|
||||
- python -m pip install --user conan
|
||||
- conan user
|
||||
script:
|
||||
- .ci/make_and_test.sh 11
|
||||
after_success:
|
||||
- conan create . CLIUtils/stable
|
||||
- |
|
||||
@ -86,33 +88,28 @@ matrix:
|
||||
conan user -p ${BINFROG_API_KEY} -r origin henryiii
|
||||
conan upload "*" -c -r origin --all
|
||||
fi
|
||||
|
||||
# macOS and clang
|
||||
- os: osx
|
||||
compiler: clang
|
||||
before_install:
|
||||
install:
|
||||
- brew update
|
||||
- echo 'brew "python"' > Brewfile
|
||||
- echo 'brew "conan"' >> Brewfile
|
||||
- echo 'brew "ccache"' >> Brewfile
|
||||
- brew bundle
|
||||
- python -m ensurepip --user
|
||||
- conan user
|
||||
after_success:
|
||||
- conan create . CLIUtils/CLI11
|
||||
install:
|
||||
- python -c 'import sys; print(sys.version_info[:])'
|
||||
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then cd $TRAVIS_BUILD_DIR && . .ci/prepare_altern.sh
|
||||
; fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ] ; then cd $TRAVIS_BUILD_DIR && . .ci/build_cmake.sh
|
||||
; fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ] ; then cd $TRAVIS_BUILD_DIR && . .ci/build_doxygen.sh
|
||||
; fi
|
||||
- cd "${DEPS_DIR}"
|
||||
- if [ "$(python -c 'import sys; print(sys.version_info[0])')" = "2" ] ; then python
|
||||
-m pip install --user pathlib ; fi
|
||||
- cmake --version
|
||||
|
||||
install: skip
|
||||
|
||||
script:
|
||||
- cd "${TRAVIS_BUILD_DIR}"
|
||||
- ".ci/travis.sh"
|
||||
- .ci/make_and_test.sh 11
|
||||
- .ci/make_and_test.sh 14
|
||||
|
||||
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key:
|
||||
|
@ -1,7 +1,5 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Requires pathlib on python 2
|
||||
|
||||
from __future__ import print_function, unicode_literals
|
||||
|
||||
import os
|
||||
|
Loading…
x
Reference in New Issue
Block a user