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. |