From 75989974c2a3203999355b16296b59c71c1ef9d0 Mon Sep 17 00:00:00 2001 From: gcontini <1121667+gcontini@users.noreply.github.com> Date: 周日, 29 3月 2020 13:00:53 +0800 Subject: [PATCH] fix new boost build --- .travis.yml | 97 ++++++++++++++++++++++++++++++++++++------------ 1 files changed, 73 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index 925d1cc..41ee6ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,18 @@ language: cpp services: docker -matrix: +stages: + - name: test + - name: documentation + if: branch = develop + +jobs: include: - os: linux dist: bionic name: "Ubuntu 18.04 - Travis CI VM" + env: + - VIRTUAL_ENV=VM addons: apt: packages: @@ -46,6 +53,8 @@ - os: linux dist: bionic name: "Ubuntu 18.04 - Travis CI VM - Debug build" + env: + - VIRTUAL_ENV=VM addons: apt: packages: @@ -63,19 +72,17 @@ - libboost-date-time-dev - lcov before_script: - - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Debug .. + - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_TYPE=Debug -DCODE_COVERAGE=ON .. script: - cmake --build . --target install - ctest - - ctest -T memcheck after_success: # Create lcov report - lcov --capture --directory . --output-file coverage.info - - lcov --remove coverage.info '/usr/*' --output-file coverage.info # filter system-files + - lcov --remove coverage.info '/usr/include/*' '*/ini/*' '*/test/*' --output-file coverage.info # filter system-files - lcov --list coverage.info # debug info # Uploading report to CodeCov - bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov did not collect coverage reports" - - os: linux dist: bionic name: "CentOS-7 Docker" @@ -101,11 +108,11 @@ wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gz && tar xzf OpenSSL_1_1_1d.tar.gz && cd openssl-OpenSSL_1_1_1d && ./config && make -j 8 && make install && - cd /root/lcc-license-manager/build && cmake .." + cd /root/open-license-manager/build && cmake .." - docker commit centos8_toconfigure centos8_configured script: - docker run --name centos8_make -v `pwd`:/root/open-license-manager centos8_configured /bin/bash -c \ - "cd /root/open-license-manager/build && make && make install && VIRT_ENV=CONTAINER make test" + "cd /root/open-license-manager/build && make && make install && VIRTUAL_ENV=DOCKER make test" - os: linux dist: bionic name: "Ubuntu 18.04 - MinGW cross-compile for Windows x64" @@ -127,10 +134,10 @@ - p7zip-full 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 + - wget -c https://github.com/boostorg/boost/archive/boost-1.71.0.tar.gz + - tar xzf boost-1.71.0.tar.gz - sudo ln -s /usr/bin/x86_64-w64-mingw32-g++ /usr/local/bin/g++-mingw - - cd boost_1_71_0 + - cd boost-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 .. @@ -139,6 +146,10 @@ - cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-ubuntu-mingw64.cmake -DCMAKE_INSTALL_PREFIX=../../install -DBOOST_ROOT=$PWD/boost_1_71_0/dist -DOPENSSL_ROOT_DIR=$PWD/openssl-1.0.2h-win64-mingw/ .. - os: windows name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MD)" + cache: + edge: true + directories: + - "/C/local/boost" before_script: - travis_wait 40 ./scripts/windows_download_boost.bat - cd "${TRAVIS_BUILD_DIR}/build" @@ -146,43 +157,81 @@ - os: windows name: "Widnows server 1803 - Visual Studio 15 2017 Win64 - (/MT)" + cache: + edge: true + directories: + - "/C/local/boost" 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 + edge: true directories: - - "/C/local/boost" + - "./boost-mingw" before_script: - | - if [ -d "/C/local/boost/lib" ]; then + if [ -d "${TRAVIS_BUILD_DIR}/boost-mingw/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 + wget -q https://github.com/boostorg/boost/archive/boost-1.68.0.tar.gz echo "Boost downloaded" - travis_wait 20 7z x boost_1_68_0.7z -oC:/local - cd "C:/local/boost_1_68_0" + 7z x boost-1.68.0.tar.gz + 7z x boost-1.68.0.tar + cd "boost-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 + 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=${TRAVIS_BUILD_DIR}/boost-mingw install echo "Boost installed" - cd /C/local/boost/lib + cd ${TRAVIS_BUILD_DIR}/boost-mingw/lib dir fi - cd "${TRAVIS_BUILD_DIR}" - - cd build && cmake -G "MinGW Makefiles" -DBOOST_ROOT="C:/local/boost" -DBoost_ARCHITECTURE="-x64" -DCMAKE_CXX_COMPILER_ARCHITECTURE_ID="x64" -DCMAKE_SH="CMAKE_SH-NOTFOUND" .. + - cd build && cmake -G "MinGW Makefiles" -DBOOST_ROOT="${TRAVIS_BUILD_DIR}/boost-mingw" -DBoost_ARCHITECTURE="-x64" -DCMAKE_CXX_COMPILER_ARCHITECTURE_ID="x64" -DCMAKE_SH="CMAKE_SH-NOTFOUND" .. script: - travis_wait 20 cmake --build . --target install --config Release - ctest -C Release - + - os: linux + dist: bionic + stage: documentation + name: "Deploy documentation" + addons: + apt: + packages: + - cmake + - 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 + - python3-pip + - python3-setuptools + - doxygen + - graphviz + before_script: + - pip3 install setuptools sphinx sphinx_rtd_theme breathe sphinx-markdown-tables recommonmark sphinx-rtd-theme sphinx-sitemap sphinxemoji + - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install .. + script: + - make documentation + deploy: + provider: pages + skip_cleanup: true + github_token: $GITHUB_TOKEN + keep_history: false + verbose: true + target_branch: "gh-pages" + local_dir: "build/docs/sphinx" + on: + branch: develop env: - - CTEST_OUTPUT_ON_FAILURE=1 + - CTEST_OUTPUT_ON_FAILURE=1 before_script: - cd build && cmake -DCMAKE_INSTALL_PREFIX=../../install .. -- Gitblit v1.9.1