2014-02-05 56 views
0

我们的库使用Cmake,而整体系统使用Make文件进行构建。端口一个变量形式使Cmake

我想将生成文件中定义的变量(预处理器宏)的值移植到Cmakefile中,并将其用作库的源代码中的预处理器marco。

如何做到这一点?后来在你的CMake文件

cmake -DMY_VAR=ON <path_to_CMakeLists.txt> 

然后:

+0

你必须告诉我们更多关于CMake如何集成到Makefile中的信息。 – Angew

回答

1

您可以在CMake的调用定义变量,像这样

if (MY_VAR) 
    add_definitions(-DENABLE_MY_VAR) 
endif() 
在你的代码

最后:

#ifdef ENABLE_MY_VAR 
    // Your code 
#endif 
+0

你能详细说明一下吗? cmake -DMY_VAR = ON 我在makefile中执行此操作吗? – user1816574

+0

从您的问题中不清楚CMake是如何触发的。当您在全球项目中运行make时启动它吗? –

+0

是的...全球项目是使用make构建的......这也会触发cmake将我们的库构建为共享库。 – user1816574