我使用CMake 3.2,古老的MS Visual Studio 2008来构建C ++项目。 我找到了CMake FindHg模块,它可以帮助我检测修订和变更集;我将它们设置为预处理器定义。但是为了将实际版本嵌入到exe文件中,我怎样才能避免在新提交后重新运行cmake实用程序?我找到了仅适用于.NET项目的解决方案(例如,Embedding mercurial revision information in Visual Studio c# projects automatically)。但是对于在MS Visual Studio 2008(和更新版本)中可以正常工作的C ++项目的预构建步骤呢?我也不介意反对这个案例的插件。
答案 0 :(得分:1)
我认为最好的是Visual Studio项目中的预构建步骤。您调用一个.bat脚本来获取带有hg的修订版本,并将其转储到头文件中,例如#define HG_REVISION" 12345",然后您可以在代码中包含此.h并进行修订或你想要的改变。