Elm  2
ELM is a library providing generic data structures, OS-independent interface, plugins and XML.
Elm Developper Information

Organization

Directories:

  • include/ ELM headers.
  • src/ ELM sources.
  • test/ Test programs.
  • perf/ Performances test programs and data.
  • tools/ Tool to work with ELM.

Working with sources

Bootstrap: cmake .

Under Windows (MINGW required): cmake . -G "MSYS Makefiles"

Auto-documentation: doxygen xdg-open autodoc/index.html

Activating the test compilation: cmake . -DWITH_TEST=yes

Testing: cd test ./dotest launch all automated tests ./test-thread thread classes

Under Windows: move src/libelm.dll to test/

Documentation

All classes, function, macros, variable or type provided to uses must be documented using the Doxygen tool. Doxygen automatic documentation is very close to JavaDoc but provides more flexibility and support for C++. The syntax detail can be found here.

Additionally, Doxygen supports Markdown wiki syntax that may be found here. Below is a non-exhaustive list of markdown syntax:


  • to create a new paragraph,
  • title
    ==== or # title # to create a section
  • title
    -— or ## title ## to create a new section
  • > text to create a blockquote
  • */+/- text for a bulleted list
  • 1. text for a numbered list
  • \t text for code block
  • - - - for horizontal rule
  • [text](url) for a link
  • text or text for emphasized text
  • text or text for even more emphasized text
  • to avoid c to be used as special character
  • text for code text
  • alternate text to include an image
  • alternate text to include an image with caption
  • <url> for explicit link

An important rule must be applied: no documentation must be put in the header file. Classes has to be described in the source file. For a class, a special comment like below must be set: /**