forked from ahoarau/mekabot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
91 lines (85 loc) · 3.23 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
language: cpp
compiler:
- gcc
## Google drive not working on large files-> need shared folder id and complete file name
# - FILE_ID_HEADERS=0B6zWJ1Gzg1UTZTdVNkJWZG9QSk0
# - FILE_ID_IMAGE=0B6zWJ1Gzg1UTUWRKQldMZEZnWHc
# - wget --no-check-certificate "https://docs.google.com/uc?export=download&id=$FILE_ID_HEADERS" -O linux-headers.deb
# - wget --no-check-certificate "https://docs.google.com/uc?export=download&id=$FILE_ID_IMAGE" -O linux-image.deb
before_install:
- CI_SOURCE_PATH=$(pwd)
## Parameters
# - rtai_version=4.0
- kernel_name=3.10.32-rtai4.0_3.10.32-rtai4.0-10.00.Custom_amd64
- headers=linux-headers-$kernel_name.deb
- image=linux-image-$kernel_name.deb
- FOLDER_ID=0B6zWJ1Gzg1UTZWRnQ2lUYjVtWnM
## Prerequisites
#======= RT Kernel ========#
- cd
- wget https://googledrive.com/host/$FOLDER_ID/$headers
- wget https://googledrive.com/host/$FOLDER_ID/$image
- sudo dpkg -i --force-all $headers $image
- rtkernel=$(dpkg-deb --info $headers |grep Package -m 1 | grep -Po "linux-headers-\K(.*)")
- sudo ln -snf /usr/src/linux-headers-$rtkernel /usr/src/linux
- cd ~ && wget https://googledrive.com/host/$FOLDER_ID/linux-x64.patch
- cd /usr/src/linux/arch/x86
- sudo patch < ~/linux-x64.patch
#======= RTAI ========#
- cd
- RTAI_FOLDER=0B6zWJ1Gzg1UTWl9vUGQ5aWxCTmc
- wget https://googledrive.com/host/$RTAI_FOLDER/rtai_cvs_magma.tar.gz
- tar xvf rtai_cvs_magma.tar.gz
## Rtai 4.1 Release is not compiling yet
# - sudo apt-get install -qq cvs
# - cvs -d:pserver:anonymous@cvs.gna.org:/cvs/rtai co magma
# - wget --no-check-certificate https://www.rtai.org/userfiles/downloads/RTAI/rtai-$rtai_version.tar.bz2
# - tar xjf rtai-$rtai_version.tar.bz2
# - ln -snf rtai-$rtai_version magma
- cd magma && mkdir build && cd build
- yes "" | make -f ../makefile config
- make
- sudo make install
- echo /usr/realtime/lib/ > rtai.conf
- sudo mv rtai.conf /etc/ld.so.conf.d/
- sudo ldconfig
#======= (OPTIONAL) YamlCpp 0.5 ========#
- cd
- sudo apt-get install -qq libboost-dev
- wget http://yaml-cpp.googlecode.com/files/yaml-cpp-0.5.1.tar.gz
- tar -xf yaml-cpp-0.5.1.tar.gz
- cd yaml-cpp-0.5.1
- mkdir build;cd build;
- cmake .. -DBUILD_SHARED_LIBS=1
- make -j$(nproc)
- sudo make install
#======= Required libraries ========#
- sudo apt-get install -qq swig moc cmake libeigen3-dev libprotobuf-dev protobuf-compiler libboost-dev python-dev python-protobuf python-matplotlib python-yaml python-gnuplot python-scipy python-sip-dev python-sip
#======= Orocos KDL ========#
- cd
- git clone https://github.com/orocos/orocos_kinematics_dynamics.git
- cd orocos_kinematics_dynamics/orocos_kdl
- mkdir build;cd build; cmake ..
- make -j$(nproc)
- sudo make install
- cd ../../python_orocos_kdl/
- mkdir build;cd build;cmake ..
- make -j$(nproc)
- sudo make install
install:
- cd $CI_SOURCE_PATH
- git submodule init && git submodule update
- git submodule foreach git pull origin master
#====== Holomni PCV =======#
- cd holomni_pcv
- mkdir build;cd build
- cmake .. -DCMAKE_BUILD_TYPE=Release
- make -j$(nproc)
- sudo make install
#====== Mekabot =======#
- cd $CI_SOURCE_PATH
- mkdir build
- cd build
- cmake -DKERNEL_NAME=$rtkernel ..
script:
- make && sudo make install