Commit 78ca26b8 authored by Arnaud Blanchard's avatar Arnaud Blanchard

Merge from master and others fixes

parent a95bbacb
# Copyright ETIS — ENSEA, Université de Cergy-Pontoise, CNRS (2011 - 2016)
# Author: Arnaud Blanchard (November, 2016)
# Basic Libraries And Applications for Robotics (BLAAR)
# Copyright ETIS — ENSEA, University of Cergy-Pontoise, CNRS (2011 - 2017)
# Author: Arnaud Blanchard
#
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
......@@ -9,12 +10,27 @@
# that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms.
#
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
echo
echo "Check all projects"
echo "================="
echo
echo "It should take ~10s or less"
error=0
git submodule foreach --quiet '( ./check.sh || echo "\nmodule: $path\n### ERROR: $? ###" )' #( ) for execution in parallel
mkdir -p /tmp/blaar
#We make sure we respect the order of compilation in .gitmodules
cat .gitmodules | sed -n 's/.*path = //p' | while read project; do
project_name=$(basename $project)
echo "Check **$project**"; $project/check.sh > /tmp/blaar/check_${project_name}.log || {
echo
echo "### Fail checking: '$project' ###"
cat /tmp/blaar_check_${project_name}.log;
echo
exit 1
}
done
echo
#!/bin/sh
#BLARR - Basic Librairies And Applications for Robotics
#Copyright ETIS — ENSEA, Université de Cergy-Pontoise, CNRS (2015 - 2016
#This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
......@@ -11,11 +10,16 @@
#Author: Arnaud Blanchard
#Date: April 2015
usage()
{
echo "usage: compile.sh [-h] [-q] <project dir> [Release|Debug|RelWithDebugInfo|MinSizeRel] [<target>]" >&2
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
usage(){
echo "usage: compile.sh [-h] [-q] <project dir> [Release|Debug|RelWithDebugInfo|MinSizeRel] [<target>]" >&2
}
set -- $(getopt hq "$@")
while [ $# -gt 0 ]
do
......@@ -23,27 +27,28 @@ case "$1" in
(-h) usage; exit 0;;
(-q) QUIET=-q;;
(--) shift; break;;
(-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;;
(-*) echo "$0: error - unrecognized option $1"; exit 1;;
(*) break;;
esac
shift
done
[ $1 ] || { echo "Missing project directory."; usage; exit 1; }
[ $# -lt 1 ] && { echo "Missing project directory."; usage; exit 1; }
#We go to the project directory and get the directory name then we go back to seach for the baar directory
cd $1
project_dir="$PWD";
project_name=`basename $project_dir`;
cd - > /dev/null;
project_dir="$PWD"
project_name=$(basename $project_dir)
cd - >/dev/null #Now we have the project directory we go back in current directory without message (/dev/null)
cd `dirname $0`
cd $(dirname $0) #We go in the directory of the current program which is in blaar
blaar_dir="$PWD"
blaar_build_dir="${blaar_dir}_build"
echo "Compiling **$project_name**" >&2
echo "Compiling **$project_dir**"
if [ $2 ]; then
if [ $# -gt 2 ]; then
case $2 in
Release|Debug|RelWithDebugInfo|MinSizeRel) build_type="$2";;
*)echo "Unknown build type '$2'">&2; usage;;
......@@ -51,27 +56,29 @@ esac
else build_type="Release"
fi
if [ ! $3 ]; then
target="$project_name"
if [ $# -gt 3 ]; then
target=$(basename $3)
else
target=`basename $3`
target="$project_name"
fi
build_dir="$blaar_build_dir/${build_type}/$project_name"
build_dir="$blaar_build_dir/${build_type}/cmake_files/$project_name"
mkdir -p "$build_dir"
mkdir -p "$blaar_build_dir/Release/bin"
mkdir -p "$blaar_build_dir/Release"
[ -d build ] || ln -s "$blaar_build_dir" build
[ -d bin ] || ln -s "$blaar_build_dir/Release/bin" bin
[ -d bin ] || ln -s "$blaar_build_dir/Release" bin
cd $build_dir
#On mac and linux -nt does not return the same if the file does not exist
[ ! -e build.ninja -o $project_dir/CMakeLists.txt -nt build.ninja ] && cmake -GNinja $QUIET $project_dir -DCMAKE_BUILD_TYPE=$build_type -DLIBRARY_OUTPUT_PATH="${blaar_build_dir}/${build_type}/lib" -DEXECUTABLE_OUTPUT_PATH="${blaar_build_dir}/${build_type}/bin"
#On mac and linux -nt does not return the same if the file does not exist. We have to check the no existance or seniority
[ ! -e build.ninja -o $project_dir/CMakeLists.txt -nt build.ninja ] && {
cmake -GNinja --no-warn-unused-cli $project_dir -DCMAKE_BUILD_TYPE=$build_type -DLIBRARY_OUTPUT_PATH="${blaar_build_dir}/${build_type}" -DEXECUTABLE_OUTPUT_PATH="${blaar_build_dir}/${build_type}" || exit 2;
}
ninja $target
result=$?
exit $result
}
#!/bin/sh
#BLARR - Basic Librairies And Applications for Robotics
#Copyright ETIS — ENSEA, Université de Cergy-Pontoise, CNRS (2015 - 2016
#This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
#You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
#As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.
#In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
#Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security.
#The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms. *
# Basic Libraries And Applications for Robotics (BLAAR)
# Copyright ETIS — ENSEA, University of Cergy-Pontoise, CNRS (2011 - 2017)
# Author: Arnaud Blanchard
#
#Author: Arnaud Blanchard
#Date: April 2015
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
# As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license,
# users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.
# In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software,
# that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms.
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
usage(){
echo "usage: debug.sh <project dir> [args ...]" >&2
echo "usage: debug.sh <project dir> [args ...]"
}
[ $1 ] || { echo "Missing project directory."; usage; exit 1; }
cd $1;
project_dir="$PWD";
project_name=`basename $project_dir`;
cd - >/dev/null
cd `dirname $0`
blaar_dir="$PWD"
blaar_build_dir="${blaar_dir}_build"
./compile.sh "$project_dir" "Debug" "$project_name" >&2
[ $? ] || { echo "Fail compiling '$project_dir'" >&2; exit 2; }
cd $1;
project_dir="$PWD";
project_name=`basename $project_dir`;
cd $blaar_dir
./compile.sh "$project_dir" "Debug" "$project_name" > /tmp/blaar/compile_$project_name.log || { echo "Fail compiling '$project_dir'"; cat /tmp/blaar/compile_$project_name.log; exit 2; }
bin_dir="$blaar_build_dir/Debug/bin"
bin_dir="$blaar_build_dir/Debug"
shift #remove $0 i.e. debug.sh from $@
shift #remove $1
echo >&2
echo "Debug $project_name" >&2
echo "==============" >&2
echo
echo "'run' to start" >&2
echo "Debug $project_name"
echo
command -v lldb && { set -x; lldb -- "$bin_dir/$project_name" "$@"; }||{ set -x; gdb --args "$bin_dir/$project_name" "$@"; }
command -v lldb && {
echo "use 'process launch -i <your pipe>' if you want debug with a named pipe"
set -x
lldb -- "$bin_dir/$project_name" "$@"
}||{
echo "use 'run < <your named pipe>' if you want debug with a named pipe"
set -x
gdb --args "$bin_dir/$project_name" "$@"
}
......
Developper tools
================
`create_project` create a project for any IDE supported by `cmake`
Tools not directly called by the user.
By default it is in debug mode and the included lib from blaar are prioritary fromthe debug directory the the release one.
\ No newline at end of file
Install
=======
standard_ubuntu_install.sh
standard_osx_blaar_install.sh
install_common_projects.sh
Create project
==============
Create a project for an IDE
Usage :
-------
./create_project <project_directory> <build_directory> <eclipse|xcode>
Documentation
=============
Configure the presentation of the api documentation generated by **doc_api.sh**
- doc.css
- doc_header.html
- doc_footer.html
......@@ -25,7 +25,7 @@ project_name=`basename $1`
mkdir -p "$build_dir"
cd "$build_dir" && cmake -G"$generator" "$current_dir/$1" -DCMAKE_BUILD_TYPE="Debug" -DLIBRARY_OUTPUT_PATH=${blaar_build_dir}/Debug/lib -DCMAKE_LIBRARY_PATH="${blaar_build_dir}/Debug/lib" -DEXECUTABLE_OUTPUT_PATH=${blaar_build_dir}/Debug/bin
cd "$build_dir" && cmake -G"$generator" "$current_dir/$1" -DCMAKE_BUILD_TYPE="Debug" -DLIBRARY_OUTPUT_PATH=${blaar_build_dir} -DEXECUTABLE_OUTPUT_PATH=${blaar_build_dir}
ERROR=$?
......
# Basic Libraries And Applications for Robotics (BLAAR)
# Copyright ETIS — ENSEA, University of Cergy-Pontoise, CNRS (2011 - 2017)
# Author: Arnaud Blanchard
#
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
# As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license,
# users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.
# In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software,
# that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms.
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
usage(){
echo "Usage: install [-b directory] [-h] <project_directory> <Release|Debug|RelWithDebugInfo|MinSizeRel>"
echo " -h :Display this help."
echo
}
set -- $(getopt b:hi:q "$@")
while [ $# -gt 0 ]
do
case "$1" in
(-h) usage; exit 0;;
(--) shift; break;;
(-*) echo "$0: error - unrecognized option $1" ; exit 1;;
(*) break;;
esac
shift
done
[ $# -ne 2 ] && { echo "$0: You need 2 arguments. You have '$@'"; usage; exit 1;}
#We go to blaar directory save it and go to the previous directory. Usefull if install.sh is not call from blaar directory
cd $(dirname $0)/..
blaar_dir="$PWD"
cd - > /dev/null # goes back without messsage
build_type=$2
#We get the directory of the project
cd $1
project_dir="$PWD"
build_type=$2
project_name=`basename $project_dir` #Name of the project is name of the directory
blaar_build_dir="${blaar_dir}_build"
build_dir="${blaar_build_dir}/${build_type}/cmake_files/${project_name}"
echo
echo " Install $0"
echo "==============="
cd $blaar_dir
./compile.sh $project_dir $build_type
cd $build_dir
#We check if there is an install target if Yes we install it.
if ninja -t targets all | grep --quiet "install: phony"; then
sudo ninja install || echo "Fail intalling '$project_pathcd'"
fi
# Basic Libraries And Applications for Robotics (BLAAR)
# Copyright ETIS — ENSEA, University of Cergy-Pontoise, CNRS (2011 - 2017)
# Author: Arnaud Blanchard
#
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
# As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license,
# users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.
# In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software,
# that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms.
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
basic_libraries=(blc_core blc_channel blc_image blc_network blc_processes blc_program)
standard_common_projects=(i_channels i_keyboard i_load_file)
install_basic_libraries(){
#basic libraries
cd bl
for project in ${basic_libraries[@]}
do
echo "Add **$project**"
git submodule add https://framagit.org/blaar/$project.git > /tmp/blaar/add_submodule_$project.log || { cat /tmp/blaar/add_submodule_$project.log; echo "skipped add '$project' in bl"; }
done
cd - >/dev/null # we go back (cd -) without message (>/dev/null)
}
install_projects(){
for project in ${standard_common_projects[@]}
do
echo "Add **$project**"
git submodule add https://framagit.org/blaar/$project.git > /tmp/blaar/add_submodule_$project.log || { cat /tmp/blaar/add_submodule_$project.log; echo "skipped add '$project'"; }
done
}
#Go in blaar directory
cd `dirname $0`/..
mkdir -p /tmp/blaar
install_basic_libraries
install_projects
# Copyright ETIS — ENSEA, Université de Cergy-Pontoise, CNRS (2011 - 2016)
# Basic Libraries And Applications for Robotics (BLAAR)
# Copyright ETIS — ENSEA, University of Cergy-Pontoise, CNRS (2011 - 2017)
# Author: Arnaud Blanchard
#
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
# As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license,
......@@ -9,7 +11,14 @@
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms.
{ #Bracket to be sure the file is fully loaded before excuting
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
#Bracket to be sure the file is fully loaded before excuting
{
echo
echo "Standard blaar install"
echo "======================"
......
#!/bin/sh
# Basic Libraries And Applications for Robotics (BLAAR)
# Copyright ETIS — ENSEA, University of Cergy-Pontoise, CNRS (2011 - 2017)
# Author: Arnaud Blanchard
#
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
# As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license,
# users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.
# In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software,
# that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms.
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
usage(){
echo "usage: doc.sh [-c] [-h] <project dir>"
echo "usage: doc_api.sh [-c] [-h] <project dir>"
echo
echo "-c document the plain c version (c++ by default)"
echo "-h display this help"
echo
}
[ $1 ] || { echo "Missing project directory."; usage; exit 1; }
[ $# -lt 2 ] && { echo "Missing project directory."; usage; exit 1; }
target="cpp_api"
......
#!/bin/bash
# Basic Libraries And Applications (blaa)
# Copyright ETIS — ENSEA, Université de Cergy-Pontoise, CNRS (2011 - 2015)
# Basic Libraries And Applications for Robotics (BLAAR)
# Copyright ETIS — ENSEA, University of Cergy-Pontoise, CNRS (2011 - 2017)
# Author: Arnaud Blanchard
#
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
......@@ -12,91 +11,62 @@
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms.
usage()
{
echo "Usage: install [-b directory] [-h] [-i diectory] <all>|<project_directory> [Release|Debug|RelWithDebugInfo|MinSizeRel]"
echo " -b directory :Directory to create the build. (default: $build_dir)"
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
usage(){
echo "Usage: install [-h] [-i diectory] <all>|<project_directory> [Release|Debug|RelWithDebugInfo|MinSizeRel]"
echo " -h :Display this help."
echo " -q :Quiet mode"
# echo " -i directory :Directory to install the binaries. Default: $install_prefix"
echo
echo "Default 'Release' version"
}
install_dir="/usr/local"
set -- $(getopt b:hi:q "$@")
while [ $# -gt 0 ]
do
case "$1" in
(-b) build_dir="$2"; shift;;
(-h) usage; exit 0;;
# (-i) install_dir=$PWD/$2; install_prefix="-DCMAKE_INSTALL_PREFIX=$install_dir"; shift;;
(-q) QUIET=-q;;
(--) shift; break;;
(-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;;
(-*) echo "$0: error - unrecognized option $1" ; exit 1;;
(*) break;;
esac
shift
done
[ $1 ] || { echo "You need at least an argument"; usage; exit 1; }
[ $# -lt 1 ] && { echo "You need at least an argument"; usage; exit 1;}
if [ "$2" ]; then
case "$2" in
Release|Debug|RelWithDebugInfo|MinSizeRel) build_type="$2";;
*)echo "Unknown build type '$2'">&2; usage;;
esac
else build_type="Release"
if [ $# -gt 2 ]; then
case "$2" in
Release|Debug|RelWithDebugInfo|MinSizeRel) build_type="$2";;
*)echo "Unknown build type '$2'">&2; usage;;
esac
else
build_type="Release"
fi
cd `dirname $0`
blaar_dir="$PWD"
blaar_build_dir="${blaar_dir}_build"
[ "$1" = "all" ] &&
{
#We make sure we respect the order of compilation in .gitmodules
cat .gitmodules | sed -n 's/.*path = //p' | { while read project; do ./install.sh $project $build_type || { echo;echo "Fail compiling $project";echo; exit 1; } done }
exit 0
}
cd $1
project_dir="$PWD";
project_name=`basename $project_dir`;
cd - > /dev/null;
project=`basename $project_dir`
build_dir="${blaar_build_dir}/${build_type}/${project}"
echo
echo " Install $project"
echo "=========================="
./compile.sh $QUIET $project_dir $build_type && echo "Success compiling $project"
#We go to blaar directory save it and go to the previous directory. Usefull if install.sh is not call from blaar directory
cd $(dirname $0)
cd $build_dir
if ninja -t targets all | grep --quiet "install: phony";
then
if [ -w $install_dir ]; then
ninja install;
else
sudo ninja install
fi
if [ $? -ne 0 ]
then
echo
echo "\nFail installing $project\n"
echo
exit 1;
if [ "$1" = "all" ]; then
echo
echo "Install all current projects"
echo "============================"
echo
mkdir -p /tmp/blaar
#We extract porjects path from .gitmodules and apply install.sh on them
cat .gitmodules | sed -n 's/.*path = //p' |
while read project_path
do
project_name=`basename $project_path`o
echo "Install **$project_path**"
#( ) is used to void to be contaminated by changing directory inside
developer_tools/install_project.sh $project_path $build_type > /tmp/blaar/install_$project_name.log || { echo; echo "Fail installing '$project_path'"; cat /tmp/blaar/install_$project_name.log; echo; exit 2; };
done
echo
else
echo
echo "\nSuccess installing $project"
echo
fi
else echo "Skipped install $project. It is not needed" ;
developer_tools/install_project.sh $1 $build_type || { echo; echo "Fail installing '$1'"; exit 2; }
fi
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="63.199341mm"
height="29.38961mm"
viewBox="0 0 223.93467 104.13641"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="blaar_logo.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.98994949"
inkscape:cx="-78.549418"
inkscape:cy="-126.43197"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1436"
inkscape:window-height="855"
inkscape:window-x="4"
inkscape:window-y="1"
inkscape:window-maximized="1"
fit-margin-top="0.1"
fit-margin-left="0.1"
fit-margin-right="0.1"
fit-margin-bottom="0.1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-260.84818,-522.55339)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="261.06091"
y="566.64795"
id="text4136"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4138"
x="261.06091"
y="566.64795"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:60px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">BL<tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:60px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#00ffff"
id="tspan4140">A</tspan>AR</tspan><tspan
sodipodi:role="line"
x="261.06091"
y="599.90906"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.125px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
id="tspan4142">Basic Libraries And</tspan><tspan
sodipodi:role="line"
x="261.06091"
y="622.56531"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18.125px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"
id="tspan4146">Applications for Robotics</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="342.44171"
y="713.96112"
id="text4156"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4158"
x="342.44171"
y="713.96112" /></text>
<flowRoot
xml:space="preserve"
id="flowRoot4168"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
id="flowRegion4170"><rect
id="rect4172"
width="360.62445"
height="273.75134"
x="164.65486"
y="495.76816" /></flowRegion><flowPara
id="flowPara4174" /></flowRoot> <text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="95.944946"
y="962.54657"
id="text4197"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4199"
x="95.944946"
y="962.54657" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="450.50848"
y="858.50079"
id="text4146"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4148"
x="450.50848"
y="858.50079" /></text>
</g>
</svg>
#!/bin/sh
#BLARR - Basic Librairies And Applications for Robotics
#Copyright ETIS — ENSEA, Université de Cergy-Pontoise, CNRS (2015 - 2016
#This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
#You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
#As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.
#In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
#Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security.
#The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms. *
# Basic Libraries And Applications for Robotics (BLAAR)
# Copyright ETIS — ENSEA, University of Cergy-Pontoise, CNRS (2011 - 2017)
# Author: Arnaud Blanchard
#
#Author: Arnaud Blanchard
#Date: April 2015
usage()
{
echo "usage: run.sh <project dir> [args ...]" >&2
# This software is governed by the CeCILL v2.1 license under French law and abiding by the rules of distribution of free software.
# You can use, modify and/ or redistribute the software under the terms of the CeCILL v2.1 license as circulated by CEA, CNRS and INRIA at the following URL "http://www.cecill.info".
# As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license,
# users are provided only with a limited warranty and the software's author, the holder of the economic rights, and the successive licensors have only limited liability.
# In this respect, the user's attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software,
# that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge.
# Users are therefore encouraged to load and test the software's suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured  and, more generally, to use and operate it in the same conditions as regards security.
# The fact that you are presently reading this means that you have had knowledge of the CeCILL v2.1 license and that you accept its terms.
#!/usr/bin/env bash #Use your $PATH to find bash
set -o errexit #Exit on first error
set -o nounset #Error if a variable is used but nont defined
set -o pipefail #Error if a pipe fail
usage(){
echo "usage: run.sh <project dir> [args ...]"
}
[ $1 ] || { echo "Missing project directory."; usage; exit 1; }