travis config
This commit is contained in:
		
							
								
								
									
										43
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								.travis.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					# Build matrix / environment variable are explained on:
 | 
				
			||||||
 | 
					# http://about.travis-ci.org/docs/user/build-configuration/
 | 
				
			||||||
 | 
					# This file can be validated on:
 | 
				
			||||||
 | 
					# http://lint.travis-ci.org/
 | 
				
			||||||
 | 
					# See also
 | 
				
			||||||
 | 
					# http://stackoverflow.com/questions/22111549/travis-ci-with-clang-3-4-and-c11/30925448#30925448
 | 
				
			||||||
 | 
					# to allow C++11, though we are not yet building with -std=c++11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					install:
 | 
				
			||||||
 | 
					# /usr/bin/gcc is 4.6 always, but gcc-X.Y is available.
 | 
				
			||||||
 | 
					- if [ "$CXX" = "g++" ]; then export CXX="g++-4.9" CC="gcc-4.9"; fi
 | 
				
			||||||
 | 
					# /usr/bin/clang is our version already, and clang-X.Y does not exist.
 | 
				
			||||||
 | 
					#- if [ "$CXX" = "clang++" ]; then export CXX="clang++-3.7" CC="clang-3.7"; fi
 | 
				
			||||||
 | 
					- echo ${PATH}
 | 
				
			||||||
 | 
					- ls /usr/local
 | 
				
			||||||
 | 
					- ls /usr/local/bin
 | 
				
			||||||
 | 
					- export PATH=/usr/local/bin:/usr/bin:${PATH}
 | 
				
			||||||
 | 
					- echo ${CXX}
 | 
				
			||||||
 | 
					- ${CXX} --version
 | 
				
			||||||
 | 
					- which valgrind
 | 
				
			||||||
 | 
					addons:
 | 
				
			||||||
 | 
					  apt:
 | 
				
			||||||
 | 
					    sources:
 | 
				
			||||||
 | 
					    - ubuntu-toolchain-r-test
 | 
				
			||||||
 | 
					    packages:
 | 
				
			||||||
 | 
					    - gcc-4.9
 | 
				
			||||||
 | 
					    - g++-4.9
 | 
				
			||||||
 | 
					    - clang
 | 
				
			||||||
 | 
					    - valgrind
 | 
				
			||||||
 | 
					os:
 | 
				
			||||||
 | 
					  - linux
 | 
				
			||||||
 | 
					language: cpp
 | 
				
			||||||
 | 
					compiler:
 | 
				
			||||||
 | 
					  - gcc
 | 
				
			||||||
 | 
					  - clang
 | 
				
			||||||
 | 
					script: ./travis.sh
 | 
				
			||||||
 | 
					env:
 | 
				
			||||||
 | 
					  matrix:
 | 
				
			||||||
 | 
					    - SHARED_LIB=ON  STATIC_LIB=ON CMAKE_PKG=ON  BUILD_TYPE=release VERBOSE_MAKE=false
 | 
				
			||||||
 | 
					    - SHARED_LIB=OFF STATIC_LIB=ON CMAKE_PKG=OFF BUILD_TYPE=debug   VERBOSE_MAKE=true VERBOSE
 | 
				
			||||||
 | 
					notifications:
 | 
				
			||||||
 | 
					  email: false
 | 
				
			||||||
 | 
					sudo: false
 | 
				
			||||||
							
								
								
									
										29
									
								
								travis.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								travis.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,29 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env sh
 | 
				
			||||||
 | 
					# This is called by `.travis.yml` via Travis CI.
 | 
				
			||||||
 | 
					# Travis supplies $TRAVIS_OS_NAME.
 | 
				
			||||||
 | 
					#  http://docs.travis-ci.com/user/multi-os/
 | 
				
			||||||
 | 
					# Our .travis.yml also defines:
 | 
				
			||||||
 | 
					#   - SHARED_LIB=ON/OFF
 | 
				
			||||||
 | 
					#   - STATIC_LIB=ON/OFF
 | 
				
			||||||
 | 
					#   - CMAKE_PKG=ON/OFF
 | 
				
			||||||
 | 
					#   - BUILD_TYPE=release/debug
 | 
				
			||||||
 | 
					#   - VERBOSE_MAKE=false/true
 | 
				
			||||||
 | 
					#   - VERBOSE (set or not)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# -e: fail on error
 | 
				
			||||||
 | 
					# -v: show commands
 | 
				
			||||||
 | 
					# -x: show expanded commands
 | 
				
			||||||
 | 
					set -vex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					env | sort
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cmake -DJSONCPP_WITH_CMAKE_PACKAGE=$CMAKE_PKG -DBUILD_SHARED_LIBS=$SHARED_LIB -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_VERBOSE_MAKEFILE=$VERBOSE_MAKE .
 | 
				
			||||||
 | 
					make
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Python is not available in Travis for osx.
 | 
				
			||||||
 | 
					#  https://github.com/travis-ci/travis-ci/issues/2320
 | 
				
			||||||
 | 
					if [ "$TRAVIS_OS_NAME" != "osx" ]
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
					  make
 | 
				
			||||||
 | 
					  # valgrind --error-exitcode=42 --leak-check=full ./src/test_lib_json/jsoncpp_test
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
		Reference in New Issue
	
	Block a user