我有一个 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/