Tree [a8a404] master /
History



File Date Author Commit
art 2010-12-22 Lewis Baker Lewis Baker [152c71] Merge branch 'master' from sourceforge.
examples 2011-12-12 Stuart McMahon Stuart McMahon [71ad13] - Made sure there was a newline at the end of e...
src 2012-01-30 Stuart McMahon Stuart McMahon [a8a404] - Renamed default config.cake to config.py so t...
win32 2011-06-30 Stuart McMahon Stuart McMahon [1baf7c] - Added a project that builds a cake.exe for us...
.gitignore 2011-10-08 Stuart McMahon Stuart McMahon [3cc2a8] - Added .pyo and .DS_Store to .gitignore.
.project 2009-12-23 Stuart McMahon Stuart McMahon [44eb6d] first version
MANIFEST.in 2011-07-04 Stuart McMahon Stuart McMahon [d6e0cd] - Added config.cake to the MANIFEST.in file so ...
distribute_setup.py 2011-08-19 Stuart McMahon Stuart McMahon [2951b3] - Switched to using distribute instead of setup...
docs.py 2011-03-03 Stuart McMahon Stuart McMahon [578ea3] Merge branch 'master' of ssh://cake-build.git.s...
license.txt 2010-03-01 Stuart McMahon Stuart McMahon [abee33] - added copyright and license information to th...
makerelease.py 2012-01-26 Stuart McMahon Stuart McMahon [de4ed1] - makerelease.py now renames packages to includ...
readme.txt 2011-03-03 Stuart McMahon Stuart McMahon [578ea3] Merge branch 'master' of ssh://cake-build.git.s...
setup.py 2012-01-30 Stuart McMahon Stuart McMahon [a8a404] - Renamed default config.cake to config.py so t...

Read Me

Cake Build System (http://sourceforge.net/projects/cake-build)

Description
-----------

A relatively fast build system written in Python.

Features
--------

- Platorm support
  - Windows
  - Cygwin
- Compiler support
  - Visual Studio 2005/2008
  - Visual C++ Express
  - WindowsSDK
  - GCC
  - MinGW
- Build Variants
- Object file cache
- Multi-threaded builds
- Basic shell commands

Upcoming Features
-----------------

- Visual Studio Project Generation
- Linux support
- OSX support
- CodeWarrior support

License
-------

Licensed under the MIT license.

Installing
----------

1 - Open a command prompt in this documents directory.
2 - Type 'python setup.py install'.

Optionally run the chosen installer executable or script for your operating system, if it exists.

Usage
-----

boot.cake
=========

When Cake starts it will search for a 'config.cake' file starting from the directory of the 'build.cake' script it is trying to execute. This file should generally be located in your projects root directory.

The quickest way to create a config.cake file is to copy src/cake/config.cake. The example config file supports automatic detection of MSVC, MinGW and Gcc compilers, and two development modes, 'debug' and 'release'.

Running Cake
============

To run cake you simply type cake at the command line:

  'cake'

It will automatically look for a file called 'build.cake' in the current directory and execute it.

You can optionally supply the script filename you want to run as an argument, eg:

  'cake C:\projects\mylibrary\buildmylibrary.cake'.

You can also specify which variants to run by supplying variant keywords, eg:

  'cake platform=windows compiler=msvc'

This will run all variants that build for the windows platform using the msvc compiler.

You can debug the build by using the '--debug' option with any of the available debug keywords, eg:

  'cake --debug=run'

Will output the command lines that Cake runs.

  'cake --debug=reason'

Will output the reason cake is rebuilding your files (ie. what has changed).

Known Issues
------------

- There is no support for building a module (DLL) with import library under CodeWarrior.

- There is no support for finding a CodeWarrior compiler automatically, eg. mwcw.findCodeWarriorCompiler().