Overview

Version 16 (Joshua Jensen, 05/31/2010 09:39 am)

1 1
h1. Overview
2 1
3 14 Joshua Jensen
JamPlus is a powerful code and data build system built on the code base of the original Perforce version of Jam, a software build tool similar to *make*.
4 1
5 14 Joshua Jensen
JamPlus adds new features to Jam and integrates a number of patches from the Jamming mailing list and the Perforce Public Depot.
6 1
7 16 Joshua Jensen
A sampling of the features in the JamPlus distribution follows:
8 1
9 16 Joshua Jensen
* *Multiplatform:* Binaries are provided for Windows, Linux, and Mac OS X.
10 16 Joshua Jensen
* *Compiler support:* Out of box compiler support for Visual C++ 6/200x/2010, GCC, and MinGW.  Easy to add new compilers.
11 16 Joshua Jensen
* *Platform targets:* Platform modules are provided for building Windows, Xbox 360, Linux, Mac OS X, iPhone, and iPad targets.  Additional platforms are also easy to add.
12 16 Joshua Jensen
* *Workspace/Project Generator:* JamPlus can output project files for the Visual Studio IDE, Xcode, and CodeBlocks.
13 14 Joshua Jensen
* *Multiple Passes:* The ability to run multiple internal passes, collecting unknown dependencies, and executing them in a future pass.
14 14 Joshua Jensen
* *Network Cache:* Any to-be-built target can be retrieved from one or more shared network caches of prebuilt targets.
15 14 Joshua Jensen
* *Command-line Dependencies:* When the 'command line' of a target (not necessarily the real command line) changes, the target is rebuilt.
16 14 Joshua Jensen
* *Powerful New Variable Expansion:* Convert between slash types, expand literal text, include or exclude list components, recursive file globs, and more.
17 14 Joshua Jensen
* *Dependency (Header) Cache:* When dependency information is scanned, it is cached for the next build, offering a huge performance boost.
18 15 Joshua Jensen
* *Batch Compilation:* JamPlus is able to batch files to tools that support it, such as the Visual C++ compiler.
19 14 Joshua Jensen
20 1
h1. Download JamPlus
21 1
22 1
JamPlus may be downloaded from the Files tab above.
23 1
24 1
The JamPlus source code is available in Git from http://github.com/jamplus/jamplus/tree/master.  Clone it using:
25 1
26 1
*@git clone git://github.com/jamplus/jamplus.git@*
27 1
28 1
29 14 Joshua Jensen
h1. Documentation
30 7 Joshua Jensen
31 14 Joshua Jensen
Find all available documentation at http://jamplus.org/git/jamplus/docs/html/index.html.
32 3 Joshua Jensen
33 3 Joshua Jensen
34 14 Joshua Jensen
h1. Building JamPlus
35 3 Joshua Jensen
36 14 Joshua Jensen
Go to the [[BuildingJamplus|Detailed instructions for building JamPlus]].
37 10 Joshua Jensen
38 4 Joshua Jensen
39 4 Joshua Jensen
40 4 Joshua Jensen
h1. Example Projects
41 4 Joshua Jensen
42 7 Joshua Jensen
A list of real-world projects converted to use JamPlus can be found on the [[ExampleProjects]] page.