我使用 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/