diff options
Diffstat (limited to 'Help')
35 files changed, 307 insertions, 154 deletions
diff --git a/Help/command/FIND_XXX.txt b/Help/command/FIND_XXX.txt index 59a4e71..bd55e24 100644 --- a/Help/command/FIND_XXX.txt +++ b/Help/command/FIND_XXX.txt @@ -70,23 +70,28 @@ Options include: ``VALIDATOR`` .. versionadded:: 3.25 - Specify a :command:`function` (a :command:`macro` is not an acceptable - choice) which will be called for each found item. The search ends when - the validation function returns a successful status. - - The validation function expects two arguments: output variable name and item - value. By default, the output variable name already holds a ``TRUE`` value. + Specify a :command:`function` to be called for each candidate item found + (a :command:`macro` cannot be provided, that will result in an error). + Two arguments will be passed to the validator function: the name of a + result variable, and the absolute path to the candidate item. The item + will be accepted and the search will end unless the function sets the + value in the result variable to false in the calling scope. The result + variable will hold a true value when the validator function is entered. .. parsed-literal:: - function (MY_CHECK output_status item) - if (NOT item MATCHES ...) - set(${output_status} FALSE PARENT_SCOPE) + function(my_check validator_result_var item) + if(NOT item MATCHES ...) + set(${validator_result_var} FALSE PARENT_SCOPE) endif() endfunction() |FIND_XXX| (result NAMES ... VALIDATOR my_check) + Note that if a cached result is used, the search is skipped and any + ``VALIDATOR`` is ignored. The cached result is not required to pass the + validation function. + ``DOC`` Specify the documentation string for the ``<VAR>`` cache entry. diff --git a/Help/command/block.rst b/Help/command/block.rst index 6de784f..a352e83 100644 --- a/Help/command/block.rst +++ b/Help/command/block.rst @@ -7,14 +7,14 @@ Evaluate a group of commands with a dedicated variable and/or policy scope. .. code-block:: cmake - block([SCOPE_FOR (POLICIES|VARIABLES)] [PROPAGATE <var-name>...]) + block([SCOPE_FOR [POLICIES] [VARIABLES] ] [PROPAGATE <var-name>...]) <commands> endblock() All commands between ``block()`` and the matching :command:`endblock` are recorded without being invoked. Once the :command:`endblock` is evaluated, the -recorded list of commands is invoked inside the requested scopes, and, finally, -the scopes created by ``block()`` command are removed. +recorded list of commands is invoked inside the requested scopes, then the +scopes created by the ``block()`` command are removed. ``SCOPE_FOR`` Specify which scopes must be created. @@ -33,28 +33,29 @@ the scopes created by ``block()`` command are removed. block(SCOPE_FOR VARIABLES POLICIES) ``PROPAGATE`` - When a variable scope is created by :command:`block` command, this option - set or unset the specified variables in the parent scope. This is equivalent - to :command:`set(PARENT_SCOPE)` or :command:`unset(PARENT_SCOPE)` commands. + When a variable scope is created by the :command:`block` command, this + option sets or unsets the specified variables in the parent scope. This is + equivalent to :command:`set(PARENT_SCOPE)` or :command:`unset(PARENT_SCOPE)` + commands. .. code-block:: cmake - set(VAR1 "INIT1") - set(VAR2 "INIT2") + set(var1 "INIT1") + set(var2 "INIT2") - block(PROPAGATE VAR1 VAR2) - set(VAR1 "VALUE1") - unset(VAR2) + block(PROPAGATE var1 var2) + set(var1 "VALUE1") + unset(var2) endblock() - # here, VAR1 holds value VALUE1 and VAR2 is unset + # Now var1 holds VALUE1, and var2 is unset This option is only allowed when a variable scope is created. An error will be raised in the other cases. -When the ``block`` is local to a :command:`foreach` or :command:`while` -command, the commands :command:`break` and :command:`continue` can be used -inside this block. +When the ``block()`` is inside a :command:`foreach` or :command:`while` +command, the :command:`break` and :command:`continue` commands can be used +inside the block. .. code-block:: cmake diff --git a/Help/command/continue.rst b/Help/command/continue.rst index f62802e..e8012ee 100644 --- a/Help/command/continue.rst +++ b/Help/command/continue.rst @@ -9,8 +9,8 @@ Continue to the top of enclosing foreach or while loop. continue() -The ``continue`` command allows a cmake script to abort the rest of a block -in a :command:`foreach` or :command:`while` loop, and start at the top of -the next iteration. +The ``continue()`` command allows a cmake script to abort the rest of the +current iteration of a :command:`foreach` or :command:`while` loop, and start +at the top of the next iteration. See also the :command:`break` command. diff --git a/Help/command/return.rst b/Help/command/return.rst index 3c4a1cd..795dbeb 100644 --- a/Help/command/return.rst +++ b/Help/command/return.rst @@ -7,46 +7,83 @@ Return from a file, directory or function. return([PROPAGATE <var-name>...]) -Returns from a file, directory or function. When this command is -encountered in an included file (via :command:`include` or +When this command is encountered in an included file (via :command:`include` or :command:`find_package`), it causes processing of the current file to stop and control is returned to the including file. If it is encountered in a -file which is not included by another file, e.g. a ``CMakeLists.txt``, +file which is not included by another file, e.g. a ``CMakeLists.txt``, deferred calls scheduled by :command:`cmake_language(DEFER)` are invoked and -control is returned to the parent directory if there is one. If return is -called in a function, control is returned to the caller of the function. +control is returned to the parent directory if there is one. + +If ``return()`` is called in a function, control is returned to the caller +of that function. Note that a :command:`macro`, unlike a :command:`function`, +is expanded in place and therefore cannot handle ``return()``. + +Policy :policy:`CMP0140` controls the behavior regarding the arguments of the +command. All arguments are ignored unless that policy is set to ``NEW``. ``PROPAGATE`` .. versionadded:: 3.25 - This option set or unset the specified variables in the parent directory or + This option sets or unsets the specified variables in the parent directory or function caller scope. This is equivalent to :command:`set(PARENT_SCOPE)` or - :command:`unset(PARENT_SCOPE)` commands. + :command:`unset(PARENT_SCOPE)` commands, except for the way it interacts + with the :command:`block` command, as described below. - The option ``PROPAGATE`` can be very useful in conjunction with the - :command:`block` command because the :command:`return` will cross over - various scopes created by the :command:`block` commands. + The ``PROPAGATE`` option can be very useful in conjunction with the + :command:`block` command. A :command:`return` will propagate the + specified variables through any enclosing block scopes created by the + :command:`block` commands. Inside a function, this ensures the variables + are propagated to the function's caller, regardless of any blocks within + the function. If not inside a function, it ensures the variables are + propagated to the parent file or directory scope. For example: .. code-block:: cmake + :caption: CMakeLists.txt + + cmake_version_required(VERSION 3.25) + project(example) + + set(var1 "top-value") + + block(SCOPE_FOR VARIABLES) + add_subdirectory(subDir) + # var1 has the value "block-nested" + endblock() - function(MULTI_SCOPES RESULT_VARIABLE) + # var1 has the value "top-value" + + .. code-block:: cmake + :caption: subDir/CMakeLists.txt + + function(multi_scopes result_var1 result_var2) block(SCOPE_FOR VARIABLES) - # here set(PARENT_SCOPE) is not usable because it will not set the - # variable in the caller scope but in the parent scope of the block() - set(${RESULT_VARIABLE} "new-value") - return(PROPAGATE ${RESULT_VARIABLE}) + # This would only propagate out of the immediate block, not to + # the caller of the function. + #set(${result_var1} "new-value" PARENT_SCOPE) + #unset(${result_var2} PARENT_SCOPE) + + # This propagates the variables through the enclosing block and + # out to the caller of the function. + set(${result_var1} "new-value") + unset(${result_var2}) + return(PROPAGATE ${result_var1} ${result_var2}) endblock() endfunction() - set(MY_VAR "initial-value") - multi_scopes(MY_VAR) - # here MY_VAR will holds "new-value" + set(var1 "some-value") + set(var2 "another-value") -Policy :policy:`CMP0140` controls the behavior regarding the arguments of the -command. + multi_scopes(var1 var2) + # Now var1 will hold "new-value" and var2 will be unset -Note that a :command:`macro <macro>`, unlike a :command:`function <function>`, -is expanded in place and therefore cannot handle ``return()``. + block(SCOPE_FOR VARIABLES) + # This return() will set var1 in the directory scope that included us + # via add_subdirectory(). The surrounding block() here does not limit + # propagation to the current file, but the block() in the parent + # directory scope does prevent propagation going any further. + set(var1 "block-nested") + return(PROPAGATE var1) + endblock() See Also ^^^^^^^^ diff --git a/Help/cpack_gen/deb.rst b/Help/cpack_gen/deb.rst index f96ca32..1514dbc 100644 --- a/Help/cpack_gen/deb.rst +++ b/Help/cpack_gen/deb.rst @@ -57,7 +57,7 @@ List of CPack DEB generator specific variables: .. versionadded:: 3.5 Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME`` variables. - See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source + See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-source .. variable:: CPACK_DEBIAN_FILE_NAME CPACK_DEBIAN_<COMPONENT>_FILE_NAME @@ -399,7 +399,7 @@ List of CPack DEB generator specific variables: .. versionadded:: 3.4 Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS`` variables. - See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps + See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps .. variable:: CPACK_DEBIAN_PACKAGE_ENHANCES CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES @@ -419,7 +419,7 @@ List of CPack DEB generator specific variables: .. versionadded:: 3.4 Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES`` variables. - See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps + See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps .. variable:: CPACK_DEBIAN_PACKAGE_BREAKS CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS @@ -508,7 +508,7 @@ List of CPack DEB generator specific variables: .. versionadded:: 3.4 Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES`` variables. - See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps + See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps .. variable:: CPACK_DEBIAN_PACKAGE_RECOMMENDS CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS @@ -527,7 +527,7 @@ List of CPack DEB generator specific variables: .. versionadded:: 3.4 Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS`` variables. - See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps + See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps .. variable:: CPACK_DEBIAN_PACKAGE_SUGGESTS CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS @@ -545,7 +545,7 @@ List of CPack DEB generator specific variables: .. versionadded:: 3.4 Per-component ``CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS`` variables. - See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps + See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps .. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS @@ -639,7 +639,7 @@ List of CPack DEB generator specific variables: - :variable:`CPACK_DEBIAN_PACKAGE_SOURCE` for component-based installations. - See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source + See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-source .. note:: diff --git a/Help/cpack_gen/ifw.rst b/Help/cpack_gen/ifw.rst index c23bab4..c252095 100644 --- a/Help/cpack_gen/ifw.rst +++ b/Help/cpack_gen/ifw.rst @@ -14,7 +14,7 @@ Overview This :manual:`cpack generator <cpack-generators(7)>` generates configuration and meta information for the `Qt Installer Framework -<http://doc.qt.io/qtinstallerframework/index.html>`_ (QtIFW), +<https://doc.qt.io/qtinstallerframework/index.html>`_ (QtIFW), and runs QtIFW tools to generate a Qt installer. QtIFW provides tools and utilities to create installers for diff --git a/Help/cpack_gen/nuget.rst b/Help/cpack_gen/nuget.rst index 3bc73aa..3bf7f84 100644 --- a/Help/cpack_gen/nuget.rst +++ b/Help/cpack_gen/nuget.rst @@ -110,7 +110,7 @@ List of CPack NuGet generator specific variables: .. deprecated:: 3.20 Use a local license file (:variable:`CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME`) - or a `(SPDX) license identifier`_ + or a `SPDX license identifier`_ (:variable:`CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION`) instead. An URL for the package's license, often shown in UI displays as well @@ -124,7 +124,7 @@ List of CPack NuGet generator specific variables: .. versionadded:: 3.20 - A Software Package Data Exchange `(SPDX) license identifier`_ such as + A Software Package Data Exchange `SPDX license identifier`_ such as ``MIT``, ``BSD-3-Clause``, or ``LGPL-3.0-or-later``. In the case of a choice of licenses or more complex restrictions, compound license expressions may be formed using boolean operators, for example @@ -255,9 +255,9 @@ List of CPack NuGet generator specific variables: * Default : OFF -.. _nuget.org: http://nuget.org -.. _version specification: https://docs.microsoft.com/en-us/nuget/reference/package-versioning#version-ranges-and-wildcards -.. _(SPDX) license identifier: https://spdx.org/licenses/ -.. _SPDX specification: https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/ +.. _nuget.org: https://www.nuget.org +.. _version specification: https://learn.microsoft.com/en-us/nuget/concepts/package-versioning#version-ranges +.. _SPDX license identifier: https://spdx.github.io/spdx-spec/SPDX-license-list +.. _SPDX specification: https://spdx.github.io/spdx-spec/SPDX-license-expressions .. NuGet spec docs https://docs.microsoft.com/en-us/nuget/reference/nuspec diff --git a/Help/cpack_gen/rpm.rst b/Help/cpack_gen/rpm.rst index 13b7255..b1e0077 100644 --- a/Help/cpack_gen/rpm.rst +++ b/Help/cpack_gen/rpm.rst @@ -18,7 +18,7 @@ The CPack RPM generator has specific features which are controlled by the specif **grouping name** written in upper case. It may be either a component name or a component GROUP name. Usually those variables correspond to RPM spec file entities. One may find information about spec files here -http://www.rpm.org/wiki/Docs +https://rpm.org/documentation .. versionchanged:: 3.6 diff --git a/Help/cpack_gen/wix.rst b/Help/cpack_gen/wix.rst index a3d43fc..c880049 100644 --- a/Help/cpack_gen/wix.rst +++ b/Help/cpack_gen/wix.rst @@ -111,7 +111,7 @@ Windows using WiX. simply provide the name of the culture. If you specify more than one culture identifier in a comma or semicolon delimited list, the first one that is found will be used. You can find a list of supported languages at: - http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm + https://wixtoolset.org//documentation/manual/v3/wixui/wixui_localization.html .. variable:: CPACK_WIX_TEMPLATE diff --git a/Help/envvar/ASM_DIALECT.rst b/Help/envvar/ASM_DIALECT.rst index c89515e..11dbe5a 100644 --- a/Help/envvar/ASM_DIALECT.rst +++ b/Help/envvar/ASM_DIALECT.rst @@ -4,8 +4,14 @@ ASM<DIALECT> .. include:: ENV_VAR.txt Preferred executable for compiling a specific dialect of assembly language -files. ``ASM<DIALECT>`` can be ``ASM``, ``ASM_NASM`` (Netwide Assembler), -``ASM_MASM`` (Microsoft Assembler) or ``ASM-ATT`` (Assembler AT&T). +files. ``ASM<DIALECT>`` can be one of: + +* ``ASM`` +* ``ASM_NASM`` (Netwide Assembler) +* ``ASM_MASM`` (Microsoft Assembler) +* ``ASM_MARMASM`` (Microsoft ARM Assembler) +* ``ASM-ATT`` (Assembler AT&T) + Will only be used by CMake on the first configuration to determine ``ASM<DIALECT>`` compiler, after which the value for ``ASM<DIALECT>`` is stored in the cache as diff --git a/Help/envvar/ASM_DIALECTFLAGS.rst b/Help/envvar/ASM_DIALECTFLAGS.rst index 2af4b58..f13efbb 100644 --- a/Help/envvar/ASM_DIALECTFLAGS.rst +++ b/Help/envvar/ASM_DIALECTFLAGS.rst @@ -9,6 +9,7 @@ of an assembly language. ``ASM<DIALECT>FLAGS`` can be one of: * ``ASMFLAGS`` * ``ASM_NASMFLAGS`` * ``ASM_MASMFLAGS`` +* ``ASM_MARMASMFLAGS`` * ``ASM-ATTFLAGS`` .. |CMAKE_LANG_FLAGS| replace:: :variable:`CMAKE_ASM<DIALECT>_FLAGS <CMAKE_<LANG>_FLAGS>` diff --git a/Help/manual/cmake-file-api.7.rst b/Help/manual/cmake-file-api.7.rst index 3ae3e3c..65c5239 100644 --- a/Help/manual/cmake-file-api.7.rst +++ b/Help/manual/cmake-file-api.7.rst @@ -425,7 +425,7 @@ Version 1 does not exist to avoid confusion with that from { "kind": "codemodel", - "version": { "major": 2, "minor": 4 }, + "version": { "major": 2, "minor": 5 }, "paths": { "source": "/path/to/top-level-source-dir", "build": "/path/to/top-level-build-dir" @@ -1071,6 +1071,27 @@ with members: available. The value is an unsigned integer 0-based index into the ``backtraceGraph`` member's ``nodes`` array. +``fileSets`` + A JSON array of entries corresponding to the target's file sets. Each entry + is a JSON object with members: + + ``name`` + A string specifying the name of the file set. + + ``type`` + A string specifying the type of the file set. See + :command:`target_sources` supported file set types. + + ``visibility`` + A string specifying the visibility of the file set; one of ``PUBLIC``, + ``PRIVATE``, or ``INTERFACE``. + + ``baseDirectories`` + A JSON array of strings specifying the base directories containing sources + in the file set. + + This field was added in codemodel version 2.5. + ``sources`` A JSON array of entries corresponding to the target's source files. Each entry is a JSON object with members: @@ -1096,6 +1117,13 @@ with members: Optional member that is present with boolean value ``true`` if the source is :prop_sf:`GENERATED`. + ``fileSetIndex`` + Optional member that is present when the source is part of a file set. + The value is an unsigned integer 0-based index into the ``fileSets`` + array. + + This field was added in codemodel version 2.5. + ``backtrace`` Optional member that is present when a CMake language backtrace to the :command:`target_sources`, :command:`add_executable`, diff --git a/Help/manual/cmake-language.7.rst b/Help/manual/cmake-language.7.rst index e4c0d1f..a0d872f 100644 --- a/Help/manual/cmake-language.7.rst +++ b/Help/manual/cmake-language.7.rst @@ -74,7 +74,7 @@ encoded in UTF-8 on Windows (using UTF-16 to call system APIs). Furthermore, CMake 3.0 and above allow a leading UTF-8 `Byte-Order Mark`_ in source files. -.. _`Byte-Order Mark`: http://en.wikipedia.org/wiki/Byte_order_mark +.. _Byte-Order Mark: https://en.wikipedia.org/wiki/Byte_order_mark Source Files ------------ diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst index d6a30ff..22e9eb2 100644 --- a/Help/manual/cmake-policies.7.rst +++ b/Help/manual/cmake-policies.7.rst @@ -51,6 +51,13 @@ The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used to determine whether to report an error on use of deprecated macros or functions. +Policies Introduced by CMake 3.26 +================================= + +.. toctree:: + :maxdepth: 1 + + CMP0143: USE_FOLDERS global property is treated as ON by default. </policy/CMP0143> Policies Introduced by CMake 3.25 ================================= diff --git a/Help/manual/cmake-qt.7.rst b/Help/manual/cmake-qt.7.rst index f156f95..d0d6ea0 100644 --- a/Help/manual/cmake-qt.7.rst +++ b/Help/manual/cmake-qt.7.rst @@ -14,7 +14,7 @@ CMake can find and use Qt 4 and Qt 5 libraries. The Qt 4 libraries are found by the :module:`FindQt4` find-module shipped with CMake, whereas the Qt 5 libraries are found using "Config-file Packages" shipped with Qt 5. See :manual:`cmake-packages(7)` for more information about CMake packages, and -see `the Qt cmake manual <http://qt-project.org/doc/qt-5/cmake-manual.html>`_ +see `the Qt cmake manual <https://contribute.qt-project.org/doc/qt-5/cmake-manual.html>`_ for your Qt version. Qt 4 and Qt 5 may be used together in the same diff --git a/Help/policy/CMP0058.rst b/Help/policy/CMP0058.rst index a9a8f1c..faab1cb 100644 --- a/Help/policy/CMP0058.rst +++ b/Help/policy/CMP0058.rst @@ -50,7 +50,7 @@ that ensure ``byproduct.txt`` will exist before its consumers need it. See discussion of this problem in `Ninja Issue 760`_ for further details on why Ninja works this way. -.. _`Ninja Issue 760`: https://github.com/martine/ninja/issues/760 +.. _Ninja Issue 760: https://github.com/ninja-build/ninja/issues/760 Instead of leaving byproducts undeclared in the rules that generate them, Ninja expects byproducts to be listed along with other outputs. diff --git a/Help/policy/CMP0143.rst b/Help/policy/CMP0143.rst new file mode 100644 index 0000000..7a7aee7 --- /dev/null +++ b/Help/policy/CMP0143.rst @@ -0,0 +1,30 @@ +CMP0143 +------- + +.. versionadded:: 3.26 + +:prop_gbl:`USE_FOLDERS` global property is treated as ``ON`` by default. + +When using CMake 3.25 and below, :prop_gbl:`USE_FOLDERS` is treated +as ``OFF`` by default unless projects enable the feature. For example: + +.. code-block:: cmake + + cmake_minimum_required(VERSION 3.25) + project(foobar LANGUAGES CXX) + set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +CMake 3.26 and later prefer to enable the feature by default. + +This policy provides compatibility with projects that have not been updated +to expect enabling of folders. Enabling folders causes projects to appear +differently in IDEs. + +This policy was introduced in CMake version 3.26. Use the +:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. +Unlike many policies, CMake version |release| does *not* warn +when this policy is not set and simply uses ``OLD`` behavior. +The policy setting must be in scope at the end of the top-level +``CMakeLists.txt`` file of the project and has global effect. + +.. include:: DEPRECATED.txt diff --git a/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst b/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst index 3832f1a..e54b927 100644 --- a/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst +++ b/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst @@ -79,233 +79,233 @@ Individual features from C++ 11 ``cxx_alias_templates`` Template aliases, as defined in N2258_. - .. _N2258: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf + .. _N2258: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf ``cxx_alignas`` Alignment control ``alignas``, as defined in N2341_. - .. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf + .. _N2341: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf ``cxx_alignof`` Alignment control ``alignof``, as defined in N2341_. - .. _N2341: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf + .. _N2341: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf ``cxx_attributes`` Generic attributes, as defined in N2761_. - .. _N2761: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf + .. _N1984: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf ``cxx_constexpr`` Constant expressions, as defined in N2235_. - .. _N2235: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf + .. _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 : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf + .. _N3276 : https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf ``cxx_decltype`` Decltype, as defined in N2343_. - .. _N2343: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226 + .. _DR226: https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226 ``cxx_defaulted_functions`` Defaulted functions, as defined in N2346_. - .. _N2346: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html + .. _N3053: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html ``cxx_delegating_constructors`` Delegating constructors, as defined in N1986_. - .. _N1986: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf + .. _N1986: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf ``cxx_deleted_functions`` Deleted functions, as defined in N2346_. - .. _N2346: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf + .. _N1791: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf ``cxx_extern_templates`` Extern templates, as defined in N1987_. - .. _N1987: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm + .. _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: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm - .. _N3206: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm - .. _N3272: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm + .. _N2340: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm ``cxx_generalized_initializers`` Initializer lists, as defined in N2672_. - .. _N2672: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm + .. _N2672: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm ``cxx_inheriting_constructors`` Inheriting constructors, as defined in N2540_. - .. _N2540: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm + .. _N2540: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm ``cxx_inline_namespaces`` Inline namespaces, as defined in N2535_. - .. _N2535: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm + .. _N2535: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm ``cxx_lambdas`` Lambda functions, as defined in N2927_. - .. _N2927: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2927.pdf + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf + .. _N1811: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf ``cxx_noexcept`` Exception specifications, as defined in N3050_. - .. _N3050: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2756.htm + .. _N2756: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2756.htm ``cxx_nullptr`` Null pointer, as defined in N2431_. - .. _N2431: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf + .. _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: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm - .. _N3206: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm - .. _N3272: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html + .. _N2253: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html ``cxx_static_assert`` Static assert, as defined in N1720_. - .. _N1720: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm + .. _N2442: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm ``cxx_uniform_initialization`` Uniform initialization, as defined in N2640_. - .. _N2640: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2640.pdf + .. _N2640: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2640.pdf ``cxx_unrestricted_unions`` Unrestricted unions, as defined in N2544_. - .. _N2544: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf + .. _N2765: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf ``cxx_variadic_macros`` Variadic macros, as defined in N1653_. - .. _N1653: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm + .. _N1653: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm ``cxx_variadic_templates`` Variadic templates, as defined in N2242_. - .. _N2242: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf + .. _N2242: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf Individual features from C++ 14 @@ -314,54 +314,54 @@ Individual features from C++ 14 ``cxx_aggregate_default_initializers`` Aggregate default initializers, as defined in N3605_. - .. _N3605: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3605.html + .. _N3605: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3605.html ``cxx_attribute_deprecated`` ``[[deprecated]]`` attribute, as defined in N3760_. - .. _N3760: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html + .. _N3760: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3760.html ``cxx_binary_literals`` Binary literals, as defined in N3472_. - .. _N3472: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf + .. _N3472: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3472.pdf ``cxx_contextual_conversions`` Contextual conversions, as defined in N3323_. - .. _N3323: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3323.pdf + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html + .. _N3638: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3638.html ``cxx_digit_separators`` Digit separators, as defined in N3781_. - .. _N3781: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf + .. _N3781: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf ``cxx_generic_lambdas`` Generic lambdas, as defined in N3649_. - .. _N3649: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3649.html + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html + .. _N3648: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3648.html ``cxx_relaxed_constexpr`` Relaxed constexpr, as defined in N3652_. - .. _N3652: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html + .. _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: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3386.html + .. _N3386: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3386.html ``cxx_variable_templates`` Variable templates, as defined in N3651_. - .. _N3651: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf + .. _N3651: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3651.pdf diff --git a/Help/prop_gbl/USE_FOLDERS.rst b/Help/prop_gbl/USE_FOLDERS.rst index 5919723..965b5d6 100644 --- a/Help/prop_gbl/USE_FOLDERS.rst +++ b/Help/prop_gbl/USE_FOLDERS.rst @@ -4,7 +4,16 @@ USE_FOLDERS Use the :prop_tgt:`FOLDER` target property to organize targets into folders. -If not set, CMake treats this property as ``OFF`` by default. CMake -generators that are capable of organizing into a hierarchy of folders +.. versionchanged:: 3.26 + + CMake treats this property as ``ON`` by default. + See policy :policy:`CMP0143`. + +CMake generators that are capable of organizing into a hierarchy of folders use the values of the :prop_tgt:`FOLDER` target property to name those -folders. See also the documentation for the :prop_tgt:`FOLDER` target property. +folders. (i.e.: Visual Studio / XCode) + +IDE's can also take advantage of this property to organize CMake targets. +Regardless of generator support. + +See also the documentation for the :prop_tgt:`FOLDER` target property. diff --git a/Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT-VALUES.txt b/Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT-VALUES.txt index 889d97a..7f19bc0 100644 --- a/Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT-VALUES.txt +++ b/Help/prop_tgt/MSVC_DEBUG_INFORMATION_FORMAT-VALUES.txt @@ -8,8 +8,9 @@ Compile with ``-ZI`` or equivalent flag(s) to produce a program database that supports the Edit and Continue feature. -The value is ignored on non-MSVC compilers, but an unsupported value will -be rejected as an error when using a compiler targeting the MSVC ABI. +The value is ignored on compilers not targeting the MSVC ABI, but an +unsupported value will be rejected as an error when using a compiler +targeting the MSVC ABI. The value may also be the empty string (``""``), in which case no debug information format flag will be added explicitly by CMake. diff --git a/Help/prop_tgt/MSVC_RUNTIME_LIBRARY-VALUES.txt b/Help/prop_tgt/MSVC_RUNTIME_LIBRARY-VALUES.txt index 6c61341..5f8b82d 100644 --- a/Help/prop_tgt/MSVC_RUNTIME_LIBRARY-VALUES.txt +++ b/Help/prop_tgt/MSVC_RUNTIME_LIBRARY-VALUES.txt @@ -11,8 +11,9 @@ Compile with ``-MDd`` or equivalent flag(s) to use a multi-threaded dynamically-linked runtime library. -The value is ignored on non-MSVC compilers but an unsupported value will -be rejected as an error when using a compiler targeting the MSVC ABI. +The value is ignored on compilers not targeting the MSVC ABI, but an +unsupported value will be rejected as an error when using a compiler +targeting the MSVC ABI. The value may also be the empty string (``""``) in which case no runtime library selection flag will be added explicitly by CMake. Note that with diff --git a/Help/release/3.0.rst b/Help/release/3.0.rst index 64491e3..e37c130 100644 --- a/Help/release/3.0.rst +++ b/Help/release/3.0.rst @@ -11,7 +11,7 @@ Documentation Changes ===================== * The CMake documentation has been converted to reStructuredText and - now transforms via Sphinx (`<http://sphinx-doc.org>`__) into man and + now transforms via Sphinx (`<https://www.sphinx-doc.org>`__) into man and html pages. This allows the documentation to be properly indexed and to contain cross-references. diff --git a/Help/release/3.11.rst b/Help/release/3.11.rst index a80657d..957dd4f 100644 --- a/Help/release/3.11.rst +++ b/Help/release/3.11.rst @@ -174,7 +174,7 @@ Modules to removal of the ``javah`` tool by `JEP 313`_. .. _`FLAME`: https://github.com/flame -.. _`JEP 313`: http://openjdk.java.net/jeps/313 +.. _`JEP 313`: https://openjdk.java.net/jeps/313 Autogen ------- diff --git a/Help/release/3.12.rst b/Help/release/3.12.rst index 481027e..dcdae1d 100644 --- a/Help/release/3.12.rst +++ b/Help/release/3.12.rst @@ -242,7 +242,7 @@ CPack * A :cpack_gen:`CPack NuGet Generator` was was added with basic support for `NuGet`_. -.. _NuGet: https://docs.microsoft.com/en-us/nuget/what-is-nuget +.. _NuGet: https://learn.microsoft.com/en-us/nuget/what-is-nuget Other ----- @@ -302,4 +302,4 @@ Other Changes (and legacy ``swig_add_module`` command) now set the prefix of Java modules to ``""`` for MINGW, MSYS, and CYGWIN environments. -.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules +.. _Fortran Submodules: https://fortranwiki.org/fortran/show/Submodules diff --git a/Help/release/3.20.rst b/Help/release/3.20.rst index 09b9fc5..ebd0f91 100644 --- a/Help/release/3.20.rst +++ b/Help/release/3.20.rst @@ -263,7 +263,7 @@ CPack :variable:`CPACK_NUGET_<compName>_PACKAGE_LANGUAGE` allow the locale for a package to be specified, for example ``en_CA``. -.. _Software Package Data Exchange: https://spdx.org/ +.. _Software Package Data Exchange: https://spdx.dev/ Deprecated and Removed Features =============================== diff --git a/Help/release/3.25.rst b/Help/release/3.25.rst index 199e067..7d0cf0a 100644 --- a/Help/release/3.25.rst +++ b/Help/release/3.25.rst @@ -62,7 +62,7 @@ Compilers Standalone: ARM, MCS, 8051) was added with compiler id ``Tasking``. See the :variable:`CMAKE_TASKING_TOOLSET` variable. -.. _`Tasking compiler toolsets`: https://tasking.com +.. _Tasking compiler toolsets: https://www.tasking.com Commands -------- diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst index 44f4e19..2dc237f 100644 --- a/Help/release/3.3.rst +++ b/Help/release/3.3.rst @@ -26,7 +26,7 @@ Generators added on Windows. `Green Hills MULTI`_ is an IDE for embedded real-time systems. -.. _`Green Hills MULTI`: http://www.ghs.com/products/MULTI_IDE.html +.. _`Green Hills MULTI`: https://www.ghs.com/products/MULTI_IDE.html Commands -------- diff --git a/Help/release/3.4.rst b/Help/release/3.4.rst index 943d267..abfede6 100644 --- a/Help/release/3.4.rst +++ b/Help/release/3.4.rst @@ -227,7 +227,7 @@ Other will be merged with linker-generated manifests and embedded in the binary. -* The `Concurrent Fortran 77 <https://ccur.com>`__ compiler is now supported. +* The Concurrent Fortran 77 compiler is now supported. Its :variable:`compiler id <CMAKE_<LANG>_COMPILER_ID>` is ``CCur``. * :manual:`cmake(1)` gained a new ``--trace-expand`` command line option diff --git a/Help/release/3.7.rst b/Help/release/3.7.rst index 345c056..9656a54 100644 --- a/Help/release/3.7.rst +++ b/Help/release/3.7.rst @@ -315,5 +315,5 @@ Other Changes * Vim support files ``indent/cmake.vim`` and ``syntax/cmake.vim`` from the `vim-cmake-syntax`_ project are now distributed with CMake. -.. _`Fortran Submodules`: http://fortranwiki.org/fortran/show/Submodules +.. _`Fortran Submodules`: https://fortranwiki.org/fortran/show/Submodules .. _`vim-cmake-syntax`: https://github.com/pboettch/vim-cmake-syntax diff --git a/Help/release/dev/ExternalProject-INSTALL_BYPRODUCTS.rst b/Help/release/dev/ExternalProject-INSTALL_BYPRODUCTS.rst new file mode 100644 index 0000000..233596f --- /dev/null +++ b/Help/release/dev/ExternalProject-INSTALL_BYPRODUCTS.rst @@ -0,0 +1,6 @@ +ExternalProject-INSTALL_BYPRODUCTS +---------------------------------- + +* The :module:`ExternalProject` module :command:`ExternalProject_Add` command + gained an ``INSTALL_BYPRODUCTS`` option to specify files generated by the + "install" step. diff --git a/Help/release/dev/file-api-file-sets.rst b/Help/release/dev/file-api-file-sets.rst new file mode 100644 index 0000000..8a8b8d3 --- /dev/null +++ b/Help/release/dev/file-api-file-sets.rst @@ -0,0 +1,9 @@ +file-api-file-sets +------------------ + +* The :manual:`cmake-file-api(7)` "codemodel" version 2 ``version`` field has + been updated to 2.5. + +* The :manual:`cmake-file-api(7)` "codemodel" version 2 "target" object + gained a new ``fileSets`` field and associated ``fileSetIndex`` + field to ``sources`` objects. diff --git a/Help/release/dev/marmasm-language.rst b/Help/release/dev/marmasm-language.rst new file mode 100644 index 0000000..2101e6c --- /dev/null +++ b/Help/release/dev/marmasm-language.rst @@ -0,0 +1,4 @@ +marmasm-language +---------------- + +* The ``ASM_MARMASM`` language was added to support the Microsoft ARM assembler language. diff --git a/Help/release/dev/use-folder-on-by-default.rst b/Help/release/dev/use-folder-on-by-default.rst new file mode 100644 index 0000000..4e91c2e --- /dev/null +++ b/Help/release/dev/use-folder-on-by-default.rst @@ -0,0 +1,5 @@ +use-folder-on-by-default +------------------------ + +* Global property :prop_gbl:`USE_FOLDERS` is treated as ``ON`` by default. + See policy :policy:`CMP0143`. diff --git a/Help/variable/CMAKE_LANG_COMPILER_ID.rst b/Help/variable/CMAKE_LANG_COMPILER_ID.rst index 0174c56..e311d1b 100644 --- a/Help/variable/CMAKE_LANG_COMPILER_ID.rst +++ b/Help/variable/CMAKE_LANG_COMPILER_ID.rst @@ -55,13 +55,13 @@ languages. .. _Embarcadero: https://www.embarcadero.com .. _Classic Flang Fortran Compiler: https://github.com/flang-compiler/flang .. _LLVM Flang Fortran Compiler: https://github.com/llvm/llvm-project/tree/main/flang -.. _G95 Fortran: http://g95.sourceforge.net +.. _G95 Fortran: https://g95.sourceforge.net .. _GNU Compiler Collection: https://gcc.gnu.org .. _Green Hills Software: https://www.ghs.com/products/compiler.html .. _Microsoft Visual Studio: https://visualstudio.microsoft.com .. _NVIDIA HPC Compiler: https://developer.nvidia.com/hpc-compilers .. _NVIDIA CUDA Compiler: https://developer.nvidia.com/cuda-llvm-compiler .. _Open Watcom: https://open-watcom.github.io -.. _Small Device C Compiler: http://sdcc.sourceforge.net +.. _Small Device C Compiler: https://sdcc.sourceforge.net .. _Tiny C Compiler: https://bellard.org/tcc -.. _Tasking Compiler Toolsets: https://tasking.com +.. _Tasking Compiler Toolsets: https://www.tasking.com diff --git a/Help/variable/CMAKE_TASKING_TOOLSET.rst b/Help/variable/CMAKE_TASKING_TOOLSET.rst index 940606b..6bd1479 100644 --- a/Help/variable/CMAKE_TASKING_TOOLSET.rst +++ b/Help/variable/CMAKE_TASKING_TOOLSET.rst @@ -8,12 +8,15 @@ Select the Tasking toolset which provides the compiler Architecture compilers are provided by different toolchains with incompatible versioning schemes. Set this variable in a :variable:`toolchain file <CMAKE_TOOLCHAIN_FILE>` so CMake can detect -the compiler and version correctly. If no toolset is specified, +the compiler features correctly. If no toolset is specified, ``Standalone`` is assumed. -Projects that can be built with different architectures and/or toolsets must -take :variable:`CMAKE_TASKING_TOOLSET` and -:variable:`CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID` into account to qualify +Due to the different versioning schemes, the compiler version +(:variable:`CMAKE_<LANG>_COMPILER_VERSION`) depends on the toolset and +architecture in use. If projects can be built with multiple toolsets or +architectures, the specified :variable:`CMAKE_TASKING_TOOLSET` and the +automatically determined :variable:`CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID` +must be taken into account when comparing against the :variable:`CMAKE_<LANG>_COMPILER_VERSION`. ``TriCore`` |