Sto scrivendo questa piccola utility, FOSS ma non intesa per l'implementazione estesa, il packaging nelle distribuzioni del SO ecc. La mia utilità dipende da diverse librerie - alcune sono solo header (è C ++), alcune sono intestazioni + librerie compilate.
Ora, quando si tratta di una libreria con versione corretta rilasciata, la vita è semplice. Ho CMake cercare quella libreria, rilevare il numero di versione, richiedere un numero appropriato e sono impostato. Inoltre, non mi preoccupo di includere una copia di tale libreria con il mio codice nel repository di controllo di revisione.
Ma cosa succede se la libreria su cui sto lavorando è solo un progetto github, con gli sviluppatori che occasionalmente si impegnano a farlo, e nessun rilascio o versioning? Come dovrei dipendere da quella libreria e formalizzare questa dipendenza? Dovrei includere un'istantanea di esso? Supponete che esista altrove, cercatelo e provate a determinare il codice del changeset o il timestamp?
Nota:
Questa domanda non riguarda il mio specifico ambiente di sviluppo, ma puoi usarlo per illustrare o se il tuo suggerimento è specifico. Scrivo (principalmente) C ++, uso mercurial per il controllo di revisione e CMake come sistema di compilazione.