在 C 源代码中访问 CMake 变量
问题:
CMake 变量如何,例如LIBINTERFACE_VERSION,可以在 C 源代码中访问和使用吗?
答案:
选项 1:使用 add_definitions
示例:
<code class="cmake">add_definitions( -DVERSION_LIBINTERFACE=${LIBINTERFACE_VERSION} )</code>
选项 2:将 configure_file 与头文件模板结合使用
示例:
<code class="cmake">// version_config.h.in #ifndef VERSION_CONFIG_H #define VERSION_CONFIG_H // define your version_libinterface #define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@ // alternatively you could add your global method getLibInterfaceVersion here unsigned int getLibInterfaceVersion() { return @LIBINTERFACE_VERSION@; } #endif // VERSION_CONFIG_H</code>
示例:
<code class="cmake">configure_file( version_config.h.in ${CMAKE_BINARY_DIR}/generated/version_config.h ) include_directories( ${CMAKE_BINARY_DIR}/generated/ ) # Make sure it can be included...</code>
示例用法:
<code class="cpp">// Assuming version_config.h is included std::string version = VERSION_LIBINTERFACE;</code>
注意:
configure_file() 方法更具可扩展性,因为它允许将其他变量或定义添加到生成的头文件中。
以上是如何访问 C 源代码中的 CMake 变量?的详细内容。更多信息请关注PHP中文网其他相关文章!