我正在开发一个项目,其中内部版本号存储在项目根目录中名为"BuildNumber.txt"的文件中.我想做的是让CMake读取该文件中的数字并设置一个可应用于头文件的变量.
#define build_number "@BUILD_NUMBER@";
Run Code Online (Sandbox Code Playgroud)
使用configure_file,可以使用CMake变量替换.in文件中的占位符.是否有可能让CMake将BuildNumber.txt中的数字读入变量?
我想将我的软件版本嵌入到我的代码中,然后使用类似-vor之类的命令从程序二进制文件中检索它--version.作为示例,一些GNU/Linux软件二进制文件在命令行中提供-v或-V参数时打印其版本信息,ls以此为例:
$ ls --version
ls (GNU coreutils) 8.13
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Run Code Online (Sandbox Code Playgroud)
是否有约定或标准这样做?我试图搜索这些信息,但由于我不知道正确的术语,我的搜索仅导致版本控制howto.软件代码是用C++语言编写的,如果它有助于更好地解决问题.