JRL CMake Modules
jrl-cmakemodules provide functions to factorize and write more reliable CMake code.
It is used by teams at CNRS, LAAS/HPP, JRL and Inria, but can be integrated in any project.
v2 API
The new modules available in the v2 folder aims to modernize the current approach by providing a set of utility functions (opt-in) instead of a framework approach.
The API documentation for the v2 api is available here.
Release Tool (jrl-release)
We provide a Python version management script to automate version synchronization across your project files (such as package.xml, pyproject.toml, pixi.toml, CMakeLists.txt, CHANGELOG.md, etc.).
Installation
To install jrl-release globally using uv:
uv tool install jrl-cmakemodules-scripts --from git+https://github.com/jrl-umi3218/jrl-cmakemodules.git#subdirectory=v2/scripts
Alternatively, if you have cloned the repository locally, run this from the repo root:
uv tool install --editable v2/scripts
or with pip:
pip install -e v2/scripts
Usage
Once installed, run jrl-release from the root of your project:
# Check if version files agree
jrl-release --check-version
# Bump the patch, minor, or major version
jrl-release --bump patch
jrl-release --bump minor
# Update version to a specific string
jrl-release --update-version 1.2.3
v1 API
Please see the documentation on the wiki for more information.
You can also checkout the more complete documentation of the modules.
Supported CMake versions
We currently support CMake >= 3.22
pre-commit
This project use pre-commit and pre-commit.ci.
You can get a nice documentation directly on those 2 projects, but here is a quickstart:
# install pre-commit:
python -m pip install pre-commit
# run all hooks on all files:
pre-commit run -a
# run automatically the hooks on the added / modified files, when you try to commit:
pre-commit install
Metadata
Release files for jrl-cmakemodules 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jrl_cmakemodules-2.1.0.tar.gz | 6.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jrl_cmakemodules-2.1.0-1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.1 MB
Release files / jrl_cmakemodules-2.1.0.tar.gz
| Download URL | jrl_cmakemodules-2.1.0.tar.gz |
|---|---|
| Size | 6.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e27aea3edcf1329ab93669a0e69184e7d9486a9423c786a169a77a64dfa048a
|
|
BLAKE2b-256 checksum How to use checksums |
a5ecb0fb5847a58de62c806bac23bf4dcfaecff96056d94094a927739dbfca8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.
Transparency logRelease files / jrl_cmakemodules-2.1.0-1-py3-none-any.whl
| Download URL | jrl_cmakemodules-2.1.0-1-py3-none-any.whl |
|---|---|
| Size | 6.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
caf72969c1139053c9f8b8fd44f0aacd9b49db48355d1add4acb7c980f09eb37
|
|
BLAKE2b-256 checksum How to use checksums |
b6f84001f9fe69de6890dc7f5a8aaa9d2cef7a5faeae6110d80f008995dae5c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 8, 2026.
Transparency log