From 71de11df84da406371230d8ca5ddede327aec39e Mon Sep 17 00:00:00 2001 From: Josh Romero Date: Mon, 3 Nov 2025 14:38:40 -0800 Subject: [PATCH 1/2] Bump CMake miniumum version to 3.18 to enforce C++17 standard on CUDA source compilation. Signed-off-by: Josh Romero --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b06e54c..b320c26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.16) +cmake_minimum_required(VERSION 3.18) set(CMAKE_CXX_STANDARD 17) set(CMAKE_DISABLE_SOURCE_CHANGES ON) set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) From 5e2cf7a207f6c1ff6d6e09685c574f6ed5a972f0 Mon Sep 17 00:00:00 2001 From: Josh Romero Date: Mon, 3 Nov 2025 20:47:47 -0800 Subject: [PATCH 2/2] Revert CMake version miniumum to 3.16. Use CMake version conditional logic to handle C++ std for .cu files. Signed-off-by: Josh Romero --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b320c26..e3fc2bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,11 @@ -cmake_minimum_required(VERSION 3.18) +cmake_minimum_required(VERSION 3.16) set(CMAKE_CXX_STANDARD 17) + +if (CMAKE_VERSION VERSION_LESS "3.18") + # Workaround with older CMake versions to propagate C++17 standard flags + set(CMAKE_CUDA_FLAGS "-std=c++17") +endif() + set(CMAKE_DISABLE_SOURCE_CHANGES ON) set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) if (NOT CMAKE_BUILD_TYPE)