我正在使用现有项目并清理CMake.但是,现在我对如何将CMake选项集成到实际源代码中感到有点困惑.
为了简单起见,假设我只想执行一块代码,比如说cout << "print";,example.cpp如果在CMake ENABLE_PRINT上设置了值,则执行内部代码ON.
项目目录如下所示:

使用上面的例子,我做了以下事情:
CMakeLists.txt,我补充说OPTION( ENABLE_PRINT "Enable Print" ON) Config.h文件中,我添加了#define ENABLE_PRINTConfig.h.in地处例如子项目,我加#cmakedefine ENABLE_PRINTexample.cpp,我包围了cout << "print";内部#ifdef ENABLE_PRINT和#endif进行这些更改后,项目将配置并生成就好了.但是,当我制作软件时,它会出错并且基本上告诉我,我所包围的代码块#ifdef根本没有被执行; 它被忽略了.换句话说,我采取的上述步骤除了"注释掉"我希望以ENABLE_PRINT为条件的代码块之外没有做任何事情.
那么,我将如何使这项工作?