Introduce automatic version stamping in the documentation
[senf.git] / SConstruct
1 # -*- python -*-
2
3 import sys, glob, os.path
4 sys.path.append('senfscons')
5 import SENFSCons
6
7 ###########################################################################
8
9 SENFSCons.UseBoost()
10 SENFSCons.UseSTLPort()
11 env = SENFSCons.MakeEnvironment()
12
13 env.Append(
14    CPPPATH = [ '#' ],
15    LIBS = [ 'iberty' ],
16    DOXY_XREF_TYPES = [ 'bug', 'fixme', 'todo', 'idea' ],
17 )
18
19 import datetime
20
21 svninfo = dict(
22     [ tuple(map(lambda y:y.strip(),x.split(":",1)))
23       for x in os.popen("svn info").read().split("\n")
24       if ':' in x ] )
25 svninfo['commited'] = not(os.popen("svn status").read())
26
27 env.Append(
28     ENV = { 'TODAY' : datetime.date.today(),
29             'REVISION' : svninfo['Revision'] + (not(svninfo['commited']) and " + local changes" or "") }
30 )
31
32 Export('env')
33
34 SConscript(glob.glob("*/SConscript"))
35
36 SENFSCons.StandardTargets(env)
37 SENFSCons.GlobalTargets(env)
38 SENFSCons.Doxygen(env)
39 SENFSCons.DoxyXRef(env, 
40                    HTML_HEADER = '#/doclib/doxy-header-overview.html',
41                    HTML_FOOTER = '#/doclib/doxy-footer.html')
42
43 if not env.GetOption('clean') and not os.path.exists("Doxyfile.local"):
44     Execute(Touch("Doxyfile.local"))