MSVC构建自定义:为每个头文件创建硬链接

时间:2019-05-23 19:52:31

标签: visual-studio

在构建C ++库时,我目前将所有头文件从“源”目录复制到一个单独的“包含”目录中。之后,“ include”目录对库用户公开。

为了自动执行复制,我在MSVC项目中添加了一个构建后事件:

xcopy $(ProjectDir)src\*.h $(SolutionDir)include\$(ProjectName)\ /d /i /y /s

它可以按预期工作。

但是,不时检查标题并编辑原始库时,我倾向于混淆-哪个文件是副本,哪个是原始文件?我发现,如果仅将“ include”目录中的文件硬链接到“ source”中的原始文件,就会简单得多。

但是我不能用xcopy来做。似乎正确的做法是为我找到的每个单个头文件调用mklink。但是,这可能不应该作为构建后事件来完成,这是构建后的一个动作。相反,作为构建的一部分,对于项目中的每个.h文件。

这使我了解了所谓的“构建定制”。这将我定向到此文档:

https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2019

我的头爆炸了。它没有解释我应该在那些.targets和.props文件中放入什么。而且所解释的内容令人困惑(为什么我需要这些?)。

我尝试检查内置的自定义规则,例如:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations

但是这些文件很大,也没有帮助。他们似乎指定了用户可用的所有菜单。我想要的只是每个文件要执行的单个命令...

0 个答案:

没有答案