chg: simplifying build logic - a simple line in the documentation should save us the code here
This commit is contained in:
parent
409454a455
commit
6c496b67b8
2 changed files with 19 additions and 16 deletions
|
|
@ -7,20 +7,4 @@
|
||||||
<PropertyGroup Condition="'$(MSBuildProjectName)' == 'Raylib-cs' And '$(RuntimeIdentifier)' == 'browser-wasm'">
|
<PropertyGroup Condition="'$(MSBuildProjectName)' == 'Raylib-cs' And '$(RuntimeIdentifier)' == 'browser-wasm'">
|
||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<!-- Raylib-cs 8.1.0 is not on nuget.org yet; pack locally so Examples and tests resolve the package with native runtimes. -->
|
|
||||||
<Target Name="_EnsureLocalRaylibCsPackage"
|
|
||||||
BeforeTargets="Restore"
|
|
||||||
Condition="'$(MSBuildProjectName)' != 'Raylib-cs' And Exists('$(MSBuildThisFileDirectory)Raylib-cs/Raylib-cs.csproj')">
|
|
||||||
<PropertyGroup>
|
|
||||||
<_LocalNuGetDir>$(MSBuildThisFileDirectory)nuget</_LocalNuGetDir>
|
|
||||||
<_LocalRaylibCsNupkg>$(_LocalNuGetDir)/Raylib-cs.$(RaylibCsVersion).nupkg</_LocalRaylibCsNupkg>
|
|
||||||
</PropertyGroup>
|
|
||||||
<MakeDir Directories="$(_LocalNuGetDir)" Condition="!Exists('$(_LocalNuGetDir)')"/>
|
|
||||||
<MSBuild Projects="$(MSBuildThisFileDirectory)Raylib-cs/Raylib-cs.csproj"
|
|
||||||
Targets="Restore;Pack"
|
|
||||||
Properties="Configuration=Release;PackageOutputPath=$(_LocalNuGetDir)"
|
|
||||||
RemoveProperties="RuntimeIdentifier;RuntimeIdentifiers;SelfContained;_IsPublishing"
|
|
||||||
Condition="!Exists('$(_LocalRaylibCsNupkg)') Or '$(ForceRaylibCsPack)' == 'true'"/>
|
|
||||||
</Target>
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
19
README.md
19
README.md
|
|
@ -65,6 +65,25 @@ otherwise the command won't work.
|
||||||
|
|
||||||
5. Start coding!
|
5. Start coding!
|
||||||
|
|
||||||
|
## Building from source
|
||||||
|
|
||||||
|
The `Examples` and `Raylib-cs.Tests` projects consume the binding as a NuGet package, and the in-repo
|
||||||
|
version may not be published on nuget.org yet. Pack it once into the local feed before the first build:
|
||||||
|
|
||||||
|
```
|
||||||
|
dotnet pack Raylib-cs -c Release -o nuget
|
||||||
|
dotnet build
|
||||||
|
```
|
||||||
|
|
||||||
|
`NuGet.config` points restore at the local `./nuget` feed, so both projects pick up the freshly packed
|
||||||
|
package. If you skip the pack step on a fresh clone, restore fails with NU1301 (the `./nuget` source
|
||||||
|
doesn't exist) or NU1102 (Raylib-cs not found) — running the pack command fixes both.
|
||||||
|
|
||||||
|
When iterating on the binding itself, note that NuGet caches the extracted package by version and
|
||||||
|
ignores repacks of the same version. After repacking, delete the old package from `./nuget` and clear
|
||||||
|
the cached copy (`dotnet nuget locals global-packages --clear`, or delete
|
||||||
|
`~/.nuget/packages/raylib-cs/<version>`) before restoring again.
|
||||||
|
|
||||||
## Hello, World!
|
## Hello, World!
|
||||||
|
|
||||||
```csharp
|
```csharp
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue