Home

Awesome

smpl

smpl is a personal cli tool in python3 for installing c/c++ dependencies for c/c++ projects.

Installation

The package is still in its early days and is not yet pip3 installable.

In the unlikely event that the reader is interested in trying it, the project can installed by cloning the repo and doing a local pip3 install.

git clone git@github.com:robertblackwell/smpl.git
pip3 install --user ./smpl

Sample project

Note there is a sample project called project_pig within the repo that has a config file already setup to install some predefined c/c++ dependencies for this sample project. The package can be demonstrated on the sample project without the local install described in under the previous heading.

Prerequisites

Current development work is undertaken on Ubuntu 18.04 with g++ 9.0, python 3.6 and so thats where, currently (April 2020), the package is known to work.

Some of the packages in the sample project (project_pig, see below) require cmake 3.16 to build.

A python3 installation with pip3 and yaml is required.

Usage

Its a cli tool, so usage (after installing) is easy. To get more details run smpl help.

smpl --help

It should be run from the project root directory of a c/c++ project and expects to find a config file in that directory names smpl.yaml.

As mentioned above the repo contains a sample c/c++ project called project_pig where one can run an install of predefined dependencies by running the command

cd smpl
cd project_pig
python3 ../runner.py --clean-before 

This does NOT depend on the local pip3 install described above.

But, be warned, this installs boost_1.72 and openssl_1.1.1f plus some other stuff and will perform a large number of g++/clang++ compiles.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT