Skip to main content

JRL CMake Modules

Documentation Status pre-commit.ci status Code style: black

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jrl_cmakemodules-2.1.0.tar.gz (6.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jrl_cmakemodules-2.1.0-1-py3-none-any.whl (6.6 MB view details)

Uploaded Python 3

File details

Details for the file jrl_cmakemodules-2.1.0.tar.gz.

File metadata

  • Download URL: jrl_cmakemodules-2.1.0.tar.gz
  • Upload date:
  • Size: 6.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for jrl_cmakemodules-2.1.0.tar.gz
Algorithm Hash digest
SHA256 0e27aea3edcf1329ab93669a0e69184e7d9486a9423c786a169a77a64dfa048a
MD5 eb5e67ad5495117b8101c003c4a2b347
BLAKE2b-256 a5ecb0fb5847a58de62c806bac23bf4dcfaecff96056d94094a927739dbfca8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for jrl_cmakemodules-2.1.0.tar.gz:

Publisher: release.yml on cmake-wheel/jrl-cmakemodules

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jrl_cmakemodules-2.1.0-1-py3-none-any.whl.

File metadata

File hashes

Hashes for jrl_cmakemodules-2.1.0-1-py3-none-any.whl
Algorithm Hash digest
SHA256 caf72969c1139053c9f8b8fd44f0aacd9b49db48355d1add4acb7c980f09eb37
MD5 01feb0e3404ba7d51e170e68e418fcce
BLAKE2b-256 b6f84001f9fe69de6890dc7f5a8aaa9d2cef7a5faeae6110d80f008995dae5c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for jrl_cmakemodules-2.1.0-1-py3-none-any.whl:

Publisher: release.yml on cmake-wheel/jrl-cmakemodules

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page