language: c sudo: false os: linux dist: focal git: depth: false # disable shallow fetch, history is needed by SonarQube addons: apt: update: true sources: - ubuntu-toolchain-r-test - llvm-toolchain-focal-7 - llvm-toolchain-focal-8 - llvm-toolchain-focal-9 - llvm-toolchain-focal-10 packages: - cmake-data - cmake - libglib2.0-0 - libsndfile-dev - libasound2-dev - libjack-dev - portaudio19-dev - libpulse-dev - libdbus-glib-1-dev - ladspa-sdk - libsdl2-dev env: - CMAKE_FLAGS="-Denable-profiling=1" - CMAKE_FLAGS="-Denable-floats=1 -Denable-profiling=1" - CMAKE_FLAGS="-Denable-floats=1" - CMAKE_FLAGS="-Denable-trap-on-fpe=1" - CMAKE_FLAGS="-Denable-fpe-check=1" - CMAKE_FLAGS="-Denable-ipv6=0" - CMAKE_FLAGS="-Denable-network=0" - CMAKE_FLAGS="-Denable-aufile=0" - CMAKE_FLAGS="-DBUILD_SHARED_LIBS=0" - CMAKE_FLAGS="-Denable-ubsan=1" matrix: include: - addons: sonarcloud: organization: "fluidsynth" env: - BW="build-wrapper-linux-x86-64 --out-dir bw-output" - SONARSC="sonar-scanner -Dsonar.cfamily.build-wrapper-output=build/bw-output" - arch: arm64 env: - CC="gcc-7" - CXX="g++-7" - MATRIX_EVAL="sudo apt-get install gcc-7 g++-7" - dist: trusty env: - CMAKE_FLAGS="" - env: - CC="gcc-8" - CXX="g++-8" - MATRIX_EVAL="sudo apt-get install gcc-8 g++-8" - CMAKE_FLAGS="-Denable-debug=1 -DCMAKE_C_FLAGS_DEBUG=-fuse-ld=gold" - env: - CC="clang-7" - CXX="clang++-7" - MATRIX_EVAL="sudo apt-get install clang-7" - env: - CC="clang-8" - CXX="clang++-8" - MATRIX_EVAL="sudo rm -f /usr/local/clang-7.0.0/bin/clang-tidy && sudo ln -s /usr/bin/clang-tidy-8 /usr/bin/clang-tidy && sudo apt-get install clang-8 clang-tidy-8" - CMAKE_FLAGS="-Denable-profiling=1 -DCMAKE_C_FLAGS_DEBUG=-fuse-ld=gold" - env: - CC="clang-9" - CXX="clang++-9" - MATRIX_EVAL="sudo apt-get install clang-9" - env: - CC="clang-10" - CXX="clang++-10" - MATRIX_EVAL="sudo apt-get install clang-10" - os: linux-ppc64le env: - CMAKE_FLAGS="" before_install: - which clang-tidy || true - ls -la `which clang-tidy` || true - echo $PATH - echo $MATRIX_EVAL - eval "${MATRIX_EVAL}" - echo $SONARSC before_script: - mkdir $HOME/fluidsynth_install/ - mkdir build && cd build script: - cmake -Werror=dev -DCMAKE_INSTALL_PREFIX=$HOME/fluidsynth_install ${CMAKE_FLAGS} -Denable-portaudio=1 -Denable-ladspa=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_VERBOSE_MAKEFILE=1 -DNO_GUI=1 .. - echo Can handle `nproc` jobs in parallel - ${BW} make -j`nproc` - ls -la - make -j`nproc` check - make install - cd .. - ${SONARSC}