diff --git a/README.md b/README.md
index d879a3de..4901ed71 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ The library is written in C++ for efficiency with [bindings in Python](doc/index
[![Mentioned in Awesome Robotics](https://awesome.re/mentioned-badge.svg)](https://github.com/ahundt/awesome-robotics#point-clouds)
-
+
LIDAR
@@ -48,9 +48,9 @@ The library is written in C++ for efficiency with [bindings in Python](doc/index
### Supported OS And Architecture
_libpointmatcher_ is tested on our build system under the following architecture and OS:
-- Ubuntu bionic (18.04), focal (20.04) and jammy (22.04)
+- Ubuntu bionic (18.04), focal (20.04) and jammy (22.04)
- x86 and arm64/v8
-
+
Note:
- _libpointmatcher_ reportedly works on MacOs OsX (latest) and Windows (latest)
@@ -66,7 +66,7 @@ Execute the following to clone the repository with its submodule:
```shell
git clone --recurse-submodules https://github.com/norlab-ulaval/libpointmatcher.git
```
-If _libpointmatcher_ was previously cloned, execute the following to fetch its new submodule
+If _libpointmatcher_ was previously cloned, execute the following to fetch its new submodule
```shell
git submodule update --remote --recursive --init
```
@@ -79,12 +79,12 @@ on your workstation to speed up your local development workflow.
[//]: # (====Body=================================================================================)
# Documentation and Tutorials
-
+
**Quick link for the tutorial pages: [Tutorials](http://libpointmatcher.readthedocs.org/).
-Those tutorials are written using Markdown syntax and stored in the project's `/doc` folder. Their scope ranges from introductory material on performing point cloud registration to instructions for the more experienced developer on how to extend the library's codebase.
+Those tutorials are written using Markdown syntax and stored in the project's `/doc` folder. Their scope ranges from introductory material on performing point cloud registration to instructions for the more experienced developer on how to extend the library's codebase.
-Libpointmatcher's source code is fully documented based on doxygen to provide an easy API to developers. An example of this API can be found [here](https://norlab.ulaval.ca/libpointmatcher-doc/), but it is suggested to use the one build for your version in `doc/html`.
+Libpointmatcher's source code is fully documented based on doxygen to provide an easy API to developers. An example of this API can be found [here](https://norlab.ulaval.ca/libpointmatcher-doc/), but it is suggested to use the one build for your version in `doc/html`.
libpointmatcher was orginaly developed by [François Pomerleau](mailto:f.pomerleau@gmail.com) and [Stéphane Magnenat](http://stephane.magnenat.net) as part of our work at [ASL-ETH](http://www.asl.ethz.ch).
It is now maintained by the Northern Robotics Laboratory ([Norlab](https://norlab.ulaval.ca/)), led by François Pomerleau.
@@ -102,7 +102,7 @@ The library has a light dependency list:
* [Eigen] version 3, a modern C++ matrix and linear-algebra library,
* [boost] version 1.48 and up, portable C++ source libraries,
* [libnabo] version 1.0.7, a fast K Nearest Neighbour library for low-dimensional spaces,
-
+
and was compiled on:
* Ubuntu ([see how](/doc/CompilationUbuntu.md))
* Mac OS X ([see how](/doc/CompilationMac.md))
@@ -131,9 +131,9 @@ bash lpm_install_docker_tools.bash
```
-### Compilation & Installation
+### Compilation & Installation
-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.
+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.
For conveniences, you can use the provided installer script for ubuntu
```shell
@@ -214,7 +214,7 @@ and/or
If you are interested in learning more about different registration algorithms, we recently put together a literature review surveying multiple solutions. The review is organized in the same way as the library and many examples are provided based on real deployments.
-F. Pomerleau, F. Colas and R. Siegwart (2015), "_A Review of Point Cloud Registration Algorithms for Mobile Robotics_", __Foundations and Trends® in Robotics__: Vol. 4: No. 1, pp 1-104. https://doi.org/10.1561/2300000035
+F. Pomerleau, F. Colas and R. Siegwart (2015), "_A Review of Point Cloud Registration Algorithms for Mobile Robotics_", __Foundations and Trends® in Robotics__: Vol. 4: No. 1, pp 1-104. https://doi.org/10.1561/2300000035
If you don't have access to the journal, you can download it from [here](https://www.researchgate.net/publication/277558596_A_Review_of_Point_Cloud_Registration_Algorithms_for_Mobile_Robotics).
@@ -226,7 +226,7 @@ We also produced those freely available data sets to test different registration
![alt tag](http://projects.asl.ethz.ch/datasets/lib/exe/fetch.php?cache=&media=laserregistration:asldataset_weblarge.jpg)
-You can download the files in CSV or VTK formats, which are directly supported by the library I/O module.
+You can download the files in CSV or VTK formats, which are directly supported by the library I/O module.
# Projects and Partners
@@ -241,7 +241,8 @@ If you are using libpointmatcher in your project and you would like to have it l
* [Norlab](https://norlab.ulaval.ca/) is maintaining and using the library for its research on autonomous navigation in harsh environments.
* [ANYbotics AG](https://www.anybotics.com) is investigating autonomous navigation algorithms using this library.
* [Point Laz Mining LiDAR Expert](https://www.pointlaz.com/) is scanning mine shafts to ensure infrastructure safety.
-
+ * [Point Laz Mining LiDAR Expert](https://www.pointlaz.com/) is scanning mine shafts to ensure infrastructure safety.
+ * [DREAM lab](https://dream.georgiatech-metz.fr/research/woodseer/) use libpointmatcher to reconstruct wood logs in 3D.
For a larger list of work realized with libpointmatcher, please see the page [Applications And Publications](/doc/ApplicationsAndPub.md).
diff --git a/build_system/.env.build_matrix.dependencies b/build_system/.env.build_matrix.dependencies
index f06b22cb..72696fd2 100644
--- a/build_system/.env.build_matrix.dependencies
+++ b/build_system/.env.build_matrix.dependencies
@@ -10,8 +10,8 @@ NBS_EXECUTE_BUILD_MATRIX_OVER_COMPOSE_FILE=docker-compose.dependencies.yaml
#
# Libpointmatcher version
#
-# 'latest' is the latest push to the libpointmatcher master branch
-NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.2' 'latest' )
+# 'latest' is the most recent push to the current libpointmatcher checkout branch
+NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.3' 'latest' )
#
# Libpointmatcher dependencies CMAKE_BUILD_TYPE
@@ -32,7 +32,7 @@ NBS_MATRIX_SUPPORTED_OS=( 'ubuntu' )
# Ubuntu release: https://ubuntu.com/about/release-cycle
# bionic=18.04 focal=20.04 jammy=22.04
# Part of the build matrix used for PR
-NBS_MATRIX_UBUNTU_SUPPORTED_VERSIONS=( 'bionic' 'focal' 'jammy' )
+NBS_MATRIX_UBUNTU_SUPPORTED_VERSIONS=( 'jammy' 'focal' 'bionic' )
#
# iceboxed: implement other OS support (ref task NMO-213 OsX arm64-Darwin and NMO-210 OsX x86 CD components)
#NBS_MATRIX_OSX_SUPPORTED_VERSIONS=( 'monterey' 'ventura' )
diff --git a/build_system/.env.build_matrix.libpointmatcher b/build_system/.env.build_matrix.libpointmatcher
index 0aabd817..3055ef0c 100644
--- a/build_system/.env.build_matrix.libpointmatcher
+++ b/build_system/.env.build_matrix.libpointmatcher
@@ -10,8 +10,7 @@ NBS_EXECUTE_BUILD_MATRIX_OVER_COMPOSE_FILE=docker-compose.libpointmatcher.yaml
#
# Libpointmatcher version
#
-# 'latest' is the latest push to the libpointmatcher master branch
-#NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.2' 'latest' )
+# 'latest' is the most recent push to the current libpointmatcher checkout branch
NBS_MATRIX_REPOSITORY_VERSIONS=( 'latest' )
#
@@ -32,7 +31,7 @@ NBS_MATRIX_SUPPORTED_OS=( 'ubuntu' )
#
# Ubuntu release: https://ubuntu.com/about/release-cycle
# bionic=18.04 focal=20.04 jammy=22.04
-NBS_MATRIX_UBUNTU_SUPPORTED_VERSIONS=( 'bionic' 'focal' 'jammy' )
+NBS_MATRIX_UBUNTU_SUPPORTED_VERSIONS=( 'jammy' 'focal' 'bionic' )
#
# iceboxed: implement other OS support (ref task NMO-213 OsX arm64-Darwin and NMO-210 OsX x86 CD components)
#NBS_MATRIX_OSX_SUPPORTED_VERSIONS=( 'monterey' 'ventura' )
diff --git a/build_system/.env.build_matrix.libpointmatcher.bleeding b/build_system/.env.build_matrix.libpointmatcher.bleeding
index 661de48f..fa4b2c16 100644
--- a/build_system/.env.build_matrix.libpointmatcher.bleeding
+++ b/build_system/.env.build_matrix.libpointmatcher.bleeding
@@ -10,8 +10,7 @@ NBS_EXECUTE_BUILD_MATRIX_OVER_COMPOSE_FILE=docker-compose.libpointmatcher.yaml
#
# Libpointmatcher version
#
-# 'latest' is the latest push to the libpointmatcher master branch
-#NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.2' 'latest' )
+# 'latest' is the most recent push to the current libpointmatcher checkout branch
NBS_MATRIX_REPOSITORY_VERSIONS=( 'latest' )
#
@@ -33,7 +32,7 @@ NBS_MATRIX_SUPPORTED_OS=( 'ubuntu' )
#
# Ubuntu release: https://ubuntu.com/about/release-cycle
# bionic=18.04 focal=20.04 jammy=22.04
-NBS_MATRIX_UBUNTU_SUPPORTED_VERSIONS=( 'bionic' 'focal' 'jammy' )
+NBS_MATRIX_UBUNTU_SUPPORTED_VERSIONS=( 'jammy' 'focal' 'bionic' )
#
# iceboxed: implement other OS support (ref task NMO-213 OsX arm64-Darwin and NMO-210 OsX x86 CD components)
#NBS_MATRIX_OSX_SUPPORTED_VERSIONS=( 'monterey' 'ventura' )
diff --git a/build_system/.env.build_matrix.libpointmatcher.release b/build_system/.env.build_matrix.libpointmatcher.release
index 0bf2693b..48ec46a6 100644
--- a/build_system/.env.build_matrix.libpointmatcher.release
+++ b/build_system/.env.build_matrix.libpointmatcher.release
@@ -10,8 +10,8 @@ NBS_EXECUTE_BUILD_MATRIX_OVER_COMPOSE_FILE=docker-compose.libpointmatcher.yaml
#
# Libpointmatcher version
#
-# 'latest' is the latest push to the libpointmatcher master branch
-NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.2' 'latest' )
+# 'latest' is the most recent push to the current libpointmatcher checkout branch
+NBS_MATRIX_REPOSITORY_VERSIONS=( '1.4.3' 'latest' )
#
# Libpointmatcher CMAKE_BUILD_TYPE
@@ -30,7 +30,7 @@ NBS_MATRIX_SUPPORTED_OS=( 'ubuntu' )
#
# Ubuntu release: https://ubuntu.com/about/release-cycle
# bionic=18.04 focal=20.04 jammy=22.04
-NBS_MATRIX_UBUNTU_SUPPORTED_VERSIONS=( 'bionic' 'focal' 'jammy' )
+NBS_MATRIX_UBUNTU_SUPPORTED_VERSIONS=( 'jammy' 'focal' 'bionic' )
#
# iceboxed: implement other OS support (ref task NMO-213 OsX arm64-Darwin and NMO-210 OsX x86 CD components)
#NBS_MATRIX_OSX_SUPPORTED_VERSIONS=( 'monterey' 'ventura' )
diff --git "a/build_system/.jetbrains_run_config/bash lpm_execute_compose_over_build_matrix.bash \342\200\272 build dependencies_arm64v8 ci_PR_arm64v8 _popup_.run.xml" "b/build_system/.jetbrains_run_config/bash lpm_crawl_libpointmatcher_build_matrix.bash \342\200\272 build ci_PR_arm64 _popup_.run.xml"
similarity index 100%
rename from "build_system/.jetbrains_run_config/bash lpm_execute_compose_over_build_matrix.bash \342\200\272 build dependencies_arm64v8 ci_PR_arm64v8 _popup_.run.xml"
rename to "build_system/.jetbrains_run_config/bash lpm_crawl_libpointmatcher_build_matrix.bash \342\200\272 build ci_PR_arm64 _popup_.run.xml"
diff --git a/build_system/docker-compose.dependencies.yaml b/build_system/docker-compose.dependencies.yaml
index 9fcf3340..f6fdba7f 100644
--- a/build_system/docker-compose.dependencies.yaml
+++ b/build_system/docker-compose.dependencies.yaml
@@ -3,14 +3,15 @@ services:
# ====Dependency related services================================================================
dependencies-general:
image: ${NBS_DOCKERHUB_NAMESPACE:?err}/libpointmatcher-dependencies-general:${NBS_IMAGE_TAG:?err}
+ pull_policy: build # Execute the `build` attribute over pulling the `image` attribute
build:
target: libpointmatcher-dependencies-general
context: ..
dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR:?err}/ubuntu/Dockerfile.dependencies
- no_cache: true
+ no_cache: true # Enforce full rebuild
platforms:
- "linux/amd64"
- - "linux/arm64/v8"
+ - "linux/arm64"
args:
BASE_IMAGE: ${DEPENDENCIES_BASE_IMAGE:?err}
BASE_IMAGE_TAG: ${DEPENDENCIES_BASE_IMAGE_TAG:?err}
@@ -35,14 +36,15 @@ services:
build:
context: ..
dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR:?err}/ubuntu/Dockerfile.dependencies.doxygen
- platforms:
- - "linux/amd64"
- - "linux/arm64/v8"
+ pull: false # Use the local image store to execute the FROM directive
args:
PROJECT_HUB: ${NBS_DOCKERHUB_NAMESPACE}
BASE_IMAGE: libpointmatcher-dependencies
BASE_IMAGE_TAG: ${NBS_IMAGE_TAG}
IS_TEAMCITY_RUN: ${IS_TEAMCITY_RUN}
+ platforms:
+ - "linux/amd64"
+ - "linux/arm64"
depends_on:
- dependencies
tty: true
diff --git a/build_system/docker-compose.libpointmatcher.yaml b/build_system/docker-compose.libpointmatcher.yaml
index be08fd70..d950fade 100644
--- a/build_system/docker-compose.libpointmatcher.yaml
+++ b/build_system/docker-compose.libpointmatcher.yaml
@@ -4,18 +4,18 @@ include:
services:
# ====Pull-request related services==============================================================
- # ....Test logic related to libpointmatcher install casses.......................................
+ # ....Test logic related to libpointmatcher install cases........................................
_test_compilation:
image: ${NBS_DOCKERHUB_NAMESPACE:?err}/libpointmatcher-compilation-test:${NBS_IMAGE_TAG:?err}
- pull_policy: build
+ pull_policy: build # Execute the `build` attribute over pulling the `image` attribute
build:
context: ..
dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR:?err}/ubuntu/Dockerfile.libpointmatcher.compilation_test
- no_cache: true
+ no_cache: true # Enforce full rebuild
target: test-compilation-auto-path-resolution
platforms:
- "linux/amd64"
- - "linux/arm64/v8"
+ - "linux/arm64"
args:
PROJECT_HUB: ${NBS_DOCKERHUB_NAMESPACE}
BASE_IMAGE: libpointmatcher-dependencies-general
@@ -45,11 +45,11 @@ services:
# ....Test logic related to libpointmatcher codebase unit-test...................................
ci_PR:
image: ${NBS_DOCKERHUB_NAMESPACE:?err}/libpointmatcher-ci-pr:${NBS_IMAGE_TAG:?err}
- pull_policy: build
+ pull_policy: build # Execute the `build` attribute over pulling the `image` attribute
build:
context: ..
dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR}/ubuntu/Dockerfile.libpointmatcher.ci_PR
- no_cache: false
+ no_cache: true # Enforce full rebuild
args:
PROJECT_HUB: ${NBS_DOCKERHUB_NAMESPACE}
BASE_IMAGE: libpointmatcher-dependencies
@@ -90,13 +90,14 @@ services:
release:
image: ${NBS_DOCKERHUB_NAMESPACE:?err}/libpointmatcher:${NBS_IMAGE_TAG:?err}
container_name: libpointmatcher
+ pull_policy: build # Execute the `build` attribute over pulling the `image` attribute
build:
context: ..
dockerfile: ${NBS_SUPERPROJECT_BUILD_SYSTEM_DIR}/ubuntu/Dockerfile.libpointmatcher.hub_release
platforms:
- "linux/amd64"
- - "linux/arm64/v8"
- no_cache: false
+ - "linux/arm64"
+ no_cache: true # Enforce full rebuild
args:
PROJECT_HUB: ${NBS_DOCKERHUB_NAMESPACE}
BASE_IMAGE: libpointmatcher-dependencies-doc
diff --git a/build_system/ubuntu/Dockerfile.libpointmatcher.ci_PR b/build_system/ubuntu/Dockerfile.libpointmatcher.ci_PR
index 14839ffa..9f437670 100644
--- a/build_system/ubuntu/Dockerfile.libpointmatcher.ci_PR
+++ b/build_system/ubuntu/Dockerfile.libpointmatcher.ci_PR
@@ -2,6 +2,8 @@ ARG PROJECT_HUB=norlabulaval
ARG BASE_IMAGE=libpointmatcher-dependencies
ARG BASE_IMAGE_TAG
FROM ${PROJECT_HUB}/${BASE_IMAGE}:${BASE_IMAGE_TAG:?err} AS libpointmatcher-dependencies
+ARG TARGETPLATFORM
+ARG TARGETARCH
LABEL org.opencontainers.image.authors="luc.coupal.1@ulaval.ca"
@@ -40,14 +42,13 @@ WORKDIR "${NBS_LIB_INSTALL_PATH}/${NBS_REPOSITORY_NAME}"
RUN chmod +x ./utest/listVersionsUbuntu.sh
RUN utest/listVersionsUbuntu.sh
-# ==== Build libpointmatcher checkout branch ======================================================
+# ==== Build/test libpointmatcher checkout branch =================================================
WORKDIR ./build_system/ubuntu
RUN chmod +x lpm_install_libpointmatcher_ubuntu.bash
RUN chmod +x lpm_execute_libpointmatcher_unittest.bash
RUN chmod +x entrypoint.bash
-
RUN bash lpm_install_libpointmatcher_ubuntu.bash \
--repository-version ${REPOSITORY_VERSION} \
--cmake-build-type ${CMAKE_BUILD_TYPE} \
diff --git a/build_system/ubuntu/lpm_execute_libpointmatcher_unittest.bash b/build_system/ubuntu/lpm_execute_libpointmatcher_unittest.bash
index b4ec00ac..eed8b049 100644
--- a/build_system/ubuntu/lpm_execute_libpointmatcher_unittest.bash
+++ b/build_system/ubuntu/lpm_execute_libpointmatcher_unittest.bash
@@ -27,7 +27,7 @@ source "${N2ST_PATH}/import_norlab_shell_script_tools_lib.bash"
# ====Begin========================================================================================
n2st::print_formated_script_header 'lpm_execute_libpointmatcher_unittest.bash' ':'
-cd "${NBS_LIB_INSTALL_PATH}/${NBS_REPOSITORY_NAME}/build"
+cd "${NBS_LIB_INSTALL_PATH}/${NBS_REPOSITORY_NAME}/build" || exit 1
if [[ ${IS_TEAMCITY_RUN} == true ]] || [[ ${TEAMCITY_VERSION} ]]; then
echo -e "##teamcity[testSuiteStarted name='gtest']"
@@ -68,5 +68,5 @@ fi
n2st::print_formated_script_footer 'lpm_execute_libpointmatcher_unittest.bash' ':'
# ====Teardown=====================================================================================
-cd "${TMP_CWD}"
+cd "${TMP_CWD}" || exit 1
exit $UTEST_EXIT_CODE
diff --git a/build_system/ubuntu/lpm_install_dependencies_general_ubuntu.bash b/build_system/ubuntu/lpm_install_dependencies_general_ubuntu.bash
index 82b8b2d4..aea9a11f 100644
--- a/build_system/ubuntu/lpm_install_dependencies_general_ubuntu.bash
+++ b/build_system/ubuntu/lpm_install_dependencies_general_ubuntu.bash
@@ -148,4 +148,4 @@ n2st::teamcity_service_msg_blockClosed
n2st::print_formated_script_footer "lpm_install_dependencies_general_ubuntu.bash (${IMAGE_ARCH_AND_OS})" "${MSG_LINE_CHAR_INSTALLER}"
# ====Teardown=====================================================================================
-cd "${TMP_CWD}"
+cd "${TMP_CWD}" || exit
diff --git a/build_system/ubuntu/lpm_install_libpointmatcher_ubuntu.bash b/build_system/ubuntu/lpm_install_libpointmatcher_ubuntu.bash
index 63f92425..2c164b2d 100644
--- a/build_system/ubuntu/lpm_install_libpointmatcher_ubuntu.bash
+++ b/build_system/ubuntu/lpm_install_libpointmatcher_ubuntu.bash
@@ -53,7 +53,7 @@ export DEBIAN_FRONTEND=noninteractive
TMP_CWD=$(pwd)
LPM_PATH=$(git rev-parse --show-toplevel)
-cd "${LPM_PATH}/build_system" || exit
+cd "${LPM_PATH}/build_system" || exit 1
# ....Load environment variables from file.........................................................
set -o allexport
@@ -176,7 +176,7 @@ n2st::teamcity_service_msg_blockOpened "Install ${NBS_REPOSITORY_NAME}"
mkdir -p "${NBS_LIB_INSTALL_PATH}"
n2st::print_msg "Directories (pre libpointmatcher install)$(tree -L 2 "${NBS_LIB_INSTALL_PATH}")"
-cd "${NBS_LIB_INSTALL_PATH}"
+cd "${NBS_LIB_INSTALL_PATH}" || exit 1
# ....Repository cloning step......................................................................
if [[ ${BUILD_SYSTEM_CI_INSTALL} == FALSE ]]; then
@@ -188,7 +188,7 @@ if [[ ${BUILD_SYSTEM_CI_INSTALL} == FALSE ]]; then
git clone https://github.com/"${NBS_REPOSITORY_DOMAIN}"/"${NBS_REPOSITORY_NAME}".git
if [[ "${REPOSITORY_VERSION}" != 'latest' ]]; then
- cd "${NBS_REPOSITORY_NAME}"
+ cd "${NBS_REPOSITORY_NAME}" || exit 1
git fetch --tags
git tag --list
@@ -203,7 +203,7 @@ if [[ ${BUILD_SYSTEM_CI_INSTALL} == FALSE ]]; then
fi
fi
-cd "${NBS_LIB_INSTALL_PATH}/${NBS_REPOSITORY_NAME}"
+cd "${NBS_LIB_INSTALL_PATH}/${NBS_REPOSITORY_NAME}" || exit 1
mkdir -p build && cd build
# ....Cmake install step...........................................................................
@@ -223,12 +223,10 @@ else
# CMAKE_FLAGS=( -D BOOST_ROOT="$BOOST_ROOT" "${CMAKE_FLAGS[@]}" )
cmake "${CMAKE_FLAGS[@]}" "${NBS_LIB_INSTALL_PATH}/${NBS_REPOSITORY_NAME}"
-
BUILD_EXIT_CODE=$?
make -j $(nproc)
sudo make install
-
INSTALL_EXIT_CODE=$?
if [[ ${GENERATE_API_DOC_FLAG} = TRUE ]]; then
@@ -281,4 +279,4 @@ fi
n2st::print_formated_script_footer "${CALLER_NAME} (${IMAGE_ARCH_AND_OS})" "${MSG_LINE_CHAR_INSTALLER}"
# ====Teardown=====================================================================================
-cd "${TMP_CWD}"
+cd "${TMP_CWD}" || exit 1
diff --git a/doc/LinkingProjects.md b/doc/LinkingProjects.md
index caafafcd..416af32a 100644
--- a/doc/LinkingProjects.md
+++ b/doc/LinkingProjects.md
@@ -12,7 +12,7 @@ In this following example, we build a very simple CMake project containing one e
cmake_minimum_required (VERSION 3.10.12)
project (myProject)
-find_package(libpointmatcher 1.4.2 REQUIRED)
+find_package(libpointmatcher 1.4.3 REQUIRED)
include_directories("${libpointmatcher_INCLUDE_DIRS}")
message(STATUS "Using libpointmatcher version ${libpointmatcher_VERSION}")