You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello. I am using Doxygen 1.11.0, Breathe 4.35.0, and Sphinx 7.1.2 to generate docs for a large mono-repo project. I am currently constrained to using the latest versions compatible with python3.8.
where there is the same utils.py filename in two different locations, with different content in each file.
In the index.rst file I have the project_1_api.rst and project_2_api.rst in a toctree. An in the project_X_api.rst files I am using the .. doxygenfile:: utils.py directive.
When I had just a single breathe project (invoke Doxygen once on all the projects), I get an error along the lines of
project_1_api.rst:9: WARNING: duplicate object description of utils, other instance in project_2_api, use :noindex: for one of them
I thought that the :project: option for doxygenfile would act like a namespace, so I went to the trouble of implementing something that would call Doxygen on each individual project, changing the content in my Doxyfile via environment variables for each call. I added :project: options so that project_1_api.rst looked like
.. doxygenfile:: utils.py
:project: project_1
and project_2_api.rst looked like
.. doxygenfile:: utils.py
:project: project_2
And I changed breathe_projects in conf.py to have project_1 and project_2.
I am sure that the project docs are each being built and that those breathe projects can be used in the directive option successfully, but I still get an identical duplicate object warning. I tried adding a path in front of utils.py in the directive, but that did not change the result.
My expectation was that using multiple breathe projects and using the :project: option with .. doxygenfile:: would prevent such a conflict analogous to how a namespace would prevent such a conflict.
Is my expectation correct, but I have just implemented something incorrectly? Or does Breathe simply require filenames to be unique across all Breathe projects in order to safely use them with doxygenfile?
Thank you.
The text was updated successfully, but these errors were encountered:
Hello. I am using Doxygen 1.11.0, Breathe 4.35.0, and Sphinx 7.1.2 to generate docs for a large mono-repo project. I am currently constrained to using the latest versions compatible with python3.8.
We have a folder structure something like
where there is the same
utils.py
filename in two different locations, with different content in each file.In the index.rst file I have the project_1_api.rst and project_2_api.rst in a toctree. An in the project_X_api.rst files I am using the
.. doxygenfile:: utils.py
directive.When I had just a single breathe project (invoke Doxygen once on all the projects), I get an error along the lines of
I thought that the
:project:
option fordoxygenfile
would act like a namespace, so I went to the trouble of implementing something that would call Doxygen on each individual project, changing the content in my Doxyfile via environment variables for each call. I added:project:
options so that project_1_api.rst looked likeand project_2_api.rst looked like
And I changed
breathe_projects
in conf.py to have project_1 and project_2.I am sure that the project docs are each being built and that those breathe projects can be used in the directive option successfully, but I still get an identical duplicate object warning. I tried adding a path in front of
utils.py
in the directive, but that did not change the result.My expectation was that using multiple breathe projects and using the
:project:
option with.. doxygenfile::
would prevent such a conflict analogous to how a namespace would prevent such a conflict.Is my expectation correct, but I have just implemented something incorrectly? Or does Breathe simply require filenames to be unique across all Breathe projects in order to safely use them with
doxygenfile
?Thank you.
The text was updated successfully, but these errors were encountered: