-
Notifications
You must be signed in to change notification settings - Fork 86
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
Automatic deployment of Doxygen documentation #75
Conversation
- PROJECT_VERSION_TAG has been added to doxygen version number - file version detection has been fixed so it does not assume that the build directory is a subdirectory of the source directory - doxygen output has temporarily been redirected to a doc/usr.log due to a huge amount of warnings which make the build output unreadable
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.
LGTM overall. Here are some changes that may be worth considering?
To document functions which are standalone (e.g. gko::transpose
), then either:
- the namespace should be documented (
gko
namespace here) - the file should be documented
Source: https://stackoverflow.com/questions/2794054/documenting-functions-in-c-with-doxygen
In addition, if we want to include some functions inside the documentation of a class, such as the operators and transpose
for dim, I think the only solution is the following:
- at the beginning of the related function declarations, insert
\memberof dim @{
- at the end of the function declarations, close the block
/** @} */
Finally, at some point, we may want to also document the master
branch separately, do we already prepare a location for that and add master
as a target for documentation deployment?
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.
In addition, the option BUILD_DOC
could be added to the README.md
.
doc/helpers.cmake
Outdated
@@ -38,6 +38,7 @@ function(doc_gen name in pdf mainpage) | |||
add_custom_target("${name}" ALL | |||
#DEPEND "${doxyfile}.stamp" Doxyfile.in ${in} ${in2} | |||
COMMAND "${DOXYGEN_EXECUTABLE}" "${doxyfile}" | |||
> "${CMAKE_CURRENT_BINARY_DIR}/${name}.log" 2>&1 |
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.
There is an option WARN_LOGFILE
see doxygen doc maybe that is cleaner than doing it in CMake.
I've included the comments related to |
This PR adds a CI job that automatically deploys Doxygen documentation generated from the latest version of the
develop
branch wheneverdevelop
is updated. The script takes care of the problem of multiple updates that could be caused by the public and private CI systems by creating the job if thePUBLIC_CI_TAG
environment variable has been set (which is now true for the public CI system, but not for the private one).The job uses the
ginkgo-bot
account to create a new commit on thegh-pages
branch in the public repository, which has been set up to host the content of the branch on https://ginkgo-project.github.io/ginkgo/doc/develop/. The public wiki navigation bar has also been updated accordingly.Note that the job has not yet been set up for the
master
branch, as we will probably want a different script for that: while we only want to host the newest version of the develop branch, we will most likely want to host documentation for all version of Ginkgo, not just the newest one, so we'll have to figure out which version are we currently building to deduce the correct path for the documentation.Additionally, the PR fixes some problems with the CMake configuration for doxygen builds:
PROJECT_NUMBER
has been updated to also include thePROJECT_VERSION_TAG
CMake variable.doxygen_version_extract.sh
has been fixed. Now it no longer assumes that the build directory is located inside the source directory.doc/usr.log
in the build directory). This makes the build output more readable. (However, this should be removed once we have proper doxygen warning filtering set up.)