我有一个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
感谢您的帮助
答案 0 :(得分:1)
在子目录中使用COMPILE_DEFINITIONS
并向其添加-DVARSUB=double
。