Project Config

The project config is a per-project configuration. It holds all data about the current value of options that are defined in your buildfile, as well as the triplet to build for.

To display the current config, simply use nitto conf show (or add -j if you want json!).

The Triplet

The triplet consists of three values: the architecture, the platform and the mode:

  • architecture is a string for your processors architecture; it’s vital for low-level languages such as c/c++. Examples would be x86 or x86_64.
  • the platform is a string that tells more about on what system you are running. Examples would be windows, linux or android.
  • with ‘mode’, nitto means if you want to build a debug or release build. There are only these two modes.

All three of them together, and every build can be described, if the language requires this, which would be the case for languages such as c/c++.

To change the tripplet, simply use nitto conf --os=xxx --arch=xxx --mode=xxx to set either one of them.

Example: nitto conf --os=windows (change the os to build for to windows while preserving both architecture and mode)

You also can access these values at any time in your buildfile:

  • $(sys.mode)
  • $(sys.platform) or $(sys.plat)
  • $(sys.arch)

Options

Options can be specifed per target (--opt) or globally per project (--gopt). Simply call nitto conf with the right flag and as value use an string in the form of key:value. For target specific options, just add an argument for the target’s name.

Example: nitto conf --opt='ruby.version:3.1.3' myapp