Diferencia entre usar Makefile y cmake para compilar el código


Codifico en C/C++ y uso el Makefile (GNU)para compilar el código. Puedo hacer lo mismo con cmake y obtener un MakeFile. Sin embargo, no entiendo cuál es la diferencia entre usar Makefile y cmake para compilar el código.

Author: Raedwald, 2014-09-11

1 answers

Make (o más bien un Makefile) es un buildsystem - dirige el compilador y otras herramientas de compilación para compilar su código.

CMake es un generador de buildsystems. Puede producir Makefiles, puede producir archivos de compilación Ninja, puede producir proyectos KDevelop o XCode, puede producir soluciones de Visual Studio. Desde el mismo punto de partida, las mismas listas de CMakeLists.archivo txt. Así que si tienes un proyecto independiente de la plataforma, CMake es una forma de hacerlo independiente del sistema de construcción también.

Si los desarrolladores de Windows se han acostumbrado a Visual Studio y desarrolladores de Unix que juran por GNU Make, CMake es (uno de) el camino a seguir.

Siempre recomendaría usar CMake (u otro generador de buildsystem, pero CMake es mi preferencia personal) si pretende que su proyecto sea multiplataforma o ampliamente utilizable. CMake también proporciona algunas características agradables como detección de dependencias, administración de interfaces de bibliotecas o integración con CTest, CDash y CPack.

Usando un generador de buildsystem hace que su proyecto esté más preparado para el futuro. Incluso si ahora eres GNU-Make-only, ¿qué pasa si luego decides expandirte a otras plataformas (ya sea Windows o algo incrustado), o simplemente quieres usar un IDE?

 256
Author: Angew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-11 14:24:51