首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在现代CMake中设置全局选项?

在现代CMake中设置全局选项?
EN

Stack Overflow用户
提问于 2019-07-30 20:15:39
回答 1查看 1.1K关注 0票数 1

我正在使用cmake构建我的库,其中包含一个google-test (子模块)的子目录。作为CI流水线的一部分,我正在运行msan (clang memory sanitizer),这需要我使用一些特殊选项(-fsanitize=memory -stdlib=libc++ -L/path/to/libc++/lib -I/path/to/libc++/include ...)构建整个项目(包括谷歌测试)。

现在,我只是使用CMAKE_CXX_FLAGS和一个全局include_directories来设置所有的库/包含路径。然而,这与“现代cmake”准则背道而驰。这是对全局变量的适当使用吗,还是有其他方法可以使用目标使其正常工作?我可以为我的库这样做,但是它不会传播到google-test,我会得到链接错误。

EN

回答 1

Stack Overflow用户

发布于 2019-07-30 20:24:08

您正在寻找的选项的现代cmake用法是add_compile_options()target_include_directories,您可以在其中为指定的目标项目指定公共和私有包含。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57271472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档