Fix clean target, correct build docs, add overview and docs guide
clean was deleting the generated build system along with the artifacts — CMakeCache.txt, the makefiles, CMakeFiles/, the CMake file API directory, and the CTest configuration. That left the build directory unconfigured after every clean, so an IDE reading its target list from the file API lost every target until the project was reloaded. clean now removes only what the build produced. Also writes CTest's scratch directory into DartConfiguration.tcl so a bare ctest and IDE test discovery use it too, not just build-driven runs. BUILD.md no longer lists libdl as a dependency; glibc 2.34 merged it into libc, so nothing links against it. The code-reference section moves to its own DOCUMENTATION.md. The fixture config logged at ERROR while the info module emits its output at INFO, so the CLI invocation BUILD.md documents exited 0 and printed nothing. The fixture now logs at INFO and the documented command works as written. OVERVIEW.md describes what DPM is, how core routes and validates modules, and why the architecture takes the shape it does. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
- Doxygen (optional, for the code reference)
|
||||
- pdflatex and makeindex (optional, for the PDF code reference)
|
||||
|
||||
The library itself depends only on libc, libstdc++, and libdl, so it builds and runs on a minimal system.
|
||||
The library itself depends only on libc and libstdc++, so it builds and runs on a minimal system.
|
||||
|
||||
## Building for development
|
||||
|
||||
@@ -45,28 +45,6 @@ The build tree plus the test fixtures form a complete self-contained environment
|
||||
|
||||
The flags --config-dir, --module-path, --root, and --log-level each redirect the corresponding system default; --root sets the target root that package-operation modules act on.
|
||||
|
||||
## Generating the code reference
|
||||
|
||||
When Doxygen is present, the build offers a docs target that generates the API and source reference from the documentation comments carried in the headers and sources. Two output formats are available as configure-time options:
|
||||
|
||||
- **-DDPM_DOCS_PDF** (default ON) — PDF reference, via Doxygen's native LaTeX output; requires pdflatex and makeindex
|
||||
- **-DDPM_DOCS_HTML** (default OFF) — HTML reference
|
||||
|
||||
Generate and compile the PDF reference:
|
||||
|
||||
```
|
||||
cmake --build <build-dir> --target docs-pdf
|
||||
```
|
||||
|
||||
The PDF lands at <build-dir>/docs/latex/refman.pdf.
|
||||
|
||||
With DPM_DOCS_HTML enabled at configure time, the docs target additionally produces the HTML reference in <build-dir>/docs/html:
|
||||
|
||||
```
|
||||
cmake -B <build-dir> -DDPM_DOCS_HTML=ON
|
||||
cmake --build <build-dir> --target docs
|
||||
```
|
||||
|
||||
## Building, testing, and installing a release
|
||||
|
||||
One build tree carries the whole sequence — the test suite builds and runs in any configuration, so the artifacts that get tested are the artifacts that get installed:
|
||||
|
||||
Reference in New Issue
Block a user