2023-05-19 11:52:17
ChrisZZ imzhuo@foxmailcom
Hompage https://github.com/zchrissirhcz
文章目录
- 1. doxygen 版本
- 2. 找出所有的 CMakeLists.txt 和 `*.cmake` 文件
- 3. cmake 构建目标清单
- 4. 生成 Doxygen 自己的文档
1. doxygen 版本
zz@Legion-R7000P% git log
commit acb04c2a27e29b82e697d20ac0561034f0a16e20 (HEAD -> master, origin/master, origin/HEAD)
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Sun May 14 12:12:28 2023 +0200
Rename GENERATE_SITEMAP to SITEMAP_URL
2. 找出所有的 CMakeLists.txt 和 *.cmake
文件
doxygen 使用 cmake 进行构建, cmake 构建的描述文件是 CMakeLists.txt
和 *.cmake
$ find . -type f -name 'CMakeLists.txt' -o -name '*.cmake' | sort -V
整理得到的层级结构:
- CMakeLists.txt
- addon/
- CMakeLists.txt
- doxmlparser/
- CMakeLists.txt
- doxyapp/
- CMakeLists.txt
- doxyparse/
- CMakeLists.txt
- doxysearch/
- CMakeLists.txt
- doxywizard/
- CMakeLists.txt
- cmake/
- Sanitizers
- FindASan.cmake
- FindMSan.cmake
- FindSanitizers.cmake
- FindTSan.cmake
- FindUBSan.cmake
- sanitize-helpers.cmake
- ApplyEditbin.cmake
- CompilerWarnings.cmake
- Coverage.cmake
- FindIconv.cmake
- FindJavacc.cmake
- FindSQLite3.cmake
- FindgenerateDS.cmake
- Findxapian.cmake
- SearchReplace.cmake
- doxygen_version.cmake
- git_watcher.cmake
- packaging.cmake
- version.cmake
- deps/
- CMakeLists.txt
- liblodepng/
- CMakeLists.txt
- libmd5/
- CMakeLists.txt
- libmscgen/
- CMakeLists.txt
- spdlog/
- CMakeLists.txt
- cmake/
- ide.cmake
- spdlogCPack.cmake
- utils.cmake
- doc/
- CMakeLists.txt
- doc_internal/
- CMakeLists.txt
- examples/
- CMakeLists.txt
- libversion/
- CMakeLists.txt
- libxml/
- CMakeLists.txt
- src/
- CMakeLists.txt
- testing/
- CMakeLists.txt
- vhdlparser/
- CMakeLists.txt
3. cmake 构建目标清单
有如下的 cmake target, 最核心的是 doxymain 这个静态库, 而 doxygen 则是可执行目标, 是调用了 doxymain:
target 名字 | target 类型 |
---|---|
md5 | STATIC_LIBRARY |
lodepng | STATIC_LIBRARY |
mscgen | STATIC_LIBRARY |
spdlog | STATIC_LIBRARY |
spdlog_header_only | INTERFACE_LIBRARY |
check_git_repository | UTILITY |
check_doxygen_version | UTILITY |
doxygen_version | STATIC_LIBRARY |
xml | STATIC_LIBRARY |
vhdlparser | STATIC_LIBRARY |
generate_configvalues_header | UTILITY |
doxycfg | STATIC_LIBRARY |
doxymain | STATIC_LIBRARY |
doxygen | EXECUTABLE |
docs_internal | UTILITY |
tests | UTILITY |
4. 生成 Doxygen 自己的文档
Doxygen 官网的文档, 并不是 Doxygen 自身的 C/C++ 代码的 doxygen 文档, 源码工程里也没有提供, 需要自行编写配置文件 Doxyfile, 然后调用 doxygen 来生成:
D:\dbg\doxygen_dev_doc\Doxyfile
:
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "doxygen"
INPUT = D:/github/doxygen/src
EXTRACT_ALL = YES
HTML_TIMESTAMP = YES
RECURSIVE = YES
HTML_OUTPUT=D:/dbg/doxygen_dev_doc/docs
GENERATE_LATEX = NO
GENERATE_HTML = YES
GENERATE_XML = NO
doxygen Doxyfile
上传了一份 doxygen 的 C++ 文档压缩包到 https://download.csdn.net/download/baiyu33/87800539