Pequeño truco para mejorar nuestra productividad con cmake. La primera recomendación es crear siempre un directorio build dentro de nuestro proyecto. Este directorio no se subiría a ningún repositorio, lo usamos sólo para tener todos los binarios compilados, librerías, etc… separado siempre de nuestro código y cabeceras.

En un escenario típico se entra en el directorio build, se ejecuta «cmake ..», después make, después bin/nuestro_programa… una y otra y otra vez. Esto lo haremos en una terminal sólo para compilar+ejecutar, en otra terminal o donde sea, tendremos el código que iremos desarrollando. A mi me tiene pasado que no distingo la terminal donde tengo el building del resto, incluso he llegado a cargarme cosas sin querer por culpa de esto. Para evitarlo me he escrito un fichero de aliases de bash que activo cuando estoy en mi directorio de build. El fichero lo podéis descargar de aquí y tiene esta pinta:

cmake-aliases screenshot

se activa escribiendo en el directorio de build:

. cmake-aliases

El punto(.) es importante, indica al shell actual que vamos a incorporar las definiciones de ese fichero. Nota, ese fichero tiene que estar accesible desde el path, o bien os toca poner la ruta completa donde lo tengáis.

Cosas que tiene definidas:

  • cambia el prompt, para hacerlo claramente distinguible. También permite ver más fácilmente los errores de compilación hasta donde llegan.
  • una función «help» para recordarnos que hay definido
  • escribiendo sólamente c, ejecuta cmake ..
  • escribiendo m, ejecuta make -j2 (-j2 para compilar con dos procesos)
  • escribiendo t, ejecuta make test
  • se desactiva «cd» para no cambiar de directorio accidentalmente
  • se pone LANG=»C» para obviar problemas de internacionalización
  • se añade el bin al path, para poder ejecutar rápidamente lo que estemos desarrollando

Espero que a alguno le sirva, como me sirve a mi 🙂