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 withverilator,verible, andswig, 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.shexecutes the project'smaketargets (e.g.make CFG=configs/ci.yaml args="-n auto"andmake doc) which rely on CMake-generated build configurations. - Developers can mount a local working directory into the container and invoke
make allafter 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.