c++ - 根据源文件所在的目录更改 cmake CMAKE_CXX_FLAGS

标签 c++ cmake

我有一个 cmake 项目,它编译各种库并将其链接到我的代码中。我的问题是 CMAKE_CXX_FLAGS 变量包含一个宏定义,当用于编译项目目录之一中的源代码时会产生冲突。是否可以定义 CMAKE_CXX_FLAGS 目录,即(在伪代码中)。

if [ dir1 ] then 
set(CMAKE_CXX_FLAGS  "-DMPICH_IGNORE_CXX_SEEK ${LIB1} ${LIB2} -Wno-sign-compare -O3 -DVARSUB=double ")
if [ dir2 ] then
set(CMAKE_CXX_FLAGS  "-DMPICH_IGNORE_CXX_SEEK ${LIB1} ${LIB2} -Wno-sign-compare -O3 ")
fi

谢谢你的帮助

最佳答案

在子目录中使用 COMPILE_DEFINITIONS 并向其中添加 -DVARSUB=double

关于c++ - 根据源文件所在的目录更改 cmake CMAKE_CXX_FLAGS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29278022/

相关文章:

c++ - 为什么现代 C++ IDE 不能自动生成头文件?

c++ - 使用直方图作为函数的参数

c++ - 困惑为什么 "control may reach end of non-void function"

c++ - CMake : branch on clang version

c# - 在 Windows 中捕获 http/https 请求

c++ - 如何使用多个统一缓冲区对象

c++ - CMake:构建并安装本地存储的子模块

c++ - 如何在usr/include/linux中搜索头文件

c - 是否可以使用 CMAKE 在 make install 上重新编译一些源文件

c++ - 尝试导入 QuickControl 时出错