Skip to content

Distribute all necessary libraries with the source #14

@noooway

Description

@noooway

Regarding external libraries, small but annoying problems are constantly popping up.
A typical example is build or runtime problem due to library version mismatch on different environments.
Another typical problem is absence of certain libraries on HPC clusters.

For these reasons, it seems desirable to distribute all the necessary libraries with the source code.
Currently, not many libraries are used:

  • hdf5lib to save/load results
  • boost-pointer-tree to read ini config files
  • boost-command-line-options to parse command line
  • boost-multiarray to simplify manipulations with 3d arrays
  • boost-ptr-vector to simplify work with arrays of objects in inheritance hierarchy
  • tinyexpr to define analytical expressions for external fields

hdf5lib is distributed under BSD license. It is necessary to include it in the code and configure compilation. boost-pointer-tree and boost-command-line-options can be replaced with something simpler. E.g. something from https://github.com/nothings/single_file_libs . boost-multiarray can be extracted from boost; alternatively, write some class to handle 3d arrays from scratch. tinyexpr is already included in the repo.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions