Help: Document HIP standard/extensions properties and variables

This commit is contained in:
Raul Tambre
2021-08-28 18:12:18 +03:00
parent a40ff1bb5a
commit a65bee4cfc
8 changed files with 122 additions and 0 deletions

View File

@@ -215,6 +215,9 @@ Properties on Targets
/prop_tgt/GNUtoMS
/prop_tgt/HAS_CXX
/prop_tgt/HIP_ARCHITECTURES
/prop_tgt/HIP_EXTENSIONS
/prop_tgt/HIP_STANDARD
/prop_tgt/HIP_STANDARD_REQUIRED
/prop_tgt/IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
/prop_tgt/IMPORTED
/prop_tgt/IMPORTED_COMMON_LANGUAGE_RUNTIME

View File

@@ -528,6 +528,9 @@ Variables for Languages
/variable/CMAKE_Fortran_MODDIR_FLAG
/variable/CMAKE_Fortran_MODOUT_FLAG
/variable/CMAKE_HIP_ARCHITECTURES
/variable/CMAKE_HIP_EXTENSIONS
/variable/CMAKE_HIP_STANDARD
/variable/CMAKE_HIP_STANDARD_REQUIRED
/variable/CMAKE_ISPC_HEADER_DIRECTORY
/variable/CMAKE_ISPC_HEADER_SUFFIX
/variable/CMAKE_ISPC_INSTRUCTION_SETS

View File

@@ -0,0 +1,19 @@
HIP_EXTENSIONS
--------------
.. versionadded:: 3.21
Boolean specifying whether compiler specific extensions are requested.
This property specifies whether compiler specific extensions should be
used. For some compilers, this results in adding a flag such
as ``-std=gnu++11`` instead of ``-std=c++11`` to the compile line. This
property is ``ON`` by default. The basic HIP/C++ standard level is
controlled by the :prop_tgt:`HIP_STANDARD` target property.
See the :manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.
This property is initialized by the value of
the :variable:`CMAKE_HIP_EXTENSIONS` variable if it is set when a target
is created.

View File

@@ -0,0 +1,48 @@
HIP_STANDARD
------------
.. versionadded:: 3.21
The HIP/C++ standard requested to build this target.
Supported values are:
``98``
HIP C++98
``11``
HIP C++11
``14``
HIP C++14
``17``
HIP C++17
``20``
HIP C++20
``23``
HIP C++23
If the value requested does not result in a compile flag being added for
the compiler in use, a previous standard flag will be added instead. This
means that using:
.. code-block:: cmake
set_property(TARGET tgt PROPERTY HIP_STANDARD 11)
with a compiler which does not support ``-std=gnu++11`` or an equivalent
flag will not result in an error or warning, but will instead add the
``-std=gnu++98`` flag if supported. This "decay" behavior may be controlled
with the :prop_tgt:`HIP_STANDARD_REQUIRED` target property.
Additionally, the :prop_tgt:`HIP_EXTENSIONS` target property may be used to
control whether compiler-specific extensions are enabled on a per-target basis.
See the :manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.
This property is initialized by the value of
the :variable:`CMAKE_HIP_STANDARD` variable if it is set when a target
is created.

View File

@@ -0,0 +1,19 @@
HIP_STANDARD_REQUIRED
---------------------
.. versionadded:: 3.21
Boolean describing whether the value of :prop_tgt:`HIP_STANDARD` is a requirement.
If this property is set to ``ON``, then the value of the
:prop_tgt:`HIP_STANDARD` target property is treated as a requirement. If this
property is ``OFF`` or unset, the :prop_tgt:`HIP_STANDARD` target property is
treated as optional and may "decay" to a previous standard if the requested is
not available.
See the :manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.
This property is initialized by the value of
the :variable:`CMAKE_HIP_STANDARD_REQUIRED` variable if it is set when a
target is created.

View File

@@ -0,0 +1,10 @@
CMAKE_HIP_EXTENSIONS
--------------------
.. versionadded:: 3.21
Default value for :prop_tgt:`HIP_EXTENSIONS` target property if set when a
target is created.
See the :manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.

View File

@@ -0,0 +1,10 @@
CMAKE_HIP_STANDARD
------------------
.. versionadded:: 3.21
Default value for :prop_tgt:`HIP_STANDARD` target property if set when a target
is created.
See the :manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.

View File

@@ -0,0 +1,10 @@
CMAKE_HIP_STANDARD_REQUIRED
---------------------------
.. versionadded:: 3.21
Default value for :prop_tgt:`HIP_STANDARD_REQUIRED` target property if set when
a target is created.
See the :manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.