Skip to content

Commit 6109d22

Browse files
committed
docs: reorganize and improve README installation instructions
- Moved quick start dependencies/install details under a new "Custom install" section. - Added clarification and refined installer script usage with examples and options. - Removed redundant quick start overview to streamline content.
1 parent 9a2eb57 commit 6109d22

File tree

1 file changed

+34
-33
lines changed

1 file changed

+34
-33
lines changed

README.md

Lines changed: 34 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,12 @@ The library is written in C++ for efficiency with [bindings in Python](doc/index
4747
[//]: # (====Supported OS and aarch===============================================================)
4848

4949
### Supported OS And Architecture
50-
_libpointmatcher_ is tested on our build system under the following architecture and OS:
51-
- Ubuntu bionic (18.04), focal (20.04) and jammy (22.04)
52-
- x86 and arm64/v8
50+
_libpointmatcher_ is tested on our build system under the following:
51+
- OS: Ubuntu bionic (18.04), focal (20.04) and jammy (22.04)
52+
- Computer architecture: x86 and arm64/v8
5353

5454
Note:
55-
- _libpointmatcher_ reportedly works on MacOs OsX (latest) and Windows (latest)
56-
55+
- _libpointmatcher_ reportedly works on Mac OS X (latest) and Windows (latest)
5756

5857
---
5958

@@ -95,20 +94,15 @@ You can read the latest changes in the [release notes](doc/ReleaseNotes.md).
9594

9695

9796
# Quick Start
98-
Although we suggest to use the [tutorials](doc/index.md), here is a quick version of it:
99-
100-
The library has a light dependency list:
10197

102-
* [Eigen] version 3, a modern C++ matrix and linear-algebra library,
103-
* [boost] version 1.48 and up, portable C++ source libraries,
104-
* [libnabo] version 1.0.7, a fast K Nearest Neighbour library for low-dimensional spaces,
105-
106-
and was compiled on:
107-
* Ubuntu ([see how](/doc/CompilationUbuntu.md))
108-
* Mac OS X ([see how](/doc/CompilationMac.md))
109-
* Windows ([see how](/doc/CompilationWindows.md) - partially supported)
98+
## Docker images
99+
To install docker related dependencies on ubuntu, execute the following
100+
```shell
101+
cd libpointmatcher/build_system/lpm_utility_script
110102

111-
### Docker images
103+
# Execute docker tools install script i.e. docker daemon, docker compose, docker buildx
104+
bash lpm_install_docker_tools.bash
105+
```
112106

113107
Run the following commands to pull and run libpointmatcher in a docker container
114108

@@ -122,26 +116,33 @@ See
122116
available [libpointmatcher image tags](https://hub.docker.com/repository/docker/norlabulaval/libpointmatcher/)
123117
on dockerhub.
124118

125-
To install docker related dependencies on ubuntu, execute the following
126-
```shell
127-
cd ./build_system/lpm_utility_script
128119

129-
# Execute docker tools install script i.e. docker daemon, docker compose, docker buildx
130-
bash lpm_install_docker_tools.bash
120+
## Compilation and Installation
121+
### Installer scripts
122+
For beginner users unfamiliar with compiling and installing a library in Linux, you can use the provided installer script for ubuntu:
123+
```shell
124+
cd libpointmatcher
125+
bash libpointmatcher_dependencies_installer.bash
126+
bash libpointmatcher_installer.bash --build-system-CI-install
131127
```
128+
The first script installs all Libpointmatcher dependencies. The second script installs Libpointmatcher.
129+
The `--build-system-CI-install` flag tell the installer to colocate the build and the repository.
130+
If you want to install to a different location, instead use the `--install-path </dir/abs/path/>` flag.
131+
Use the `--help` flag for more options.
132132

133+
### Custom install
134+
Although we suggest to use the [tutorials](doc/Compilation.md), here is a quick version of it:
133135

134-
### Compilation & Installation
135-
136-
For beginner users unfamiliar with compiling and installing a library in Linux, go [here](doc/CompilationUbuntu.md) for detailed instructions on compiling libpointmatcher from the source code.
136+
The library has a light dependency list:
137137

138-
For conveniences, you can use the provided installer script for ubuntu
139-
```shell
140-
bash libpointmatcher_dependencies_installer.bash
138+
* [Eigen] version 3, a modern C++ matrix and linear-algebra library,
139+
* [boost] version 1.48 and up, portable C++ source libraries,
140+
* [libnabo] version 1.0.7, a fast K Nearest Neighbour library for low-dimensional spaces,
141141

142-
# Use the --help flag to see the list of optional flag
143-
bash libpointmatcher_installer.bash [<optional flag>]
144-
```
142+
and was compiled on:
143+
* Ubuntu ([see how](/doc/CompilationUbuntu.md))
144+
* Mac OS X ([see how](/doc/CompilationMac.md))
145+
* Windows ([see how](/doc/CompilationWindows.md) - partially supported)
145146

146147
If you are comfortable with Linux and CMake and have already installed the prerequisites above, the following commands should install libpointmatcher on your system.
147148

@@ -153,7 +154,7 @@ sudo make install
153154
```
154155

155156

156-
### Testing
157+
## Testing
157158

158159
Libpointmatcher ships with a version of the Google testing framework [GTest](https://github.com/google/googletest). Unit tests are located in the `utest/` directory and are compiled with libpointmatcher (CMake variable `BUILD_TESTS` must be set to `TRUE` before compiling). To run the tests and make sure that your compiled version is working correctly, run the test executable in your build directory:
159160

@@ -162,7 +163,7 @@ cd build
162163
utest/utest --path ../examples/data/
163164
```
164165

165-
### Linking to external projects.
166+
## Linking to external projects.
166167

167168
We mainly develop for __cmake projects__ and we provide example files under [`examples/demo_cmake/`](https://github.com/norlab-ulaval/libpointmatcher/tree/master/examples/demo_cmake) to help you in your own project. We also provide a __QT Creator__ example in [`examples/demo_QT/`](https://github.com/norlab-ulaval/libpointmatcher/tree/master/examples/demo_Qt), which manually lists all the dependencies in the file [`demo.pro`](https://github.com/norlab-ulaval/libpointmatcher/blob/master/examples/demo_Qt/demo.pro). You would need to ajust those paths to point at the appropriate locations on your system. For a more detailed procedure, check the [Linking Projects to libpointmatcher](doc/LinkingProjects.md) section.
168169

0 commit comments

Comments
 (0)