CMake:从文件中读取内部版本号以设置变量

Gra*_*erg 14 cmake build-numbers

我正在开发一个项目,其中内部版本号存储在项目根目录中名为"BuildNumber.txt"的文件中.我想做的是让CMake读取该文件中的数字并设置一个可应用于头文件的变量.

setup.h.in

#define build_number "@BUILD_NUMBER@";
Run Code Online (Sandbox Code Playgroud)

使用configure_file,可以使用CMake变量替换.in文件中的占位符.是否有可能让CMake将BuildNumber.txt中的数字读入变量?

sak*_*kra 24

您可以使用CMake命令file (STRINGS ...)实现此目的.假设构建号位于文件BuildNumber.txt中的一行中,以下命令将把它读入CMake变量BUILD_NUMBER:

file (STRINGS "BuildNumber.txt" BUILD_NUMBER)
Run Code Online (Sandbox Code Playgroud)

另请参阅文件命令参考.

  • 另请参阅"文件(READ"命令.您可以将整个文件读入变量,然后在必要时对其执行其他字符串操作. (4认同)