Building

For guaranteed results with minimal configuration, use Vagrant.

Linux

Dependencies

When building outside of Vagrant, run the provision script with the appropriate flags:

provision/provision.sh --home $HOME --root $ROOT
  • $HOME should be the home directory (ex. ~)
  • $ROOT should be the root of nessemble (ex. .)

Start

For 64-bit:

vagrant up linux64 && vagrant ssh

For 32-bit:

vagrant up linux32 && vagrant ssh

Build

make

Package

make package

The .deb will be in the releases directory.

Windows

Start

vagrant up linux64 && vagrant ssh

Build

For 64-bit:

make win64

For 32-bit:

make win32

Package

For 64-bit:

make win64_package

For 32-bit:

make win32_package

The .msi will be in the releases directory.

Mac

The only way to build for Mac is to build on a Mac.

Dependencies

brew install bison flex lua

Build

make

Package

make package

The .pkg will be in the releases directory.

Javascript

Dependencies

Install Emscripten.

Build

make js

To minify:

make min.js

Package

A npm module will be created in the releases directory.

make js_package

Test

make test-js

Extra

Scripting

nessemble has built-in support for Javascript, Lua, and Scheme scripting. (Read more in the section on Extending). These each require their own dependencies and may be selectively turned on/off.

Pass a macro definition to make for each type of scripting:

make SCRIPTING="-DSCRIPTING_JAVASCRIPT=0" # disable
make SCRIPTING="-DSCRIPTING_JAVASCRIPT=1" # enable (default)

make SCRIPTING="-DSCRIPTING_LUA=0" # disable
make SCRIPTING="-DSCRIPTING_LUA=1" # enable (default)

make SCRIPTING="-DSCRIPTING_SCHEME=0" # disable
make SCRIPTING="-DSCRIPTING_SCHEME=1" # enable (default)

make SCRIPTING="-DSCRIPTING_JAVASCRIPT=1 -DSCRIPTING_LUA=0 -DSCRIPTING_SCHEME=1" # combine several

Servers

Several servers are included for the Website, Documentation, and Registry.

Website

make website

Note

The website server defaults to: http://localhost:9000

Documentation

make docs

Note

The documentation server defaults to: http://localhost:9090

Registry

make registry

Note

The registry server defaults to: http://localhost:8000

CDN

make cdn

Note

The CDN server defaults to: http://localhost:8080

All

All 4 servers can be run as 1 server.

make server

Note

The server defaults to: http://localhost:8000