Skip to content

Commit a3c25a2

Browse files
committed
Squashed '.travis/' changes from 2a03b5b..679949e
679949e Update Eigen 3.3 to 3.3.7 and add ps1 script e3853d4 Setup catkin workspace in common script 083fa2c Do not build dependencies in source dc8b946 Merge pull request #35 from bchretien/fix/osx-build 432f6b1 Fix OSX build (deprecated science repo) bad6dbd Allow to specify pybindgen install prefix 3f214dd Update pybindgen archive url f13ddca Use a common script for Eigen 3.2 and 3.3 0d26976 Add a script for Eigen 3.3 027bca4 Update Eigen 3.2 version to 3.2.10 629f539 ipopt: update to 3.12.6 87f7ee7 eigen: update to 3.2.9 a0c7e47 common.sh: fix OS X environment 811fbd6 Merge pull request #31 from francois-keith/dev4 4c8a74c Hard code the path to git.exe 8c1c5f5 Build in debug. 89d0b39 Add some intermediary checks. c2f4554 [AppVeyor] Add a method to run the unit tests. e59a441 Correct choco install. af4c533 Merge pull request #30 from jcarpent/master 00d90b0 Fix bug in common.sh 9da636c Merge pull request #29 from jcarpent/master dd15db5 Use CI_BRANCH instead of TRAVIS_BRANCH 448cc3f Set DO_*_ON_BRANCH to the current branch if they are not yet defined c5ed776 [Cppcheck] Do ccpcheck only on specified branches 3c52bd1 [Coverage] Do coverage only on specified branches git-subtree-dir: .travis git-subtree-split: 679949e28a91c334edf3588753cf294aec2fc4c7
1 parent ed38c7f commit a3c25a2

11 files changed

+139
-43
lines changed

after_success

+4-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,10 @@ elif [[ ${CI_OS_NAME} = linux ]]; then
113113
exit 0
114114
fi
115115

116-
generate_coverage_data
116+
if [[ ";${DO_COVERAGE_ON_BRANCH};" == *";${CI_BRANCH};"* ]]; then
117+
generate_coverage_data
118+
fi
119+
117120
# If it's not a fork or a pull request
118121
if `test x${CI_REPO_SLUG} = x${GH_REPO} -a ${CI_PULL_REQUEST} = false`; then
119122
set_push_uri

before_install

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ _linux_setup_package_source()
2222

2323
_osx_setup_package_source()
2424
{
25-
# Add science-related repos
26-
brew tap homebrew/science
2725
# Update homebrew
2826
brew update
2927
}
@@ -140,7 +138,9 @@ build_git_dependency()
140138
mkdir -p "$git_dep"
141139
$git_clone -b $git_dep_branch "$git_dep_uri" "$git_dep"
142140
cd "$git_dep"
143-
cmake . -DCMAKE_INSTALL_PREFIX:STRING="$install_dir" \
141+
mkdir -p build
142+
cd build
143+
cmake .. -DCMAKE_INSTALL_PREFIX:STRING="$install_dir" \
144144
-DDISABLE_TESTS:BOOL=ON ${CMAKE_ADDITIONAL_OPTIONS}
145145
make install || make
146146
}

build

+20-11
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,32 @@ build_package()
1515
echo "--> Building package..."
1616

1717
cd "$build_dir"
18-
cmake "$root_dir" -DCMAKE_INSTALL_PREFIX="$install_dir" \
19-
-DCMAKE_CXX_FLAGS="--coverage" \
20-
-DCMAKE_EXE_LINKER_FLAGS="--coverage" \
21-
-DCMAKE_MODULE_LINKER_FLAGS="--coverage" \
22-
${CMAKE_ADDITIONAL_OPTIONS}
18+
19+
if [[ ";${DO_COVERAGE_ON_BRANCH};" == *";${CI_BRANCH};"* ]]; then
20+
cmake "$root_dir" -DCMAKE_INSTALL_PREFIX="$install_dir" \
21+
-DCMAKE_CXX_FLAGS="--coverage" \
22+
-DCMAKE_EXE_LINKER_FLAGS="--coverage" \
23+
-DCMAKE_MODULE_LINKER_FLAGS="--coverage" \
24+
${CMAKE_ADDITIONAL_OPTIONS}
25+
else
26+
cmake "$root_dir" -DCMAKE_INSTALL_PREFIX="$install_dir" \
27+
${CMAKE_ADDITIONAL_OPTIONS}
28+
fi
29+
2330
${MAKE_PREFIX} make
2431
make install
2532

2633
ALLOW_TESTSUITE_FAILURE=${ALLOW_TESTSUITE_FAILURE:-false}
2734
make test || ${ALLOW_TESTSUITE_FAILURE}
2835

29-
cppcheck --quiet --enable=all \
30-
-I $root_dir/src -I $root_dir/tests -I $root_dir/include \
31-
-I $root_dir/tests/shared-tests \
32-
-I $build_dir/include -I $install_dir/include \
33-
-i $build_dir/CMakeFiles \
34-
$root_dir || true
36+
if [[ ";${DO_CPPCHECK_ON_BRANCH};" == *";${CI_BRANCH};"* ]]; then
37+
cppcheck --quiet --enable=all \
38+
-I $root_dir/src -I $root_dir/tests -I $root_dir/include \
39+
-I $root_dir/tests/shared-tests \
40+
-I $build_dir/include -I $install_dir/include \
41+
-i $build_dir/CMakeFiles \
42+
$root_dir || true
43+
fi
3544
}
3645

3746
# debian_build_package

common.sh

+17
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,10 @@ _setup_ros()
148148
if [ -f /opt/ros/${ROS_DISTRO}/setup.sh ]; then
149149
. /opt/ros/${ROS_DISTRO}/setup.sh
150150
fi
151+
CATKIN_DEP_WORKSPACE=/tmp/_ci/catkin_dep_ws
152+
if [ -e ${CATKIN_DEP_WORKSPACE}/devel/setup.sh ]; then
153+
. ${CATKIN_DEP_WORKSPACE}/devel/setup.sh
154+
fi
151155
}
152156

153157
# _setup_env_vars
@@ -188,6 +192,10 @@ _setup_osx_env()
188192
export CXX=g++-4.8
189193
export CC=gcc-4.8
190194
fi
195+
196+
export DYLD_LIBRARY_PATH="$install_dir/lib:$DYLD_LIBRARY_PATH"
197+
export LTDL_LIBRARY_PATH="$install_dir/lib:$LTDL_LIBRARY_PATH"
198+
export PKG_CONFIG_PATH="$install_dir/lib/pkgconfig:$PKG_CONFIG_PATH"
191199
}
192200

193201
# setup_ci_env
@@ -227,6 +235,15 @@ setup_ci_env
227235
export CMAKE_VERBOSE_MAKEFILE=1
228236
export CTEST_OUTPUT_ON_FAILURE=1
229237

238+
# Add default DO_*_ON_BRANCH if needed
239+
if [ -z ${DO_COVERAGE_ON_BRANCH+x} ]; then
240+
export DO_COVERAGE_ON_BRANCH=${CI_BRANCH}
241+
fi
242+
243+
if [ -z ${DO_CPPCHECK_ON_BRANCH+x} ]; then
244+
export DO_CPPCHECK_ON_BRANCH=${CI_BRANCH}
245+
fi
246+
230247
# Create layout.
231248
mkdir -p "$build_dir"
232249
mkdir -p "$install_dir"

dependencies/eigen-3.2

+3-20
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,7 @@
22
#
33
# Setup Eigen 3.2
44
#
5-
. `dirname $0`/../common.sh
5+
EIGEN_VERSION=3.2.10
6+
EIGEN_HASH=b9cd8366d4e8
67

7-
EIGEN_VERSION=3.2.8
8-
EIGEN_HASH=07105f7124f9
9-
10-
# Checkout Eigen
11-
cd "$build_dir"
12-
wget --quiet "http://bitbucket.org/eigen/eigen/get/${EIGEN_VERSION}.tar.gz"
13-
tar xzf ${EIGEN_VERSION}.tar.gz
14-
cd "$build_dir/eigen-eigen-${EIGEN_HASH}/"
15-
mkdir -p "$build_dir/eigen-eigen-${EIGEN_HASH}/_build"
16-
cd "$build_dir/eigen-eigen-${EIGEN_HASH}/_build"
17-
18-
# Build, make and install Eigen
19-
cmake .. -DCMAKE_INSTALL_PREFIX:STRING="$install_dir"
20-
make
21-
make install
22-
23-
# Check install
24-
pkg-config --modversion "eigen3 >= ${EIGEN_VERSION}"
25-
pkg-config --cflags "eigen3 >= ${EIGEN_VERSION}"
8+
. `dirname $0`/eigen-common.sh $EIGEN_VERSION $EIGEN_HASH

dependencies/eigen-3.3

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
#
3+
# Setup Eigen 3.3
4+
#
5+
EIGEN_VERSION=3.3.7
6+
EIGEN_HASH=323c052e1731
7+
8+
. `dirname $0`/eigen-common.sh $EIGEN_VERSION $EIGEN_HASH

dependencies/eigen-3.3.ps1

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
$EIGEN_VERSION="3.3.7"
2+
$EIGEN_HASH="323c052e1731"
3+
4+
cd $Env:SOURCE_FOLDER
5+
appveyor DownloadFile "http://bitbucket.org/eigen/eigen/get/$EIGEN_VERSION.zip"
6+
7z x "${EIGEN_VERSION}.zip" -o"${Env:SOURCE_FOLDER}\eigen" -r
7+
cd "${Env:SOURCE_FOLDER}\eigen\eigen-eigen-$EIGEN_HASH"
8+
md build
9+
cd build
10+
11+
# Build, make and install Eigen
12+
cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX="${Env:CMAKE_INSTALL_PREFIX}" ../
13+
msbuild INSTALL.vcxproj
14+
15+
# Generate eigen3.pc
16+
$EIGEN3_PC_FILE="${Env:PKG_CONFIG_PATH}/eigen3.pc"
17+
echo "Name: Eigen3" | Out-File -Encoding ascii -FilePath $EIGEN3_PC_FILE
18+
echo "Description: A C++ template library for linear algebra: vectors, matrices, and related algorithms" | Out-File -Append -Encoding ascii -FilePath $EIGEN3_PC_FILE
19+
echo "Requires:" | Out-File -Append -Encoding ascii -FilePath $EIGEN3_PC_FILE
20+
echo "Version: $EIGEN_VERSION" | Out-File -Append -Encoding ascii -FilePath $EIGEN3_PC_FILE
21+
echo "Libs:" | Out-File -Append -Encoding ascii -FilePath $EIGEN3_PC_FILE
22+
echo "Cflags: -I${Env:CMAKE_INSTALL_PREFIX}/include/eigen3" | Out-File -Append -Encoding ascii -FilePath $EIGEN3_PC_FILE
23+
24+
# Check install
25+
pkg-config --modversion "eigen3 >= ${EIGEN_VERSION}"
26+
pkg-config --cflags "eigen3 >= ${EIGEN_VERSION}"

dependencies/eigen-common.sh

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/bin/bash
2+
#
3+
# Setup Eigen
4+
#
5+
. `dirname $0`/../common.sh
6+
7+
EIGEN_VERSION=$1
8+
EIGEN_HASH=$2
9+
10+
# Checkout Eigen
11+
cd "$build_dir"
12+
wget --quiet "http://bitbucket.org/eigen/eigen/get/${EIGEN_VERSION}.tar.gz"
13+
tar xzf ${EIGEN_VERSION}.tar.gz
14+
cd "$build_dir/eigen-eigen-${EIGEN_HASH}/"
15+
mkdir -p "$build_dir/eigen-eigen-${EIGEN_HASH}/_build"
16+
cd "$build_dir/eigen-eigen-${EIGEN_HASH}/_build"
17+
18+
# Build, make and install Eigen
19+
cmake .. -DCMAKE_INSTALL_PREFIX:STRING="$install_dir"
20+
make
21+
make install
22+
23+
# Check install
24+
pkg-config --modversion "eigen3 >= ${EIGEN_VERSION}"
25+
pkg-config --cflags "eigen3 >= ${EIGEN_VERSION}"

dependencies/ipopt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
${SUDO_CMD} apt-get update -qq
99
${SUDO_CMD} apt-get install -qq libblas-dev liblapack-dev libmumps-seq-dev gfortran
1010

11-
IPOPT_VERSION=3.12.4
11+
IPOPT_VERSION=3.12.6
1212

1313
build_dir=`mktemp -d`
1414
trap "rm -rf -- '$build_dir'" EXIT

dependencies/pybindgen-0.16

+8-2
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,22 @@
44

