Skip to content
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

Re-sync Doxyfile with CMake #978

Merged
merged 6 commits into from
Jan 17, 2024

Conversation

turboencabulator
Copy link
Contributor

I'm comparing DOCS/Doxyfile with build/Doxyfile.html that CMake is generating. There are a few minor differences (mostly things in DOCS/Doxyfile that have strayed from the default but don't really matter) and this PR patches up most of those differences.

The easiest comparison method I found was to first filter the files through doxygen -x, usually with a command like diff <(doxygen -x DOCS/Doxyfile) <(doxygen -x build/Doxyfile.html).

Additionally I found that if you use -DBUILD_HTML_DOCUMENTATION=ON and -DBUILD_MAN_DOCUMENTATION=ON simultaneously, some of the HTML-specific settings get carried over into build/Doxyfile.man, and then make man generates HTML as a side effect. This is also fixed.

QUIET defaults to NO, WARNINGS defaults to YES.
The goal is to minimize the output of `doxygen -x DOCS/Doxyfile` so that
it contains only the settings specified in CMakeLists.txt.  In all
cases, the changed values are intended to match what CMake is generating
when using -DBUILD_HTML_DOCUMENTATION=ON, and ideally the changes should
have no effect.

Comments for ABBREVIATE_BRIEF and EXAMPLE_PATTERNS describe the default
behavior when they are blank, but our blank values show up in the output
of `doxygen -x DOCS/Doxyfile` indicating that blank is not the default
value.  Setting values to match the current default behavior should have
no effect, unless Doxygen changes in the future.  On the other hand,
MATHJAX_RELPATH has changed and will change again in newer Doxygen
versions.

CMake automatically inserts its own set of EXCLUDE_PATTERNS that
contains none of the patterns previously listed here.  Neither the
previous values nor the CMake-generated ones should have any effect due
to our choice of INPUT and FILE_PATTERNS.

MATHJAX_RELPATH, LATEX_CMD_NAME, RTF_HYPERLINKS, and MAN_LINKS all
require some other option (USE_MATHJAX, GENERATE_LATEX, GENERATE_RTF,
and GENERATE_MAN, respectively) to be set to YES to take effect, and all
are set to NO, so these changes should have no effect.  Note that the
CMake-generated Doxyfile.man sets MAN_LINKS=YES in addition to
GENERATE_MAN=YES.
Both have been present in DOCS/Doxyfile since that file was added.
This removes another difference with DOCS/Doxyfile.

From the CMake 3.9.6 documentation (earliest version describing
doxygen_add_docs, I've updated cmake_minimum_required to match):

"So that relative input paths work as expected, by default the working
directory of the Doxygen command will be the current source directory
(i.e. CMAKE_CURRENT_SOURCE_DIR)."

Likewise for the output directory:

"Set to CMAKE_CURRENT_BINARY_DIR by this module.  Note that if the
project provides its own value for this and it is a relative path, it
will be converted to an absolute path relative to the current binary
directory.  This is necessary because doxygen will normally be run from
a directory within the source tree so that relative source paths work as
expected."
When both BUILD_HTML_DOCUMENTATION and BUILD_MAN_DOCUMENTATION are ON,
DOXYGEN_GENERATE_HTML was set to YES (and some other HTML-only variables
were set) whenever Doxyfile.man was generated, and therefore `make man`
would also populate DOCS/explore-html, but with less detail due to the
other differences between Doxyfile.man and Doxyfile.html.
Copy link

codecov bot commented Jan 17, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (8254fbd) 0.00% compared to head (55d73a2) 0.00%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #978   +/-   ##
=======================================
  Coverage    0.00%    0.00%           
=======================================
  Files        1930     1930           
  Lines      190421   190421           
=======================================
  Misses     190421   190421           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@langou langou merged commit 5d705a1 into Reference-LAPACK:master Jan 17, 2024
12 checks passed
@turboencabulator turboencabulator deleted the doxygen-sync branch January 17, 2024 04:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants