Pacchetto sorgente esterno: scaricalo nella directory sorgente per la directory di build?

0

Sto lavorando a un progetto software, Foo, che utilizza il codice di un altro progetto, Bar - attraverso l'utilizzo del meccanismo ExternalProject di CMake.

Ora, se costruisco Foo fuori dalla sua posizione di origine, dovrei avere CMake scaricare i sorgenti della Barra nell'albero dei sorgenti di Foo? O dovrei scaricare i sorgenti e tenerli nella directory di costruzione?

Ulteriori ipotesi:

  • Foo dipende da una versione specifica di Bar, non riceve solo l'ultimo commit.
  • Le sorgenti del bar si adattano bene all'albero dei sorgenti di Foo e averle tutte insieme, ignorando la distinzione tra i progetti, ha senso.

PS - Sono abbastanza sicuro che questa domanda appartenga qui piuttosto che a SO, ma potrei sbagliarmi; se è così, per favore lascia un commento.

    
posta einpoklum 25.10.2018 - 20:36
fonte

1 risposta

0

Ecco come la vedo io:

Vantaggi dell'uso della directory di origine:

  1. Non è necessario scaricare nuovamente la barra ogni volta che si costruisce - lo farai solo una volta (supponendo che sia una versione fissa di Bar). E, ammettiamolo, un sacco di volte pulisci la directory di costruzione per evitare artefatti da precedenti versioni.
  2. Sarai in grado di seguire coerentemente i simboli alle loro definizioni nella directory sorgente
  3. È possibile, per gli scopi di visualizzazione della fonte effettivamente rilevante, non dover attraversare più directory. (Non è un gran vantaggio con un progetto esterno, ma prova 10)

Detrazioni sull'uso della directory sorgente:

  1. Potresti non possedere o avere accesso in scrittura alla directory di origine
  2. Conflitti teorici tra due build parallele che cercano di fare la stessa cosa
  3. Che cosa succede se fai decide di consentire a Bar di differire in qualche modo?
  4. In sostanza ti costringe a creare una build di Bar fuori dal codice.

Ma non riesco a decidere.

    
risposta data 25.10.2018 - 20:45
fonte

Leggi altre domande sui tag