vezel-dev / zig-sdk

An MSBuild SDK for building Zig, C, and C++ projects using the Zig compiler.
https://docs.vezel.dev/zig-sdk
BSD Zero Clause License
56 stars 2 forks source link

Project and package reference support #8

Open alexrp opened 3 years ago

alexrp commented 3 years ago

Tracking issue for ProjectReference/PackageReference support.

alexrp commented 3 years ago

Goals:

Notes:

alexrp commented 3 years ago

Part of this work is going to be blocked by https://github.com/dotnet/runtime/issues/54645.

alexrp commented 3 years ago

This is going to depend on ~https://github.com/ziglang/zig/pull/9251~ https://github.com/ziglang/zig/pull/9347. Hopefully it (in some form) can be included in Zig 0.8.1.

alexrp commented 3 years ago

To make consumption of Zig.Sdk packages work, we will need to resolve their extracted location on disk to discover their C/C++ include directory and Zig package directory. This can only be done reliably by reading project.assets.json. We can either do that directly or by using the NuGet.ProjectModel.LockFileFormat API.

alexrp commented 2 years ago

Relevant reference: https://github.com/dotnet/msbuild/blob/main/documentation/ProjectReference-Protocol.md

alexrp commented 2 years ago

Changing milestone since https://github.com/ziglang/zig/pull/9347 didn't make Zig 0.8.1.

alexrp commented 2 years ago

Things should be in place to start work on this in Zig 0.9.0.