diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-10-10 10:10:45 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-10-10 10:10:45 (GMT) |
commit | fb7fe3dd7cf48b0e4a7337212129520dff5a236d (patch) | |
tree | af92d907690aaca32543e3eda57d486562b96304 /BuildTools/SCons | |
parent | 646ab3617d04f6e20b878c09fce5e58c17def88d (diff) | |
download | swift-fb7fe3dd7cf48b0e4a7337212129520dff5a236d.zip swift-fb7fe3dd7cf48b0e4a7337212129520dff5a236d.tar.bz2 |
Conditionally build documentation.
Diffstat (limited to 'BuildTools/SCons')
-rw-r--r-- | BuildTools/SCons/SConstruct | 1 | ||||
-rw-r--r-- | BuildTools/SCons/Tools/DoxyGen.py | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct index 0fe71f1..a43d2c5 100644 --- a/BuildTools/SCons/SConstruct +++ b/BuildTools/SCons/SConstruct @@ -258,6 +258,7 @@ if int(ARGUMENTS.get("V", 0)) == 0: env["FOCOMSTR"] = colorize("FO", "$TARGET", "blue") env["XSLTCOMSTR"] = colorize("XSLT", "$TARGET", "blue") env["XMLLINTCOMSTR"] = colorize("XMLLINT", "$SOURCE", "blue") + env["DOXYCOMSTR"] = colorize("DOXY", "$SOURCE", "blue") #Progress(colorize("DEP", "$TARGET", "red") def checkObjCHeader(context, header) : diff --git a/BuildTools/SCons/Tools/DoxyGen.py b/BuildTools/SCons/Tools/DoxyGen.py new file mode 100644 index 0000000..3fc53c4 --- /dev/null +++ b/BuildTools/SCons/Tools/DoxyGen.py @@ -0,0 +1,26 @@ +import SCons.Util, os + +def generate(env) : + def modify_targets(target, source, env) : + target = [env.File("html/index.html")] + return target, source + + def generate_actions(source, target, env, for_signature) : + if env.WhereIs("$DOXYGEN") and env.WhereIs("$DOT") : + return [SCons.Action.Action("$DOXYGEN $SOURCE", cmdstr = "$DOXYCOMSTR")] + else : + return [] + + env["DOXYGEN"] = "doxygen" + # FIXME: For some reason, things go incredibly slow (at least on OS X) + # when not doing this. Some environment flag is having an effect on + # this; find out which + env["ENV"] = os.environ + env["DOT"] = "dot" + env["BUILDERS"]["DoxyGen"] = SCons.Builder.Builder( + emitter = modify_targets, + generator = generate_actions, + single_source = True) + +def exists(env) : + return True |