Поскольку Дрейк использует #include <fmt/format.h>
из своих заголовков publi c, fmt
должна оставаться опубликованной c (не скрытой) зависимостью Drake. Нет хорошего способа скрыть такие основные зависимости, которые мы используем (Eigen
, fmt
, spdlog
).
Мы стараемся оставаться в течение нескольких недель после последнего помеченного fmt
релиза поэтому мы надеемся, что это работает для большинства пользователей. Я полагаю, вам нужно использовать более старую ревизию?
Вместо того, чтобы fmt
скрыть, я предлагаю установить и восстановить Drake, чтобы использовать уже существующий fmt
.
Файл, который указывает fmt
который использует Дрейк https://github.com/RobotLocomotion/drake/blob/master/tools/workspace/fmt/repository.bzl. В вызове макроса github_archive
добавьте один новый аргумент local_repository_override = "/home/username/tmp/install",
, указывающий на макет с путями, такими как /home/username/tmp/install/include/fmt/format.h
.
. Если это решит проблему, мы можем посмотреть на выставление опции конфигурации CMake. для Дрейка, чтобы найти предоставленные пользователем fmt
и spdlog
.