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

时间:2015-03-26 12:07:00

标签: 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

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

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