@@ -11,51 +11,84 @@ This library contains reusable code for:
1111
1212## Requirements
1313
14+ ` libwave ` is divided into modules which can be built separately.
15+ Each has its own dependecies.
16+
17+ | Module | Dependencies |
18+ | ------------------ | ------------ |
19+ | wave\_ benchmark | wave\_ containers, wave\_ geometry, wave\_ utils |
20+ | wave\_ containers | Eigen, Boost |
21+ | wave\_ controls | Eigen |
22+ | wave\_ geography | Eigen, GeographicLib |
23+ | wave\_ geometry | Eigen, Boost |
24+ | wave\_ gtsam | wave\_ utils, gtsam |
25+ | wave\_ kinematics | wave\_ utils, wave\_ controls |
26+ | wave\_ matching | wave\_ utils, Boost, PCL |
27+ | wave\_ optimization | wave\_ utils, wave\_ kinematics, wave\_ vision, Ceres |
28+ | wave\_ utils | Eigen, yaml-cpp |
29+ | wave\_ vision | wave\_ utils, wave\_ kinematics, wave\_ containers, Boost Filesystem, OpenCV (calib3d, features2d, highgui, imgproc, videoio) |
30+
31+
32+ The following versions are the minimum we test against.
33+ Some earlier versions may work, but are not tested.
34+
1435- Boost 1.54
1536- Ceres 1.13
1637- Eigen 3.3.2
17- - Kindr 1.0.4
1838- OpenCV 3.2.0
1939- PCL 1.8
2040- yaml-cpp 0.5.1
21- - CMake 2.8.3
22- - GCC 5.4
41+ - gtsam
42+ - GeographicLib 1.49
2343
24- The above versions are the minimum we test against.
25- Some earlier versions may work, but are not tested.
26- For convenience, we provide a script which installs these dependencies (except
27- GCC) on Ubuntu 14.04 or Ubuntu 16.04, in ` scripts/install/install_deps.bash ` .
44+ Building libwave requires CMake 3.2 and a C++11 compiler (tested on GCC 5.4).
2845
29- ## Install
46+ ### Installing dependencies
47+ The basic set of dependencies can be installed with the Ubuntu package manager
48+ using the command
3049
31- Execute the following in the terminal where you want libwave to reside:
50+ sudo apt-get install libboost-dev libyaml-cpp-dev libeigen3-dev \
51+ build-essential cmake
3252
33- curl -L https://git.io/vyKXR > install.bash && bash install.bash
53+ For convenience, scripts to install other dependencies on Ubuntu 16.04 are
54+ provided in ` scripts/install ` . ** Note** : the scripts are not tested on a wide
55+ variety of systems. They may be incompatible with other packages installed on
56+ your system.
3457
35- ** Or ** you can perform the installation manually:
58+ ## Install from source
3659
37- # clone repo
38- git clone https://github.com/wavelab/libwave.git
39- cd libwave
60+ Clone the repo with submodules:
4061
41- # initialize git submodules
42- git submodule init
43- git submodule update
62+ git clone --recursive https://github.com/wavelab/libwave.git
4463
45- # install dependencies
46- bash scripts/install/install_deps.bash
64+ Install the dependencies required for the modules you want to build, as
65+ described above. Then build using CMake:
4766
48- # compile libwave
67+ cd libwave
4968 mkdir -p build
5069 cd build
5170 cmake ..
52- make
71+ make -j8
72+
73+ By default, all libraries whose dependencies are found will be built. Individual
74+ libraries can be disabled using CMake options. For example,
75+
76+ cmake .. -DBUILD_wave_vision=OFF
77+
78+ will disable building ` wave_vision ` .
5379
54- Install libwave with ` make install ` . Alternatively, you can enable the
80+ Install libwave by running ` make install ` . Alternatively, you can enable the
5581` EXPORT_BUILD ` option in CMake, which will make the libwave build directory
5682searchable by CMake without installation.
5783
5884
85+ ** Known issue with OpenCV** : ` wave_vision ` may
86+ [ fail to build] ( https://github.com/wavelab/libwave/issues/267 ) if OpenCV 2 is
87+ installed in the default system directory on Ubuntu 16.04 (and OpenCV 3 is
88+ installed elsewhere). A workaround is to remove OpenCV 2 via
89+ ` sudo apt remove libopencv-dev ` .
90+
91+
5992## Use with CMake
6093
6194One libwave has been either installed or exported by CMake, it can be used in
0 commit comments