6 changed files with 226 additions and 43 deletions
			
			
		- 
					71.travis.yml
 - 
					21travis/build-helper.sh
 - 
					12travis/build.sh
 - 
					41travis/build_carl.sh
 - 
					86travis/build_carl_helper.sh
 - 
					36travis/generate_travis.py
 
@ -0,0 +1,41 @@ | 
			
		|||||
 | 
				#!/bin/bash -x | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				N_JOBS=2 | 
			
		||||
 | 
				TIMEOUT_LINUX=2300 | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				OS=$TRAVIS_OS_NAME | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				case $OS in | 
			
		||||
 | 
				linux) | 
			
		||||
 | 
				    # Execute docker image on Linux | 
			
		||||
 | 
				    # Stop previous session | 
			
		||||
 | 
				    docker rm -f carl &>/dev/null | 
			
		||||
 | 
				    # Run container | 
			
		||||
 | 
				    set -e | 
			
		||||
 | 
				    docker run -d -it --name carl --privileged mvolk/storm-basesystem:$LINUX | 
			
		||||
 | 
				    # Copy local content into container | 
			
		||||
 | 
				    docker cp travis/build_carl_helper.sh carl:/opt/ | 
			
		||||
 | 
				    set +e | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    # Execute main process | 
			
		||||
 | 
				    timeout $TIMEOUT_LINUX docker exec carl bash -c " | 
			
		||||
 | 
				        export CONFIG=$CONFIG; | 
			
		||||
 | 
				        export COMPILER=$COMPILER; | 
			
		||||
 | 
				        export N_JOBS=$N_JOBS; | 
			
		||||
 | 
				        export STLARG=; | 
			
		||||
 | 
				        export OS=$OS; | 
			
		||||
 | 
				        cd /opt/; | 
			
		||||
 | 
				        ./build_carl_helper.sh" | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				osx) | 
			
		||||
 | 
				    echo "Building carl on Mac OSX not used." | 
			
		||||
 | 
				    exit 1 | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				*) | 
			
		||||
 | 
				    # Unknown OS | 
			
		||||
 | 
				    echo "Unsupported OS: $OS" | 
			
		||||
 | 
				    exit 1 | 
			
		||||
 | 
				esac | 
			
		||||
 | 
				
 | 
			
		||||
@ -0,0 +1,86 @@ | 
			
		|||||
 | 
				#!/bin/bash | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				set -e | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				# Helper for travis folding | 
			
		||||
 | 
				travis_fold() { | 
			
		||||
 | 
				  local action=$1 | 
			
		||||
 | 
				  local name=$2 | 
			
		||||
 | 
				  echo -en "travis_fold:${action}:${name}\r" | 
			
		||||
 | 
				} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				# Helper for building and testing | 
			
		||||
 | 
				run() { | 
			
		||||
 | 
				  travis_fold start install_dependencies | 
			
		||||
 | 
				  apt-get update | 
			
		||||
 | 
				  apt-get install -qq -y openjdk-8-jdk maven uuid-dev pkg-config | 
			
		||||
 | 
				  travis_fold end install_dependencies | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				  travis_fold start install_carl | 
			
		||||
 | 
				  git clone https://github.com/smtrat/carl.git | 
			
		||||
 | 
				  cd carl | 
			
		||||
 | 
				  mkdir build | 
			
		||||
 | 
				  cd build | 
			
		||||
 | 
				  cmake .. "${CMAKE_ARGS[@]}" | 
			
		||||
 | 
				  make lib_carl addons -j$N_JOBS | 
			
		||||
 | 
				  travis_fold end install_carl | 
			
		||||
 | 
				} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				# This only exists in OS X, but it doesn't cause issues in Linux (the dir doesn't exist, so it's | 
			
		||||
 | 
				# ignored). | 
			
		||||
 | 
				export PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH" | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				case $COMPILER in | 
			
		||||
 | 
				gcc-6) | 
			
		||||
 | 
				    export CC=gcc-6 | 
			
		||||
 | 
				    export CXX=g++-6 | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				gcc) | 
			
		||||
 | 
				    export CC=gcc | 
			
		||||
 | 
				    export CXX=g++ | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				clang-4) | 
			
		||||
 | 
				    case "$OS" in | 
			
		||||
 | 
				    linux) | 
			
		||||
 | 
				        export CC=clang-4.0 | 
			
		||||
 | 
				        export CXX=clang++-4.0 | 
			
		||||
 | 
				        ;; | 
			
		||||
 | 
				    osx) | 
			
		||||
 | 
				        export CC=/usr/local/opt/llvm/bin/clang-4.0 | 
			
		||||
 | 
				        export CXX=/usr/local/opt/llvm/bin/clang++ | 
			
		||||
 | 
				        ;; | 
			
		||||
 | 
				    *) echo "Error: unexpected OS: $OS"; exit 1 ;; | 
			
		||||
 | 
				    esac | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				clang) | 
			
		||||
 | 
				    export CC=clang | 
			
		||||
 | 
				    export CXX=clang++ | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				*) | 
			
		||||
 | 
				    echo "Unrecognized value of COMPILER: $COMPILER" | 
			
		||||
 | 
				    exit 1 | 
			
		||||
 | 
				esac | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				# Build | 
			
		||||
 | 
				echo CXX version: $($CXX --version) | 
			
		||||
 | 
				echo C++ Standard library location: $(echo '#include <vector>' | $CXX -x c++ -E - | grep 'vector\"' | awk '{print $3}' | sed 's@/vector@@;s@\"@@g' | head -n 1) | 
			
		||||
 | 
				echo Normalized C++ Standard library location: $(readlink -f $(echo '#include <vector>' | $CXX -x c++ -E - | grep 'vector\"' | awk '{print $3}' | sed 's@/vector@@;s@\"@@g' | head -n 1)) | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				case "$CONFIG" in | 
			
		||||
 | 
				DefaultDebug*) | 
			
		||||
 | 
				    CMAKE_ARGS=(-DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="$STLARG" -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON -DBUILD_ADDONS=ON -DBUILD_ADDON_PARSER=ON) | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				DefaultRelease*) | 
			
		||||
 | 
				    CMAKE_ARGS=(-DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="$STLARG" -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON -DBUILD_ADDONS=ON -DBUILD_ADDON_PARSER=ON) | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				*) | 
			
		||||
 | 
				    echo "Unrecognized value of CONFIG: $CONFIG"; exit 1 | 
			
		||||
 | 
				    ;; | 
			
		||||
 | 
				esac | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				run | 
			
		||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue