3
from string import Template
6
doxy_gen(os.path.abspath(os.path.join('..')))
8
def doxy_gen(root_path):
10
Generate Doxygen configuration file.
12
confs = doxy_config(root_path)
13
build_path = os.path.join(root_path, "doc", "build", "doxygen")
14
gen_path = os.path.join(build_path, "Doxyfile")
15
if not os.path.exists(build_path):
16
os.makedirs(build_path)
17
with open(gen_path, 'w') as fd:
18
fd.write("#Please Don't Edit! This config file was autogenerated by ")
19
fd.write(f"doxy_gen({root_path}) in doc/preprocess.py.\n")
23
class DoxyTpl(Template):
26
def doxy_config(root_path):
28
Fetch all Doxygen sub-config files and gather it with the main config file.
31
dsrc_path = os.path.join(root_path, "doc", "source")
32
sub = dict(ROOT_DIR=root_path)
33
with open(os.path.join(dsrc_path, "doxyfile")) as fd:
34
conf = DoxyTpl(fd.read())
35
confs.append(conf.substitute(CUR_DIR=dsrc_path, **sub))
37
for dpath, _, files in os.walk(root_path):
38
if ".doxyfile" not in files:
40
conf_path = os.path.join(dpath, ".doxyfile")
41
with open(conf_path) as fd:
42
conf = DoxyTpl(fd.read())
43
confs.append(conf.substitute(CUR_DIR=dpath, **sub))
47
if __name__ == "__main__":