¿Que es CMake?

CMake es una herramienta de automatización de compilación (build system generator) que gestiona el proceso de compilación de software de manera independiente del compilador y la plataforma.

Explicado sencillo:

  • No compila el código directamente, sino que genera archivos de proyecto (Makefiles, Visual Studio Projects, Ninja, etc.) que luego son usados por herramientas como make o IDEs para compilar tu código.

  • Es muy usado en proyectos C y C++, pero también puede manejar otros lenguajes.


¿Para qué se usa?

  • Para configurar, compilar y empaquetar proyectos de software en diferentes sistemas operativos (Windows, Linux, macOS).

  • Permite definir dependencias, bibliotecas, rutas de instalación de manera portable.

  • Es común en proyectos grandes y en software de código abierto como LLVM, OpenCV, etc.


¿Cómo funciona? (Flujo básico)

  1. CMakeLists.txt: Tú escribes un archivo llamado CMakeLists.txt que describe cómo se debe compilar el proyecto.

  2. CMake genera archivos de proyecto (Makefiles, proyectos de Visual Studio, etc.).

  3. Luego usas make, ninja, o abres el proyecto en el IDE generado para compilar el código.


Ventajas:

  • Soporta multiplataforma.

  • Maneja proyectos grandes y complejos.

  • Puede detectar y configurar librerías externas fácilmente.


Comentarios