CREATE_SUBDIRS and C++20 modules: Doxygen doesn't create directories
Description
When using CREATE_SUBDIRS = YES together with C++20 modules, Doxygen fails to create the HTML documentation files for the module files.
- Doxygen errors with
error: Could not open file some/path/html/module_dd/d3c/my__module.html for writing - The error causes the entire docs generation process to fail (non-zero exit code)
- Manually creating the directory from the error message "fixes" this; Doxygen then runs successfully
Seems like there's just some code missing to create the necessary directories.
To reproduce
- Set
CREATE_SUBDIRS = YESalong with other necessary options. - Create a C++20 module file, e.g.:
export module my_module;
/** @brief Do the thing */
export void foo() {}
- Run doxygen
Minimal example: DoxygenModulesErrorRepro.zip
Version Running Doxygen 1.10.0 (ebc57c6dd303a980bd19dd74b8b61c8f3f5180ca) on Windows 11, 64 bit.
I've just pushed a proposed patch, pull request #10772
Code has been integrated in master on GitHub (please don't close the issue as this will be done at the moment of an official release).
This issue was previously marked 'fixed but not released', which means it should be fixed in doxygen version 1.11.0. Please verify if this is indeed the case. Reopen the issue if you think it is not fixed and please include any additional information that you think can be relevant (preferably in the form of a self-contained example).