我们的图书馆使用Cmake,而整体系统使用Make文件进行构建。

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

怎么做?

最佳答案

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

cmake -DMY_VAR=ON <path_to_CMakeLists.txt>


然后在您的CMake文件中:

if (MY_VAR)
    add_definitions(-DENABLE_MY_VAR)
endif()


最后在您的代码中:

#ifdef ENABLE_MY_VAR
    // Your code
#endif

10-07 14:23