This commit is contained in:
kleuter
2023-11-01 22:26:17 +01:00
parent 94b1c5907b
commit 860ee1cc77
3387 changed files with 257471 additions and 0 deletions

View File

@ -0,0 +1,21 @@
ALLOW_DUPLICATE_CUSTOM_TARGETS
------------------------------
Allow duplicate custom targets to be created.
Normally CMake requires that all targets built in a project have
globally unique logical names (see policy :policy:`CMP0002`).
This is necessary to generate meaningful project file names in
:generator:`Xcode` and :ref:`Visual Studio Generators` IDE
generators. It also allows the target names to be referenced
unambiguously.
Makefile generators are capable of supporting duplicate :command:`add_custom_target`
names. For projects that care only about :ref:`Makefile Generators` and do
not wish to support :generator:`Xcode` or :ref:`Visual Studio Generators` IDE
generators, one may set this property to ``True``
to allow duplicate custom targets. The property
allows multiple :command:`add_custom_target` command calls in different
directories to specify the same target name. However, setting this
property will cause non-Makefile generators to produce an error and
refuse to generate the project.

View File

@ -0,0 +1,18 @@
AUTOGEN_SOURCE_GROUP
--------------------
.. versionadded:: 3.9
Name of the :command:`source_group` for :prop_tgt:`AUTOMOC`,
:prop_tgt:`AUTORCC` and :prop_tgt:`AUTOUIC` generated files.
Files generated by :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTORCC` and
:prop_tgt:`AUTOUIC` are not always known at configure time and therefore can't
be passed to :command:`source_group`.
``AUTOGEN_SOURCE_GROUP`` can be used instead to generate or select
a source group for :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTORCC` and
:prop_tgt:`AUTOUIC` generated files.
For :prop_tgt:`AUTOMOC`, :prop_tgt:`AUTORCC` and :prop_tgt:`AUTOUIC` specific
overrides see :prop_gbl:`AUTOMOC_SOURCE_GROUP`, :prop_gbl:`AUTORCC_SOURCE_GROUP`
and :prop_gbl:`AUTOUIC_SOURCE_GROUP` respectively.

View File

@ -0,0 +1,9 @@
AUTOGEN_TARGETS_FOLDER
----------------------
Name of :prop_tgt:`FOLDER` for ``*_autogen`` targets that are added
automatically by CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
If not set, CMake uses the :prop_tgt:`FOLDER` property of the parent target as a
default value for this property. See also the documentation for the
:prop_tgt:`FOLDER` target property and the :prop_tgt:`AUTOMOC` target property.

View File

@ -0,0 +1,9 @@
AUTOMOC_SOURCE_GROUP
--------------------
.. versionadded:: 3.9
Name of the :command:`source_group` for :prop_tgt:`AUTOMOC` generated files.
When set this is used instead of :prop_gbl:`AUTOGEN_SOURCE_GROUP` for
files generated by :prop_tgt:`AUTOMOC`.

View File

@ -0,0 +1,11 @@
AUTOMOC_TARGETS_FOLDER
----------------------
Name of :prop_tgt:`FOLDER` for ``*_autogen`` targets that are added automatically by
CMake for targets for which :prop_tgt:`AUTOMOC` is enabled.
This property is obsolete. Use :prop_gbl:`AUTOGEN_TARGETS_FOLDER` instead.
If not set, CMake uses the :prop_tgt:`FOLDER` property of the parent target as a
default value for this property. See also the documentation for the
:prop_tgt:`FOLDER` target property and the :prop_tgt:`AUTOMOC` target property.

View File

@ -0,0 +1,9 @@
AUTORCC_SOURCE_GROUP
--------------------
.. versionadded:: 3.9
Name of the :command:`source_group` for :prop_tgt:`AUTORCC` generated files.
When set this is used instead of :prop_gbl:`AUTOGEN_SOURCE_GROUP` for
files generated by :prop_tgt:`AUTORCC`.

View File

