From fb7fe3dd7cf48b0e4a7337212129520dff5a236d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Sun, 10 Oct 2010 12:10:45 +0200 Subject: Conditionally build documentation. 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"]) -- cgit v0.10.2-6-g49f6