55
. `dirname $0`/../common.sh
66

7+
if [ $# -ge 1 ]; then
8+
PYBINDGEN_INSTALL_PREFIX=$1
9+
else
10+
PYBINDGEN_INSTALL_PREFIX=/usr/local
11+
fi
12+
713
# Install dependencies
814
${SUDO_CMD} apt-get install -qq gccxml python-pygccxml
915

1016
# Get pybindgen
1117
cd "$build_dir"
12-
wget --quiet https://pybindgen.googlecode.com/files/pybindgen-0.16.0.tar.bz2
18+
wget --quiet https://launchpad.net/pybindgen/trunk/0.16/+download/pybindgen-0.16.0.tar.bz2
1319
tar xjf pybindgen-0.16.0.tar.bz2
1420
cd "$build_dir/pybindgen-0.16.0/"
1521

1622
# Configure build and install
17-
./waf configure
23+
./waf --prefix=$PYBINDGEN_INSTALL_PREFIX configure
1824
./waf
1925
${SUDO_CMD} ./waf install

functions.ps1

+24-5
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ function install_choco_dependencies
6262
{
6363
ForEach($choco_dep in $Env:CHOCO_DEPENDENCIES.split(' '))
6464
{
65-
choco install $choco_dep
65+
choco install $choco_dep -y
6666
}
6767
}
6868

@@ -75,13 +75,17 @@ function install_git_dependencies
7575
git clone -b "$git_dep_branch" "$git_dep_uri" "$git_dep"
7676
cd $git_dep
7777
git submodule update --init
78+
if ($lastexitcode -ne 0){ exit $lastexitcode }
7879
md build
7980
cd build
8081
# For projects that use cmake_add_subfortran directory this removes sh.exe
8182
# from the path
8283
$Env:Path = $Env:Path -replace "Git","dummy"
83-
cmake ../ -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX="${Env:CMAKE_INSTALL_PREFIX}" -DPYTHON_BINDING=OFF -DMINGW_GFORTRAN="$env:MINGW_GFORTRAN"
84-
msbuild INSTALL.vcxproj
84+
cmake ../ -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX="${Env:CMAKE_INSTALL_PREFIX}" -DPYTHON_BINDING=OFF -DMINGW_GFORTRAN="$env:MINGW_GFORTRAN" -DGIT="C:/Program Files/Git/cmd/git.exe"
85+
86+
if ($lastexitcode -ne 0){ exit $lastexitcode }
87+
msbuild INSTALL.vcxproj /p:Configuration=Debug
88+
if ($lastexitcode -ne 0){ exit $lastexitcode }
8589
# Reverse our dirty work
8690
$Env:Path = $Env:Path -replace "dummy","Git"
8791
}
@@ -97,11 +101,26 @@ function build_project
97101
{
98102
cd $Env:PROJECT_SOURCE_DIR
99103
git submodule update --init
104+
if ($lastexitcode -ne 0){ exit $lastexitcode }
100105
md build
101106
cd build
102107
# See comment in dependencies regarding $Env:Path manipulation
103108
$Env:Path = $Env:Path -replace "Git","dummy"
104-
cmake ../ -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX="${Env:CMAKE_INSTALL_PREFIX}" -DPYTHON_BINDING=OFF -DMINGW_GFORTRAN="$env:MINGW_GFORTRAN"
105-
msbuild INSTALL.vcxproj
109+
cmake ../ -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX="${Env:CMAKE_INSTALL_PREFIX}" -DPYTHON_BINDING=OFF -DMINGW_GFORTRAN="$env:MINGW_GFORTRAN" -DGIT="C:/Program Files/Git/cmd/git.exe"
110+
if ($lastexitcode -ne 0){ exit $lastexitcode }
111+
msbuild INSTALL.vcxproj /p:Configuration=Debug
112+
if ($lastexitcode -ne 0){ exit $lastexitcode }
106113
$Env:Path = $Env:Path -replace "dummy","Git"
107114
}
115+
116+
function test_project
117+
{
118+
cd %PROJECT_SOURCE_DIR%/build
119+
ctest -N
120+
ctest --build-config Debug --exclude-regex example
121+
if ($lastexitcode -ne 0)
122+
{
123+
type Testing/Temporary/LastTest.log
124+
exit $lastexitcode
125+
}
126+
}

0 commit comments

Comments
 (0)