Browse Source

Merge topic 'CheckTypeSize-doc'

65e4d29e35 CheckTypeSize: Modernize and clarify documentation

Acked-by: Kitware Robot <[email protected]>
Merge-request: !7006
Brad King 3 years ago
parent
commit
fec7867264
1 changed files with 36 additions and 29 deletions
  1. 36 29
      Modules/CheckTypeSize.cmake

+ 36 - 29
Modules/CheckTypeSize.cmake

@@ -7,46 +7,53 @@ CheckTypeSize
 
 Check sizeof a type
 
-.. command:: CHECK_TYPE_SIZE
+.. command:: check_type_size
 
   .. code-block:: cmake
 
-    CHECK_TYPE_SIZE(TYPE VARIABLE [BUILTIN_TYPES_ONLY]
-                                  [LANGUAGE <language>])
+    check_type_size(<type> <variable> [BUILTIN_TYPES_ONLY]
+                                      [LANGUAGE <language>])
 
-  Check if the type exists and determine its size.  On return,
-  ``HAVE_${VARIABLE}`` holds the existence of the type, and ``${VARIABLE}``
-  holds one of the following:
+  Check if the type exists and determine its size.  Results are reported
+  in the following variables:
 
-  ::
+  ``HAVE_<variable>``
+    Holds a true or false value indicating whether the type exists.
 
-     <size> = type has non-zero size <size>
-     "0"    = type has arch-dependent size (see below)
-     ""     = type does not exist
+  ``<variable>``
+    Holds one of the following values:
 
-  Both ``HAVE_${VARIABLE}`` and ``${VARIABLE}`` will be created as internal
-  cache variables.
+    ``<size>``
+       Type has non-zero size ``<size>``.
 
-  Furthermore, the variable ``${VARIABLE}_CODE`` holds C preprocessor code
-  to define the macro ``${VARIABLE}`` to the size of the type, or leave
-  the macro undefined if the type does not exist.
+    ``0``
+       Type has architecture-dependent size.  This may occur when
+       :variable:`CMAKE_OSX_ARCHITECTURES` has multiple architectures.
+       In this case ``<variable>_CODE`` contains C preprocessor tests
+       mapping from each architecture macro to the corresponding type size.
+       The list of architecture macros is stored in ``<variable>_KEYS``,
+       and the value for each key is stored in ``<variable>-<key>``.
 
-  The variable ``${VARIABLE}`` may be ``0`` when
-  :variable:`CMAKE_OSX_ARCHITECTURES` has multiple architectures for building
-  OS X universal binaries.  This indicates that the type size varies across
-  architectures.  In this case ``${VARIABLE}_CODE`` contains C preprocessor
-  tests mapping from each architecture macro to the corresponding type size.
-  The list of architecture macros is stored in ``${VARIABLE}_KEYS``, and the
-  value for each key is stored in ``${VARIABLE}-${KEY}``.
+    "" (empty string)
+       Type does not exist.
 
-  If the ``BUILTIN_TYPES_ONLY`` option is not given, the macro checks for
-  headers ``<sys/types.h>``, ``<stdint.h>``, and ``<stddef.h>``, and saves
-  results in ``HAVE_SYS_TYPES_H``, ``HAVE_STDINT_H``, and ``HAVE_STDDEF_H``.
-  The type size check automatically includes the available headers, thus
-  supporting checks of types defined in the headers.
+  ``<variable>_CODE``
+    Holds C preprocessor code to define the macro ``<variable>`` to the size
+    of the type, or to leave the macro undefined if the type does not exist.
 
-  If ``LANGUAGE`` is set, the specified compiler will be used to perform the
-  check. Acceptable values are ``C`` and ``CXX``.
+  The options are:
+
+  ``BUILTIN_TYPES_ONLY``
+
+    Support only compiler-builtin types.  If *not* given, the macro checks
+    for headers ``<sys/types.h>``, ``<stdint.h>``, and ``<stddef.h>``, and
+    saves results in ``HAVE_SYS_TYPES_H``, ``HAVE_STDINT_H``, and
+    ``HAVE_STDDEF_H``.  The type size check automatically includes the
+    available headers, thus supporting checks of types defined in the headers.
+
+  ``LANGUAGE <language>``
+    Use the ``<language>`` compiler to perform the check.
+    Acceptable values are ``C`` and ``CXX``.
 
 Despite the name of the macro you may use it to check the size of more
 complex expressions, too.  To check e.g.  for the size of a struct