@ -0,0 +1,9 @@
AUTOUIC_SOURCE_GROUP
--------------------
.. versionadded:: 3.21
Name of the :command:`source_group` for :prop_tgt:`AUTOUIC` generated files.
When set this is used instead of :prop_gbl:`AUTOGEN_SOURCE_GROUP` for
files generated by :prop_tgt:`AUTOUIC`.

View File

@ -0,0 +1,44 @@
CMAKE_CUDA_KNOWN_FEATURES
-------------------------
.. versionadded:: 3.17
List of CUDA features known to this version of CMake.
The features listed in this global property may be known to be available to the
CUDA compiler. If the feature is available with the C++ compiler, it will
be listed in the :variable:`CMAKE_CUDA_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:
``cuda_std_03``
Compiler mode is at least CUDA/C++ 03.
``cuda_std_11``
Compiler mode is at least CUDA/C++ 11.
``cuda_std_14``
Compiler mode is at least CUDA/C++ 14.
``cuda_std_17``
Compiler mode is at least CUDA/C++ 17.
``cuda_std_20``
Compiler mode is at least CUDA/C++ 20.
``cuda_std_23``
.. versionadded:: 3.20
Compiler mode is at least CUDA/C++ 23.
``cuda_std_26``
.. versionadded:: 3.25
Compiler mode is at least CUDA/C++ 26.
.. include:: CMAKE_LANG_STD_FLAGS.txt

View File

@ -0,0 +1,367 @@
CMAKE_CXX_KNOWN_FEATURES
------------------------
.. versionadded:: 3.1
List of C++ features known to this version of CMake.
The features listed in this global property may be known to be available to the
C++ compiler. If the feature is available with the C++ compiler, it will
be listed in the :variable:`CMAKE_CXX_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 listed below.
High level meta features indicating C++ standard support
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. versionadded:: 3.8
The following meta features indicate general support for the associated
language standard. It reflects the language support claimed by the compiler,
but it does not necessarily imply complete conformance to that standard.
``cxx_std_98``
Compiler mode is at least C++ 98.
``cxx_std_11``
Compiler mode is at least C++ 11.
``cxx_std_14``
Compiler mode is at least C++ 14.
``cxx_std_17``
Compiler mode is at least C++ 17.
``cxx_std_20``
.. versionadded:: 3.12
Compiler mode is at least C++ 20.
``cxx_std_23``
.. versionadded:: 3.20
Compiler mode is at least C++ 23.
``cxx_std_26``
.. versionadded:: 3.25
Compiler mode is at least C++ 26.
.. include:: CMAKE_LANG_STD_FLAGS.txt
Low level individual compile features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For C++ 11 and C++ 14, compilers were sometimes slow to implement certain
language features. CMake provided some individual compile features to help
projects determine whether specific features were available. These individual
features are now less relevant and projects should generally prefer to use the
high level meta features instead. Individual compile features are not provided
for C++ 17 or later.
See the :manual:`cmake-compile-features(7)` manual for further discussion of
the use of individual compile features.
Individual features from C++ 98
"""""""""""""""""""""""""""""""
``cxx_template_template_parameters``
Template template parameters, as defined in ``ISO/IEC 14882:1998``.
Individual features from C++ 11
"""""""""""""""""""""""""""""""
``cxx_alias_templates``
Template aliases, as defined in N2258_.
.. _N2258: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
``cxx_alignas``
Alignment control ``alignas``, as defined in N2341_.
.. _N2341: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
``cxx_alignof``
Alignment control ``alignof``, as defined in N2341_.
.. _N2341: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
``cxx_attributes``
Generic attributes, as defined in N2761_.
.. _N2761: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
``cxx_auto_type``
Automatic type deduction, as defined in N1984_.
.. _N1984: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
``cxx_constexpr``
Constant expressions, as defined in N2235_.
.. _N2235: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
``cxx_decltype_incomplete_return_types``
Decltype on incomplete return types, as defined in N3276_.
.. _N3276 : https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf
``cxx_decltype``
Decltype, as defined in N2343_.
.. _N2343: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
``cxx_default_function_template_args``
Default template arguments for function templates, as defined in DR226_
.. _DR226: https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
``cxx_defaulted_functions``
Defaulted functions, as defined in N2346_.
.. _N2346: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
``cxx_defaulted_move_initializers``
Defaulted move initializers, as defined in N3053_.
.. _N3053: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
``cxx_delegating_constructors``
Delegating constructors, as defined in N1986_.
.. _N1986: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
``cxx_deleted_functions``
Deleted functions, as defined in N2346_.
.. _N2346: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
``cxx_enum_forward_declarations``
Enum forward declarations, as defined in N2764_.
.. _N2764: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
``cxx_explicit_conversions``
Explicit conversion operators, as defined in N2437_.
.. _N2437: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
``cxx_extended_friend_declarations``
Extended friend declarations, as defined in N1791_.
.. _N1791: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
``cxx_extern_templates``
Extern templates, as defined in N1987_.
.. _N1987: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
``cxx_final``
Override control ``final`` keyword, as defined in N2928_, N3206_ and N3272_.
.. _N2928: https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
.. _N3206: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
.. _N3272: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
``cxx_func_identifier``
Predefined ``__func__`` identifier, as defined in N2340_.
.. _N2340: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
``cxx_generalized_initializers``
Initializer lists, as defined in N2672_.
.. _N2672: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
``cxx_inheriting_constructors``
Inheriting constructors, as defined in N2540_.
.. _N2540: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
``cxx_inline_namespaces``
Inline namespaces, as defined in N2535_.
.. _N2535: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm
``cxx_lambdas``
Lambda functions, as defined in N2927_.
.. _N2927: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf
``cxx_local_type_template_args``
Local and unnamed types as template arguments, as defined in N2657_.
.. _N2657: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm
``cxx_long_long_type``
``long long`` type, as defined in N1811_.
.. _N1811: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
``cxx_noexcept``
Exception specifications, as defined in N3050_.
.. _N3050: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
``cxx_nonstatic_member_init``
Non-static data member initialization, as defined in N2756_.
.. _N2756: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2756.htm
``cxx_nullptr``
Null pointer, as defined in N2431_.
.. _N2431: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf
``cxx_override``
Override control ``override`` keyword, as defined in N2928_, N3206_
and N3272_.
.. _N2928: https://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm
.. _N3206: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
.. _N3272: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
``cxx_range_for``
Range-based for, as defined in N2930_.
.. _N2930: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html
``cxx_raw_string_literals``
Raw string literals, as defined in N2442_.
.. _N2442: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
``cxx_reference_qualified_functions``
Reference qualified functions, as defined in N2439_.
.. _N2439: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm
``cxx_right_angle_brackets``
Right angle bracket parsing, as defined in N1757_.
.. _N1757: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
``cxx_rvalue_references``
R-value references, as defined in N2118_.
.. _N2118: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html
``cxx_sizeof_member``
Size of non-static data members, as defined in N2253_.
.. _N2253: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
``cxx_static_assert``
Static assert, as defined in N1720_.
.. _N1720: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
``cxx_strong_enums``
Strongly typed enums, as defined in N2347_.
.. _N2347: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
``cxx_thread_local``
Thread-local variables, as defined in N2659_.
.. _N2659: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
``cxx_trailing_return_types``
Automatic function return type, as defined in N2541_.
.. _N2541: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm
``cxx_unicode_literals``
Unicode string literals, as defined in N2442_.
.. _N2442: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
``cxx_uniform_initialization``
Uniform initialization, as defined in N2640_.
.. _N2640: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2640.pdf
``cxx_unrestricted_unions``
Unrestricted unions, as defined in N2544_.
.. _N2544: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf
``cxx_user_literals``
User-defined literals, as defined in N2765_.
.. _N2765: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
``cxx_variadic_macros``
Variadic macros, as defined in N1653_.
.. _N1653: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
``cxx_variadic_templates``
Variadic templates, as defined in N2242_.
.. _N2242: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
Individual features from C++ 14
"""""""""""""""""""""""""""""""
``cxx_aggregate_default_initializers``
Aggregate default initializers, as defined in N3605_.
.. _N3605: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3605.html
``cxx_attribute_deprecated``
``[[deprecated]]`` attribute, as defined in N3760_.
.. _N3760: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html
``cxx_binary_literals``
Binary literals, as defined in N3472_.
.. _N3472: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf
``cxx_contextual_conversions``
Contextual conversions, as defined in N3323_.
.. _N3323: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf
``cxx_decltype_auto``
``decltype(auto)`` semantics, as defined in N3638_.
.. _N3638: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html
``cxx_digit_separators``
Digit separators, as defined in N3781_.
.. _N3781: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf
``cxx_generic_lambdas``
Generic lambdas, as defined in N3649_.
.. _N3649: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html
``cxx_lambda_init_captures``
Initialized lambda captures, as defined in N3648_.
.. _N3648: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html
``cxx_relaxed_constexpr``
Relaxed constexpr, as defined in N3652_.
.. _N3652: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html
``cxx_return_type_deduction``
Return type deduction on normal functions, as defined in N3386_.
.. _N3386: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3386.html
``cxx_variable_templates``
Variable templates, as defined in N3651_.
.. _N3651: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf

