Overview

Version 8 (Joshua Jensen, 10/04/2008 09:48 pm)

1 1
h1. Overview
2 1
3 7 Joshua Jensen
JamPlus is a software build tool, similar to *make*.  It is built on Perforce's Jam 2.5 and contains necessary and useful patches from the Perforce Jamming mailing list and Perforce Public Depot.  JamPlus also has a number of new features above and beyond any published patches.
4 1
5 7 Joshua Jensen
The JamPlus Jambase has support for Visual C++ builds only at this time.  Other compilers are forthcoming.
6 1
7 7 Joshua Jensen
h1. Download JamPlus
8 5 Joshua Jensen
9 7 Joshua Jensen
JamPlus may be downloaded from the Files tab above.
10 1
11 8 Joshua Jensen
The JamPlus source code is available in Git from http://github.com/jamplus/jamplus/tree/master.  Clone it using:
12 8 Joshua Jensen
13 8 Joshua Jensen
*@git clone git://github.com/jamplus/jamplus.git@*.
14 5 Joshua Jensen
15 5 Joshua Jensen
16 7 Joshua Jensen
h1. Building JamPlus
17 5 Joshua Jensen
18 7 Joshua Jensen
Please be aware that the bootstrapped version of JamPlus is not currently operational, nor can Jam build itself through the provided Jamfiles.
19 5 Joshua Jensen
20 7 Joshua Jensen
Go to the [[BuildingJamplus|Detailed instructions for building JamPlus]].
21 1
22 1
23 1
h1. Features
24 1
25 7 Joshua Jensen
A sampling of the new features in the JamPlus distribution is below.  More detailed accounts can be found on the New Features page.
26 1
27 1
* All the power of the core Perforce Jam 2.5 software.
28 1
* *Multiple Passes:* The ability to run multiple internal passes, collecting unknown dependencies, and executing them in a future pass.
29 1
* *Network Cache:* Any to-be-built target can be retrieved from one or more shared network caches of prebuilt targets.
30 1
* *Command-line Dependencies:* When the 'command line' of a target (not necessarily the real command line) changes, the target is rebuilt.
31 1
* *Powerful New Variable Expansion:* Convert between slash types, expand literal text, include or exclude list components, recursive file globs, and more.
32 1
* *Dependency (Header) Cache:* When dependency information is scanned, it is cached for the next build, offering a huge performance boost.
33 7 Joshua Jensen
* *Batch Compilation*: JamPlus is able to batch files to tools that support it, such as the Visual C++ compiler.
34 7 Joshua Jensen
* *Workspace/Project Generator*: JamPlus can output project files for the Visual Studio IDE.
35 3 Joshua Jensen
36 3 Joshua Jensen
37 3 Joshua Jensen
h1. Documentation
38 3 Joshua Jensen
39 3 Joshua Jensen
Find all available documentation on the [[Documentation]] page.
40 4 Joshua Jensen
41 4 Joshua Jensen
42 4 Joshua Jensen
43 4 Joshua Jensen
h1. Example Projects
44 4 Joshua Jensen
45 7 Joshua Jensen
A list of real-world projects converted to use JamPlus can be found on the [[ExampleProjects]] page.