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)
-
CMakeLists.txt: Tú escribes un archivo llamado
CMakeLists.txt
que describe cómo se debe compilar el proyecto. -
CMake genera archivos de proyecto (Makefiles, proyectos de Visual Studio, etc.).
-
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
Publicar un comentario