View File

@ -0,0 +1,57 @@
CMAKE_C_KNOWN_FEATURES
----------------------
.. versionadded:: 3.1
List of C features known to this version of CMake.
The features listed in this global property may be known to be available to the
C compiler. If the feature is available with the C compiler, it will
be listed in the :variable:`CMAKE_C_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 listed below.
High level meta features indicating C standard support
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. versionadded:: 3.8
``c_std_90``
Compiler mode is at least C 90.
``c_std_99``
Compiler mode is at least C 99.
``c_std_11``
Compiler mode is at least C 11.
``c_std_17``
.. versionadded:: 3.21
Compiler mode is at least C 17.
``c_std_23``
.. versionadded:: 3.21
Compiler mode is at least C 23.
.. include:: CMAKE_LANG_STD_FLAGS.txt
Low level individual compile features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``c_function_prototypes``
Function prototypes, as defined in ``ISO/IEC 9899:1990``.
``c_restrict``
``restrict`` keyword, as defined in ``ISO/IEC 9899:1999``.
``c_static_assert``
Static assert, as defined in ``ISO/IEC 9899:2011``.
``c_variadic_macros``
Variadic macros, as defined in ``ISO/IEC 9899:1999``.

View File

@ -0,0 +1,7 @@
.. note::
If the compiler's default standard level is at least that
of the requested feature, CMake may omit the ``-std=`` flag.
The flag may still be added if the compiler's default extensions mode
does not match the :prop_tgt:`<LANG>_EXTENSIONS` target property,
or if the :prop_tgt:`<LANG>_STANDARD` target property is set.

View File

@ -0,0 +1,22 @@
CMAKE_ROLE
----------
.. versionadded:: 3.14
Tells what mode the current running script is in. Could be one of several
values:
``PROJECT``
Running in project mode (processing a ``CMakeLists.txt`` file).
``SCRIPT``
Running in ``-P`` script mode.
``FIND_PACKAGE``
Running in ``--find-package`` mode.
``CTEST``
Running in CTest script mode.
``CPACK``
Running in CPack.

View File

@ -0,0 +1,13 @@
DEBUG_CONFIGURATIONS
--------------------
Specify which configurations are for debugging.
The value must be a semi-colon separated list of configuration names.
Currently this property is used only by the :command:`target_link_libraries`
command. Additional uses may be defined in the future.
This property must be set at the top level of the project and before
the first :command:`target_link_libraries` command invocation. If any entry in
the list does not match a valid configuration for the project the
behavior is undefined.

View File

@ -0,0 +1,11 @@
DISABLED_FEATURES
-----------------
List of features which are disabled during the CMake run.
List of features which are disabled during the CMake run. By default
it contains the names of all packages which were not found. This is
determined using the ``<NAME>_FOUND`` variables. Packages which are
searched ``QUIET`` are not listed. A project can add its own features to
this list. This property is used by the macros in
``FeatureSummary.cmake``.

View File

@ -0,0 +1,14 @@
ECLIPSE_EXTRA_CPROJECT_CONTENTS
-------------------------------
.. versionadded:: 3.12
Additional contents to be inserted into the generated Eclipse cproject file.
The cproject file defines the CDT specific information. Some third party IDE's
are based on Eclipse with the addition of other information specific to that IDE.
Through this property, it is possible to add this additional contents to
the generated project.
It is expected to contain valid XML.
Also see the :prop_gbl:`ECLIPSE_EXTRA_NATURES` property.

View File

@ -0,0 +1,10 @@
ECLIPSE_EXTRA_NATURES
---------------------
List of natures to add to the generated Eclipse project file.
Eclipse projects specify language plugins by using natures. This property
should be set to the unique identifier for a nature (which looks like a Java
package name).
Also see the :prop_gbl:`ECLIPSE_EXTRA_CPROJECT_CONTENTS` property.

View File

@ -0,0 +1,11 @@
ENABLED_FEATURES
----------------
List of features which are enabled during the CMake run.
List of features which are enabled during the CMake run. By default
it contains the names of all packages which were found. This is
determined using the ``<NAME>_FOUND`` variables. Packages which are
searched ``QUIET`` are not listed. A project can add its own features to
this list. This property is used by the macros in
``FeatureSummary.cmake``.

View File

@ -0,0 +1,6 @@
ENABLED_LANGUAGES
-----------------
Read-only property that contains the list of currently enabled languages
Set to list of currently enabled languages.

View File

@ -0,0 +1,14 @@
FIND_LIBRARY_USE_LIB32_PATHS
----------------------------
.. versionadded:: 3.7
Whether the :command:`find_library` command should automatically search
``lib32`` directories.
``FIND_LIBRARY_USE_LIB32_PATHS`` is a boolean specifying whether the
:command:`find_library` command should automatically search the ``lib32``
variant of directories called ``lib`` in the search path when building 32-bit
binaries.
See also the :variable:`CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable.

View File

@ -0,0 +1,12 @@
FIND_LIBRARY_USE_LIB64_PATHS
----------------------------
Whether :command:`find_library` should automatically search lib64
directories.
FIND_LIBRARY_USE_LIB64_PATHS is a boolean specifying whether the
:command:`find_library` command should automatically search the lib64
variant of directories called lib in the search path when building
64-bit binaries.
See also the :variable:`CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable.

View File

@ -0,0 +1,14 @@
FIND_LIBRARY_USE_LIBX32_PATHS
-----------------------------
.. versionadded:: 3.9
Whether the :command:`find_library` command should automatically search
``libx32`` directories.
``FIND_LIBRARY_USE_LIBX32_PATHS`` is a boolean specifying whether the
:command:`find_library` command should automatically search the ``libx32``
variant of directories called ``lib`` in the search path when building
x32-abi binaries.
See also the :variable:`CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX` variable.

View File

@ -0,0 +1,10 @@
FIND_LIBRARY_USE_OPENBSD_VERSIONING
-----------------------------------
Whether :command:`find_library` should find OpenBSD-style shared
libraries.
This property is a boolean specifying whether the
:command:`find_library` command should find shared libraries with
OpenBSD-style versioned extension: ".so.<major>.<minor>". The
property is set to true on OpenBSD and false on other platforms.

View File

@ -0,0 +1,15 @@
GENERATOR_IS_MULTI_CONFIG
-------------------------
.. versionadded:: 3.9
Read-only property that is true on multi-configuration generators.
True when using a multi-configuration generator such as:
* :generator:`Ninja Multi-Config`
* :ref:`Visual Studio Generators`
* :generator:`Xcode`
Multi-config generators use :variable:`CMAKE_CONFIGURATION_TYPES`
as the set of configurations and ignore :variable:`CMAKE_BUILD_TYPE`.

View File

@ -0,0 +1,8 @@
GLOBAL_DEPENDS_DEBUG_MODE
-------------------------
Enable global target dependency graph debug mode.
CMake automatically analyzes the global inter-target dependency graph
at the beginning of native build system generation. This property
causes it to display details of its analysis to stderr.

View File

@ -0,0 +1,10 @@
GLOBAL_DEPENDS_NO_CYCLES
------------------------
Disallow global target dependency graph cycles.
CMake automatically analyzes the global inter-target dependency graph
at the beginning of native build system generation. It reports an
error if the dependency graph contains a cycle that does not consist
of all STATIC library targets. This property tells CMake to disallow
all cycles completely, even among static libraries.

View File

@ -0,0 +1,7 @@
IN_TRY_COMPILE
--------------
Read-only property that is true during a try-compile configuration.
True when building a project inside a :command:`try_compile` or
:command:`try_run` command.

View File

@ -0,0 +1,31 @@
JOB_POOLS
---------
Ninja only: List of available pools.
A pool is a named integer property and defines the maximum number
of concurrent jobs which can be started by a rule assigned to the pool.
The ``JOB_POOLS`` property is a semicolon-separated list of
pairs using the syntax ``NAME=integer`` (without a space after the equality sign).
For instance:
.. code-block:: cmake
set_property(GLOBAL PROPERTY JOB_POOLS two_jobs=2 ten_jobs=10)
Defined pools could be used globally by setting
:variable:`CMAKE_JOB_POOL_COMPILE` and :variable:`CMAKE_JOB_POOL_LINK`
or per target by setting the target properties
:prop_tgt:`JOB_POOL_COMPILE` and :prop_tgt:`JOB_POOL_LINK`.
:command:`Custom commands <add_custom_command>` and
:command:`custom targets <add_custom_target>` can specify pools using the
option ``JOB_POOL``.
Using a pool that is not defined by ``JOB_POOLS`` causes
an error by ninja at build time.
If not set, this property uses the value of the :variable:`CMAKE_JOB_POOLS`
variable.
Build targets provided by CMake that are meant for individual interactive
use, such as ``install``, are placed in the ``console`` pool automatically.

View File

@ -0,0 +1,7 @@
PACKAGES_FOUND
--------------
List of packages which were found during the CMake run.
List of packages which were found during the CMake run. Whether a
package has been found is determined using the <NAME>_FOUND variables.

View File

@ -0,0 +1,7 @@
PACKAGES_NOT_FOUND
------------------
List of packages which were not found during the CMake run.
List of packages which were not found during the CMake run. Whether a
package has been found is determined using the <NAME>_FOUND variables.

View File

@ -0,0 +1,9 @@
PREDEFINED_TARGETS_FOLDER
-------------------------
Name of FOLDER for targets that are added automatically by CMake.
If not set, CMake uses "CMakePredefinedTargets" as a default value for
this property. Targets such as INSTALL, PACKAGE and RUN_TESTS will be
organized into this FOLDER. See also the documentation for the
:prop_tgt:`FOLDER` target property.

View File

@ -0,0 +1,8 @@
REPORT_UNDEFINED_PROPERTIES
---------------------------
If set, report any undefined properties to this file.
If this property is set to a filename then when CMake runs it will
report any properties or variables that were accessed but not defined
into the filename specified in this property.

View File

@ -0,0 +1,17 @@
RULE_LAUNCH_COMPILE
-------------------
Specify a launcher for compile rules.
.. note::
This property is intended for internal use by :manual:`ctest(1)`. Projects
and developers should use the :prop_tgt:`<LANG>_COMPILER_LAUNCHER` target
properties or the associated :variable:`CMAKE_<LANG>_COMPILER_LAUNCHER`
variables instead.
:ref:`Makefile Generators` and the :generator:`Ninja` generator prefix
compiler commands with the given launcher command line.
This is intended to allow launchers to intercept build problems
with high granularity. Other generators ignore this property
because their underlying build systems provide no hook to wrap
individual commands with a launcher.

View File

@ -0,0 +1,11 @@
RULE_LAUNCH_CUSTOM
------------------
Specify a launcher for custom rules.
:ref:`Makefile Generators` and the :generator:`Ninja` generator prefix
custom commands with the given launcher command line.
This is intended to allow launchers to intercept build problems
with high granularity. Other generators ignore this property
because their underlying build systems provide no hook to wrap
individual commands with a launcher.

View File

@ -0,0 +1,17 @@
RULE_LAUNCH_LINK
----------------
Specify a launcher for link rules.
.. note::
This property is intended for internal use by :manual:`ctest(1)`. Projects
and developers should use the :prop_tgt:`<LANG>_LINKER_LAUNCHER` target
properties or the associated :variable:`CMAKE_<LANG>_LINKER_LAUNCHER`
variables instead.
:ref:`Makefile Generators` and the :generator:`Ninja` generator prefix
link and archive commands with the given launcher command line.
This is intended to allow launchers to intercept build problems
with high granularity. Other generators ignore this property
because their underlying build systems provide no hook to wrap
individual commands with a launcher.

View File

@ -0,0 +1,13 @@
RULE_MESSAGES
-------------
Specify whether to report a message for each make rule.
This property specifies whether Makefile generators should add a
progress message describing what each build rule does. If the
property is not set the default is ON. Set the property to OFF to
disable granular messages and report only as each target completes.
This is intended to allow scripted builds to avoid the build time cost
of detailed reports. If a :variable:`CMAKE_RULE_MESSAGES` cache entry exists
its value initializes the value of this property. Non-Makefile
generators currently ignore this property.

View File

@ -0,0 +1,7 @@
TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
----------------------------------
Set if shared libraries may be named like archives.
On AIX shared libraries may be named "lib<name>.a". This property is
set to true on such platforms.

View File

@ -0,0 +1,22 @@
TARGET_MESSAGES
---------------
.. versionadded:: 3.4
Specify whether to report the completion of each target.
This property specifies whether :ref:`Makefile Generators` should
add a progress message describing that each target has been completed.
If the property is not set the default is ``ON``. Set the property
to ``OFF`` to disable target completion messages.
This option is intended to reduce build output when little or no
work needs to be done to bring the build tree up to date.
If a ``CMAKE_TARGET_MESSAGES`` cache entry exists its value
initializes the value of this property.
Non-Makefile generators currently ignore this property.
See the counterpart property :prop_gbl:`RULE_MESSAGES` to disable
everything except for target completion messages.

View File

@ -0,0 +1,9 @@
TARGET_SUPPORTS_SHARED_LIBS
---------------------------
Does the target platform support shared libraries.
TARGET_SUPPORTS_SHARED_LIBS is a boolean specifying whether the target
platform supports shared libraries. Basically all current general
general purpose OS do so, the exception are usually embedded systems
with no or special OSs.

View File

@ -0,0 +1,17 @@
USE_FOLDERS
-----------
Controls whether to use the :prop_tgt:`FOLDER` target property to organize
targets into folders. The value of ``USE_FOLDERS`` at the end of the top level
``CMakeLists.txt`` file is what determines the behavior.
.. versionchanged:: 3.26
CMake treats this property as ``ON`` by default.
See policy :policy:`CMP0143`.
Not all CMake generators support recording folder details for targets.
The :generator:`Xcode` and :ref:`Visual Studio <Visual Studio Generators>`
generators are examples of generators that do. Similarly, not all IDEs
support presenting targets using folder hierarchies, even if the CMake
generator used provides the necessary information.

View File

@ -0,0 +1,27 @@
XCODE_EMIT_EFFECTIVE_PLATFORM_NAME
----------------------------------
.. versionadded:: 3.8
Control emission of ``EFFECTIVE_PLATFORM_NAME`` by the :generator:`Xcode`
generator.
It is required for building the same target with multiple SDKs. A
common use case is the parallel use of ``iphoneos`` and
``iphonesimulator`` SDKs.
Three different states possible that control when the :generator:`Xcode`
generator emits the ``EFFECTIVE_PLATFORM_NAME`` variable:
- If set to ``ON`` it will always be emitted
- If set to ``OFF`` it will never be emitted
- If unset (the default) it will only be emitted when the project was
configured for an embedded Xcode SDK like iOS, tvOS, watchOS or any
of the simulators.
.. note::
When this behavior is enable for generated Xcode projects, the
``EFFECTIVE_PLATFORM_NAME`` variable will leak into
:manual:`Generator expressions <cmake-generator-expressions(7)>`
like ``TARGET_FILE`` and will render those mostly unusable.