cmake
CMake is an open-source, cross-platform family of tools designed to build, test and package software
What it is and what it does
cmake is a Python wheel distribution of CMake 4.4.2, the open-source build configuration tool. It bundles the cmake, ccmake, cpack, and ctest command-line tools and makes them available on PATH after a simple pip install, eliminating the need to download and configure CMake separately on each platform. The package is designed for both interactive use and as a build-time dependency declared in pyproject.toml or setup.py.
It covers multiple platforms and architectures through pre-built binary wheels: macOS (Intel and Apple Silicon), Linux (x86_64, i686, aarch64, ppc64le, s390x, armv7l, riscv64), Windows (x86_64, x86, ARM64), and musl-based systems. Because it has no runtime Python dependencies, installation is straightforward and does not pull in additional packages. The project is actively maintained by the scikit-build community and released under permissive licenses (Apache 2.0 for the distribution, BSD 3-clause for CMake itself).
Use it for:
- Declare cmake as a build-system dependency in pyproject.toml to ensure a consistent CMake version across CI/CD pipelines and developer machines.
- Use ctest to run and report on unit tests in C/C++/Fortran projects without requiring a separate CMake installation.
- Use cpack to generate platform-specific installers for C/C++ extensions in Python projects.
- Cross-compile projects for multiple architectures by invoking cmake with target-specific toolchain files.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Distributes CMake 4.4.2 as a Python package, making the cmake, ccmake, cpack, and ctest executables available on PATH for cross-platform build automation.
Yes. cmake is a mature, actively maintained distribution of a standard build tool with no runtime dependencies, permissive dual licensing, and broad platform coverage. Install it if your project needs CMake as a build-time dependency or if you want to avoid separate CMake installation complexity. Verify that CMake 4.4.2 meets your project's requirements.
Install
cmake on PyPI
pip
pip install cmakeuv
uv add cmakepoetry
poetry add cmakeInstalling cmake
Before you install
Medium install friction due to platform-specific binary wheels across many architectures. Actively maintained with a release 10 days ago; no runtime dependencies simplifies integration.
License in practice
Dual-licensed under Apache 2.0 (permissive) for the Python distribution and BSD 3-clause for CMake itself—both OSI-approved and impose no restrictions on derivative works or commercial use.
Quickstart
pip install cmake
Then use cmake, ccmake, cpack, or ctest from the command line, or declare it in pyproject.toml:
[build-system]
requires = ["cmake"]
ccmake is not included on Windows; requires Python >=3.8.
Verify before relying
- Whether CMake 4.4.2 is current enough for your project's build requirements.
- Performance or compatibility implications of using the packaged CMake versus a separately installed version.
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 10 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 17,981,211/month — #1,095 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cmake-4.4.2-py3-none-macosx_10_10_universal2.whl; cmake-4.4.2-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; cmake-4.4.2-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl; cmake-4.4.2-py3-none-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl; cmake-4.4.2-py3-none-manylinux2014_s390x.manylinux_2_17_s390x.whl; cmake-4.4.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; cmake-4.4.2-py3-none-manylinux_2_31_armv7l.whl; cmake-4.4.2-py3-none-manylinux_2_31_riscv64.whl; cmake-4.4.2-py3-none-musllinux_1_2_aarch64.whl; cmake-4.4.2-py3-none-musllinux_1_2_armv7l.whl; cmake-4.4.2-py3-none-musllinux_1_2_i686.whl; cmake-4.4.2-py3-none-musllinux_1_2_ppc64le.whl; cmake-4.4.2-py3-none-musllinux_1_2_riscv64.whl; cmake-4.4.2-py3-none-musllinux_1_2_s390x.whl; cmake-4.4.2-py3-none-musllinux_1_2_x86_64.whl; cmake-4.4.2-py3-none-win32.whl; cmake-4.4.2-py3-none-win_amd64.whl; cmake-4.4.2-py3-none-win_arm64.whl
Keywords: CMake, build, c++, fortran, cross-platform, cross-compilation
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
ninjaDistributes the Ninja 1.13.0 build system as…
permissive · top 1,000 on PyPI
pytest-cmakeIntegrates Pytest with CMake build systems,…
permissive · top 15,000 on PyPI
scikit-buildscikit-build bridges setuptools and CMake to…
permissive · top 5,000 on PyPI
scikit-build-coreA build backend that uses CMake to compile…
permissive · top 5,000 on PyPI
fckitlibProvides Fortran modules and a unit testing…
unclear · top 15,000 on PyPI
clang-tidyPackages the clang-tidy C++ linter and related…
permissive · top 15,000 on PyPI
clang-formatPackages the clang-format code formatter as a…
permissive · top 5,000 on PyPI
cx-Freezecx_Freeze converts Python scripts into…
permissive · top 15,000 on PyPI
cmakelangProvides command-line tools to format, lint,…
copyleft · top 5,000 on PyPI
pkgconfpkgconf is a cross-platform Python package that…
permissive · top 15,000 on PyPI