@@ -74,6 +74,44 @@ if (NOT "Feta" STREQUAL "${CMAKE_CUDA_COMPILER_ID}")
7474 set (CMAKE_CUDA_HOST_COMPILER "${CMAKE_CXX_COMPILER} " )
7575endif ()
7676
77+ # Temporary hacks to make Feta work; this requires you to define
78+ # `CMAKE_CUDA_COMPILER_ID=Feta` and `CMAKE_CUDA_COMPILER_FORCED`.
79+ if ("Feta" STREQUAL "${CMAKE_CUDA_COMPILER_ID} " )
80+ cmake_minimum_required (VERSION 3.17)
81+
82+ set (CMAKE_CUDA_STANDARD_DEFAULT 03)
83+
84+ set (CMAKE_CUDA03_STANDARD_COMPILE_OPTION "-std=c++03" )
85+ set (CMAKE_CUDA03_EXTENSION_COMPILE_OPTION "-std=c++03" )
86+ set (CMAKE_CUDA03_STANDARD__HAS_FULL_SUPPORT TRUE )
87+ set_property (GLOBAL PROPERTY CMAKE_CUDA03_KNOWN_FEATURES)
88+
89+ set (CMAKE_CUDA11_STANDARD_COMPILE_OPTION "-std=c++11" )
90+ set (CMAKE_CUDA11_EXTENSION_COMPILE_OPTION "-std=c++11" )
91+ set (CMAKE_CUDA11_STANDARD__HAS_FULL_SUPPORT TRUE )
92+ set_property (GLOBAL PROPERTY CMAKE_CUDA11_KNOWN_FEATURES)
93+
94+ set (CMAKE_CUDA14_STANDARD_COMPILE_OPTION "-std=c++14" )
95+ set (CMAKE_CUDA14_EXTENSION_COMPILE_OPTION "-std=c++14" )
96+ set (CMAKE_CUDA14_STANDARD__HAS_FULL_SUPPORT TRUE )
97+ set_property (GLOBAL PROPERTY CMAKE_CUDA14_KNOWN_FEATURES)
98+
99+ set (CMAKE_CUDA17_STANDARD_COMPILE_OPTION "-std=c++17" )
100+ set (CMAKE_CUDA17_EXTENSION_COMPILE_OPTION "-std=c++17" )
101+ set (CMAKE_CUDA17_STANDARD__HAS_FULL_SUPPORT TRUE )
102+ set_property (GLOBAL PROPERTY CMAKE_CUDA17_KNOWN_FEATURES)
103+
104+ cmake_record_cuda_compile_features()
105+
106+ set (CMAKE_CUDA_COMPILE_FEATURES
107+ ${CMAKE_CUDA03_COMPILE_FEATURES}
108+ ${CMAKE_CUDA11_COMPILE_FEATURES}
109+ ${CMAKE_CUDA14_COMPILE_FEATURES}
110+ ${CMAKE_CUDA17_COMPILE_FEATURES}
111+ ${CMAKE_CUDA20_COMPILE_FEATURES}
112+ )
113+ endif ()
114+
77115thrust_configure_multiconfig()
78116thrust_build_target_list()
79117
0 commit comments