Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将变量形式make移植到Cmake_C++_C_Makefile_Cmake - Fatal编程技术网

C++ 将变量形式make移植到Cmake

C++ 将变量形式make移植到Cmake,c++,c,makefile,cmake,C++,C,Makefile,Cmake,我们的库使用Cmake,而整个系统使用Make文件进行构建 我想将makefile中定义的变量(预处理器宏)的值移植到Cmakefile,并将其用作库源代码中的预处理器marco 如何做到这一点?您可以在CMake调用时定义变量,如下所示: cmake -DMY_VAR=ON <path_to_CMakeLists.txt> 最后在代码中: #ifdef ENABLE_MY_VAR // Your code #endif 您必须告诉我们更多关于CMake如何集成到Make

我们的库使用Cmake,而整个系统使用Make文件进行构建

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


如何做到这一点?

您可以在CMake调用时定义变量,如下所示:

cmake -DMY_VAR=ON <path_to_CMakeLists.txt>
最后在代码中:

#ifdef ENABLE_MY_VAR
    // Your code
#endif

您必须告诉我们更多关于CMake如何集成到Makefile中的信息。您能详细说明一下吗?cmake-DMY_VAR=ON我是否在makefile中执行此操作?您的问题不清楚cmake是如何触发的。它是在您在全球项目中运行make时启动的吗?是的。。。全局项目是使用make…构建的,这也将触发cmake将我们的库构建为共享库。因此,当make启动cmake以生成makefile时,您可以通过相应地格式化launch命令,根据make变量向其传递变量。添加要传递的变量的示例和启动CMake的makefile中的代码片段将有助于给出答案
#ifdef ENABLE_MY_VAR
    // Your code
#endif