sdg*_*sdh 3 cmake c-preprocessor
我正在查看ZeroMQ的源代码,我想从源代码构建它.在里面我找到了platform.hpp.in
,里面包含:
...
#cmakedefine ZMQ_HAVE_SO_PEERCRED
#cmakedefine ZMQ_HAVE_LOCAL_PEERCRED
#cmakedefine ZMQ_HAVE_SOCK_CLOEXEC
#cmakedefine ZMQ_HAVE_SO_KEEPALIVE
#cmakedefine ZMQ_HAVE_TCP_KEEPCNT
...
Run Code Online (Sandbox Code Playgroud)
我假设这些cmakedefine
宏用作生成头文件的模板,但它们在CMake中究竟是如何工作的?如何确定哪些是有效值?在构建项目时,用户如何设置值?
它是由...处理的文件的一部分configure_file
.当configure_file
为您的文件调用时,#cmakedefine FOO
替换为#define <valueFoo>
和<valueFoo>是CMake变量的值FOO
.这用于通过定义的C预处理器宏将Vale从Vake传递到C或C++.
文档:https://cmake.org/cmake/help/latest/command/configure_file.html
归档时间: |
|
查看次数: |
2960 次 |
最近记录: |