mirror of
https://github.com/crystalidea/qt-build-tools.git
synced 2025-07-02 07:25:24 +08:00
qt 6.6.0
This commit is contained in:
@ -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.
|
@ -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.
|
@ -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.
|
@ -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`.
|
@ -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.
|
@ -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`.
|
@ -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`.
|
@ -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
|
@ -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
|
@ -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``.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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``.
|
@ -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.
|
@ -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.
|
@ -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``.
|
@ -0,0 +1,6 @@
|
||||
ENABLED_LANGUAGES
|
||||
-----------------
|
||||
|
||||
Read-only property that contains the list of currently enabled languages
|
||||
|
||||
Set to list of currently enabled languages.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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`.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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.
|
Reference in New Issue
Block a user