Как отладить проблему с зависимостями пользовательских команд CMake - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь отладить проблему с зависимостями в пользовательских командах в CMake.Моя структура зависимости в основном выглядит (используя нотацию GraphViz):

A -> B
{A; B} -> C -> D -> E

Где C и E add_custom_target, а A, B и D add_custom_command.CMake правильно выводит зависимость целевого уровня между C и E, но при первой сборке проекта B не создается как часть цели C. В результате E терпит неудачу (потому что ему нужен B для существования).Но в второй сборке B генерируется как часть C, и все работает нормально.

В настоящий момент я даже не знаю, как это отладить, особенно в Visual Studio, гдефайлы проекта довольно непрозрачны.Я могу видеть, что встраивается в любую конкретную сборку, но из-за того, что не собирается, я не понимаю, почему они не собираются.Доступные методы отладки в CMake (например, --trace), по-видимому, полезны только для проблем времени настройки, а это не так.

Есть ли какие-либо инструменты для отладки такого рода вещей, или я простопридется смотреть на мой файл CMake, пока я не выясню это?

Для потомков, есть более конкретные подробности о моей проблеме ниже, но я буду рад отладить ее сам, если смогу найти какой-либо разумный способ сделатьитак: https://github.com/zdevito/terra/pull/322#issuecomment-441084534

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...