使用最新的 CMake 配置 Travis CI
Travis 上预装的 CMake 版本非常陈旧。你可以使用官方 Linux 二进制文件来构建更新版本。
这是 .travis.yml
的一个例子:
language: cpp
compiler:
- gcc
# the install step will take care of deploying a newer cmake version
install:
# first we create a directory for the CMake binaries
- DEPS_DIR="${TRAVIS_BUILD_DIR}/deps"
- mkdir ${DEPS_DIR} && cd ${DEPS_DIR}
# we use wget to fetch the cmake binaries
- travis_retry wget --no-check-certificate https://cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz
# this is optional, but useful:
# do a quick md5 check to ensure that the archive we downloaded did not get compromised
- echo "f3546812c11ce7f5d64dc132a566b749 *cmake-3.3.2-Linux-x86_64.tar.gz" > cmake_md5.txt
- md5sum -c cmake_md5.txt
# extract the binaries; the output here is quite lengthy,
# so we swallow it to not clutter up the travis console
- tar -xvf cmake-3.3.2-Linux-x86_64.tar.gz > /dev/null
- mv cmake-3.3.2-Linux-x86_64 cmake-install
# add both the top-level directory and the bin directory from the archive
# to the system PATH. By adding it to the front of the path we hide the
# preinstalled CMake with our own.
- PATH=${DEPS_DIR}/cmake-install:${DEPS_DIR}/cmake-install/bin:$PATH
# don't forget to switch back to the main build directory once you are done
- cd ${TRAVIS_BUILD_DIR}
before_script:
# create a build folder for the out-of-source build
- mkdir build
# switch to build directory
- cd build
# run cmake; here we assume that the project's
# top-level CMakeLists.txt is located at '..'
- cmake ..
script:
# once CMake has done its job we just build using make as usual
- make
# if the project uses ctest we can run the tests like this
- make test