chiark / gitweb /
doxygen: don't overwrite stuff from included Doxyfiles.
authorVladimír Vondruš <mosra@centrum.cz>
Wed, 6 Dec 2017 20:56:01 +0000 (21:56 +0100)
committerVladimír Vondruš <mosra@centrum.cz>
Thu, 7 Dec 2017 01:23:41 +0000 (02:23 +0100)
doxygen/dox2html5.py
doxygen/test/doxyfile/Doxyfile-another
doxygen/test/test_doxyfile.py

index f4aa4f5346e5daa4f093a048d241541669037162..f7c78fb13782b9309d0fc7c076b882cc07d101d8 100755 (executable)
@@ -1485,7 +1485,7 @@ def parse_index_xml(state: State, xml):
 
     return parsed
 
-def parse_doxyfile(state: State, doxyfile):
+def parse_doxyfile(state: State, doxyfile, config = None):
     logging.info("Parsing configuration from {}".format(doxyfile))
 
     comment_re = re.compile(r"""^\s*(#.*)?$""")
@@ -1497,7 +1497,7 @@ def parse_doxyfile(state: State, doxyfile):
     # user-provided Doxygen can append to them. They are later converted to
     # string or kept as a list based on type, so all have to be a list of
     # strings now.
-    config = {
+    if not config: config = {
         'PROJECT_NAME': ['My Project'],
         'OUTPUT_DIRECTORY': [''],
         'XML_OUTPUT': ['xml'],
@@ -1557,7 +1557,7 @@ def parse_doxyfile(state: State, doxyfile):
 
                 # Another file included, parse it
                 if key == '@INCLUDE':
-                    parse_doxyfile(state, os.path.join(os.path.dirname(doxyfile), ' '.join(value)))
+                    parse_doxyfile(state, os.path.join(os.path.dirname(doxyfile), ' '.join(value)), config)
                     assert not backslash
                 else:
                     config[key] = value
index c030d17b6d7d152353d302c478c7b4e8cb61175d..d5e216c803f473a328170a36639704f04b6fd8cc 100644 (file)
@@ -1 +1 @@
-PROJECT_NAME = "My Project"
+PROJECT_NAME = "My Pet Project"
index e33a6ff67e92e1e4e3e18ec3c02c719f257b424e..f492bff1bb8f4a24f29f2212be5d4d0809d727f1 100644 (file)
@@ -17,6 +17,6 @@ class Doxyfile(unittest.TestCase):
             'M_THEME_COLOR': '#22272e',
             'OUTPUT_DIRECTORY': '',
             'PROJECT_BRIEF': 'is cool',
-            'PROJECT_NAME': 'My Project',
+            'PROJECT_NAME': 'My Pet Project',
             'XML_OUTPUT': 'xml'
         })