c++ - 在 Visual Studio C++ 项目中嵌入 Mercurial 修订和变更集

标签 c++ visual-studio mercurial cmake

我使用 CMake 3.2、古老的 MS Visual Studio 2008 构建 C++ 项目。 我找到了 CMake FindHg 模块,它可以帮助我检测修订和变更集;我将它们设置为预处理器定义。但是如何避免在新提交后重新运行 cmake 实用程序以便将实际版本嵌入到 exe 文件中?我找到了仅适用于 .NET 项目的解决方案(例如,Embedding mercurial revision information in Visual Studio c# projects automatically)。但是,在 MS Visual Studio 2008(及更新版本)中可以正常工作的 C++ 项目的预构建步骤又如何呢?我也不介意针对这种情况使用某些插件。

最佳答案

我认为最好的方法是在您的 Visual Studio 项目中进行预构建。您调用一个 .bat 脚本来获取带有 hg 的修订版,并将其转储到头文件中,例如#define HG_REVISION“12345”,然后您可以将此 .h 包含在您的代码中并获得您想要的修订版或变更集。

关于c++ - 在 Visual Studio C++ 项目中嵌入 Mercurial 修订和变更集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29295943/

相关文章:

java - 使用 jna 加载 lib.so

visual-studio - 无法安装 Visual Studio - 卡在 Visual Studio Hub 服务上

mercurial - 如何找出 mercurial 存储库的大小?

Mercurial Subrepos,如何控制我想将哪个变更集用于子仓库?

c++ - 以下代码片段是什么意思

c++ - 将 int 类型的结构放入 Big Endian 中的 ostream 以转换为 char *

模板调用中的 C++ 模板

c# - 带有属性的 XML 注释中间距的 ReSharper 设置

c - 使用 Visual Studio 2013 链接 C 语言的 lib 库

git - git、mercurial、bazaar 源代码库的可理解性