dokempf / test-gha-cookiecutter

A test repository for projects generated from ssciwr/cookiecutter-cpp-project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to My C++ Project

License: MIT GitHub Workflow Status PyPI Release Documentation Status codecov Quality Gate Status

Prerequisites

Building My C++ Project requires the following software installed:

  • A C++11-compliant compiler
  • CMake >= 3.9
  • Doxygen (optional, documentation building is skipped if missing)
  • The testing framework Catch2 for building the test suite* Python >= 3.8 for building Python bindings

Building My C++ Project

The following sequence of commands builds My C++ Project. It assumes that your current working directory is the top-level directory of the freshly cloned repository:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

The build process can be customized with the following CMake variables, which can be set by adding -D<var>={ON, OFF} to the cmake call:

  • BUILD_TESTING: Enable building of the test suite (default: ON)
  • BUILD_DOCS: Enable building the documentation (default: ON)
  • BUILD_PYTHON: Enable building the Python bindings (default: ON)

If you wish to build and install the project as a Python project without having access to C++ build artifacts like libraries and executables, you can do so using pip from the root directory:

python -m pip install .

Testing My C++ Project

When built according to the above explanation (with -DBUILD_TESTING=ON), the C++ test suite of My C++ Project can be run using ctest from the build directory:

cd build
ctest

The Python test suite can be run by first pip-installing the Python package and then running pytest from the top-level directory:

python -m pip install .
pytest

Documentation

My C++ Project provides a Sphinx-based documentation, that can be browsed online at readthedocs.org. To build it locally, first ensure the requirements are installed by running this command from the top-level source directory:

pip install -r doc/requirements.txt

Then build the sphinx documentation from the top-level build directory:

cmake --build . --target sphinx-doc

The web documentation can then be browsed by opening doc/sphinx/index.html in your browser.

About

A test repository for projects generated from ssciwr/cookiecutter-cpp-project

License:MIT License


Languages

Language:CMake 55.9%Language:C++ 27.9%Language:Python 16.2%