Подмодули 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 в правильное местоположение. Я все еще заинтересован в лучшем решении, хотя.