mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-17 15:32:10 +08:00

This change ony concerns directives that appear in the document body. The guidelines for inserting version directives: * Baseline version is CMake 3.0, i.e. directives start at 3.1. * Always use `.. versionadded::` directive, avoid ad-hoc version references. Exception: policy pages. * For new command signatures, put `versionadded` on a separate line after the signature. * For a group of new signatures in a new document section, a single version note at the beginning of the section is sufficient. * For new options, put `versionadded` on a separate line before option description. * If all the option descriptions in the list are short one-liners, it's fine to put `versionadded` on the same line as the description. * If multiple option descriptions in close proximity would have the same ..versionadded directive, consider adding a single directive after the list, mentioning all added options. * For compact value lists and sub-option lists, put a single `versionadded` directive after the list mentioning all additions. * When a change is described in a single paragraph, put `versionadded` into that paragraph. * When only part of the paragraph has changed, separate the changed part if it doesn't break the flow. Otherwise, write a follow-up clarification paragraph and apply version directive to that. * When multiple version directives are close by, order earlier additions before later additions. * Indent related lists and code blocks to include them in the scope of `versionadded` directive. Issue: #19715
36 lines
1.2 KiB
ReStructuredText
36 lines
1.2 KiB
ReStructuredText
enable_language
|
|
---------------
|
|
Enable a language (CXX/C/OBJC/OBJCXX/Fortran/etc)
|
|
|
|
.. code-block:: cmake
|
|
|
|
enable_language(<lang> [OPTIONAL] )
|
|
|
|
Enables support for the named language in CMake. This is
|
|
the same as the :command:`project` command but does not create any of the extra
|
|
variables that are created by the project command. Example languages
|
|
are ``CXX``, ``C``, ``CUDA``, ``OBJC``, ``OBJCXX``, ``Fortran``,
|
|
``ISPC``, and ``ASM``.
|
|
|
|
.. versionadded:: 3.8
|
|
Added ``CUDA`` support.
|
|
|
|
.. versionadded:: 3.16
|
|
Added ``OBJC`` and ``OBJCXX`` support.
|
|
|
|
.. versionadded:: 3.18
|
|
Added ``ISPC`` support.
|
|
|
|
If enabling ``ASM``, enable it last so that CMake can check whether
|
|
compilers for other languages like ``C`` work for assembly too.
|
|
|
|
This command must be called in file scope, not in a function call.
|
|
Furthermore, it must be called in the highest directory common to all
|
|
targets using the named language directly for compiling sources or
|
|
indirectly through link dependencies. It is simplest to enable all
|
|
needed languages in the top-level directory of a project.
|
|
|
|
The ``OPTIONAL`` keyword is a placeholder for future implementation and
|
|
does not currently work. Instead you can use the :module:`CheckLanguage`
|
|
module to verify support before enabling.
|