|
2 | 2 |
|
3 | 3 | ## Project Overview |
4 | 4 |
|
5 | | -Doxygen is the de facto standard tool for generating documentation from annotated source code. It supports C++, C, Objective-C, C#, PHP, Java, Python, IDL, Fortran, VHDL, and more. The project is written primarily in C++ (C++17) and uses Flex (`.l` files) for lexical scanning, Python scripts for code generation, and CMake as its build system. |
| 5 | +Doxygen is the de facto standard tool for generating documentation from annotated source code. |
| 6 | +It supports C++, C, Objective-C, C#, PHP, Java, Python, IDL, Fortran, VHDL, and more. |
| 7 | +The project is written primarily in C++ (C++17) and uses Flex (`.l` files) for lexical scanning, |
| 8 | +Python scripts for code generation, and CMake as its build system. |
6 | 9 |
|
7 | | -Current version can be found in the VERSION file in the root of the repository. This is typically the development version (to be released version). |
| 10 | +Current version can be found in the `VERSION` file in the root of the repository. |
| 11 | +This is typically the development version (next to be released version). |
8 | 12 |
|
9 | 13 | ## Repository Structure |
10 | 14 |
|
@@ -87,7 +91,7 @@ python testing/runtests.py --id 001 --doxygen ./bin/doxygen \ |
87 | 91 | ## Architecture Overview (Key Concepts) |
88 | 92 |
|
89 | 93 | ### Configuration System |
90 | | -- Defined in `src/config.xml` (XML schema) |
| 94 | +- Configuration options are defined in `src/config.xml` (XML schema) |
91 | 95 | - Python script `src/configgen.py` generates `configoptions.cpp`, `configvalues.h`, `configvalues.cpp` at build time |
92 | 96 | - Access config values with macros: `Config_getString()`, `Config_getInt()`, `Config_getList()`, `Config_getEnum()`, `Config_getBool()` |
93 | 97 | - Config singleton class: `Config` |
@@ -155,10 +159,10 @@ Use `-t [tracefile]` for full tracing output (very verbose; useful for experts). |
155 | 159 |
|
156 | 160 | ### Adding a Regression Test |
157 | 161 | 1. Create `testing/NNN_description.ext` with the input source |
158 | | -2. Add comment headers: `// objective: ...` and `// check: filename.xml` |
| 162 | +2. Add comment headers: `// objective: ...` and `// check: filename.xml`. To set non-default options use `// config:OPTION_NAME=VALUE` |
159 | 163 | 3. Create `testing/NNN/` directory structure with expected XML output |
160 | | -4. Run test: `python testing/runtests.py --id NNN --doxygen ./bin/doxygen --inputdir ../testing --outputdir ./testing` |
161 | | -5. Use `--noreg` flag to generate reference output on first run |
| 164 | +4. Run test in the build directory: `python ../testing/runtests.py --id NNN --doxygen ./bin/doxygen --inputdir ../testing --outputdir ./testing` |
| 165 | +5. Use the `--updateref` flag to generate reference output on first run. |
162 | 166 |
|
163 | 167 | ### Modifying a Flex Scanner |
164 | 168 | 1. Edit the `.l` file in `src/` |
|
0 commit comments