gpt4 book ai didi

c++ - 现代 CMake 应该如何添加 SSE 标志?

转载 作者:行者123 更新时间:2023-11-30 02:19:17 26 4
gpt4 key购买 nike

我试图至少遵循现代 cmake >= 3.0 的指导方针,我不对编译器做任何假设并使用基于目标的命令。

参见:https://www.youtube.com/watch?v=bsXLMQ6WgIk或搜索“effective cmake”。

那么,当我的目标依赖于 SSE 4.1 时,我应该如何声明此信息?

我实际上期望 FindSSE 包含一个没有源但带有自己适当的链接器标志的接口(interface)目标。但它仅说明主机上是否存在 SSE 版本。

这因平台而异,例如:/arch:sse4.1 与 -msse4.1

那么我是不是遗漏了 cmake 内部的一些东西来为不同的编译器处理这个设置,还是我只需要检查平台并相应地设置 target_compile_options?

最佳答案

根据 lubgr 的回复,我设计了这个:

add_library(sse4_1 INTERFACE IMPORTED)
if(MSVC)
target_compile_options(sse4_1 INTERFACE /arch:SSE4.1)
else()
target_compile_options(sse4_1 INTERFACE -msse4.1)
endif()

关于c++ - 现代 CMake 应该如何添加 SSE 标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50935181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com