Build Config

This commit is contained in:
Ankit Kumar 2021-08-18 13:05:28 +05:30
parent f42a74b8f5
commit c73b8f180e

View File

@ -1,94 +1,95 @@
######################### {
# project configuration # "language": "cpp",
######################### "os": [
"linux"
# C++ project ],
language: cpp "dist": "trusty",
"sudo": true,
dist: trusty "group": "edge",
sudo: required "script": [
group: edge "if [[ (-x $(which brew)) ]]; then\n brew update\n brew install cmake ninja\n brew upgrade cmake\n cmake --version\nfi\n",
"if [[ \"${COMPILER}\" != \"\" ]]; then export CXX=${COMPILER}; fi",
"CMAKE_OPTIONS+=${CXX_STANDARD:+ -DCMAKE_CXX_STANDARD=$CXX_STANDARD -DCMAKE_CXX_STANDARD_REQUIRED=ON}",
################ "CMAKE_OPTIONS+=\" -DCMAKE_BUILD_TYPE=Release\"",
# build matrix # "mkdir -p build && cd build",
################ "cmake .. ${CMAKE_OPTIONS} -DJSON_BuildTests=On -GNinja && cmake --build .",
"ctest --timeout 2700 -V -j",
matrix: "cd ..",
include: "if [ `which brew` ]; then brew update ; brew tap nlohmann/json ; brew install nlohmann_json --HEAD ; brew test nlohmann_json ; fi"
],
# Coverity (only for branch coverity_scan) "jobs": {
"include": [
- os: linux {
compiler: clang "os": "linux",
before_install: echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt "compiler": "clang",
addons: "before_install": [
apt: "echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-certificates.crt"
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.6'] ],
packages: ['g++-6', 'clang-3.6', 'ninja-build'] "addons": {
coverity_scan: "apt": {
project: "sources": [
name: "nlohmann/json" {
description: "Build submitted via Travis CI" "name": "ubuntu-toolchain-r-test"
notification_email: niels.lohmann@gmail.com },
build_command_prepend: "mkdir coverity_build ; cd coverity_build ; cmake .. ; cd .." {
build_command: "make -C coverity_build" "name": "llvm-toolchain-precise-3.6"
branch_pattern: coverity_scan }
env: ],
- SPECIAL=coverity "packages": [
- COMPILER=clang++-3.6 "g++-6",
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created "clang-3.6",
# via the "travis encrypt" command using the project repo's public key "ninja-build"
- secure: "m89SSgE+ASLO38rSKx7MTXK3n5NkP9bIx95jwY71YEiuFzib30PDJ/DifKnXxBjvy/AkCGztErQRk/8ZCvq+4HXozU2knEGnL/RUitvlwbhzfh2D4lmS3BvWBGS3N3NewoPBrRmdcvnT0xjOGXxtZaJ3P74TkB9GBnlz/HmKORA=" ]
},
# OSX / Clang "coverity_scan": {
"project": {
- os: osx "name": "nlohmann/json",
osx_image: xcode10.2 "description": "Build submitted via Travis CI"
},
# Linux / GCC "notification_email": "niels.lohmann@gmail.com",
"build_command_prepend": "mkdir coverity_build ; cd coverity_build ; cmake .. ; cd ..",
- os: linux "build_command": "make -C coverity_build",
compiler: gcc "branch_pattern": "coverity_scan"
env: COMPILER=g++-6 }
addons: },
apt: "env": [
sources: ['ubuntu-toolchain-r-test'] {
packages: ['g++-6', 'ninja-build'] "SPECIAL": "coverity"
},
################ {
# build script # "COMPILER": "clang++-3.6"
################ },
{
script: "secure": "m89SSgE+ASLO38rSKx7MTXK3n5NkP9bIx95jwY71YEiuFzib30PDJ/DifKnXxBjvy/AkCGztErQRk/8ZCvq+4HXozU2knEGnL/RUitvlwbhzfh2D4lmS3BvWBGS3N3NewoPBrRmdcvnT0xjOGXxtZaJ3P74TkB9GBnlz/HmKORA="
# get CMake and Ninja (only for systems with brew - macOS) }
- | ]
if [[ (-x $(which brew)) ]]; then },
brew update {
brew install cmake ninja "os": "osx",
brew upgrade cmake "osx_image": "xcode10.2"
cmake --version },
fi {
"os": "linux",
# make sure CXX is correctly set "compiler": "gcc",
- if [[ "${COMPILER}" != "" ]]; then export CXX=${COMPILER}; fi "env": [
{
# append CXX_STANDARD to CMAKE_OPTIONS if required "COMPILER": "g++-6"
- CMAKE_OPTIONS+=${CXX_STANDARD:+ -DCMAKE_CXX_STANDARD=$CXX_STANDARD -DCMAKE_CXX_STANDARD_REQUIRED=ON} }
],
# build configuration "addons": {
- CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE=Release" "apt": {
"sources": [
# compile and execute unit tests {
- mkdir -p build && cd build "name": "ubuntu-toolchain-r-test"
- cmake .. ${CMAKE_OPTIONS} -DJSON_BuildTests=On -GNinja && cmake --build . }
- ctest --timeout 2700 -V -j ],
- cd .. "packages": [
"g++-6",
# check if homebrew works (only checks develop branch) "ninja-build"
- if [ `which brew` ]; then ]
brew update ; }
brew tap nlohmann/json ; }
brew install nlohmann_json --HEAD ; }
brew test nlohmann_json ; ]
fi }
}