Skip to content

Files

Latest commit

1899c68 · Jan 8, 2025

History

History
This branch is 21 commits behind STEllAR-GROUP/hpx:master.

libs

This directory holds modularized libraries HPX is build upon. Those libraries can be seen as independent modules, with clear dependencies and no cycles.

The tool `create_module_skeleton.py can be used to generate a basic skeleton. The structure of this skeleton should be as follows:

  • <lib_name>/
    • README.rst
    • CMakeLists.txt
    • cmake
    • docs/
      • index.rst
    • examples/
      • CMakeLists.txt
    • include/
      • hpx/
        • <lib_name>
    • src/
      • CMakeLists.txt
    • tests/
      • CMakeLists.txt
      • unit/
        • CMakeLists.txt
      • regressions/
        • CMakeLists.txt
      • performance/
        • CMakeLists.txt

A README.rst should be always included which explains the basic purpose of the library and a link to the generated documentation.

The include directory should contain only headers that other libraries need. Private headers should be placed under the src directory. This allows for clear separation. The cmake subdirectory may include additional |cmake|_ scripts needed to generate the respective build configurations.

Documentation is placed in the docs folder. A empty skeleton for the index is created, which is picked up by the main build system and will be part of the generated documentation.