Please read the GTIRB-pprinter Code of Conduct.
See the Code Requirements in gtirb/CONTRIBUTING.
We ask that all contributors complete our Contributor License
Agreement (CLA), which can be found at
GrammaTech-CLA-gtirb-pprinter.pdf,
and email the completed form to [email protected]
. Under this
agreement contributors retain the copyright to their work but grants
GrammaTech unlimited license to the work.
- All code you care about should be tested.
- Any code you don't care about should be removed.
- Code testing is done via Google Test.
- Test names are prefixed with thet type of test they are (
Unit_
,System_
,Integration_
). - No unit test should take more than 0.5 seconds.
- Do not use 'using namespace' inside test cases. Fully qualify everything.
-
Documentation for the gtirb-pprinter command is provided in man-page format in the
gtirb-pprinter.md
file in the root of this directory. -
Full gtirb-pprinter documentation consists of complete documentation for all components of the gtirb-pprinter API, along with examples and other usage information.
You will need cmake
and Doxygen
.
-
Create and change to a temporary build directory. We will refer to this directory as
build
.mkdir build cd build
-
Build the documentation.
cmake ../path/to/gtirb-pprinter/doc/doxy/ cmake --build . --target doc
-
Open the documentation home page
build/html/index.html
in your browser.
To add a new markdown document to the documentation:
-
Create the new document as a child of /doc.
- File extension is
.md
. - Use github markdown syntax.
- Wrap your markdown documents at 80 columns.
- File extension is
-
Edit
/doc/doxy/Doxyfile.in
to add the basename of your new markdown document to theINPUT
rule setting. Note that the ordering of file names here corresponds to table of contents ordering. -
Edit
/doc/doxy/CMakeLists.txt
to add your new markdown document toMDFILES_IN
. Ordering is not important. -
Build the documentation and check that your new page is present and rendered correctly.
- If it is not rendered correctly, you may need to add a new
preprocessing step to
doc/doxy/preprocmd.py
to rewrite the corresponding github-style markdown into something Doxygen can handle correctly.
- If it is not rendered correctly, you may need to add a new
preprocessing step to