Skip to content

Commit 0c88afe

Browse files
committed
merge upstream master & resolve conflicts
2 parents 05b8e34 + 4900f66 commit 0c88afe

File tree

1,172 files changed

+14925
-12290
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,172 files changed

+14925
-12290
lines changed

.ci/azure-pipelines/azure-pipelines.yaml

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ pr:
1717
resources:
1818
containers:
1919
- container: winx86
20-
image: pointcloudlibrary/env:winx86
20+
image: pointcloudlibrary/env:windows2022-x86
2121
- container: winx64
22-
image: pointcloudlibrary/env:winx64
23-
- container: env1804
24-
image: pointcloudlibrary/env:18.04
22+
image: pointcloudlibrary/env:windows2022-x64
2523
- container: env2004
2624
image: pointcloudlibrary/env:20.04
2725
- container: env2204
2826
image: pointcloudlibrary/env:22.04
27+
- container: env2404
28+
image: pointcloudlibrary/env:24.04
2929

3030
stages:
3131
- stage: formatting
@@ -40,20 +40,21 @@ stages:
4040
- job: ubuntu
4141
displayName: Ubuntu
4242
pool:
43-
vmImage: 'Ubuntu 20.04'
43+
vmImage: 'ubuntu-22.04'
4444
strategy:
4545
matrix:
46-
18.04 GCC: # oldest LTS
47-
CONTAINER: env1804
46+
20.04 GCC: # oldest LTS
47+
CONTAINER: env2004
4848
CC: gcc
4949
CXX: g++
5050
BUILD_GPU: ON
5151
CMAKE_ARGS: '-DPCL_WARNINGS_ARE_ERRORS=ON'
52-
22.04 GCC: # latest Ubuntu
53-
CONTAINER: env2204
52+
24.04 GCC: # latest Ubuntu
53+
CONTAINER: env2404
5454
CC: gcc
5555
CXX: g++
56-
BUILD_GPU: OFF # There are currently incompatibilities between GCC 11.2 and CUDA 11.5
56+
BUILD_GPU: ON
57+
CMAKE_ARGS: '-DCMAKE_CXX_STANDARD=17 -DCMAKE_CUDA_STANDARD=17'
5758
container: $[ variables['CONTAINER'] ]
5859
timeoutInMinutes: 0
5960
variables:
@@ -73,12 +74,12 @@ stages:
7374
vmImage: '$(VMIMAGE)'
7475
strategy:
7576
matrix:
76-
Big Sur 11:
77-
VMIMAGE: 'macOS-11'
78-
OSX_VERSION: '11'
7977
Monterey 12:
8078
VMIMAGE: 'macOS-12'
8179
OSX_VERSION: '12'
80+
Ventura 13:
81+
VMIMAGE: 'macOS-13'
82+
OSX_VERSION: '13'
8283
timeoutInMinutes: 0
8384
variables:
8485
BUILD_DIR: '$(Agent.WorkFolder)/build'
@@ -95,14 +96,14 @@ stages:
9596
dependsOn: osx
9697
condition: succeededOrFailed()
9798
pool:
98-
vmImage: 'Ubuntu 20.04'
99+
vmImage: 'ubuntu-22.04'
99100
strategy:
100101
matrix:
101-
20.04 Clang:
102-
CONTAINER: env2004
102+
22.04 Clang:
103+
CONTAINER: env2204
103104
CC: clang
104105
CXX: clang++
105-
BUILD_GPU: ON
106+
BUILD_GPU: OFF # There are currently incompatibilities between GCC 11.2 and CUDA 11.5 (Ubuntu 22.04)
106107
CMAKE_ARGS: ''
107108
container: $[ variables['CONTAINER'] ]
108109
timeoutInMinutes: 0
@@ -118,11 +119,11 @@ stages:
118119
dependsOn: osx
119120
condition: succeededOrFailed()
120121
pool:
121-
vmImage: 'Ubuntu 20.04'
122+
vmImage: 'ubuntu-22.04'
122123
strategy:
123124
matrix:
124-
20.04 Clang:
125-
CONTAINER: env2004
125+
22.04 Clang:
126+
CONTAINER: env2204
126127
CC: clang
127128
CXX: clang++
128129
INDEX_SIGNED: OFF
@@ -143,7 +144,7 @@ stages:
143144
- job: Windows
144145
displayName: Windows Build
145146
pool:
146-
vmImage: 'windows-2019'
147+
vmImage: 'windows-2022'
147148
strategy:
148149
matrix:
149150
x86:

