Skip to content

Commit 8fe1db4

Browse files
committed
Add target to ensure triplet match
1 parent 21b685c commit 8fe1db4

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/Directory.Solution.props

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<Project>
2+
<Import Project="$(MSBuildProjectDirectory)\vcpkg.props" />
3+
</Project>

src/vcpkg.props

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,24 @@
4848
<VcpkgTriplet>x86-fuzzing</VcpkgTriplet>
4949
<VcpkgConfiguration>Release</VcpkgConfiguration>
5050
</PropertyGroup>
51+
52+
<PropertyGroup>
53+
<_TripletFile>$(VcpkgInstalledDir)\.selectedtriplet</_TripletFile>
54+
<_IsBuildingSln>$(MSBuildProjectName.EndsWith('.sln'))</_IsBuildingSln>
55+
</PropertyGroup>
56+
57+
<Target Name="WriteSolutionTripletToFile" BeforeTargets="Build" Condition="'$(_IsBuildingSln)' == 'true'">
58+
<WriteLinesToFile File="$(_TripletFile)" Lines="$(VcpkgTriplet)" Overwrite="true" />
59+
</Target>
60+
61+
<Target Name="EnsureNoTripletMismatch" BeforeTargets="PrepareForBuild" Condition="'$(_IsBuildingSln)' != 'true'">
62+
<ReadLinesFromFile File="$(_TripletFile)">
63+
<Output TaskParameter="Lines" ItemName="_TripletFileLines" />
64+
</ReadLinesFromFile>
65+
66+
<PropertyGroup>
67+
<_SolutionTriplet>@(_TripletFileLines)</_SolutionTriplet>
68+
</PropertyGroup>
69+
<Error Condition=" '$(_SolutionTriplet)' != '$(VcpkgTriplet)' " Text="The vcpkg triplet $(VcpkgTriplet) selected for this project does not match the solution triplet $(_SolutionTriplet)" />
70+
</Target>
5171
</Project>

0 commit comments

Comments
 (0)