Skip to content

[drake_cmake_external] Sync external dependency upgrades with Drake #432

@jwnimmer-tri

Description

@jwnimmer-tri

See #385 for the backstory.

Our drake_cmake_external example has a CMakeLists.txt file that pins some ExternalProject_Add dependencies:

URL https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz

URL https://github.com/fmtlib/fmt/archive/refs/tags/11.0.2.tar.gz

URL https://github.com/gabime/spdlog/archive/refs/tags/v1.15.0.tar.gz


The invariant we want is that those CMake pins match Drake's MODULE.bazel pins:

https://github.com/RobotLocomotion/drake/blob/f481ea4b0bb134508899e3ba7e37bedcb3ad7fc8/MODULE.bazel#L58-L60

bazel_dep(name = "eigen", version = "3.4.0.bcr.3", repo_name = "module_eigen")
bazel_dep(name = "fmt", version = "11.0.2.bcr.1", repo_name = "module_fmt")
bazel_dep(name = "spdlog", version = "1.15.0.bcr.4", repo_name = "module_spdlog")

I am ok matching either Drake's master branch pins, or the pins from Drake's latest stable release.

The goal here is to keep them in sync over time. That might simply mean adding documentation to a playbook somewhere, or adding a new DEE/private/test linter to cross-check, or adding a 'bot script to automate it.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions