M2: a build.zig step makes installer packages #17
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jeff/zixl#17
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What to build
A Zig project with zixl as a dependency makes an installer package as part of its own
zig build:zixl.addInstallerPackage(b, .{ ... })takes WiX sources, an architecture, preprocessor variables (text, or a file or directory the build makes or holds), include directories and an optional timestamp, and gives back the package and the directory holding it with any external cabinets, asLazyPaths.The package is made again when a WiX source, an included file, a file a source path names, or a define changes, and not otherwise.
Acceptance criteria
addInstallerPackageis usable from a project that depends on zixl, whatever that project is being built for.Source.nix flake checkcovers all of the above from a project undertests/build.Done in
d69c8ab.zixl.addInstallerPackagebuilds zixl for the build machine and runs it.zixl --depfiletells Zig's cache what each package was made from, so an included file or a source path changing makes the package again. Thebuild-stepcheck innix flake checkcovers it fromtests/build: a Windows program built and packaged in onezig build, the step cached when nothing changed, and made again when an include or the program changes. CI run 14 is green. ADR-0005 records why the step runs the program rather than the library.