diff options
| -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"])  | 
 Swift