_WIN32_WINNT我想知道WINVERCMake 项目的“现代”(阅读:基于属性)方式是什么。
我想解决的问题是如何将版本设置为我的项目的任何库或子组件所需的最高值。例如,如果我的项目代码本身需要WINVER至少为 0x0601 (Windows 7),但它使用的库 A 至少需要 0x0603 (Windows 8.1) 和库 B 至少需要 0x0A00 (Windows 10),那么很明显我的整体产品需要其中最高的。
如果我只是将适当的设置定义为target_compile_definitions,我最终可能会在命令行上多次使用相同的宏定义,最后一个优先,这可能是错误的。
如何安排自动获取最高版本?
我试图找到这个问题的其他答案,但它们似乎相当古老,因此似乎并不反映现代实践。