-
Notifications
You must be signed in to change notification settings - Fork 211
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
Enable Doxygen Documentation Generation #316
base: master
Are you sure you want to change the base?
Enable Doxygen Documentation Generation #316
Conversation
This pull request enables the automatic generation of Doxygen HTML documentation via the check-doxygen-docs build target. This build target is not included in the Check library default build list, as requested in issue libcheck#217, but instead allows the user to specifically build this documentation after project generation with the following command. $ cmake --build . --target check-doxygen-docs The generated documentation is created in the project build directory, in the doc/Doxygen folder. In order to enable Doxygen, the project must be configured using the -DCHECK_ENABLE_DOXYGEN_DOCS CMake flag.
Hey, @mikkoi, can you take a look at this? |
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.
As this adds a new build option, probably there should be a separate test for it in Github Actions that exercises it. Which platform it builds for probably is not that important. Should it be tested for Linux, macOS, and Windows, or just run for Linux (for example)? What is your suggestion?
Of those three, I'm definitely more familiar with Linux, so I could much more easily diagnose what problems are caused by the platform, the buildsystem, or Doxygen itself. I would prefer Linux, personally. |
Having it run on Linux only sounds fine. |
Hey, Branden, I only just realized today you'd replied, sorry about that. I still need to push a commit to actually install the generated documentation. I see your review suggested changes, but I can't actually find any. Is it adding the tests to the build scripts? |
My suggestion is adding something to the GitHub actions here: |
Gotcha. Yea, I haven't gotten to mess around with the GitHub actions yet, that's the next thing I'll do once I get the configuration working properly. I haven't really interacted with the GitHub API since they made the switch to GraphQL, so it looks like I have some documentation to pore over this weekend. |
Hey @brarcher Branden, is there a way to test changes to the workflows? I'm experimenting with the matrix strategy build, and this is what I have so far.
I haven't added checks to verify the installation of the documentation yet, but I feel like these revisions make for a more robust build, what do you think? |
Ah, so you are interested in changing the organization from grouping the tests by OS to grouping by build system? That is fine. Would there be these files under check/.github/workflows autotools.yml where the various Windows's toolchains would have various entries among these files? If so, that sounds reasonable. |
Potentially, although to be completely honest, I was kind of just throwing some stuff around to get the hang of GitHub's actions system. I really like the strategy matrix idea, and I also really like the potential for really clean build configurations, but most of the examples were geared more towards Node development, so it's very much still just an idea. Are you just supposed to push the workflows to master and trigger some perfunctory change on the master branch to see if everything works? I found this tool to help speed up the process which looks pretty cool, although I haven't tried it yet. |
The only reason I didn't include Windows was because you have to pass in the toolset option |
If you add a commit in the PR, it will build the PR with the updated workflows. When I added the workflows I would add a commit to a PR, check the result, and iterate until it worked. Then merge the changes into the master branch. RE: Windows, there are several different toolchains, and they need to be used differently. The existing workflow for Windows shows the examples I've been able to get working so far. For CMake builds on Windows CMake and output build files for a few different compiler toolchains. |
This pull request enables the automatic generation of Doxygen HTML documentation via the check-doxygen-docs build target.
This build target is not included in the Check library default build list, as requested in issue #217, but instead allows the user to specifically build this documentation after project generation with the following command.
The generated documentation is created in the project build directory, in the doc/Doxygen folder.
In order to enable Doxygen, the project must be configured using the
-DCHECK_ENABLE_DOXYGEN_DOCS
CMake flag.As stated in the
CMakeLists.txt
file, the CMake FindDoxygen module does not require a Doxyfile. Instead, one is automatically generated based on the global state at the time thedoxygen_add_docs
command is called. I did not remove any of the Doxygen configuration files in the project directory, however, so that we can have the original values for both of the existing configuration files to configure the generated Doxygen docs should this pull request be approved.