在msbuild / xbuild中我想要一个“libPath”属性,可以使用/p:libpath="/path/to/all/libs"
在命令行上对其进行ovver。但是当未定义此属性时,我想调用pkg-config --retrieve-Path somePackage
来获取当前系统路径。
我想here我需要将命令的输出存储在属性中 该命令始终返回一行输出。
我试过像
这样的东西<PropertyGroup>
<LibPath />
</PropertyGroup>
<Task ....>
<Exec Command="pkg-config --retrieve-Path somePackage"
Condition="$(LibPath)' == ''">
<OutputTaskParameter="output"
PropertyName="LibPath" />
</Exec>
</Task>
但那没用。
答案 0 :(得分:1)
您无法使用exec执行此操作,因为Exec任务无法从其运行的工具或命令中收集输出。
您必须编写一个调用pkg-config的自定义msbuild任务,并在属性中收集此输出。
答案 1 :(得分:0)
我对如何实现这一点有了一些想法 我创建了一个xbuild / msbuild自定义任务来简单地执行给定的命令并使输出可用 可以查看结果here。