From 96079cdebd4c34bb1b92694664e258a0fd8e7565 Mon Sep 17 00:00:00 2001 From: redtide Date: Mon, 23 Dec 2019 14:42:35 +0100 Subject: [PATCH] Enable LTO on Linux builds, general Travis fixes --- .travis.yml | 2 +- .travis/before_install.sh | 4 ++-- .travis/install.sh | 2 +- .travis/script.sh | 6 +++--- .travis/update_dox.sh | 4 +++- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2f772e64..07e70878 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: cpp env: global: - - INSTALL_DIR="sfizz-$(git describe --tags)-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}" + - INSTALL_DIR="sfizz-${TRAVIS_BRANCH}-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}" jobs: include: diff --git a/.travis/before_install.sh b/.travis/before_install.sh index 923a8e0d..07707831 100755 --- a/.travis/before_install.sh +++ b/.travis/before_install.sh @@ -6,14 +6,14 @@ cmake_dir="cmake-3.13.0-${TRAVIS_OS_NAME}-${TRAVIS_CPU_ARCH}" cmake_arc="${cmake_dir}.tar.gz" cmake_url="https://github.com/sfztools/cmake/releases/download/${TRAVIS_OS_NAME}/${cmake_arc}" -if [ ${TRAVIS_OS_NAME} = "linux" ]; then +if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then wget -q ${cmake_url} tar xzf ${cmake_arc} cd ${TRAVIS_BUILD_DIR}/${cmake_dir} sudo cp bin/* /usr/local/bin/ sudo cp -r share/* /usr/local/share/ export PATH="/usr/local/bin:$PATH" # FIXME -elif [ ${TRAVIS_OS_NAME} = "osx" ]; then +elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then sudo ln -s /usr/local /opt/local brew update brew upgrade cmake diff --git a/.travis/install.sh b/.travis/install.sh index 03e1dd6c..033127f9 100755 --- a/.travis/install.sh +++ b/.travis/install.sh @@ -2,7 +2,7 @@ set -ex -if [ "$TRAVIS_OS_NAME" = "linux" ]; then +if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then sudo apt-get install libasound2-dev libjack-jackd2-dev libsndfile1-dev lv2-dev sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 100 diff --git a/.travis/script.sh b/.travis/script.sh index 0d1d6897..9c9da4a1 100755 --- a/.travis/script.sh +++ b/.travis/script.sh @@ -3,13 +3,13 @@ set -ex mkdir -p build/${INSTALL_DIR} && cd build +/usr/local/bin/cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=${PWD}/${INSTALL_DIR} .. if [[ ${TRAVIS_OS_NAME} == "linux" ]]; then - # FIXME: lto error in build when enabled - /usr/local/bin/cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_LTO=OFF -DCMAKE_INSTALL_PREFIX:PATH=${PWD}/${INSTALL_DIR} .. + make -j$(nproc) elif [[ ${TRAVIS_OS_NAME} == "osx" ]]; then - /usr/local/bin/cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=${PWD}/${INSTALL_DIR} .. + make -j$(sysctl -n hw.ncpu) # Xcode not currently supported, see https://gitlab.kitware.com/cmake/cmake/issues/18088 diff --git a/.travis/update_dox.sh b/.travis/update_dox.sh index 1a7a9481..42f66d31 100755 --- a/.travis/update_dox.sh +++ b/.travis/update_dox.sh @@ -3,7 +3,9 @@ set -x # No fail, we need to go back to the original branch at the end # Build documentation only from Linux x86_64 builds -if [[ ${TRAVIS_CPU_ARCH} != "amd64" ]]; then exit 0; fi +if [[ ${TRAVIS_CPU_ARCH} != "amd64" && ${TRAVIS_OS_NAME} != "linux" ]]; then + exit 0 +fi doxygen Doxyfile git fetch --depth=1 https://github.com/${TRAVIS_REPO_SLUG}.git refs/heads/gh-pages:refs/remotes/origin/gh-pages