1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 02:08:27 +08:00

HIP: Populate CMAKE_HIP_KNOWN_FEATURES global property

Fixes: #26013
This commit is contained in:
Brad King
2024-05-28 13:03:23 -04:00
parent 6b2171d94e
commit 5d93c421f1
5 changed files with 62 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ Properties of Global Scope
/prop_gbl/CMAKE_C_KNOWN_FEATURES
/prop_gbl/CMAKE_CUDA_KNOWN_FEATURES
/prop_gbl/CMAKE_CXX_KNOWN_FEATURES
/prop_gbl/CMAKE_HIP_KNOWN_FEATURES
/prop_gbl/CMAKE_ROLE
/prop_gbl/DEBUG_CONFIGURATIONS
/prop_gbl/DISABLED_FEATURES

View File

@@ -590,6 +590,7 @@ Variables for Languages
/variable/CMAKE_Fortran_MODDIR_FLAG
/variable/CMAKE_Fortran_MODOUT_FLAG
/variable/CMAKE_HIP_ARCHITECTURES
/variable/CMAKE_HIP_COMPILE_FEATURES
/variable/CMAKE_HIP_EXTENSIONS
/variable/CMAKE_HIP_PLATFORM
/variable/CMAKE_HIP_STANDARD

View File

@@ -0,0 +1,42 @@
CMAKE_HIP_KNOWN_FEATURES
------------------------
.. versionadded:: 3.30
List of HIP features known to this version of CMake.
The features listed in this global property may be known to be available to the
HIP compiler. If the feature is available with the HIP compiler, it will
be listed in the :variable:`CMAKE_HIP_COMPILE_FEATURES` variable.
The features listed here may be used with the :command:`target_compile_features`
command. See the :manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.
The features known to this version of CMake are:
``hip_std_98``
Compiler mode is at least HIP/C++ 98.
``hip_std_11``
Compiler mode is at least HIP/C++ 11.
``hip_std_14``
Compiler mode is at least HIP/C++ 14.
``hip_std_17``
Compiler mode is at least HIP/C++ 17.
``hip_std_20``
Compiler mode is at least HIP/C++ 20.
``hip_std_23``
Compiler mode is at least HIP/C++ 23.
``hip_std_26``
.. versionadded:: 3.30
Compiler mode is at least HIP/C++ 26.
.. include:: CMAKE_LANG_STD_FLAGS.txt

View File

@@ -0,0 +1,13 @@
CMAKE_HIP_COMPILE_FEATURES
--------------------------
.. versionadded:: 3.21
List of features known to the HIP compiler
These features are known to be available for use with the HIP compiler. This
list is a subset of the features listed in the
:prop_gbl:`CMAKE_HIP_KNOWN_FEATURES` global property.
See the :manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.

View File

@@ -659,6 +659,11 @@ cmValue cmState::GetGlobalProperty(const std::string& prop)
&FOR_EACH_CUDA_FEATURE(STRING_LIST_ELEMENT)[1]);
return cmValue(s_out);
}
if (prop == "CMAKE_HIP_KNOWN_FEATURES") {
static const std::string s_out(
&FOR_EACH_HIP_FEATURE(STRING_LIST_ELEMENT)[1]);
return cmValue(s_out);
}
#undef STRING_LIST_ELEMENT
return this->GlobalProperties.GetPropertyValue(prop);