Version and build information¶
The Arbor library records version and configuration information in two ways:
The
version.hppheader has preprocessor defines with the prefixARB_.The library presents this information in variables within the
arb::namespace.
Version information¶
The Arbor version string is in the format MAJOR.MINOR.PATCH, or for development versions MAJOR.MINOR.PATCH-DEV, where DEV is a string, usually literally “dev”.
ARB_VERSIONFull Arbor version string. Available as
arb::version.ARB_VERSION_MAJORMajor version number. Available as
arb::version_major.ARB_VERSION_MINORMajor version number. Available as
arb::version_minor.ARB_VERSION_PATCHMajor version number. Available as
arb::version_patch.ARB_VERSION_DEVDevelopment version suffix string. Only defined if Arbor is a development version. Available as
arb::version_dev, which will be an empty string ifARB_VERSION_DEVis not defined.
Source information¶
ARB_SOURCE_IDThe source id contains the git commit time stamp, the commit hash, and if there are uncommitted changes in the source tree, a suffix “modified”, e.g.
"2020-01-02T03:04:05+06:00 b1946ac92492d2347c6235b4d2611184 modified". Available asarb::source_id.
Build information¶
Arbor can be built in the default ‘Release’ configuration, or in an unoptimized
‘Debug’ configuration that is useful for development. Additionally, it can be
built for a particular CPU architecture given by the ARB_ARCH CMake configuration
variable.
ARB_BUILD_CONFIGConfiguration string, all uppercase. Will be
"DEBUG"or"RELEASE". Available asarb::build_config.ARB_ARCHValue of the
ARB_ARCHconfiguration variable, e.g."native". Available asarb::arch.
Features¶
Configuration-time features are enabled in Arbor via CMake configuration variables
such as ARB_WITH_MPI and ARB_WITH_PYTHON. Each enabled feature has
a corresponding preprocessor symbol in version.hpp of the form ARB_FEATURENAME_ENABLED.
Examples include ARB_MPI_ENABLED, ARB_ASSERT_ENABLED.
Full build information¶
A single string containing all the identification information for an Arbor build
is available in the macro ARB_FULL_BUILD_ID and in the variable
arb::full_build_id. This string contains the source id, the full version,
the build configuration, the target architecture, and a list of enabled features.