summaryrefslogtreecommitdiffstats
path: root/Help/policy
diff options
context:
space:
mode:
authorCristian Le <git@lecris.dev>2024-01-03 19:34:56 (GMT)
committerBrad King <brad.king@kitware.com>2024-01-09 21:36:55 (GMT)
commitfa00928bcded97d20c9aa2813f68f1df41591125 (patch)
treec84c88485c075b94d2f92d3e6467fb776a217f41 /Help/policy
parentff0085cf74eb10a7e5f9c906258022c6b8b68413 (diff)
downloadCMake-fa00928bcded97d20c9aa2813f68f1df41591125.zip
CMake-fa00928bcded97d20c9aa2813f68f1df41591125.tar.gz
CMake-fa00928bcded97d20c9aa2813f68f1df41591125.tar.bz2
file: `STRINGS` + `REGEX` store match results
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
Diffstat (limited to 'Help/policy')
-rw-r--r--Help/policy/CMP0159.rst24
1 files changed, 24 insertions, 0 deletions
diff --git a/Help/policy/CMP0159.rst b/Help/policy/CMP0159.rst
new file mode 100644
index 0000000..2d05282
--- /dev/null
+++ b/Help/policy/CMP0159.rst
@@ -0,0 +1,24 @@
+CMP0159
+-------
+
+.. versionadded:: 3.29
+
+:command:`file(STRINGS)` with ``REGEX`` updates :variable:`CMAKE_MATCH_<n>`.
+
+In CMake 3.28 and below the :command:`file(STRINGS)` command's ``REGEX``
+option does not affect :variable:`CMAKE_MATCH_<n>` variables. CMake 3.29
+and above prefer to update the :variable:`CMAKE_MATCH_<n>` variables using
+captures from the last match in the file, similar to the
+:command:`string(REGEX MATCHALL)` command. This policy provides
+compatibility for projects that have not been updated to expect the behavior.
+
+The ``OLD`` behavior for this policy is for :command:`file(STRINGS)` with
+``REGEX`` to not store capture groups in :variable:`CMAKE_MATCH_<n>`
+variables. The ``NEW`` behavior is to store the capture groups.
+
+This policy was introduced in CMake version 3.29. 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.
+
+.. include:: DEPRECATED.txt