From 90c5a009831c075320ef6bb8fa6467c9a4ccf92c Mon Sep 17 00:00:00 2001
From: Thomas Moulard <thomas.moulard@gmail.com>
Date: Wed, 4 Sep 2013 22:27:51 +0900
Subject: [PATCH] [travis] Add Travis and coveralls.io support

---
 .travis.yml   | 29 +++++++++++++++++++++++++++++
 .travis/build | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)
 create mode 100644 .travis.yml
 create mode 100755 .travis/build

diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..0d88390
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,29 @@
+after_success:
+- coveralls -e _travis/install -e tests
+- git config --global user.name "Travis CI"
+- git config --global user.email "thomas.moulard+travis@gmail.com"
+- git remote set-url origin https://thomas-moulard:${GH_TOKEN}@github.com/stack-of-tasks/dynamic-graph.git
+- git fetch origin gh-pages:gh-pages
+- cd _travis/build/doc && ../../../cmake/github/update-doxygen-doc.sh
+branches:
+  only:
+  - master
+compiler:
+- clang
+- gcc
+matrix:
+  allow_failures:
+  - compiler: clang
+before_install:
+- git submodule update --init --recursive
+- sudo apt-get update -qq
+- sudo apt-get install -qq doxygen doxygen-latex libboost-all-dev libeigen3-dev liblapack-dev libblas-dev gfortran python-dev
+- sudo pip install cpp-coveralls --use-mirrors
+language: cpp
+notifications:
+  email:
+  - hpp-source@laas.fr
+script: ./.travis/build
+env:
+  global:
+    secure: dXnBor2MQ2eUyh6WqB6FKWWcE3MxzY8fin7xTyA+yJwpUsEgkvXp/4IEzx4CDSIjrLSR4P/MKQby9jnd+vTDOMH1NwXkdQH8c7mn/L3ZshALMKVNZIW6IDNx7jneAMud4/l9KHvauQVdby4cA7gFxbVQi+aPbhnioN4UO0AeLeA=
diff --git a/.travis/build b/.travis/build
new file mode 100755
index 0000000..b680199
--- /dev/null
+++ b/.travis/build
@@ -0,0 +1,48 @@
+#!/bin/sh
+set -ev
+
+# Directories.
+root_dir=`pwd`
+build_dir="$root_dir/_travis/build"
+install_dir="$root_dir/_travis/install"
+
+# Shortcuts.
+git_clone="git clone --quiet --recursive"
+
+# Create layout.
+rm -rf "$build_dir" "$install_dir"
+mkdir -p "$build_dir"
+mkdir -p "$install_dir"
+
+# Setup environment variables.
+export LD_LIBRARY_PATH="$install_dir/lib:$LD_LIBRARY_PATH"
+export LD_LIBRARY_PATH="$install_dir/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`:$LD_LIBRARY_PATH"
+export PKG_CONFIG_PATH="$install_dir/lib/pkgconfig:$PKG_CONFIG_PATH"
+export PKG_CONFIG_PATH="$install_dir/lib/`dpkg-architecture -qDEB_BUILD_MULTIARCH`/pkgconfig:$PKG_CONFIG_PATH"
+
+install_dependency()
+{
+    echo "--> Compiling $1"
+    mkdir -p "$build_dir/$1"
+    cd "$build_dir"
+    $git_clone "git://github.com/$1" "$1"
+    cd "$build_dir/$1"
+    cmake . -DCMAKE_INSTALL_PREFIX:STRING="$install_dir"
+    make install
+}
+
+# Retrieve jrl-mathtools
+install_dependency jrl-umi3218/jrl-mathtools
+install_dependency jrl-umi3218/jrl-mal
+install_dependency stack-of-tasks/dynamic-graph
+
+# Compile and run tests
+cd "$build_dir"
+cmake "$root_dir" -DCMAKE_INSTALL_PREFIX="$install_dir"		\
+		  -DCMAKE_CXX_FLAGS="--coverage"		\
+		  -DCMAKE_EXE_LINKER_FLAGS="--coverage"		\
+		  -DCMAKE_MODULE_LINKER_FLAGS="--coverage"	\
+		  -DCMAKE_INSTALL_PREFIX:STRING="$install_dir"
+make
+make test
+make install
-- 
GitLab