Estoy en el medio de configurar un entorno de compilación para un proyecto de juego en C++. Nuestro principal requisito es la capacidad de construir no solo nuestro código de juego, sino también sus dependencias (Ogre3D, Cegui, boost, etc.). Además, nos gustaría poder construir tanto en Linux como en Windows, ya que nuestro equipo de desarrollo consiste en miembros que utilizan diferentes sistemas operativos.C++ Buildsystem con capacidad para compilar dependencias de antemano
Ogre3D usa CMake como herramienta de compilación. Es por eso que también hemos basado nuestro proyecto en CMake hasta ahora. Podemos compilar perfectamente bien una vez que todas las dependencias se configuran manualmente en cada sistema de miembros del equipo, ya que CMake puede encontrar las bibliotecas.
La pregunta es si existe una forma factible de configurar las dependencias de forma automática. Como desarrollador de Java, sé de Maven, pero ¿qué herramientas existen en el mundo de C++?
Actualización: Gracias por las respuestas agradables y enlaces. En los próximos días probaré algunas de las herramientas para ver qué cumple con nuestros requisitos, comenzando con CMake. De hecho, he tenido mi participación con autotools hasta el momento y por mucho que me gusta la documentación (el autobook es una lectura muy buena), me temo que las autotools no están destinadas a ser utilizadas en Windows de forma nativa.
Algunos de ustedes sugirieron que algunos IDE manejen la administración de dependencias. Consistimos en personas que utilizan todas las tecnologías posibles para codificar desde Vim puro hasta Eclipse CDT o Visual Studio completamente grabado. Aquí es donde CMake permite usar cierta flexibilidad con su capacidad para generar archivos de proyectos nativos.
@pkit: esta es realmente una gran noticia. Me esforcé por construir mi propio sistema de compilación usando CMakeLists.txt recursivo con algunos scripts de Python agregados aquí y allá. Parece que ExternalProject_add() proporciona la funcionalidad suficiente fuera de la caja. Definitivamente voy a probarlo! – aeisele