1- # boost-libraries-zig
1+ # Boost Libraries using Zig build-system
22
33[ Boost Libraries] ( https://boost.io ) using ` build.zig ` .
44
55Replacing the [ CMake] ( https://cmake.org/ ) and [ B2] ( https://www.bfgroup.xyz/b2/ ) build system.
66
7+
8+ > [ !IMPORTANT]
9+ > For C++ projects, ` zig c++ ` uses llvm-libunwind + llvm-libc++ (static-linking) by default.
10+ > Except, for MSVC target (` -nostdlib++ ` ).
11+
12+
713### Requirements
814
915- [ zig] ( https://ziglang.org/download ) v0.13.0 or master
@@ -38,6 +44,7 @@ Project-Specific Options:
3844 ReleaseSafe
3945 ReleaseFast
4046 ReleaseSmall
47+ -Datomic=[bool] Build boost.atomic library (default: false)
4148 -Dcharconv=[bool] Build boost.charconv library (default: false)
4249 -Dcobalt=[bool] Build boost.cobalt library (default: false)
4350 -Dcontainer=[bool] Build boost.container library (default: false)
@@ -50,8 +57,12 @@ Project-Specific Options:
5057 -Dlog=[bool] Build boost.log library (default: false)
5158 -Dprocess=[bool] Build boost.process library (default: false)
5259 -Drandom=[bool] Build boost.random library (default: false)
60+ -Dregex=[bool] Build boost.regex library (default: false)
5361 -Dserialization=[bool] Build boost.serialization library (default: false)
62+ -Dstacktrace=[bool] Build boost.stacktrace library (default: false)
5463 -Dsystem=[bool] Build boost.system library (default: false)
64+ -Durl=[bool] Build boost.url library (default: false)
65+ -Dwave=[bool] Build boost.wave library (default: false)
5566 -Dshared=[bool] Build as shared library (default: false)
5667```
5768
@@ -81,6 +92,8 @@ pub fn build(b: *std.Build) !void {
8192 for(boost_artifact.root_module.include_dirs.items) |include_dir| {
8293 try exe.root_module.include_dirs.append(b.allocator, include_dir);
8394 }
95+ // if not header-only, link library
96+ exe.linkLibrary(boost_artifact);
8497}
8598```
8699
0 commit comments