From 5d37748a19d5adf746f9504b0c9c0e06e8e435bb Mon Sep 17 00:00:00 2001 From: Markus Vieth Date: Sun, 1 Feb 2026 10:31:37 +0100 Subject: [PATCH 1/4] Drop C++14 compatibility Closes https://github.com/PointCloudLibrary/pcl/issues/6384 For reasons, see there. --- .ci/azure-pipelines/azure-pipelines.yaml | 4 ++-- CMakeLists.txt | 10 +++------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/.ci/azure-pipelines/azure-pipelines.yaml b/.ci/azure-pipelines/azure-pipelines.yaml index 16d0742a4fc..02acc240fec 100644 --- a/.ci/azure-pipelines/azure-pipelines.yaml +++ b/.ci/azure-pipelines/azure-pipelines.yaml @@ -51,13 +51,13 @@ stages: CC: gcc CXX: g++ BUILD_GPU: ON - CMAKE_ARGS: '-DPCL_WARNINGS_ARE_ERRORS=ON -DCMAKE_CXX_STANDARD=14 -DCMAKE_CUDA_STANDARD=14' + CMAKE_ARGS: '-DPCL_WARNINGS_ARE_ERRORS=ON' 24.04 GCC: # latest Ubuntu CONTAINER: env2404 CC: gcc CXX: g++ BUILD_GPU: ON - CMAKE_ARGS: '-DCMAKE_CXX_STANDARD=17 -DCMAKE_CUDA_STANDARD=17' + CMAKE_ARGS: '' container: $[ variables['CONTAINER'] ] timeoutInMinutes: 0 variables: diff --git a/CMakeLists.txt b/CMakeLists.txt index 509581ac218..9d887e5fb19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,22 +2,18 @@ cmake_minimum_required(VERSION 3.16.3 FATAL_ERROR) # Set target C++ standard and required compiler features -set(CMAKE_CXX_STANDARD 17 CACHE STRING "The target C++ standard. PCL requires C++14 or higher.") +set(CMAKE_CXX_STANDARD 17 CACHE STRING "The target C++ standard. PCL requires C++17 or higher.") set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if("${CMAKE_CXX_STANDARD}" GREATER_EQUAL 17) set(PCL_CXX_COMPILE_FEATURES cxx_std_17) set(PCL__cplusplus 201703L) set(PCL_REQUIRES_MSC_VER 1912) -elseif("${CMAKE_CXX_STANDARD}" EQUAL 14) - set(PCL_CXX_COMPILE_FEATURES cxx_std_14) - set(PCL__cplusplus 201402L) - set(PCL_REQUIRES_MSC_VER 1900) else() - message(FATAL_ERROR "Unknown or unsupported C++ standard specified") + message(FATAL_ERROR "Unknown or unsupported C++ standard specified. PCL requires C++17 or higher") endif() -set(CMAKE_CUDA_STANDARD 17 CACHE STRING "The target CUDA/C++ standard. PCL requires CUDA/C++ 14 or higher.") +set(CMAKE_CUDA_STANDARD 17 CACHE STRING "The target CUDA/C++ standard. PCL requires CUDA/C++ 17 or higher.") set(CMAKE_CUDA_STANDARD_REQUIRED ON) set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "possible configurations" FORCE) From f7371c1b28601476354ca32ecd52f7efaae080d8 Mon Sep 17 00:00:00 2001 From: Markus Vieth Date: Sun, 1 Feb 2026 19:50:38 +0100 Subject: [PATCH 2/4] Test: build without GPU on Ubuntu 20.04 --- .ci/azure-pipelines/azure-pipelines.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/azure-pipelines/azure-pipelines.yaml b/.ci/azure-pipelines/azure-pipelines.yaml index 02acc240fec..8783fd219de 100644 --- a/.ci/azure-pipelines/azure-pipelines.yaml +++ b/.ci/azure-pipelines/azure-pipelines.yaml @@ -50,7 +50,7 @@ stages: CONTAINER: env2004 CC: gcc CXX: g++ - BUILD_GPU: ON + BUILD_GPU: OFF CMAKE_ARGS: '-DPCL_WARNINGS_ARE_ERRORS=ON' 24.04 GCC: # latest Ubuntu CONTAINER: env2404 From 7b3a49fe0bc16b254ba36fb424e69166d8dbcc54 Mon Sep 17 00:00:00 2001 From: Markus Vieth Date: Sun, 1 Feb 2026 19:58:42 +0100 Subject: [PATCH 3/4] Test 2: WITH_CUDA=OFF --- .ci/azure-pipelines/azure-pipelines.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/azure-pipelines/azure-pipelines.yaml b/.ci/azure-pipelines/azure-pipelines.yaml index 8783fd219de..7c0c3956b38 100644 --- a/.ci/azure-pipelines/azure-pipelines.yaml +++ b/.ci/azure-pipelines/azure-pipelines.yaml @@ -51,7 +51,7 @@ stages: CC: gcc CXX: g++ BUILD_GPU: OFF - CMAKE_ARGS: '-DPCL_WARNINGS_ARE_ERRORS=ON' + CMAKE_ARGS: '-DWITH_CUDA=OFF -DPCL_WARNINGS_ARE_ERRORS=ON' 24.04 GCC: # latest Ubuntu CONTAINER: env2404 CC: gcc From caea6d2dc7ab5d4922558007c881b17ae4dd69ae Mon Sep 17 00:00:00 2001 From: Markus Vieth Date: Mon, 2 Feb 2026 11:47:35 +0100 Subject: [PATCH 4/4] Switch tutorials CI to 24.04 --- .ci/azure-pipelines/docs-pipeline.yaml | 4 ++-- .ci/azure-pipelines/tutorials.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.ci/azure-pipelines/docs-pipeline.yaml b/.ci/azure-pipelines/docs-pipeline.yaml index ed98bbc9a0f..632180f3011 100644 --- a/.ci/azure-pipelines/docs-pipeline.yaml +++ b/.ci/azure-pipelines/docs-pipeline.yaml @@ -18,8 +18,8 @@ resources: containers: - container: doc # for documentation.yaml image: pointcloudlibrary/doc - - container: env2204 # for tutorials.yaml - image: pointcloudlibrary/env:22.04 + - container: env2404 # for tutorials.yaml + image: pointcloudlibrary/env:24.04 stages: - stage: formatting diff --git a/.ci/azure-pipelines/tutorials.yaml b/.ci/azure-pipelines/tutorials.yaml index 7d94d4fa7eb..ef65c9d4a8c 100644 --- a/.ci/azure-pipelines/tutorials.yaml +++ b/.ci/azure-pipelines/tutorials.yaml @@ -2,8 +2,8 @@ jobs: - job: tutorials displayName: Building Tutorials pool: - vmImage: 'ubuntu-22.04' - container: env2204 + vmImage: 'ubuntu-24.04' + container: env2404 timeoutInMinutes: 0 variables: BUILD_DIR: '$(Agent.BuildDirectory)/build'