Building CrisPy requires the following software installed:
- A C++20-compliant compiler
- CMake
>= 3.9
- Doxygen (optional, documentation building is skipped if missing)
- Install
vcpkg
The following sequence of commands builds CrisPy. It assumes that your current working directory is the top-level directory of the freshly cloned repository:
mkdir build
cmake -B build [-DVCPKG_EXECUTABLE=path/to/vcpkg_executable] # if vcpkg not in PATH
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:
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 .
In order to run CrisPy as an application, you need to install either the CLI tool or the Web UI.
To use the CLI tool, you need to install the Python package with optional CLI support:
python -m pip install .[cli]
You can then run the CLI tool with the following command:
crispy
To use the Web UI, you need to install the Python package with optional Web UI support:
python -m pip install .[web]
You can then run the Web UI with the following command:
crispy-web
When built according to the above explanation (with -DBUILD_TESTING=ON
),
the C++ test suite of CrisPy
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
CrisPy provides a Doxygen documentation. You can build
the documentation locally by making sure that Doxygen
is installed on your system
and running this command from the top-level build directory:
cmake --build . --target doxygen
The web documentation can then be browsed by opening doc/html/index.html
in your browser.