Skip to content

Commit 5584dfd

Browse files
Update README.md [skip ci]
1 parent 5df93ee commit 5584dfd

File tree

1 file changed

+146
-12
lines changed

1 file changed

+146
-12
lines changed

README.md

Lines changed: 146 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,164 @@ dynamic-graph
44
[![Build Status](https://travis-ci.org/stack-of-tasks/dynamic-graph.png)](https://travis-ci.org/stack-of-tasks/dynamic-graph)
55
[![Coverage Status](https://coveralls.io/repos/stack-of-tasks/dynamic-graph/badge.png?branch=master)](https://coveralls.io/r/stack-of-tasks/dynamic-graph?branch=master)
66

7+
![LGPL-3](https://www.gnu.org/graphics/lgplv3-88x31.png)
78

89
This software provides an efficient way to modelize a C++ data-flow.
910

1011
A dynamic graph data-flow is composed of:
11-
- entities (graph nodes)
12-
- signals (input/output of a graph action)
12+
* entities (graph nodes)
13+
* signals (input/output of a graph action)
1314

1415
Output signals can then be plugged into input signals to data
1516
transmission.
1617

1718
An efficient caching mechanism avoid useless data recomputation and a
1819
simple built-in language can be used to control the graph actions.
1920

21+
It is released under the [LGPL-3](COPYING.LESSER) license.
2022

21-
Setup
22-
-----
2323

24-
To compile this package, it is recommended to create a separate build
25-
directory:
24+
**Warning:** this repository contains [Git
25+
submodules][git-submodules]. Please clone this repository using the
26+
`git clone --recursive` command. If you already have cloned the
27+
repository, you can run `git submodule init && git submodule update`
28+
to retrieve the submodules.
2629

27-
mkdir _build
28-
cd _build
29-
cmake [OPTIONS] ..
30-
make install
3130

32-
Please note that CMake produces a `CMakeCache.txt` file which should
33-
be deleted to reconfigure a package from scratch.
31+
Documentation
32+
-------------
33+
34+
To get started with this library, please read the [online Doxygen
35+
documentation][doxygen-documentation].
36+
37+
It can also be generated locally by running the `make doc`
38+
command. After the package is installed, the documentation will be
39+
located in the `$prefix/share/doc/dynamic-graph` directoy where
40+
`$prefix` is your installation prefix (`/usr/local` by default).
41+
42+
43+
Getting Help
44+
------------
45+
46+
Support is provided through:
47+
* the HPP mailing-list: hpp@laas.fr
48+
* the following HipChat room: http://www.hipchat.com/gh4wQrZeV
49+
50+
51+
How can I install dynamic-graph?
52+
--------------------------------
53+
54+
### Installing dependencies
55+
56+
The matrix abstract layer depends on several packages which
57+
have to be available on your machine.
58+
59+
- Libraries:
60+
- [Boost][] (>= 1.40)
61+
Its detection is controled by the `BOOST_ROOT` variable, see next section
62+
for more information.
63+
- [Lapack][] library
64+
Use the generic purpose `CMAKE_CXX_FLAGS` and `CMAKE_EXE_LINKER_FLAGS`
65+
to insert the flags required for the compiler to find your Lapack library
66+
if it is installed in a non-standard directory.
67+
- [jrl-mal][] library
68+
- System tools:
69+
- [CMake][] (>=2.6)
70+
- [pkg-config][]
71+
- usual compilation tools (GCC/G++, make, etc.)
72+
If you are using Ubuntu, these tools are gathered in the `build-essential` package.
73+
74+
75+
76+
### Compiling and installing the package
77+
78+
The manual compilation requires two steps:
79+
80+
1. configuration of the build and generation of the build files
81+
2. compilation of the sources and installation of the package
82+
83+
dynamic-graph uses [CMake][] to generate build files. It is
84+
recommended to create a separate build directory:
85+
86+
```sh
87+
mkdir _build # (1) Create a build directory
88+
cd _build # (2) Go to the newly created build directory
89+
cmake [options] .. # (3) Generate the build files
90+
```
91+
92+
Options which can be passed to CMake are detailed in the next section.
93+
94+
```sh
95+
make # (4) Compile the package
96+
make test # (5) Execute the package tests
97+
make install # (6) Install the package into the prefix (see step 3)
98+
```
99+
100+
101+
### Options
102+
103+
Additional options can be set on the command line through the
104+
following command: `-D<option>=<value>`.
105+
106+
For instance: `cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ..` will set
107+
the `CMAKE_BUILD_TYPE` option to the value `RelWithDebInfo`.
108+
109+
110+
Available options are:
111+
112+
- `CMAKE_BUILD_TYPE` set the build profile that should be used (debug,
113+
release, etc.). We recommend `RelWithDebInfo` as it will provide
114+
performances while keeping debugging symbols enabled.
115+
- `CMAKE_INSTALL_PREFIX` set the installation prefix (the directory
116+
where the software will be copied to after it has been compiled).
117+
118+
119+
### Running the test suite
120+
121+
The test suite can be run from your build directory by running:
122+
123+
```sh
124+
make test
125+
```
126+
127+
Please open a ticket if some tests are failing on your computer, it
128+
should not be the case.
129+
130+
131+
Contributing
132+
------------
133+
134+
If you want to contribute, please refer to the
135+
[CONTRIBUTING.md](CONTRIBUTING.md) file
136+
137+
Credits
138+
-------
139+
140+
This package authors are credited in the [AUTHORS](AUTHORS) file.
141+
142+
143+
144+
Available Packages
145+
------------------
146+
147+
* RobotPkg (Release 2.5.3r1):
148+
http://robotpkg.openrobots.org/robotpkg/motion/dynamic-graph/index.html
149+
150+
151+
[doxygen-documentation]: http://stack-of-tasks.github.io/dynamic-graph/doxygen/HEAD/
152+
153+
[jrl-mathtools]: https://github.com/jrl-umi3218/jrl-mathtools
154+
[jrl-mal]: https://github.com/jrl-umi3218/jrl-mal
155+
156+
[git-submodules]: http://git-scm.com/book/en/Git-Tools-Submodules
157+
158+
[Boost]: http://www.boost.org/
159+
[CMake]: htttp://www.cmake.org/
160+
[Doxygen]: http://www.stack.nl/~dimitri/doxygen/
161+
[Eigen]: http://eigen.tuxfamily.org/
162+
[Git]: http://git-scm.com/
163+
[Lapack]: http://www.netlib.org/lapack/
164+
[Libtool]: https://www.gnu.org/software/libtool/
165+
[RobotPkg]: http://robotpkg.openrobots.org/
166+
[log4cxx]: https://logging.apache.org/log4cxx/
167+
[pkg-config]: http://www.freedesktop.org/wiki/Software/pkg-config/

0 commit comments

Comments
 (0)