CMake¶
Important
CMake is an open-source, cross-platform family of tools designed to build, test and package software. It is necessary to keep its installation up to date to match the requirements imposed by many modern source code projects. On Discoverer we use CMake as main tool for building and testing software.
Supported versions¶
In case your applications requite the use of another CMake version, you can install it by yourself, but those builds will not be supported by the Discoverer HPC team.
To check which CMake versions are currently supported on Discoverer, execute on the login node:
module avail cmake
Loading CMake¶
If you need to access the latest version of the CMake library, load the module without specifying the version:
module load cmake
In case you need to access a specific version of the CMake library, you can specify the version:
module load cmake/<version>
Build recipes and tests¶
We use the recent LLVM Compiler Infrastructure to build the CMake library code. We do not support any other compilers for that purpose. The LLVM.org compilers are the default compilers on Discoverer Petascale Supercomputer. Since the code of the library does not include Fortran, the compiled binaries are not Fortran-compatible and can be used with any other compiler collection. That means our build of cmake is optimised for producing the fastest possible binaries for CPU-based applications.
Note
The cmake
executable we use is optimised using BOLT for fast loading. Additionally, we compile the CMake code using LTO for faster run-time performance.
For those who are interested in the process of compiling and optimizing the code of CMake we follow, there is public access to our build recipes at:
https://gitlab.discoverer.bg/vkolev/recipes/-/tree/main/cmake
There are also logs that were collected during the compilation and testing processes.
Getting help¶
See Getting help