NetBeans没有解析CMake定义

时间:2015-11-20 09:41:48

标签: netbeans cmake config

我正在使用NetBeans处理现有的CMake项目。

CMakeLists.txt 中有

set(DEFINES ${SRC}/defines.cmake)

所以在源头你有

#ifdef MY_OPT
//do stuff
#endif

这些在NetBeans中被删除,因为从来没有

#define MY_OPT

相反,有一个

-DMY_OPT
definitions.cmake 中的

如何告诉NetBeans查看此文件(以及其他文件)?

1 个答案:

答案 0 :(得分:0)

set(DEFINES ${SRC}/defines.cmake)

这条线的目的是什么?如果您的defines.cmake包含一些预处理器设置,则最好使用include()

include("${SRC}/defines.cmake")
  

这个define.cmake文件是否有可能通过预处理器实际设置定义?

是的,这是add_definitions()有用的地方:

add_definitions(-DMY_OPT -DANOTHER_ONE)

总结一下:

<强>的CMakeLists.txt

# ...
include("${SRC}/defines.cmake")
# ...

<强> defines.cmake

# Add defines
add_definitions(-DMY_OPT)

来源的某处:

#ifdef MY_OPT
    /* This is used now */
#else
    /* MY_OPT is not defined - shouldn't happen now */
#endif

顺便说一句,你也可以看看configure_file()