CMP0142 — CMake 3.27.7 Documentation

# CMP0142

New in version 3.25.

The `Xcode` generator does not append per-config suffixes to library search paths.

In CMake 3.24 and below, the `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 `cmake_policy()` command to set it to `OLD` or `NEW` explicitly. Unlike many policies, CMake version 3.27.7 does not warn when this policy is not set and simply uses `OLD` behavior.

Note

The `OLD` behavior of a policy is `deprecated by definition` and may be removed in a future version of CMake.