【发布时间】:2018-09-26 03:52:07
【问题描述】:
给定代码
int main(int argc, char** argv)
{
#ifdef MY_DEFINE
printf("HERE\n");
#else
printf("THERE\n");
#endif
}
要切换 HERE THERE 行为,我的 `CMakeLists.txt 中需要以下内容
IF (${MY_DEFINE} MATCHES 1) # I want to remove these lines
add_compile_options(-DMY_DEFINE)
ENDIF(${MY_DEFINE} MATCHES 1) # Up to here
那么,我可以
cmake -DMY_DEFINE=1 获取HERE
cmake -DMY_DEFINE=0 获取THERE
这一切似乎有点多余......是否可以删除我的 CMakeLists.txt 中的那几行并且仍然能够获得
HERE 类似于 cmake -DMY_DEFINE=1
THERE 与 cmake 或 cmake -DMY_DEFINE=0?
【问题讨论】: