summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorMikko Sivulainen <mikko.sivulainen@supercell.com>2022-09-14 11:30:41 (GMT)
committerBrad King <brad.king@kitware.com>2022-09-15 14:27:23 (GMT)
commitd4cc39842e9b912f8b25e2c7329f55bf7b53e5f0 (patch)
tree18de254315c7cabb6ef99430505d3089fbb1d8dd /Help
parentc3e68020d61ae306261b4f953947483a960edf32 (diff)
downloadCMake-d4cc39842e9b912f8b25e2c7329f55bf7b53e5f0.zip
CMake-d4cc39842e9b912f8b25e2c7329f55bf7b53e5f0.tar.gz
CMake-d4cc39842e9b912f8b25e2c7329f55bf7b53e5f0.tar.bz2
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')
-rw-r--r--Help/manual/cmake-policies.7.rst1
-rw-r--r--Help/policy/CMP0142.rst27
-rw-r--r--Help/release/dev/xcode-lib-dirs.rst6
3 files changed, 34 insertions, 0 deletions
diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index c0c37d1..d6a30ff 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -58,6 +58,7 @@ Policies Introduced by CMake 3.25
.. toctree::
:maxdepth: 1
+ CMP0142: The Xcode generator does not append per-config suffixes to library search paths. </policy/CMP0142>
CMP0141: MSVC debug information format flags are selected by an abstraction. </policy/CMP0141>
CMP0140: The return() command checks its arguments. </policy/CMP0140>
diff --git a/Help/policy/CMP0142.rst b/Help/policy/CMP0142.rst
new file mode 100644
index 0000000..1f928f0
--- /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
diff --git a/Help/release/dev/xcode-lib-dirs.rst b/Help/release/dev/xcode-lib-dirs.rst
new file mode 100644
index 0000000..fc1fe1b
--- /dev/null
+++ b/Help/release/dev/xcode-lib-dirs.rst
@@ -0,0 +1,6 @@
+xcode-lib-dirs
+--------------
+
+* The :generator:`Xcode` generator no longer adds the per-config suffix
+ ``$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)`` to library search paths.
+ See policy :policy:`CMP0142`.