-
Notifications
You must be signed in to change notification settings - Fork 314
Add doxygen to document cpp code #878
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add doxygen to document cpp code #878
Conversation
… the doxygen commenting conventions
|
Its looking like a good start! Couple of small notes:
Thanks for taking a stab at this! |
|
Looks promising! It would be worth, as part of the PR, adding a note in our "building opentimelineio" docs that the doxygen docs can be generated by |
|
Thank you @ssteinbach and @meshula for your feedback. A few clarification questions to confirm that I'm understanding you correctly:
Are these points correct? Thank you. |
…ot going to integrate doxygen with readthedocs for this PR
Codecov Report
@@ Coverage Diff @@
## master #878 +/- ##
==========================================
- Coverage 86.63% 85.76% -0.88%
==========================================
Files 183 191 +8
Lines 17874 18109 +235
Branches 1971 2048 +77
==========================================
+ Hits 15486 15532 +46
- Misses 1904 2055 +151
- Partials 484 522 +38
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
|
Thanks for adding build notes for me :) |
Yeah, for now lets do that.
Yes
Yes, and I think you added this? When you feel like its ready for review, poke the Thank you for your contribution! And 2x checking but we have CLAs from you, correct? |
|
Thank you @ssteinbach for answering our questions. We updated the PR as "ready for review"/
I sent in my signed CLA a couple days ago (on Feb 18). I have not received an official confirmation back from them yet, but I can reply back on this thread as soon as I receive the confirmation. @hisergiorojas has already received his CLA confirmation. |
…ort for comments for group of functions
|
CLA for @utsab received ✔️ |
ssteinbach
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good -- saw that there were some default fields in the dox config.
doxygen/config/dox_config
Outdated
| # could be handy for archiving the generated documentation or if some version | ||
| # control system is used. | ||
|
|
||
| PROJECT_NUMBER = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could add a TODO here to set this via the same mechanism in cmake that sets the version number in other places.
doxygen/config/dox_config
Outdated
| # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy | ||
| # the logo to the output directory. | ||
|
|
||
| PROJECT_LOGO = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you can use one of the logos in docs/_static/... maybe?
Co-authored-by: Stephan Steinbach <61017+ssteinbach@users.noreply.github.com>
Co-authored-by: Stephan Steinbach <61017+ssteinbach@users.noreply.github.com>
|
Thank you @ssteinbach for your feedback. We incorporated your suggestions in the latest commits. |
ssteinbach
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking like a great start, thanks!
Two more really small requests -- I added a suggestion to have the makefile print out the location things get written to (to make it easy for a user to find it later), and turning quiet mode on. Quiet mode is still not that quiet because so many of our .h and .cpp files are missing documentation.
Do you happen to know if we can link the pages we have in docs into the doxygen documentation? That doesn't have to happen in this PR, just asking.
Co-authored-by: Stephan Steinbach <61017+ssteinbach@users.noreply.github.com>
Co-authored-by: Stephan Steinbach <61017+ssteinbach@users.noreply.github.com>
Thanks for your commit suggestions. I merged those in. About your question on linking the docs pages into the doyxgen documentation, I'm not sure at the moment, but I can try to do some research on this. To clarify. by "docs pages", do you mean linking to a url like this one? https://opentimelineio.readthedocs.io/en/latest/tutorials/architecture.html Also, could you give us an example to illustrate what you mean? I'm having a hard time understanding the use case for this. |
|
I meant, we have a bunch of markdown and rst files that readthedocs uses to build a page that are also checked into the repository, for example, the index is here: The markdown pages are here: If there was an easy way of including that documentation in the doxygen documentation, that would be cool. |
|
Sorry, I didn't mean to hit the Approve button, I was looking at a different PR. I can't see a way to undo it ~ I haven't reviewed this one! |
|
After some research, it looks like there are some bugs with Doxygen's support for markdown. Even so, I think that having the README.md as the mainpage.dox is better than nothing, and we can improve it over time. See this bug: I think the steps would be:
We can come back to this later and add references to more of the markdown documentation over time. Thanks for sticking with this! This is a great addition. |
|
@ssteinbach Thank you for clarifying. If I'm understanding you correctly, you would like to include all of the existing readthedocs documentation inside of doxygen's generated documentation. Thus, all of our documentation would be merged together in one place (in doxygen's web portal). Is this what you mean? Based on your last comment, it sounds like you are recommending that we can at least start with including the README.md file. Sure, I'm happy to take a look at the bug report and implement its recommendation for how to add a reference to README.md in the mainpage.dox. |
|
@utsab not quite. It looks like there are bugs with the way that doxygen and Markdown interact. Despite that, the mainpage.dox (which generates the "index.html" page if you build the html version of the doxygen docs), would still be better with a reference to the README.md. The entire markdown documentation in the docs/ directory can wait until after doxygen fixes their markdown parsing bugs. That would put the contents of the README.md (located in the top level directory of the repository) into the main page of the doxygen documentation. |
|
@ssteinbach OK I think I understand now. For now, your request is to simply include a reference to README.md in mainpage.dox. Is this correct? |
|
Yup! Thanks @utsab! |
|
Hi @ssteinbach, we started looking into the instructions on how to include a reference to README.md on the homepage of the generated doxygen documentation. We ran into some issues figuring out the instructions for mainpage.dox, but we did find another approach where we can set the USE_MDFILE_AS_MAINPAGE flag inside the dox_config file to point to README.md. This seems correctly bring in the README.md markdown. You can see the full code changes in the latest commit. Is this a reasonable approach? If you prefer that we go with the mainpage.dox approach, we can continue investigating that direction as well. |
address typo
|
This looks great! Once this passes CI this looks ready to land to me. HUGE thanks for doing the legwork on this @hisergiorojas and @utsab! |
Fixes #708
Summarize your change.
We made some progress but we need some feedback so we know if we're going in the right direction.
So far we have done: