language: generic
os: linux
dist: trusty
matrix:
include:
- compiler: gcc
env:
- CXX=g++-4.8
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-4.9']
env:
- CXX=g++-4.9
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5']
env:
- CXX=g++-5
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-5']
env:
- CXX=g++-5
- CXXSTD=-std=c++14
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-6']
env:
- CXX=g++-6
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-7']
env:
- CXX=g++-7
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-7']
env:
- CXX=g++-7
- CXXSTD=-std=c++17
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-8']
env:
- CXX=g++-8
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-8']
env:
- CXX=g++-8
- CXXSTD=-std=c++17
- dist: precise
compiler: clang
env:
- CXX=clang++
- compiler: clang
addons:
apt:
packages: ['clang-3.5']
env:
- CXX=clang++-3.5
- compiler: clang
addons:
apt:
packages: ['clang-3.6']
env:
- CXX=clang++-3.6
- dist: precise
compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.7']
packages: ['clang-3.7']
env:
- CXX=clang++-3.7
- compiler: clang
addons:
apt:
packages: ['clang-3.8']
env:
- CXX=clang++-3.8
- compiler: clang
addons:
apt:
packages: ['clang-3.9']
env:
- CXX=clang++-3.9
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0']
packages: ['clang-4.0']
env:
- CXX=clang++-4.0
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-4.0']
packages: ['clang-4.0']
env:
- CXX=clang++-4.0
- CXXSTD=-std=c++14
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-5.0']
packages: ['clang-5.0']
env:
- CXX=clang++-5.0
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-6.0']
packages: ['clang-6.0']
env:
- CXX=clang++-6.0
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-6.0']
packages: ['clang-6.0']
env:
- CXX=clang++-6.0
- CPPFLAGS=-fms-extensions
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-6.0']
packages: ['clang-6.0']
env:
- CXX=clang++-6.0
- CXXSTD=-std=c++17
- os: osx
osx_image: xcode6.4
compiler: clang
env:
- CXX=clang++
- os: osx
osx_image: xcode7.3
compiler: clang
env:
- CXX=clang++
- os: osx
osx_image: xcode8.3
compiler: clang
env:
- CXX=clang++
- os: osx
osx_image: xcode9.3
compiler: clang
env:
- CXX=clang++
- language: android
jdk: openjdk8
android:
components:
- tools
- platform-tools
- build-tools-23.0.3
- extra-android-support
- extra-android-m2repository
- android-19
- sys-img-armeabi-v7a-android-19
# Unfortunately travis uses the old android sdk tool instead of the new sdkmanager.
# In this deprecated android sdk tool there is no ndk-bundle or cmake package!
licenses:
- '.+'
before_install:
# Install NDK and cmake via android sdkmanager. Unfortunately to acknowledge the licenses
# takes a while. Looks like the "echo y" solution is not working. Needs improvement!
- export TERM=dumb
- touch ~/.android/repositories.cfg
- mkdir -p /usr/local/android-sdk/licenses
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > /usr/local/android-sdk/licenses/android-sdk-license
- echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> /usr/local/android-sdk/licenses/android-sdk-license
# Install NDK and cmake via android sdkmanager.
- /usr/local/android-sdk/tools/bin/sdkmanager --update > /dev/null
- echo "y" | /usr/local/android-sdk/tools/bin/sdkmanager "emulator" "ndk-bundle" "cmake;3.6.4111459" > /dev/null
before_script:
- export TERM=dumb
- export _NO_CHECK_SIGNATURE=true
- echo no | /usr/local/android-sdk/tools/bin/avdmanager create avd -n test -k "system-images;android-19;default;armeabi-v7a"
- /usr/local/android-sdk/emulator/emulator -avd test -no-audio -no-window -dns-server 8.8.8.8 &
- android-wait-for-emulator || android-wait-for-emulator
- /usr/local/android-sdk/platform-tools/adb shell input keyevent 82 &
script:
# Using the ninja build command. Is much faster then make build command.
- /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake -G'Android Gradle - Ninja' -DANDROID_ABI=armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-19 -DCMAKE_MAKE_PROGRAM=/usr/local/android-sdk/cmake/3.6.4111459/bin/ninja -DPEGTL_BUILD_EXAMPLES=OFF
- /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake --build . --target all
- /usr/local/android-sdk/cmake/3.6.4111459/bin/ctest --output-on-failure
- language: android
jdk: openjdk8
android:
components:
- tools
- platform-tools
- build-tools-23.0.3
- extra-android-support
- extra-android-m2repository
- android-22
- sys-img-armeabi-v7a-android-22
# Unfortunately travis uses the old android sdk tool instead of the new sdkmanager.
# In this deprecated android sdk tool there is no ndk-bundle or cmake package!
licenses:
- '.+'
before_install:
# Install NDK and cmake via android sdkmanager. Unfortunately to acknowledge the licenses
# takes a while. Looks like the "echo y" solution is not working. Needs improvement!
- export TERM=dumb
- touch ~/.android/repositories.cfg
- mkdir -p /usr/local/android-sdk/licenses
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > /usr/local/android-sdk/licenses/android-sdk-license
- echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> /usr/local/android-sdk/licenses/android-sdk-license
# Install NDK and cmake via android sdkmanager.
- /usr/local/android-sdk/tools/bin/sdkmanager --update > /dev/null
- echo "y" | /usr/local/android-sdk/tools/bin/sdkmanager "emulator" "ndk-bundle" "cmake;3.6.4111459" > /dev/null
before_script:
- export TERM=dumb
- export _NO_CHECK_SIGNATURE=true
- echo no | /usr/local/android-sdk/tools/bin/avdmanager create avd -n test -k "system-images;android-22;default;armeabi-v7a"
- /usr/local/android-sdk/emulator/emulator -avd test -no-audio -no-window -dns-server 8.8.8.8 &
- android-wait-for-emulator || android-wait-for-emulator
- /usr/local/android-sdk/platform-tools/adb shell input keyevent 82 &
script:
# Using the ninja build command. Is much faster then make build command.
- /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake -G'Android Gradle - Ninja' -DANDROID_ABI=armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-22 -DCMAKE_MAKE_PROGRAM=/usr/local/android-sdk/cmake/3.6.4111459/bin/ninja -DPEGTL_BUILD_EXAMPLES=OFF
- /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake --build . --target all
- /usr/local/android-sdk/cmake/3.6.4111459/bin/ctest --output-on-failure
- language: android
jdk: openjdk8
android:
components:
- tools
- platform-tools
- build-tools-23.0.3
- extra-android-support
- extra-android-m2repository
- android-23
# Unfortunately travis uses the old android sdk tool instead of the new sdkmanager.
# In this deprecated android sdk tool there is no ndk-bundle or cmake package!
licenses:
- '.+'
before_install:
# Install NDK and cmake via android sdkmanager. Unfortunately to acknowledge the licenses
# takes a while. Looks like the "echo y" solution is not working. Needs improvement!
- export TERM=dumb
- touch ~/.android/repositories.cfg
- mkdir -p /usr/local/android-sdk/licenses
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > /usr/local/android-sdk/licenses/android-sdk-license
- echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> /usr/local/android-sdk/licenses/android-sdk-license
# Install NDK and cmake via android sdkmanager.
- /usr/local/android-sdk/tools/bin/sdkmanager --update > /dev/null
- echo "y" | /usr/local/android-sdk/tools/bin/sdkmanager "emulator" "ndk-bundle" "cmake;3.6.4111459" "system-images;android-23;google_apis;armeabi-v7a" > /dev/null
before_script:
- export TERM=dumb
- export _NO_CHECK_SIGNATURE=true
- echo no | /usr/local/android-sdk/tools/bin/avdmanager create avd -n test -k "system-images;android-23;google_apis;armeabi-v7a"
- /usr/local/android-sdk/emulator/emulator -avd test -no-audio -no-window -dns-server 8.8.8.8 &
- android-wait-for-emulator || android-wait-for-emulator
- /usr/local/android-sdk/platform-tools/adb shell input keyevent 82 &
script:
# Using the ninja build command. Is much faster then make build command.
- /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake -G'Android Gradle - Ninja' -DANDROID_ABI=armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-23 -DCMAKE_MAKE_PROGRAM=/usr/local/android-sdk/cmake/3.6.4111459/bin/ninja -DPEGTL_BUILD_EXAMPLES=OFF
- /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake --build . --target all
- /usr/local/android-sdk/cmake/3.6.4111459/bin/ctest --output-on-failure
- language: android
jdk: openjdk8
android:
components:
- tools
- platform-tools
- build-tools-23.0.3
- extra-android-support
- extra-android-m2repository
- android-24
- sys-img-armeabi-v7a-android-24
# Unfortunately travis uses the old android sdk tool instead of the new sdkmanager.
# In this deprecated android sdk tool there is no ndk-bundle or cmake package!
licenses:
- '.+'
before_install:
# Install NDK and cmake via android sdkmanager. Unfortunately to acknowledge the licenses
# takes a while. Looks like the "echo y" solution is not working. Needs improvement!
- export TERM=dumb
- touch ~/.android/repositories.cfg
- mkdir -p /usr/local/android-sdk/licenses
- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > /usr/local/android-sdk/licenses/android-sdk-license
- echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> /usr/local/android-sdk/licenses/android-sdk-license
# Install NDK and cmake via android sdkmanager.
- /usr/local/android-sdk/tools/bin/sdkmanager --update > /dev/null
- echo "y" | /usr/local/android-sdk/tools/bin/sdkmanager "emulator" "ndk-bundle" "cmake;3.6.4111459" > /dev/null
before_script:
- export TERM=dumb
- export _NO_CHECK_SIGNATURE=true
- echo no | /usr/local/android-sdk/tools/bin/avdmanager create avd -n test -k "system-images;android-24;default;armeabi-v7a"
- /usr/local/android-sdk/emulator/emulator -avd test -no-audio -no-window -dns-server 8.8.8.8 &
- android-wait-for-emulator || android-wait-for-emulator
- /usr/local/android-sdk/platform-tools/adb shell input keyevent 82 &
script:
# Using the ninja build command. Is much faster then make build command.
- /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake -G'Android Gradle - Ninja' -DANDROID_ABI=armeabi-v7a -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=/usr/local/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-24 -DCMAKE_MAKE_PROGRAM=/usr/local/android-sdk/cmake/3.6.4111459/bin/ninja -DPEGTL_BUILD_EXAMPLES=OFF
- /usr/local/android-sdk/cmake/3.6.4111459/bin/cmake --build . --target all
- /usr/local/android-sdk/cmake/3.6.4111459/bin/ctest --output-on-failure
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-7']
env:
- CXX=g++-7
- CXXFLAGS="-O0 --coverage"
before_script:
- pip install --user cpp-coveralls
script:
- make -kj3 check
- coveralls --gcov gcov-7 --gcov-options '\-lp' --exclude src
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-8']
env:
- CXX=g++-8
- CPPFLAGS="-fsanitize=undefined -fuse-ld=gold"
- compiler: gcc
sudo: true
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-8']
env:
- CXX=g++-8
- CPPFLAGS="-fsanitize=address -fuse-ld=gold"
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-6.0']
packages: ['clang-6.0']
env:
- CXX=clang++-6.0
- CPPFLAGS=-fsanitize=undefined
- compiler: clang
sudo: true
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-6.0']
packages: ['clang-6.0']
env:
- CXX=clang++-6.0
- CPPFLAGS=-fsanitize=address
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-8', 'valgrind']
env:
- CXX=g++-8
- SPECIAL=valgrind
script:
- make -kj3 valgrind
- compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-8', 'cppcheck']
env:
- CXX=g++-8
- SPECIAL=cppcheck
script:
- make -kj3 cppcheck
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-6.0']
packages: ['clang-6.0', 'clang-tidy-6.0']
env:
- CXX=clang++-6.0
- CLANG_TIDY=clang-tidy-6.0
script:
- "sed -i 's#TAO_PEGTL_NAMESPACE#pegtl#g' $(find . -name '*.[hc]pp')"
- make -kj3 clang-tidy
- language: python
python:
- "3.6"
sudo: required
install:
- pip install conan conan-package-tools
env:
- CONAN_GCC_VERSIONS=7
- CONAN_DOCKER_IMAGE=lasote/conangcc7
script:
- python .conan/build.py
script:
- $CXX --version
- make -j3 build/src/test/pegtl/tester
- build/src/test/pegtl/tester
- make -kj3