Fix C++17 targets in cmake.
CMake doesn't recognize CUDA_STANDARD=17 until v3.18, and the
CUDA_STANDARD_REQUIRED property doesn't seem to work properly. See
CMake bug:
To allow the C++17 configs to actually use C++17, we need to bump our
minimum CMake version to 3.18.
MODIFY
CMakeLists.txt
CMakeLists.txt
-cmake_minimum_required(VERSION 3.15)
+cmake_minimum_required(VERSION 3.18)
+
+# Remove this when we use the new CUDA_ARCHITECTURES properties:
+cmake_policy(SET CMP0104 OLD)
project(Thrust NONE)
@@ -77,8 +80,6 @@ endif ()
# Temporary hacks to make Feta work; this requires you to define
# `CMAKE_CUDA_COMPILER_ID=Feta` and `CMAKE_CUDA_COMPILER_FORCED`.
if ("Feta" STREQUAL "${CMAKE_CUDA_COMPILER_ID}")
- cmake_minimum_required(VERSION 3.17)
-
set(CMAKE_CUDA_STANDARD_DEFAULT 03)
set(CMAKE_CUDA03_STANDARD_COMPILE_OPTION "-std=c++03")

MODIFY
dependencies/cub
dependencies/cub
-Subproject commit 9a9aefff0d53f36af5984ef858e252a178148cb9
+Subproject commit d1d31fd06b26437bdaa11ff12c1073bb3dd20d27

Fix C++17 targets in cmake.

CMake doesn't recognize CUDA_STANDARD=17 until v3.18, and the
CUDA_STANDARD_REQUIRED property doesn't seem to work properly. See
CMake bug: https://gitlab.kitware.com/cmake/cmake/-/issues/20953

To allow the C++17 configs to actually use C++17, we need to bump our
minimum CMake version to 3.18.