Skip to content
/ asio Public
forked from chriskohlhoff/asio

Asio C++ Library (uses zig build-system)

License

Notifications You must be signed in to change notification settings

kassane/asio

 
 

Repository files navigation

Asio Standalone for Zig Package Manager (MVP)

How to use

e.g:

  • build.zig
    const asio_dep = b.dependency("asio", .{ // <== as declared in build.zig.zon
        .target = target, // the same as passing `-Dtarget=<...>` to the library's build.zig script
        .optimize = optimize, // ditto for `-Doptimize=<...>`
    });
    const libasio = asio_dep.artifact("asio"); // <== has the location of the dependency files (asio)
    /// your executable config
    exe.linkLibrary(libasio); // <== link libasio
    exe.installLibraryHeaders(libasio); // <== get copy asio headers to zig-out/include 
  • build.zig.zon
# '--save=asio': (over)write latest git commit (no need manually update)
$ zig fetch --save=asio git+https://github.com/kassane/asio

or add manually to your build.zig.zon file:

.{
    .name = "example",
    .version = "0.1.0",
    .paths = .{""},
    .dependencies = .{
        .asio = .{
            .url = "https://github.com/kassane/asio/archive/[tag/commit-hash].tar.gz",
            // or
            .url = "git+https://https://github.com/kassane/asio#commit-hash",
            .hash = "[multihash - sha256-2]",
        },
    },
}
# zig project helper
Project-Specific Options:
  -Dtarget=[string]            The CPU architecture, OS, and ABI to build for
  -Dcpu=[string]               Target CPU features to add or subtract
  -Ddynamic-linker=[string]    Path to interpreter on the target system
  -Doptimize=[enum]            Prioritize performance, safety, or binary size
                                 Supported Values:
                                   Debug
                                   ReleaseSafe
                                   ReleaseFast
                                   ReleaseSmall
  -DShared=[bool]              Build the Shared Library (default: false)
  -DSSL=[bool]                 Build Asio with OpenSSL support (default: false)
  -DTests=[bool]               Build tests (default: false)

More info about zig-pkg

Languages

  • C++ 96.6%
  • XSLT 1.2%
  • Makefile 1.0%
  • Perl 0.8%
  • HTML 0.2%
  • Zig 0.1%
  • Other 0.1%