I'd like to
the 3.0 prerelease release of JamPlus , a build system
I have been maintaining and updating for the past 13-ish
years. I've mentioned my usage of it on this
mailing list before, but I thought I should make it a bit
more official, especially
since JamPlus has Lua support out of box.
So, a description
JamPlus is a very
fast and powerful code and data build system built on the
code base of the
original Perforce version of Jam. JamPlus is used to
the builds of massive code and data sets at large
companies, and individual projects. JamPlus drives the
long-running LuaPlus 
distribution, a project that builds a collection of Lua
versions and modules
across Windows, macOS, and Linux.
are on the JamPlus website .
also available on the JamPlus website .
A super quick usage
overview of JamPlus is found in the Quick Start Guide [5a]
There is an example
 of how you might build Lua 5.3 as a shared library and
A sampling of the
features in the JamPlus distribution follow:
Binaries can be easily bootstrapped for Windows, Linux,
and Mac OS X.
- Compiler support:
Out of box compiler support for Visual C++ 201x/200x/6,
GCC, Clang, and MinGW.
- Platform targets:
Platform modules are provided for building for Windows,
Linux, macOS, iOS, and
Android targets. Additionally, an Xbox 360 console
platform is provided as a
sample. If the machine has iOS Build Environment for
Windows installed (see http://www.pmbaty.com/iosbuildenv/),
then iOS builds can be made on a Windows Boot Camp
Generator: Output project files for the Visual Studio IDE
- Multiple Passes:
Run multiple internal passes collecting unknown
dependencies, and execute them
in a future pass.
- Network Cache:
to-be-built target can be retrieved from one or more
shared network file caches
of prebuilt targets.
Dependencies: When the 'command line' of a target (not
necessarily the real
command line) changes, the target is rebuilt.
JamPlus is able to batch files to tools that support it,
such as the Visual C++
- Checksum support:
Enable a flag, and JamPlus will use the checksums of files
to detect change
instead of timestamps.
- Lua support:
Either a partial build description or the entire build
description can be
written in Lua.
If I can be of any
assistance, please email me at email@example.com.
Take care everyone.