CMake添加QT库是出现"Policy CMP0020 is not set“警告解决方法
查阅官方文档https://cmake.org/cmake/help/v3.0/policy/CMP0020.html解释翻译如下:
在Windows上将Qt可执行文件自动链接到qtmain目标。
CMake 2.8.10和更低版本的Qt用户必须始终在Windows上手动指定到qtmain.lib静态库的链接依赖项。 CMake 2.8.11获得了评估生成器表达式的能力,同时确定了来自导入目标的链接依赖性。使用IMPORTED Qt目标时,这使CMake本身可以自动将链接到Qt的可执行文件链接到qtmain.lib库。对于已经链接到qtmain.lib的应用程序,这应该没有什么影响。对于提供自己的替代WinMain实现的应用程序以及使用QAxServer库的应用程序,将需要根据文档禁用此自动链接。
CMake 2.8.11版中引入了此策略。当未设置策略并使用OLD行为时,CMake 2.8.12.1版会发出警告。使用cmake_policy命令将其明确设置为OLD或NEW。
解决方法:在CMakeLists.txt文件中添加命令:
cmake_policy(SET CMP0020 NEW)