This site hosts resources related to piles.

Pile example

What is a pile?

A pile is a small piece of code, large and important enough for you to remember but smaller than a library (but flexibility is added to create static or shared libraries).
The pile is expected to be used in various ways and should be flexible enough to allow several use modes.

Each such pile consists of two repositories:
- one that only contains the source code, copyright information, usage information, called pile;
- one that contains everything else like test code, tools used to generate the source, etc. called pile-helpers.

What tools do I need?

The tools to be used are CMake and git. The parameters that change the functionality are to be passed on using CMake, with the source being kept unchanged. Any change to the source should be passed upstream to improve the overall quality and usability.


To differentiate actual piles from support repositories, following naming convention is to be followed:

  • pile-xxx is a support repository
  • yyy is a pile repository
  • yyy_helpers contains additional code related to pile yyy
  • pile-template-zzz is template
  • Piles use CMake as a build system. Several CMake scripts are provided in pile-cmake repository to make the job of the developer as simple as possible.

    A number of examples are provided in pile-examples repository. The only template right now is a C++ template in pile-template-cpp A Qt-based GUI tool is also available in pile-gui.

    This website source is also hosted in a GitHub repository at pile-contributors.github.io.

Latest Blog Posts

See them all.