Overview

Version 14 (Joshua Jensen, 04/09/2010 10:40 pm)

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 14 Joshua Jensen
A sampling of the new features in the JamPlus distribution follows:
8 14 Joshua Jensen
9 14 Joshua Jensen
* *Multiple Passes:* The ability to run multiple internal passes, collecting unknown dependencies, and executing them in a future pass.
10 14 Joshua Jensen
* *Network Cache:* Any to-be-built target can be retrieved from one or more shared network caches of prebuilt targets.
11 14 Joshua Jensen
* *Command-line Dependencies:* When the 'command line' of a target (not necessarily the real command line) changes, the target is rebuilt.
12 14 Joshua Jensen
* *Powerful New Variable Expansion:* Convert between slash types, expand literal text, include or exclude list components, recursive file globs, and more.
13 14 Joshua Jensen
* *Dependency (Header) Cache:* When dependency information is scanned, it is cached for the next build, offering a huge performance boost.
14 14 Joshua Jensen
* *Batch Compilation:* JamPlus is able to batch files to tools that support it, such as the Visual C++ compiler.
15 14 Joshua Jensen
* *Workspace/Project Generator:* JamPlus can output project files for the Visual Studio IDE, Xcode, and CodeBlocks.
16 14 Joshua Jensen
17 14 Joshua Jensen
JamPlus 1.0 (currently a nightly build) has support for Visual C++ 200x/2010 and GCC/MinGW builds and works on Windows, Linux, and Mac OS X.
18 14 Joshua Jensen
19 1
h1. Download JamPlus
20 1
21 1
JamPlus may be downloaded from the Files tab above.
22 1
23 1
The JamPlus source code is available in Git from http://github.com/jamplus/jamplus/tree/master.  Clone it using:
24 1
25 1
*@git clone git://github.com/jamplus/jamplus.git@*
26 1
27 1
28 14 Joshua Jensen
h1. Documentation
29 7 Joshua Jensen
30 14 Joshua Jensen
Find all available documentation at http://jamplus.org/git/jamplus/docs/html/index.html.
31 3 Joshua Jensen
32 3 Joshua Jensen
33 14 Joshua Jensen
h1. Building JamPlus
34 3 Joshua Jensen
35 14 Joshua Jensen
Go to the [[BuildingJamplus|Detailed instructions for building JamPlus]].
36 10 Joshua Jensen
37 4 Joshua Jensen
38 4 Joshua Jensen
39 4 Joshua Jensen
h1. Example Projects
40 4 Joshua Jensen
41 7 Joshua Jensen
A list of real-world projects converted to use JamPlus can be found on the [[ExampleProjects]] page.