【发布时间】:2018-06-19 18:51:25
【问题描述】:
我正在尝试至少遵循现代 cmake >= 3.0 的指南,我不假设任何关于编译器的内容并使用基于目标的命令。
见:https://www.youtube.com/watch?v=bsXLMQ6WgIk 或搜索“有效cmake”。
那么,当我的目标依赖于 SSE 4.1 时,我应该如何声明这些信息?
我实际上希望 FindSSE 包含一个没有源但带有它自己的适当链接器标志的接口目标。但它只说明主机上是否存在 SSE 版本。
这因平台而异,例如: /arch:sse4.1 与 -msse4.1
那么我是否遗漏了 cmake 内部为不同编译器处理此设置的东西,还是我只需要检查平台并相应地设置 target_compile_options?
【问题讨论】:
-
关于第一点:您可以将 FindSSE 设置的变量封装到您自己编写的纯接口目标中。然后,您自己的目标可以链接到此(私有)。更多的是你自己写的,但只要新的指导方针没有被到处接受,你就没有太多的选择。