Подмодули Git с общими каталогами клонов

Я работаю над проектом, который использует LLVM и LLD, которые хранятся в отдельных удаленных репозиториях ( https://git.llvm.org/git/llvm, https://git.llvm.org/git/lld). Чтобы построить LLD, он должен быть клонирован внутри LLVM, где система сборки LLVM обнаружит его присутствие и сгенерирует для него цели сборки ( документация). Точно:

LLD_CLONE_DIR = LLVM_CLONE_DIR/tools/lld

Я хотел бы использовать подмодули git и вызывать git submodule update --init --recursive (во время настройки CMake).

Я обнаружил, что git не обрабатывает помещение одного подмодуля в другой, например:

[submodule "contrib/llvm/tools/lld"]
    path = contrib/llvm/tools/lld
    url = https://git.llvm.org/git/lld
[submodule "contrib/llvm"]
    path = contrib/llvm
    url = https://git.llvm.org/git/llvm

Я думал о том, чтобы сделать из моего сценария сборки символьную ссылку, но на некоторых платформах (Windows) она ненадежна. Как я могу структурировать каталоги так, чтобы система сборки LLVM была довольна, но я могу использовать подмодули git для клонирования обоих репозиториев?

Обновление: я успешно использовал команду файла CMake, чтобы скопировать источники lld в правильное местоположение. Я все еще заинтересован в лучшем решении, хотя.

0 ответов

Другие вопросы по тегам