Proyecto de dependencia para clonadores git

Tengo un proyecto en GitHub que depende de otro proyecto (que tiene su propio repository de git). Ambos proyectos usan CMake para compilation.

La mina del proyecto depende, cuando se comstack, de:

  • dos include/ folders (una incluida directamente por el git repo, otra generada por CMake) que contiene los encabezados;
  • una carpeta lib/ contiene bibliotecas binarias comstackdas con las que se vinculará mi proyecto;
  • un bin/ carpeta que contiene herramientas de utilidad.

Quiero que cuando alguien clone mi repository de git, ese proyecto se descargue y compile, y esas carpetas se copyrán en una carpeta accesible a la que pueda hacer reference desde mi proyecto.

¿Hay una buena manera de lograr esto? Tal vez la descarga de ese proyecto no puede ser automática, pero mi objective es hacer que el nuevo clonador haga el menor trabajo posible para configurar el entorno.

EDITAR: Conozco los submodules pero leo que pueden ser reemplazados por otros administradores de dependencies que ofrecen más funciones. Pero mi pregunta era si hay una manera de hacer que Git llame a un script bash o algo así después de la clonación.

La forma de hacer lo que describes se llama "Submodules". Puede leer sobre ellos en el libro de Git SCM – Chap 7.11 Herramientas de Git – Submodules .

La versión corta: los submodules le permiten tener esencialmente un clon de otro repository git en una subcarpeta en su repo original. Puede configurar las cosas para que una búsqueda obtenga de forma recursiva todos los submodules, o puede hacer que las actualizaciones de los submodules sean manuales.

No los he usado todavía, pero he visto muchas advertencias de que pueden ser complicados; dicho esto, fueron diseñados específicamente para manejar este caso de uso.