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 | |
parent | 646ab3617d04f6e20b878c09fce5e58c17def88d (diff) | |
download | swift-contrib-fb7fe3dd7cf48b0e4a7337212129520dff5a236d.zip swift-contrib-fb7fe3dd7cf48b0e4a7337212129520dff5a236d.tar.bz2 |
Conditionally build documentation.
-rw-r--r-- | BuildTools/SCons/SConstruct | 1 | ||||
-rw-r--r-- | BuildTools/SCons/Tools/DoxyGen.py | 26 | ||||
-rw-r--r-- | Documentation/API/SConscript | 7 | ||||
-rw-r--r-- | Documentation/SConscript | 3 |
4 files changed, 36 insertions, 1 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 diff --git a/Documentation/API/SConscript b/Documentation/API/SConscript new file mode 100644 index 0000000..0a7ae36 --- /dev/null +++ b/Documentation/API/SConscript @@ -0,0 +1,7 @@ +Import("env") + +myenv = env.Clone() + +myenv.Tool("DoxyGen", toolpath = ["#/BuildTools/SCons/Tools"]) + +myenv.DoxyGen("Doxyfile") diff --git a/Documentation/SConscript b/Documentation/SConscript index f4d22db..b42fc62 100644 --- a/Documentation/SConscript +++ b/Documentation/SConscript @@ -1,4 +1,5 @@ Import("env") if env["SCONS_STAGE"] == "build" : - SConscript(dirs = ["SwiftenDevelopersGuide"]) + if "doc" in ARGUMENTS : + SConscript(dirs = ["SwiftenDevelopersGuide", "API"]) |