为什么子项目 CMAKE 不考虑 fno-sanitize,请禁用目标的消毒器
Why fno-sanitize is not taken into account for a subproject CMAKE, disable sanitizer for a target
我正在做一个有几个目标的CMake项目。
我正在通过CMake激活地址清理器(ccmake .
并放入ADDRESS_SANITIZER=ON
(。它已正确激活,尽管我想在其中一个目标上停用它。为此,我在目标的编译器标志中添加了-fno-sanitize=all
,但没有考虑在内。
有没有办法使特定目标的消毒剂失活?所讨论的目标不依赖于项目的任何库或任何其他目标。它仅取决于计算机上安装的 LLVM 库。
子项目有自己的CMakeList.txt
,并作为子项目添加到主项目中。
-fno-sanitize=all
由set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-sanitize=all"
设置
而不是set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-sanitize=all
我使用了解决问题的target_compile_options(target -fno-sanitize=all)
。
相关文章:
- 在 CMake 中为每个目标设置编译器/链接器标志
- 如何在 CMake 中对目标依赖项进行分组?
- 我应该如何在没有变量的情况下将相同的参数传递给 CMAKE 中的多个目标?
- CMake 错误 - 目标 foo INTERFACE_SOURCES属性包含在源目录中以前缀为前缀的路径
- 如何从目标触发 CMake 重新配置?
- 为什么子项目 CMAKE 不考虑 fno-sanitize,请禁用目标的消毒器
- CMake "安装" 目标及其 SO 依赖项
- CMake on FindOpenGL.cmake 中的错误,当使用导入的目标 OpenGL::GLU?
- 在对象库中包含 CMake 目标的标头
- CMake 设置使用不正确的参数数调用的目标属性
- CMake 的导出如何知道目标版本是什么?
- CMake:防止在子目录库项目中生成测试可执行目标
- 如何让KDevelop & CMake只构建特定目标?
- CMake:什么是可能的目标源类型?它们可以扩展吗
- CMake无法确定目标的链接器语言:fileloader
- CMake 库目标并不总是出现在 Visual Studio 2017 的"启动项"下拉列表中。
- 如何使用cmake从主要的CMakeList.txt复制目标文件?
- 导出(安装)的 cmake 目标是否可分发?
- CMake 提升进口目标
- CMAKE+QT MAC 如何设置部署目标?