CMake

CMake
CMake
Cmake.jpg
Desarrollador
Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf
www.cmake.org
Información general
Última versión estable 2.8.5 (info)
14 de julio de 2011; hace 4 meses (2011-07-14)
Género Herramienta de programación
Programado en C++
Sistema operativo Multiplataforma
Licencia Licencia BSD
En español ?

CMake es una herramienta multiplataforma de generación o automatización de código. El nombre es una abreviatura para "cross platform make" (make multiplataforma); más allá del uso de "make" en el nombre, CMake es una suite separada y de más alto nivel que el sistema make común de Unix, siendo similar a las autotools.

CMake es una familia de herramientas diseñada para construir, probar y empaquetar software. CMake se utiliza para controlar el proceso de compilación del software usando ficheros de configuración sencillos e independientes de la plataforma. Cmake genera makefiles nativos y espacios de trabajo que pueden usarse en el entorno de desarrollo deseado. Es comparable al GNU build system de Unix en que el proceso es controlado por ficheros de configuración, en el caso de CMake llamados CMakeLists.txt. Al contrario que el GNU build system, que está restringido a plataformas Unix, CMake soporta la generación de ficheros para varios sistemas operativos, lo que facilita el mantenimiento y elimina la necesidad de tener varios conjuntos de ficheros para cada plataforma.

El proceso de construcción se controla creando uno o más ficheros CMakeLists.txt en cada directorio (incluyendo subdirectorios). Cada CMakeLists.txt consiste en uno o más comandos. Cada comando tiene la forma COMANDO (argumentos...) donde COMANDO es el nombre del comando, y argumentos es una lista de argumentos separados por espacios. CMake provee comandos predefinidos y definidos por el usuario. Existen generadores makefile para Unix, Borland make, Watcom make, MinGW, MSYS y Microsoft NMake. También es posible generar ficheros de proyecto para Code::Blocks, Eclipse CDT, Microsoft Visual Studio de la 6 a la 10 incluyendo versiones de 64 bits y KDevelop.

Contenido

Historia

CMake se creó en respuesta a la necesidad de disponer de un entorno multiplataforma apropiado de construcción para el Insight Segmentation and Registration Toolkit (ITK) creado por la United States National Library of Medicine como parte del Visible Human Project. Fue influenciado por un sistema anterior llamado pcmaker creado por Ken Martin y otros desarrolladores para soportar el Visualization Toolkit (VTK), un sistema para gráficos 3D y visualización libres.

Para crear CMake, Bill Hoffman en Kitware incorporó algunas ideas de pcmaker, y añadió más cosas propias, con el pensamiento de adoptar algunas de las funcionalidades del GNU build system. La implementación inicial de CMake tuvo lugar a mediadodos del 2000, con un desarrollo acelerado a comiezons del 2001. Muchas mejoras se debieron a influencias de otros desarrolladores a la hora de incorporar CMake a sus propios sistemas. Por ejemplo, la comunidad de VXL adoptó CMake, contribuyendo con muchas características esenciales. Brad King añadió varias características para dar soporte a CABLE y GCC-XML, un juego de herramientas de envoltura automáticas; y GE Corporate R&D necesitaba soporte para su infraestructura de pruebas (DART). Otras funcionalidades se añadieron para soportar la transición de VTK's a CMake, y soportar ParaView, un sustema de visualización paralela para el Advanced Computing Lab en Los Alamos National Laboratory.

Documentación y tutoriales

Aparte de la documentación oficial de CMake, existe un libro titulado Mastering CMake, publicado por Kitware.

Principales funcionalidades

  • Ficheros de configuración escritos en un lenguaje de scripting específico para CMake
  • Análisis automático de dependencias para C, C++, Fortran, y Java
  • Soporte para SWIG, Qt, FLTK, a través del lenguaje de scripting de CMake
  • Soporte para varias versiones de Microsoft Visual Studio, incluyendo la 6, 7, 7.1, 8.0, 9.0 y 10.0
  • Genera ficheros para Eclipse CDT (C/C++ Development Tools)
  • Detección de cambios en ficheros usando timestamps tradicionales
  • Soporte para builds paralelos
  • Compilador cruzado
  • Vista global de todas las dependencias, usando CMake para generar un diagrama graphviz
  • Soporte para builds multiplataforma
  • Integrado con DART (software), CDash, CTest y CPack, una colección de herramientas para prueba y liberación de software

CTest, CPack, CDash

Kitware desarrolló estas herramientas en colaboración con muchos otros. Incluyen CMake, CTest, CPack y CDash. CPack es una utilidad de empaquetamiento y despliegue. CTest es un cliente de pruebas libre.

Aplicaciones que utilizan CMake

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужен реферат?

Mira otros diccionarios:

  • CMake — Developer(s) Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf Stable release 2.8.6 / October 4, 2011; 42 days ago …   Wikipedia

  • CMake — Тип Инструментальное программное обеспечение …   Википедия

  • CMake — Entwickler Bill Hoffman, Ken Martin, Brad King, Dave Cole, Alexander Neundorf, Clinton Stimpson[1] Aktuelle Version …   Deutsch Wikipedia

  • Cmake — Développeurs Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf …   Wikipédia en Français

  • CMake — Développeurs Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf Dernière version …   Wikipédia en Français

  • Cmake — …   Википедия

  • Autoconf — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • Autoheader — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • Automake — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

  • Autotools — Programmablaufplan von autoconf und automake, zwei Tools im GNU Build System Das GNU Build System, auch bekannt als Autotools, ist eine Sammlung von Tools für die Computerprogrammierung, die vom GNU Projekt entwickelt wurden. Diese Tools sind für …   Deutsch Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”