Skip to content

Commit 2da1666

Browse files
committed
Include all platform binaries
This change to the props file will make the native binaries for all platforms be copied into the NativeBinaries folder regardless of which platform you are building on. The new LibGit2Sharp.dll.config will ensure that mono can find the linux and osx binaries when the are in the NativeBinaries folder.
1 parent 8694a9d commit 2da1666

3 files changed

Lines changed: 27 additions & 14 deletions

File tree

UpdateLibgit2ToSha.ps1

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Push-Location $libgit2Directory
9191
<ItemGroup>
9292
<EmbeddedResource Include="`$(MSBuildThisFileDirectory)\..\libgit2\libgit2_hash.txt" />
9393
</ItemGroup>
94-
<ItemGroup Condition=" '`$(OS)' == 'Windows_NT' ">
94+
<ItemGroup>
9595
<None Include="`$(MSBuildThisFileDirectory)\..\libgit2\windows\amd64\$binaryFilename.dll">
9696
<Link>NativeBinaries\amd64\$binaryFilename.dll</Link>
9797
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -108,16 +108,16 @@ Push-Location $libgit2Directory
108108
<Link>NativeBinaries\x86\$binaryFilename.pdb</Link>
109109
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
110110
</None>
111-
</ItemGroup>
112-
<ItemGroup Condition=" '`$(OS)' == 'Unix' And Exists('/Library/Frameworks') ">
113111
<None Include="`$(MSBuildThisFileDirectory)\..\libgit2\osx\lib$binaryFilename.dylib">
114-
<Link>lib$binaryFilename.dylib</Link>
112+
<Link>NativeBinaries\osx\lib$binaryFilename.dylib</Link>
115113
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
116114
</None>
117-
</ItemGroup>
118-
<ItemGroup Condition=" '`$(OS)' == 'Unix' And !Exists('/Library/Frameworks') ">
119115
<None Include="`$(MSBuildThisFileDirectory)\..\libgit2\linux\amd64\lib$binaryFilename.so">
120-
<Link>lib$binaryFilename.so</Link>
116+
<Link>NativeBinaries\linux\amd64\lib$binaryFilename.so</Link>
117+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
118+
</None>
119+
<None Include="`$(MSBuildThisFileDirectory)\..\libgit2\LibGit2Sharp.dll.config">
120+
<Link>LibGit2Sharp.dll.config</Link>
121121
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
122122
</None>
123123
</ItemGroup>
@@ -126,6 +126,15 @@ Push-Location $libgit2Directory
126126

127127
sc -Encoding UTF8 (Join-Path $projectDirectory "nuget.package\build\LibGit2Sharp.NativeBinaries.props") $buildProperties
128128

129+
$dllConfig = @"
130+
<configuration>
131+
<dllmap os="linux" cpu="x86-64" wordsize="64" dll="$binaryFilename" target="NativeBinaries/linux/amd64/lib$binaryFilename.so" />
132+
<dllmap os="osx" cpu="x86,x86-64" dll="$binaryFilename" target="NativeBinaries/osx/lib$binaryFilename.dylib" />
133+
</configuration>
134+
"@
135+
136+
sc -Encoding UTF8 (Join-Path $projectDirectory "nuget.package\libgit2\LibGit2Sharp.dll.config") $dllConfig
137+
129138
Write-Output "Done!"
130139
}
131140
exit

nuget.package/build/LibGit2Sharp.NativeBinaries.props

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<ItemGroup>
44
<EmbeddedResource Include="$(MSBuildThisFileDirectory)\..\libgit2\libgit2_hash.txt" />
55
</ItemGroup>
6-
<ItemGroup Condition=" '$(OS)' == 'Windows_NT' ">
6+
<ItemGroup>
77
<None Include="$(MSBuildThisFileDirectory)\..\libgit2\windows\amd64\git2-a56db99.dll">
88
<Link>NativeBinaries\amd64\git2-a56db99.dll</Link>
99
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -20,16 +20,16 @@
2020
<Link>NativeBinaries\x86\git2-a56db99.pdb</Link>
2121
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2222
</None>
23-
</ItemGroup>
24-
<ItemGroup Condition=" '$(OS)' == 'Unix' And Exists('/Library/Frameworks') ">
2523
<None Include="$(MSBuildThisFileDirectory)\..\libgit2\osx\libgit2-a56db99.dylib">
26-
<Link>libgit2-a56db99.dylib</Link>
24+
<Link>NativeBinaries\osx\libgit2-a56db99.dylib</Link>
2725
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
2826
</None>
29-
</ItemGroup>
30-
<ItemGroup Condition=" '$(OS)' == 'Unix' And !Exists('/Library/Frameworks') ">
3127
<None Include="$(MSBuildThisFileDirectory)\..\libgit2\linux\amd64\libgit2-a56db99.so">
32-
<Link>libgit2-a56db99.so</Link>
28+
<Link>NativeBinaries\linux\amd64\libgit2-a56db99.so</Link>
29+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
30+
</None>
31+
<None Include="$(MSBuildThisFileDirectory)\..\libgit2\LibGit2Sharp.dll.config">
32+
<Link>LibGit2Sharp.dll.config</Link>
3333
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
3434
</None>
3535
</ItemGroup>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<configuration>
2+
<dllmap os="linux" cpu="x86-64" wordsize="64" dll="git2-a56db99" target="NativeBinaries/linux/amd64/libgit2-a56db99.so" />
3+
<dllmap os="osx" cpu="x86,x86-64" dll="git2-a56db99" target="NativeBinaries/osx/libgit2-a56db99.dylib" />
4+
</configuration>

0 commit comments

Comments
 (0)