Version 4 (modified by 12 years ago) (diff) | ,
---|
Implementing CMT2 on top of Waf
Principle:
- every package is still packaged using the CMT style:
- a
cmt
directory with itsrequirements
file- the
requirements
files hold:- used packages
- declarations of the constituents (libraries, programs, ...)
- specific macro declarations
- the
- a
src
directory containing the sources
- a
- the Project still contains a
cmt
directory with its ownrequirements
file- this
requirements
holds:- the list of used packages of the projects
- generic macro definitions
- this
Only one standard & generic wscript
is needed for managing the whole project.
import sys import os import cmt #top = '.' #out = 'win32' def options (ctx): cmt.options (ctx) pass def configure (ctx): top, out = cmt.init (ctx) cmt.configure (ctx) def build (ctx): cmt.build (ctx)
the build is launched using:
> waf.py configure build
and the setting on my windows machine is:
set PATH=c:\Install\Python27;%PATH% set PATH=c:\Install\Waf;%PATH% set PYTHONPATH=c:\Arnault\CMT2\Waf;%PYTHONPATH%
The SVN repository for the CMT module
The SVN repository for the testbed
Next to do:
- declare user build modules
- eg: copy a file
- gaudi component, etc...
- multi-project using CMTPROJECTPATH
- tag management for macro/set/path declaration
- policy packages offering user build modules
- check package with arbitrary directory depth
- automate initialisation of the work model
- single work area:
- a single package
- a set of checked out packages part of a release
- a complete project
- using a set of pre-built projects
- single work area:
Attachments (1)
- cmt.py (18.5 KB) - added by 12 years ago.
Download all attachments as: .zip