diff --git a/.gitignore b/.gitignore index 0203353..3f5c20f 100644 --- a/.gitignore +++ b/.gitignore @@ -63,6 +63,7 @@ project.lock.json project.fragment.lock.json artifacts/ **/Properties/launchSettings.json +dotnet-tools.json *_i.c *_p.c diff --git a/Directory.Build.targets b/Directory.Build.targets index bc743c2..8584d9b 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -7,4 +7,20 @@ Library + + + + + <_LocalNuGetDir>$(MSBuildThisFileDirectory)nuget + <_LocalRaylibCsNupkg>$(_LocalNuGetDir)/Raylib-cs.$(RaylibCsVersion).nupkg + + + + diff --git a/README.md b/README.md index 406665f..34b73d0 100644 --- a/README.md +++ b/README.md @@ -65,25 +65,6 @@ otherwise the command won't work. 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/`) before restoring again. - ## Hello, World! ```csharp @@ -115,6 +96,22 @@ internal static class Program } ``` +## Building the examples locally + +The `Examples` project references the sibling `Raylib-cs` project by default, so local changes to the +bindings are picked up directly: + +``` +dotnet run --project Examples +``` + +To build the examples against the Raylib-cs NuGet package instead (the version set by +`RaylibCsVersion` in [Directory.Build.props](Directory.Build.props)), set `UseRaylibCsPackage`: + +``` +dotnet run --project Examples -p:UseRaylibCsPackage=true +``` + ## Contributing Feel free to open an issue. If you'd like to contribute, please fork the repository and make