Provides prebuilt libdave binaries.
#245
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@KubaZ2 Thanks for the library.
Here's some content I'd like to contribute.
It's providing Discord's
libdavebinaries via MSBuild to invoke the cmake build.The cmake build is also highly customizable via MSBuild.
I'm making it a separate NuGet package, but let me know if you'd like other patterns.
This initial PR only tested for producing Windows
.dllthough.There are also some Package References changes based on the
alphabranch and authoring description changes for the packages...Let me know your concerns.
Copilot PR Summary:
This pull request introduces significant improvements to the build system by integrating third-party C++ libraries (libdave and mlspp) as submodules and automating their native build process using MSBuild and CMake. It also updates .NET and key package dependencies to their latest versions, and enhances project metadata.
Third-party library integration and native build automation:
libdaveandmlsppas git submodules underNetCord/ThirdParty, and included a new projectNetCord/ThirdParty/Libdave/Libdave.csprojfor packaging prebuilt libdave binaries. (.gitmodules,NetCord.slnx, [1] [2] [3]Directory.Build.props,Directory.Build.targets,Libdave.build.props,Libdave.build.targets) to automate configuration, building, cleaning, and packaging of the libdave native library using CMake, with support for dependency injection and environment customization. [1] [2] [3] [4].NET and dependency updates:
net9.0tonet10.0and bumped several Microsoft.Extensions and System.Linq.AsyncEnumerable package versions from 9.x/10.0.0-rc to 10.0.1. [1] [2]Project metadata and packaging enhancements:
Authorsmetadata and improved package description inDirectory.Build.props.NetCordproject build and included new packaging rules for native binaries and build files. [1] [2] [3]These changes lay the groundwork for robust native interop and easier maintenance of third-party dependencies in the NetCord ecosystem.