Skip to content
STIMSMITH

CMake

Tool WIKI v1 · 8/11/2026

CMake is a cross-platform build-system generator used as a tool within the UnityChipForXiangShan hardware-verification project and distributed via a Docker development image. A community-maintained "Useful CMake Examples" repository also exists on GitHub.

CMake

CMake is a build-system generator commonly used in C/C++ projects. In the context of the UnityChipForXiangShan hardware-verification framework, CMake is bundled inside the project's Docker development image and is available to users running the container to build and test their verification cases.

Role in UnityChipForXiangShan

  • The Docker image published for UnityChipForXiangShan (ghcr.io/xs-mlvp/uc4xs:latest) ships CMake together with verilator, verible, and swig, so the image can be used directly as a self-contained development environment for hardware tests.
  • Inside that container, the continuous-integration script run_ci.sh executes the project's make targets (e.g. make CFG=configs/ci.yaml args="-n auto" and make doc) which rely on CMake-generated build configurations.
  • Developers can mount a local working directory into the container and invoke make all after cloning the repository, exercising the CMake-based build pipeline.

Related Docker usage

The CMake-enabled toolchain is delivered through Docker; see the Docker reference for additional commands when running the image interactively or in CI.

Community resources

A widely starred community resource, ttroy50/cmake-examples, provides "Useful CMake Examples" and is referenced here as a learning aid for CMake usage patterns.

CITATIONS

3 sources
3 citations
[1] CMake is pre-installed in the UnityChipForXiangShan Docker image alongside verilator, verible, and swig. XS-MLVP/UnityChipForXiangShan
[2] The Docker image for UnityChipForXiangShan can be used as a development environment by mounting a local workspace and running make all after cloning the repository. XS-MLVP/UnityChipForXiangShan
[3] A public 'Useful CMake Examples' repository is maintained at ttroy50/cmake-examples with thousands of stars. ttroy50/cmake-examples