Integrando VSCode, Mingw-w64 y CMake (Parte II)

Artículos de la serie:

Construyendo un proyecto 'Hello, world!' con CMake


Este post es una continuación del artículo anterior de la serie, en el que analizamos la integración del editor VSCode, el compilador GCC y el generador de build systems CMake para la gestión de proyectos de C++ en MS Windows. CMake empleará ficheros de configuración CMakeLists.txt para producir archivos de construcción específicos que puedan ser utilizados por la herramienta de construcción nativa de nuestra plataforma (Make o Ninja, por ejemplo).

Iniciemos un nuevo proyecto de C++ en VSCode acudiendo al menú 'FileOpen folder...' (en Castellano: 'ArchivoAbrir carpeta...'). Aparecerá una ventana desde la que podremos seleccionar la carpeta donde almacenar los distintos ficheros del proyecto. De no existir previamente, podremos crear dicha carpeta en la ubicación que consideremos más conveniente pulsando el botón derecho del ratón y seleccionando 'Nuevo→Carpeta', tal y como hacemos habitualmente al explorar archivos. A lo largo de esta sección, asumiremos que dicha carpeta toma como título 'prueba'.


Una vez seleccionada la nueva carpeta, pulsaremos Ctrl+Shift+P y ejecutaremos >CMake: Quick Start (en Castellano: CMake: Inicio rápido). Se nos solicitará que seleccionemos un kit de compilación de entre una lista. Escogeremos la versión de GCC más actualizada disponible (en la imagen inferior, 10.3.0):


A continuación, proporcionaremos un título para el proyecto (por consistencia, prueba):


Finalmente, se nos pedirá que especifiquemos si el target del proyecto es una biblioteca (library) o un ejecutable (executable). Escogeremos esta última opción:


Observaremos la aparición del logotipo triangular de CMake en el lateral izquierdo del editor VSCode (ver figura derecha). Si pinchamos sobre él tendremos acceso a dos ficheros recién generados:
  • main.cpp, con un código básico de prueba 'Hello, world!' para C++, que mantendremos inalterado en esta primera prueba de compilación.
  • CMakeLists.txt, cuyas directrices indican el target del proyecto (en este caso, el ejecutable). Este fichero se ubica por defecto en la misma carpeta en la que se encuentra el código fuente main.cpp.
Sustituiremos el contenido que aparece por defecto en el fichero de construcción CMakeLists.txt por las siguientes tres directrices, las mínimas imprescindibles para la construcción de nuestro ejecutable. Al prescindir de las opciones de testing y packaging, el editor reconfigurará automáticamente el proyecto al guardar los cambios, eliminando todas las subdirecciones superfluas excepto la mostrada en la figura superior derecha:

cmake_minimum_required(VERSION 3.21) project(prueba VERSION 0.1.0) add_executable(prueba main.cpp)

Aquí, el comando project permite establecer el nombre y número de versión del proyecto. Por su parte, add_executable añade un ejecutable al proyecto usando una lista de ficheros fuente. En este caso, por simplicidad, hemos optado por dotar al ejecutable con el mismo nombre que el del proyecto (prueba), al existir un único target. La extensión del ejecutable (en nuestro caso, .exe) se añadirá directamente según el convenio adoptado por nuestra plataforma.

Procederemos a construir el proyecto (build) pinchando sobre el icono que figura junto a su título:


Finalmente, podremos acudir a la terminal para ejecutar el archivo ./build/prueba.exe recién generado:


En el próximo post analizaremos la instalación de bibliotecas no-estándar en nuestro sistema, así como opciones de construcción más avanzadas en CMake.


Puedes acceder al siguiente artículo de la serie a través de este enlace.

No hay comentarios:

Publicar un comentario