instalacion found for descargar como cmake gnu-make

found - Diferencia entre Cmake, gnu make y compilación manual.



found cmake no (1)

Soy nuevo en la programación, por lo que esta es una pregunta más abstracta que técnica. He estado utilizando IDE para aprender, pero he oído que tienden a simplificar en exceso el acto de compilar, ensamblar y vincular al crear un archivo ejecutable.

Estoy intentando descargar y compilar una biblioteca sin confiar en un IDE (en este caso, librocket). Primero tuve que usar Cmake para crear los binarios. Después de configurar y generar, no vi ningún archivo objeto o archivo .cpp en el directorio de salida. Luego tuve que usar el comando gnu make que luego creó archivos de objetos y archivos .cpp en el directorio de salida.

¿Qué pasos desde la descarga del código fuente hasta la creación real de los archivos de objetos hacen Cmake y gnu? ¿En qué punto se llama realmente el compilador y el enlazador?

Compilé exitosamente una biblioteca de prueba que escribí y luego compilé otro programa que se vinculó a ella usando g ++ pero estoy un poco perdido porque tengo que usar Cmake y gnu make en lugar de llamar directamente a un compilador.


Cmake es un "generador de proyectos". En realidad no construye ningún archivo de objetos, etc .; lo que hace es generar los archivos de control para otras herramientas (como GNU make) que construirán archivos de objetos, etc.

La ventaja de usar cmake en lugar de escribir el archivo make directamente es que, usando el mismo archivo de entrada cmake, cmake puede generar archivos de proyecto para todo tipo de herramientas de control de compilación diferentes: además de los archivos make, puede generar archivos de proyecto Xcode (Mac OS X) , Archivos de proyectos de Microsoft Visual Studio y archivos de control para otras herramientas como Ninja. Si está escribiendo un software que debe construirse en muchas plataformas diferentes, entonces cmake suele ser una buena opción.

Para su situación, es así: cmake genera un conjunto de archivos make (solo). Por lo general, solo hace esto una vez cuando tiene un espacio de trabajo limpio. Luego ejecuta make que utiliza esos makefiles para invocar el compilador cuando sea necesario, cuando cambian varios archivos. Los makefiles también tienen reglas para volver a ejecutar cmake si alguno de los archivos de entrada de cmake cambia.