CMake: Compilar un Hola Mundo!
Esta receta explica cómo compilar un programa trivial con CMake.
Software necesario
El ejemplo que vamos a utilizar puedes descargarlo utilizando subversion desde:svn co https://arco.esi.uclm.es/svn/public/samples/cmake/single_binaryEl directorio 'single_binary' contiene una implementación (hello.cpp) de un "Hola Mundo" en C++ y el archivo CMakeLists.txt.
Versión "quick" y no tan "dirty"
El contenido del archivo es el siguiente:Versión "paranoic"
En el ejemplo anterior, desde un punto de vista ortodoxo, hemos supuesto muchas cosas. Por ejemplo, en el fichero "hello.cpp" se incluye la cabecera "iostream". ¿Hemos comprobado que está instalada? El compilador de C++ que utilizamos, ¿tiene soporte para que se pueda utilizar el namespace "std"? Como ves, hay muchas cosas que se han dado por supuestas en el ejemplo anterior. Aunque para este ejemplo no sea necesario, veamos una versión del archivo CMakeLists.txt más avanzada:- TestForSTDNamespace: incluye el código necesario para comprobar que existe el compilador soporta el uso del espacio de nombres std. Esta macro modifica una variable global (CMAKE_NO_STD_NAMESPACE) con el resultado de dicho test.
- CheckIncludeFileCXX: se trata de un módulo que contiene el comando CHECK_INCLUDE_FILE_CXX que acepta como primer parámetro el nombre del archivo a incluir y, como segundo parámetro, una variable donde almacenar el resultado. De esta forma, utilizando un IF podemos comprobar que efectivamente se encuentra instalada la cabecera iostream.
Referencias
- CMake 2.8 Commands: lista de todos los comandos básicos.
- Standard CMake 2.8 Modules: en este enlace se muestran los módulos disponibles, así como las variables de salida que definen.
[ show comments ]
blog comments powered by Disqus