CMake:从文件中读取build号来设置一个变量



我正在研究一个项目,其中构建号存储在项目根的一个名为'BuildNumber.txt'的文件中。我想做的是让CMake从这个文件中读取数字,并设置一个可以应用于头文件的变量。

setup.h.in

#define build_number "@BUILD_NUMBER@";

使用configure_file,可以用CMake变量替换上面的.in文件中的占位符。是否有可能让CMake从BuildNumber.txt中读取到一个变量?

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

file (STRINGS "BuildNumber.txt" BUILD_NUMBER)

请参见文件命令参考。

我不知道你的操作系统,但我假设你用的是Windows或Linux。

if (UNIX)
  set (show_contents_prog cat)
elseif (WIN32)
  set (show_contents_prog type)
endif (WIN32)
execute_process(COMMAND ${show_contents_prog} input.txt OUTPUT_VARIABLE file_contents)

我想这可能有帮助。

相关内容

  • 没有找到相关文章

最新更新