cmake基础教程(42)configure_file动态生成头文件

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmake基础教程(42)configure_file动态生成头文件相关的知识,希望对你有一定的参考价值。

有些时候,我们需要在项目中标明版本号、Git的hash号、编译时间等信息,但是显然,对于Git的hash号、编译时间我们不想自己手动填写。现在提供一种途径,将这些信息写入到头文件中,再编译到so库文件或者可执行程序中。

这样,就可以通过提供库文件的接口或者可执行程序的打印中得到这些值了。

当然,还有其他做法,比如通过传宏的形式:
-DVERSION=1.0.0.3480

1. 指令说明

cmake 中的 configure_file 指令将输入文件经过处理生成输出文件,处理的过程主要是变量替换。其语法格式如下。其中,input 为输入的文件,output 为输出的文件。通常,输入文件为 http://xxx-config.h.in,输出文件为 xxx-config.h。

configure_file(<input> <output>
               [NO_SOURCE_PERMISSIONS | USE_SOURCE_PERMISSIONS |
                FILE_PERMISSIONS <permissions>...]
               [COPYONLY] [ESCAPE_QUOTES] [@ONLY]
               [NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ])

以上是关于cmake基础教程(42)configure_file动态生成头文件的主要内容,如果未能解决你的问题,请参考以下文章

CMake基础教程(20)认识cmake命令

CMake基础教程(15)cmake指定C++ 11标准

CMake基础教程(39)pkgconfig

cmake基础教程(13)cmake安装位置前缀CMAKE_INSTALL_PREFIX

CMake基础教程(30)CMake构建系统概览

CMake基础教程(30)CMake构建系统概览