Welcome to My C++ Project
Prerequisites
Building My C++ Project requires the following software installed:
- A C++14-compliant compiler
- CMake
>= 3.28 - Doxygen (optional, documentation building is skipped if missing)
- The testing framework Catch2 for building the test suite
- Python
>= 3.10for 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:
cmake -B build
cmake --build 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:
test-gha-cookiecutter_BUILD_TESTING: Enable building of the test suite (default:ON)test-gha-cookiecutter_BUILD_DOCS: Enable building the documentation (default:ON)test-gha-cookiecutter_BUILD_PYTHON: Enable building the Python bindings (default:ON)
Alternatively, the available CMake presets can be displayed via cmake --list-presets=all. For example, the test workflow preset can be invoked with
cmake --workflow --preset test
It configures the project in debug mode, builds the test executables, and runs the tests, all in one go.
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 -Dtest-gha-cookiecutter_BUILD_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 directory:
cmake --build build --target sphinx-doc
The web documentation can then be browsed by opening build/doc/sphinx/index.html in your browser.
Acknowledgments
This repository was set up using the SSC Cookiecutter for C++ Packages.
Metadata
Release files for testghacookiecutter 0.0.137
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| testghacookiecutter-0.0.137.tar.gz | 14.8 kB | Details |
Built distributions (wheels)
Total release size: 5.4 MB