.ci/azure-pipelines/build/macos.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ steps:
33
# find the commit hash on a quick non-forced update too
44
fetchDepth: 10
55
- script: |
6-
brew install cmake pkg-config boost eigen flann glew libusb qhull vtk glew qt5 libpcap libomp google-benchmark
6+
brew install cmake pkg-config boost eigen flann glew libusb qhull vtk glew freeglut qt5 libpcap libomp google-benchmark cjson
77
brew install brewsci/science/openni
88
git clone https://github.com/abseil/googletest.git $GOOGLE_TEST_DIR # the official endpoint changed to abseil/googletest
99
cd $GOOGLE_TEST_DIR && git checkout release-1.8.1

.ci/azure-pipelines/build/ubuntu.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,7 @@ steps:
2727
-DBUILD_GPU=$BUILD_GPU \
2828
-DBUILD_cuda_io=$BUILD_GPU \
2929
-DBUILD_gpu_tracking=$BUILD_GPU \
30-
-DBUILD_gpu_surface=$BUILD_GPU \
31-
-DBUILD_gpu_people=$BUILD_GPU
30+
-DBUILD_gpu_surface=$BUILD_GPU
3231
# Temporary fix to ensure no tests are skipped
3332
cmake $(Build.SourcesDirectory)
3433
displayName: 'CMake Configuration'

.ci/azure-pipelines/env.yml

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,26 +41,21 @@ jobs:
4141
vmImage: 'ubuntu-latest'
4242
strategy:
4343
matrix:
44-
Ubuntu 18.04:
45-
# Test the oldest supported version of Ubuntu
46-
UBUNTU_VERSION: 18.04
47-
VTK_VERSION: 7
48-
ENSENSOSDK_VERSION: 2.3.1570
49-
TAG: 18.04
44+
# Test the oldest supported version of Ubuntu
5045
Ubuntu 20.04:
5146
UBUNTU_VERSION: 20.04
5247
VTK_VERSION: 7
5348
TAG: 20.04
54-
# Test the latest LTS version of Ubuntu
5549
Ubuntu 22.04:
5650
UBUNTU_VERSION: 22.04
5751
VTK_VERSION: 9
5852
TAG: 22.04
59-
Ubuntu 22.10:
60-
UBUNTU_VERSION: 22.10
53+
# Test the latest LTS version of Ubuntu
54+
Ubuntu 24.04:
55+
UBUNTU_VERSION: 24.04
6156
USE_LATEST_CMAKE: true
6257
VTK_VERSION: 9
63-
TAG: 22.10
58+
TAG: 24.04
6459
steps:
6560
- script: |
6661
dockerBuildArgs="" ; \
@@ -112,17 +107,17 @@ jobs:
112107
timeoutInMinutes: 360
113108
displayName: "Env"
114109
pool:
115-
vmImage: 'windows-2019'
110+
vmImage: 'windows-2022'
116111
strategy:
117112
matrix:
118113
Winx86:
119114
PLATFORM: x86
120-
TAG: winx86
115+
TAG: windows2022-x86
121116
GENERATOR: "'Visual Studio 16 2019' -A Win32"
122-
VCPKGCOMMIT: acc3bcf76b84ae5041c86ab55fe138ae7b8255c7
117+
VCPKGCOMMIT: f7423ee180c4b7f40d43402c2feb3859161ef625
123118
Winx64:
124119
PLATFORM: x64
125-
TAG: winx64
120+
TAG: windows2022-x64
126121
GENERATOR: "'Visual Studio 16 2019' -A x64"
127122
VCPKGCOMMIT: master
128123
steps:
@@ -137,7 +132,7 @@ jobs:
137132
-t $(dockerHubID)/env:$(TAG)
138133
dockerfile: '$(Build.SourcesDirectory)/.dev/docker/windows/Dockerfile'
139134
tags: "$(TAG)"
140-
135+
141136
- script: >
142137
docker run --rm -v "$(Build.SourcesDirectory)":c:\pcl $(dockerHubID)/env:$(TAG)
143138
powershell -command "mkdir c:\pcl\build; cd c:\pcl\build;

.ci/azure-pipelines/release.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,8 +204,9 @@ stages:
204204
# find the commit hash on a quick non-forced update too
205205
fetchDepth: 10
206206
- bash: |
207-
if [ -z $RC ] || [ $RC -eq 0 ]; then isPreRelease=false; else isPreRelease=true; fi
207+
if [ -z $RC ] || [ $RC -eq 0 ]; then isPreRelease=false; tagName="pcl-$(VERSION)"; else isPreRelease=true; tagName="pcl-$(VERSION)-rc$(RC)"; fi
208208
echo "##vso[task.setvariable variable=isPreRelease]${isPreRelease}"
209+
echo "##vso[task.setvariable variable=tagName]${tagName}"
209210
- task: DownloadBuildArtifacts@0
210211
inputs:
211212
downloadType: 'all' # can be anything except single
@@ -223,7 +224,7 @@ stages:
223224
releaseNotesFilePath: '$(DOWNLOAD_LOCATION)/changelog/changelog.md'
224225
repositoryName: $(Build.Repository.Name)
225226
tagSource: 'userSpecifiedTag'
226-
tag: "pcl-$(VERSION)-rc$(RC)"
227+
tag: "$(tagName)"
227228
tagPattern: 'pcl-*'
228229
target: '$(Build.SourceVersion)'
229230
title: 'PCL $(VERSION)'

.ci/azure-pipelines/ubuntu-variety.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ jobs:
2929
displayName: "BuildUbuntuVariety"
3030
steps:
3131
- script: |
32-
POSSIBLE_VTK_VERSION=("7" "9") \
32+
POSSIBLE_VTK_VERSION=("9") \
3333
POSSIBLE_CMAKE_CXX_STANDARD=("14" "17" "20") \
3434
POSSIBLE_CMAKE_BUILD_TYPE=("None" "Debug" "Release" "RelWithDebInfo" "MinSizeRel") \
35-
POSSIBLE_COMPILER_PACKAGE=("g++" "g++-10" "g++-11" "g++-12" "clang" "clang-11" "clang-12" "clang-13" "clang-14" "clang-15") \
36-
POSSIBLE_CMAKE_C_COMPILER=("gcc" "gcc-10" "gcc-11" "gcc-12" "clang" "clang-11" "clang-12" "clang-13" "clang-14" "clang-15") \
37-
POSSIBLE_CMAKE_CXX_COMPILER=("g++" "g++-10" "g++-11" "g++-12" "clang++" "clang++-11" "clang++-12" "clang++-13" "clang++-14" "clang++-15") \
35+
POSSIBLE_COMPILER_PACKAGE=("g++" "g++-10" "g++-11" "g++-12" "g++-13" "g++-14" "clang libomp-dev" "clang-14 libomp-14-dev" "clang-15 libomp-15-dev" "clang-16 libomp-16-dev" "clang-17 libomp-17-dev" "clang-18 libomp-18-dev") \
36+
POSSIBLE_CMAKE_C_COMPILER=("gcc" "gcc-10" "gcc-11" "gcc-12" "gcc-13" "gcc-14" "clang" "clang-14" "clang-15" "clang-16" "clang-17" "clang-18") \
37+
POSSIBLE_CMAKE_CXX_COMPILER=("g++" "g++-10" "g++-11" "g++-12" "g++-13" "g++-14" "clang++" "clang++-14" "clang++-15" "clang++-16" "clang++-17" "clang++-18") \
3838
CHOSEN_COMPILER=$[RANDOM%${#POSSIBLE_COMPILER_PACKAGE[@]}] \
39-
dockerBuildArgs="--build-arg VTK_VERSION=${POSSIBLE_VTK_VERSION[$[RANDOM%${#POSSIBLE_VTK_VERSION[@]}]]} --build-arg CMAKE_CXX_STANDARD=${POSSIBLE_CMAKE_CXX_STANDARD[$[RANDOM%${#POSSIBLE_CMAKE_CXX_STANDARD[@]}]]} --build-arg CMAKE_BUILD_TYPE=${POSSIBLE_CMAKE_BUILD_TYPE[$[RANDOM%${#POSSIBLE_CMAKE_BUILD_TYPE[@]}]]} --build-arg COMPILER_PACKAGE=${POSSIBLE_COMPILER_PACKAGE[$CHOSEN_COMPILER]} --build-arg CMAKE_C_COMPILER=${POSSIBLE_CMAKE_C_COMPILER[$CHOSEN_COMPILER]} --build-arg CMAKE_CXX_COMPILER=${POSSIBLE_CMAKE_CXX_COMPILER[$CHOSEN_COMPILER]}" ; \
39+
dockerBuildArgs="--build-arg VTK_VERSION=${POSSIBLE_VTK_VERSION[$[RANDOM%${#POSSIBLE_VTK_VERSION[@]}]]} --build-arg CMAKE_CXX_STANDARD=${POSSIBLE_CMAKE_CXX_STANDARD[$[RANDOM%${#POSSIBLE_CMAKE_CXX_STANDARD[@]}]]} --build-arg CMAKE_BUILD_TYPE=${POSSIBLE_CMAKE_BUILD_TYPE[$[RANDOM%${#POSSIBLE_CMAKE_BUILD_TYPE[@]}]]} --build-arg COMPILER_PACKAGE=\"${POSSIBLE_COMPILER_PACKAGE[$CHOSEN_COMPILER]}\" --build-arg CMAKE_C_COMPILER=${POSSIBLE_CMAKE_C_COMPILER[$CHOSEN_COMPILER]} --build-arg CMAKE_CXX_COMPILER=${POSSIBLE_CMAKE_CXX_COMPILER[$CHOSEN_COMPILER]}" ; \
4040
echo "##vso[task.setvariable variable=dockerBuildArgs]$dockerBuildArgs"
4141
displayName: "Prepare docker build arguments"
4242
- task: Docker@2

.ci/scripts/build_tutorials.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This script builds source code projects of PCL tutorials.
88
99
Options:
1010
11-
-h Dispaly this help and exit.
11+
-h Display this help and exit.
1212
-k Keep going after a configuration/build error.
1313
-s Print summary in the end.
1414
-e NAMES Exclude tutorials from the build.

.clang-format

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ PointerAlignment: Left
2222
Standard: c++14
2323
TabWidth: 2
2424
UseTab: Never
25+
SortIncludes: CaseInsensitive
2526
IncludeBlocks: Regroup
2627
IncludeCategories:
2728
# Main PCL includes of common module should be sorted at end of PCL includes
@@ -44,6 +45,7 @@ IncludeCategories:
4445
# Major 3rd-Party components of apps
4546
- Regex: '^<Q[^/]+>$'
4647
Priority: 300
48+
CaseSensitive: true
4749
- Regex: '^<ui_[^/]+\.h>$'
4850
Priority: 300
4951
- Regex: '^<vtk[^/]+\.h>$'

.clang-tidy

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,49 @@
11
---
2-
Checks: '-*,modernize-use-auto,modernize-deprecated-headers,modernize-redundant-void-arg,modernize-replace-random-shuffle,modernize-use-equals-default,modernize-use-equals-delete,modernize-use-nullptr,modernize-use-override,modernize-use-using,performance-faster-string-find,performance-for-range-copy,performance-implicit-conversion-in-loop,performance-inefficient-algorithm,performance-inefficient-vector-operation,performance-move-const-arg,performance-move-constructor-init,performance-no-automatic-move,performance-noexcept-move-constructor,performance-type-promotion-in-math-fn,cppcoreguidelines-pro-type-cstyle-cast,cppcoreguidelines-pro-type-static-cast-downcast'
3-
WarningsAsErrors: '-*,modernize-use-auto,modernize-deprecated-headers,modernize-redundant-void-arg,modernize-replace-random-shuffle,modernize-use-equals-default,modernize-use-equals-delete,modernize-use-nullptr,modernize-use-override,modernize-use-using,performance-faster-string-find,performance-for-range-copy,performance-implicit-conversion-in-loop,performance-inefficient-algorithm,performance-inefficient-vector-operation,performance-move-const-arg,performance-move-constructor-init,performance-no-automatic-move,performance-noexcept-move-constructor,performance-type-promotion-in-math-fn,cppcoreguidelines-pro-type-cstyle-cast,cppcoreguidelines-pro-type-static-cast-downcast'
2+
Checks: >
3+
-*,
4+
bugprone-copy-constructor-init,
5+
bugprone-macro-parentheses,
6+
cppcoreguidelines-pro-type-cstyle-cast,
7+
cppcoreguidelines-pro-type-static-cast-downcast,
8+
google-readability-casting,
9+
modernize-deprecated-headers,
10+
modernize-loop-convert,
11+
modernize-make-unique,
12+
modernize-redundant-void-arg,
13+
modernize-replace-random-shuffle,
14+
modernize-return-braced-init-list,
15+
modernize-shrink-to-fit,
16+
modernize-use-auto,
17+
modernize-use-bool-literals,
18+
modernize-use-default-member-init,
19+
modernize-use-emplace,
20+
modernize-use-equals-default,
21+
modernize-use-equals-delete,
22+
modernize-use-noexcept,
23+
modernize-use-nullptr,
24+
modernize-use-override,
25+
modernize-use-using,
26+
performance-faster-string-find,
27+
performance-for-range-copy,
28+
performance-implicit-conversion-in-loop,
29+
performance-inefficient-algorithm,
30+
performance-inefficient-vector-operation,
31+
performance-move-const-arg,
32+
performance-move-constructor-init,
33+
performance-no-automatic-move,
34+
performance-noexcept-move-constructor,
35+
performance-type-promotion-in-math-fn,
36+
readability-container-data-pointer,
37+
readability-container-size-empty,
38+
readability-delete-null-pointer,
39+
readability-duplicate-include,
40+
readability-redundant-declaration,
41+
readability-redundant-smartptr-get,
42+
readability-redundant-string-cstr,
43+
readability-redundant-string-init,
44+
readability-simplify-boolean-expr,
45+
readability-simplify-subscript-expr,
46+
WarningsAsErrors: '*'
447
CheckOptions:
548
- {key: modernize-use-auto.MinTypeNameLength, value: 7}
49+
UseColor: true

.dev/docker/env/Dockerfile

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ ARG UBUNTU_VERSION=20.04
22

33
FROM "ubuntu:${UBUNTU_VERSION}"
44

5-
# Eigen patch (https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1462) to fix issue metioned
5+
# Eigen patch (https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1462) to fix issue mentioned
66
# in https://github.com/PointCloudLibrary/pcl/issues/3729 is available in Eigen 3.3.7.
77
# Not needed from 20.04 since it is the default version from apt
88
ARG EIGEN_MINIMUM_VERSION=3.3.7
@@ -14,7 +14,7 @@ ARG ENSENSOSDK_VERSION=3.2.489
1414
ARG REALSENSE_VERSION=2.50.0
1515

1616
# Check https://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=libvtk%20qt-dev
17-
# for available packes for choosen UBUNTU_VERSION
17+
# for available packages for chosen UBUNTU_VERSION
1818
ARG VTK_VERSION=6
1919

2020
# Use the latest version of CMake by adding the Kitware repository if true,
@@ -30,14 +30,19 @@ RUN apt-get update \
3030
clang-tidy \
3131
libbenchmark-dev \
3232
libblas-dev \
33-
libboost-date-time-dev \
33+
libboost-serialization-dev \
3434
libboost-filesystem-dev \
3535
libboost-iostreams-dev \
36+
libboost-system-dev \
37+
libcjson-dev \
3638
libflann-dev \
3739
libglew-dev \
40+
freeglut3-dev \
3841
libgtest-dev \
42+
libomp-dev \
3943
libopenni-dev \
4044
libopenni2-dev \
45+
libpcap-dev \
4146
libproj-dev \
4247
libqhull-dev \
4348
libqt5opengl5-dev \
@@ -52,7 +57,14 @@ RUN apt-get update \
5257
&& if [ "$USE_LATEST_CMAKE" = true ] ; then \
5358
cmake_ubuntu_version=$(lsb_release -cs) ; \
5459
if ! wget -q --method=HEAD "https://apt.kitware.com/ubuntu/dists/$cmake_ubuntu_version/Release"; then \
55-
cmake_ubuntu_version="focal" ; \
60+
ubuntu_version=$(lsb_release -sr) ; \
61+
if dpkg --compare-versions ${ubuntu_version} ge 22.04; then \
62+
cmake_ubuntu_version="jammy" ; \
63+
elif dpkg --compare-versions ${ubuntu_version} ge 20.04; then \
64+
cmake_ubuntu_version="focal" ; \
65+
else \
66+
cmake_ubuntu_version="bionic" ; \
67+
fi ; \
5668
fi ; \
5769
wget -qO - https://apt.kitware.com/kitware-archive.sh | bash -s -- --release $cmake_ubuntu_version ; \
5870
apt-get update ; \

0 commit comments

Comments
 (0)