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. CMake version 3.19.0-rc3 warns when the policy is not set and uses OLD
behavior. Use the cmake_policy()
command to set it to OLD
or NEW
explicitly.
Note
The OLD
behavior of a policy is deprecated by definition
and may be removed in a future version of CMake.
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/policy/CMP0020.html