15. Customizing STEPS installation

STEPS installations can be customized by providing options to the cmake command. Some of these options were already introduced in Getting Started. The options are provided with the -D command line argument as follows:

cmake -DOPTION_NAME=VALUE ..

CMAKE options that are specific to STEPS can be listed for your specific version with:

cmake -LH 2> /dev/null | grep -B 1 -E '^(USE|STEPS|BUILD|ENABLE)'

15.1. Commonly useful CMAKE options

CMAKE option

Type

Default

Description

USE_MPI

ON/OFF

ON

Use MPI for parallel solvers

USE_PETSC

ON/OFF

ON

Use PETSC library for parallel E-Field solver

STEPS_INSTALL_PYTHON_DEPS

ON/OFF

ON

Install the Python dependencies

STEPS_USE_DIST_MESH

ON/OFF

ON

Add solvers based on distributed mesh

STEPS_USE_HDF5_SAVING

ON/OFF

ON

Enable automatic data saving to HDF5 files

STEPS_USE_STEPSBLENDER

ON/OFF

ON

Install the stepsblender python package

USE_BDSYSTEM_LAPACK

ON/OFF

OFF

Use new BDSystem/Lapack code for E-Field solver

USE_BUNDLE_EASYLOGGINGPP

ON/OFF

ON

Use bundled version of easylogging

USE_BUNDLE_OMEGA_H

ON/OFF

ON

Use bundled version of Omega_h

USE_BUNDLE_RANDOM123

ON/OFF

ON

Use bundled version of random123

USE_BUNDLE_SUNDIALS

ON/OFF

ON

Use bundled version of cvode

15.2. CMAKE options for developpers

CMAKE option

Type

Default

Description

BUILD_STOCHASTIC_TESTS

ON/OFF

ON

Build stochastic tests

BUILD_TESTING

ON/OFF

ON

Build the testing tree

ENABLE_CODECOVERAGE

ON/OFF

OFF

Enable code coverage testing support

STEPS_ENABLE_ERROR_ON_WARNING

ON/OFF

OFF

Add -Werror to STEPS compilation

STEPS_GIT_COMMIT_HOOKS

STRING

“”

Comma-separated list of checks to perform when committing changes

STEPS_GIT_HOOKS

ON/OFF

“”

Enable automatic checks when committing and pushing changes

STEPS_GIT_PUSH_HOOKS

STRING

courtesy-msg

Comma-separated list of checks to perform when pushing changes

STEPS_SANITIZERS

STRING

“”

Comma-separated list of runtime sanitizers to enable. Possible values: address, leak, undefined

STEPS_SANITIZERS_UNDEFINED_EXCLUSIONS

STRING

“”

Undefined behaviour sanitizer checks not to enable if STEPS_SANITIZERS contains ‘undefined’

STEPS_STATIC_ANALYSIS

ON/OFF

OFF

Enable C++ static analysis during compilation

STEPS_TEST_FORMATTING

ON/OFF

OFF

Add CTest formatting test

STEPS_TEST_STATIC_ANALYSIS

ON/OFF

OFF

Add CTest static analysis test

STEPS_USE_CALIPER_PROFILING

ON/OFF

OFF

Use Caliper instrumentation

STEPS_USE_LIKWID_PROFILING

ON/OFF

OFF

Use Likwid instrumentation

STEPS_USE_NATIVE_PROFILING

ON/OFF

OFF

Use STEPS region tracker

USE_64_BITS_INDICES

ON/OFF

OFF

Use 64bits indices instead of 32

USE_CLANG_TIDY

ON/OFF

OFF

Perform C++ static analysis while compiling