CMP0020 — CMake 4.3.0 Documentation

# CMP0020

Warning

The `OLD` behavior of this policy was removed in CMake version 4.0. This policy must be set to `NEW` by a call to `cmake_minimum_required()` or `cmake_policy()`.

Automatically link Qt executables to `qtmain` target on Windows.

CMake 2.8.10 and lower required users of Qt to always specify a link dependency to the `qtmain.lib` static library manually on Windows. CMake 2.8.11 gained the ability to evaluate generator expressions while determining the link dependencies from `IMPORTED` targets. This allows CMake itself to automatically link executables which link to Qt to the `qtmain.lib` library when using `IMPORTED` Qt targets. For applications already linking to `qtmain.lib`, this should have little impact. For applications which supply their own alternative WinMain implementation and for applications which use the QAxServer library, this automatic linking will need to be disabled as per the documentation.

The `OLD` behavior for this policy is not to link executables to `qtmain.lib` automatically when they link to the QtCore `IMPORTED` target. The `NEW` behavior for this policy is to link executables to `qtmain.lib` automatically when they link to QtCore `IMPORTED` target.

This policy was introduced in CMake version 2.8.11. Prior to removal in CMake version 4.0, it could be set by `cmake_policy()` or `cmake_minimum_required()`. If it was not set, CMake warned, and used `OLD` behavior.