CMP0214ΒΆ

Added in version 4.4.

Honor CMAKE_EXE_LINKER_FLAGS for Swift executable targets.

CMake 3.29 introduced CMP0157, which provides an abstraction for selecting the Swift compilation mode. In CMake 3.30, CMAKE_SHARED_LINKER_FLAGS was accidentally honored for Swift shared library targets when CMP0157 is NEW, but the change went unnoticed and was not documented. The corresponding change was not made for Swift executable targets, leaving linker flag handling inconsistent between Swift executables and Swift shared libraries in CMake 3.30 through 4.3.

CMake 4.4 and above prefer to honor CMAKE_EXE_LINKER_FLAGS for Swift executable targets when CMP0157 is set to NEW, restoring consistency with Swift shared library targets. This policy provides compatibility for projects that have not been updated to expect CMAKE_EXE_LINKER_FLAGS to be honored for Swift executables.

The OLD behavior for this policy is to not honor CMAKE_EXE_LINKER_FLAGS for Swift executable targets. The NEW behavior for this policy is to honor CMAKE_EXE_LINKER_FLAGS for Swift executable targets when CMP0157 is set to NEW.

This policy was introduced in CMake version 4.4. It may be set by cmake_policy() or cmake_minimum_required(). If it is not set, CMake does not warn, and uses OLD behavior.

Note

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