110 lines
2.4 KiB
Groff
110 lines
2.4 KiB
Groff
.\" SPDX-FileType: DOCUMENTATION
|
|
.\" SPDX-FileCopyrightText: 2022 Anna <cyber@sysrq.in>
|
|
.\" SPDX-License-Identifier: BSD-3-Clause
|
|
.Dd July 2, 2022
|
|
.Dt NIMBUS 1
|
|
.Os
|
|
.Sh NAME
|
|
.Nm nimbus
|
|
.Nd a Nim build system
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl Fl debug
|
|
.Op Fl Fl binDir : Ns Ar path
|
|
.Op Fl Fl nimbleDir : Ns Ar path
|
|
.Op Fl Fl nim : Ns Ar path
|
|
.Op Fl Fl url : Ns Ar url
|
|
.Op nim opts...
|
|
.Ar sourceDir
|
|
.Op Ar buildDir
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
meta-build system generates files for the Ninja build system from Nimble projects.
|
|
.Pp
|
|
The arguments are as follows:
|
|
.Bl -tag -width Ds
|
|
.It Ar sourceDir
|
|
Source directory,
|
|
location where package's
|
|
.Sy .nimble
|
|
file is placed.
|
|
.
|
|
.It Ar buildDir
|
|
Build directory,
|
|
location where all generated files should be placed.
|
|
If this argument is omitted, the current directory is used instead.
|
|
.Pp
|
|
Note that the build directory must be different from the source directory.
|
|
.Nm
|
|
does not support building inside the source directory and attempting to do that leads to an error.
|
|
.
|
|
.It Fl Fl binDir : Ns Ar path
|
|
Set the executable directory, where project's binaries will be installed.
|
|
.
|
|
.It Fl Fl debug
|
|
Show debugging information.
|
|
.
|
|
.It Fl Fl nim : Ns Ar path
|
|
Set the Nim executable.
|
|
.
|
|
.It Fl Fl nimbleDir : Ns Ar path
|
|
Set the Nimble directory, where project's sources will be installed.
|
|
.
|
|
.It Fl Fl url : Ns Ar url
|
|
If this options is set,
|
|
.Nm
|
|
will generate and install a
|
|
.Pa nimblemeta.json
|
|
file.
|
|
Some packages specify their dependencies using URLs and
|
|
.Nm
|
|
is unable to find them unless such metadata file exists.
|
|
.El
|
|
.Pp
|
|
All unrecognized flags are passed to the Nim compiler.
|
|
.Sh ENVIRONMENT
|
|
.Bl -tag -width DESTDIR
|
|
.It Ev DESTDIR
|
|
A variable prepended to each installed target file.
|
|
.El
|
|
.Sh FILES
|
|
The
|
|
.Nm
|
|
meta-build system generates the following files:
|
|
.Bl -tag -width nimblemeta.json
|
|
.It Pa build.ninja
|
|
Build file for a ninja-compatible build system.
|
|
.It Pa installer.nims
|
|
Script for installing packages.
|
|
.It Pa nimblemeta.json
|
|
Metadata file that contains package URL.
|
|
.It Pa tester.nims
|
|
Script for running Nimble-style tests.
|
|
.El
|
|
.Sh EXIT STATUS
|
|
.Ex -std
|
|
.Sh EXAMPLES
|
|
Build and install a project:
|
|
.Bd -literal
|
|
mkdir build
|
|
cd build
|
|
nimbus ..
|
|
ninja
|
|
sudo ninja install
|
|
.Ed
|
|
.Sh SEE ALSO
|
|
.Bl -bullet -width 1n
|
|
.It
|
|
.Lk https://nim-lang.org/docs/nimc.html "Nim compiler user guide"
|
|
.It
|
|
.Lk https://github.com/nim-lang/nimble "Nimble package manager"
|
|
.It
|
|
.Lk https://ninja-build.org/manual.html "Ninja manual"
|
|
.El
|
|
.Sh AUTHORS
|
|
.An -split
|
|
.An Anna
|
|
.Aq Mt cyber@sysrq.in
|
|
.An Nimble Authors
|