File: README.md

package info (click to toggle)
ros-cmake-modules 0.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 180 kB
  • sloc: xml: 24; makefile: 4
file content (116 lines) | stat: -rw-r--r-- 3,250 bytes parent folder | download
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
cmake_modules
=============

A common repository for CMake Modules which are not distributed with CMake but are commonly used by ROS packages.

See the CONTRIBUTING.md file in this repository before submitting pull requests for new modules.

ROS Distros
-----------

This repository has branches for minor releases (`0.2-devel`, `0.3-devel`, `0.4-devel`, etc...) and they map to specific ROS distributions like so:

- `0.2-devel`:
   - ROS Groovy
- `0.3-devel`:
   - ROS Hydro
   - ROS Indigo
- `0.4-devel`:
   - ROS Jade
- `0.5-devel`:
   - ROS Kinetic
   - ROS Lunar
   - ROS Melodic
   - ROS Noetic

This mapping will be kept up-to-date in the `README.md` on the default branch.

In the future, new minor releases will increment by the number of ROS distros that are skipped.
For example, if a custom branch is needed for ROS Lunar, then it will be `0.6-devel` and not `0.5-devel`, so that `0.5-devel` maybe used by Kinetic in the future if necessary.

Provided Modules
----------------

1. [**NumPy**](http://www.numpy.org/) is the fundamental package for scientific computing with Python.
1. [**TBB**](https://www.threadingbuildingblocks.org/) lets you easily write parallel C++ programs that take full advantage of multicore performance.
1. [**TinyXML**](http://www.grinninglizard.com/tinyxml/) is a simple, small, C++ XML parser.
1. [**TinyXML2**](http://www.grinninglizard.com/tinyxml2/) is a simple, small, C++ XML parser, continuation of TinyXML.
1. [**Xenomai**](http://www.xenomai.org/) is a real-time development framework cooperating with the Linux kernel.
1. [**GSL**](http://www.gnu.org/software/gsl/) is a numerical library for C and C++ programmers.
1. [**Gflags**](https://gflags.github.io/gflags/) is a C++ library that implements commandline flags processing with the ability to define flags in the source file in which they are used.
1. \[Deprecated\] [**Eigen**](http://eigen.tuxfamily.org/index.php?title=Main_Page) is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

Usage
-----

To use the CMake modules provided by this catkin package, you must `<build_depend>` on it in your `package.xml`, like so:

```xml
<?xml version="1.0"?>
<package>
  <!-- ... -->
  <build_depend>cmake_modules</build_depend>
</package>
```

Then you must `find_package` it in your `CMakeLists.txt` along with your other catkin build dependencies:

```cmake
find_package(catkin REQUIRED COMPONENTS ... cmake_modules ...)
```

OR by `find_package`'ing it directly:

```cmake
find_package(cmake_modules REQUIRED)
```

After the above `find_package` invocations, the modules provided by `cmake_modules` will be available in your `CMAKE_MODULE_PATH` to be found. For example you can find `TinyXML` by using the following:

```cmake
find_package(TinyXML REQUIRED)
```

### Lookup sheet

##### Eigen [Deprecated]

```cmake
find_package(Eigen REQUIRED)
```

##### NumPY

```cmake
find_package(NUMPY REQUIRED)
```

##### TBB

```cmake
find_package(TBB REQUIRED)
```

##### TinyXML

```cmake
find_package(TinyXML REQUIRED)
```

##### Xenomai

```cmake
find_package(Xenomai REQUIRED)
```

##### FindGSL

```cmake
find_package(GSL REQUIRED)
```

##### Gflags

```cmake
find_package(Gflags REQUIRED)
```