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
75 stars 2 forks source link
build c cpp dotnet msbuild zig

Zig SDK

Zig SDK

An MSBuild SDK for building Zig, C, and C++ projects using the Zig compiler.

[![License](https://img.shields.io/badge/license-0BSD-brown)](LICENSE-0BSD) [![Commits](https://img.shields.io/github/commit-activity/m/vezel-dev/zig-sdk/master?label=commits&color=slateblue)](https://github.com/vezel-dev/zig-sdk/commits/master) [![Build](https://img.shields.io/github/actions/workflow/status/vezel-dev/zig-sdk/build.yml?branch=master)](https://github.com/vezel-dev/zig-sdk/actions/workflows/build.yml) [![Discussions](https://img.shields.io/github/discussions/vezel-dev/zig-sdk?color=teal)](https://github.com/vezel-dev/zig-sdk/discussions) [![Discord](https://img.shields.io/badge/discord-chat-7289da?logo=discord)](https://discord.gg/wtzCfaX2Nj) [![Zulip](https://img.shields.io/badge/zulip-chat-394069?logo=zulip)](https://vezel.zulipchat.com)

The Zig SDK is an MSBuild SDK that augments the .NET SDK with the ability to build Zig, C, and C++ projects.

With support for multiple programming languages, cross-compilation, NuGet packaging, and more, the Zig SDK makes it trivial to author native components as part of your .NET solution - without all the hassle that is usually part and parcel of building and packaging native code. These features are powered by the Zig toolchain.

Usage

This project offers the following packages:

Package Description Downloads
Vezel.Zig.Sdk Provides the MSBuild SDK and associated tasks. Downloads

To install an SDK package in a project, add it to your global.json under the msbuild-sdks property.

For more information, please visit the project home page.

Building

You will need the .NET SDK installed. Simply run ./cake (a Bash script) to build artifacts. You can also use ./cake pack if you do not want to build the documentation (which requires Node.js).

License

This project is licensed under the terms found in LICENSE-0BSD.

The Zig logo is licensed under the terms found in LICENSE-CC-BY-SA-4.0.