Sto sviluppando o mantenendo un progetto software gratuito Foo che utilizza CMake per un sistema di compilazione, oltre al controllo del codice sorgente (ad esempio Mercurial o Git), con il repository disponibile online.
Ora, questo progetto dipende da un altro progetto, Bar - per esempio, utilizza i file include forniti da questo altro progetto. La barra esiste indipendentemente, ed è anche FOSS e disponibile da un repository pubblico di controllo delle fonti.
Ora, CMake ha un meccanismo per scaricare, configurare e costruire tali sottoprogetti: ExternalProject . Tuttavia, potrei anche fare in modo che Bar sia un sotto-repository del repository Foo source, in modo che venga estratto insieme a Foo e CMake possa trattare la composizione di file e cartelle estratti come se fosse una sola gerarchia di file.
Consiglieresti un approccio rispetto all'altro, generalmente? In caso contrario, quali sono le considerazioni per la scelta di un'opzione rispetto all'altra?