summaryrefslogtreecommitdiff
path: root/Help/policy
diff options
context:
space:
mode:
authorMikko Sivulainen <mikko.sivulainen@supercell.com>2022-09-14 14:30:41 +0300
committerBrad King <brad.king@kitware.com>2022-09-15 10:27:23 -0400
commitd4cc39842e9b912f8b25e2c7329f55bf7b53e5f0 (patch)
tree18de254315c7cabb6ef99430505d3089fbb1d8dd /Help/policy
parentc3e68020d61ae306261b4f953947483a960edf32 (diff)
downloadcmake-d4cc39842e9b912f8b25e2c7329f55bf7b53e5f0.tar.gz
Xcode: Do not append per-config suffixes to library search paths
Add policy `CMP0142` to remove the automatic addition of the `$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)` suffix in a compatible way. Fixes: #21757
Diffstat (limited to 'Help/policy')
-rw-r--r--Help/policy/CMP0142.rst27
1 files changed, 27 insertions, 0 deletions
diff --git a/Help/policy/CMP0142.rst b/Help/policy/CMP0142.rst
new file mode 100644
index 0000000000..1f928f0797
--- /dev/null
+++ b/Help/policy/CMP0142.rst
@@ -0,0 +1,27 @@
+CMP0142
+-------
+
+.. versionadded:: 3.25
+
+The :generator:`Xcode` generator does not append per-config suffixes to
+library search paths.
+
+In CMake 3.24 and below, the :generator:`Xcode` generator preceded each
+entry of a library search path with a copy of itself appended with
+``$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)``. This was left from
+very early versions of CMake in which per-config directories were not well
+modeled. Such paths often do not exist, resulting in warnings from the
+toolchain. CMake 3.25 and above prefer to not add such library search
+paths. This policy provides compatibility for projects that may have been
+accidentally relying on the old behavior.
+
+The ``OLD`` behavior for this policy is to append
+``$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)`` to all library search paths.
+The ``NEW`` behavior is to not modify library search paths.
+
+This policy was introduced in CMake version 3.25. 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