Cuando uso el gnu clásico Realizo las acciones posteriores a la compilación, como flashear el dispositivo (si es un dispositivo incrustado) y otras acciones similares. El parpadeo real generalmente se oculta detrás de un pequeño sctipt o algunos comandos.cmake: ¿Cómo agregar un add_custom_command que simplemente ejecuta un shellscript?
Entonces puedo escribir algo así como
make flash
así que primero construir el código y luego termina en el objetivo. El clásico Makefile podría tener algo como en él:
.PHONY: flash
flash: main.bin
scripts/do_flash.pl main.bin
Pero ¿Cómo agrego este tipo de acciones posterior a construir a una acumulación cmake?
¿Cómo agrego un "comando personalizado" que simplemente ejecuta un shellscript?
esta pregunta habla de add_custom_command: La cuestión cmake add custom command se siente como que está cerca, pero el add_custom_command parece necesitar un "archivo de salida" para trabajar. Pero en este caso está sucediendo algo, no se genera.
¿Qué pondría en el CMakeLists.txt para agregar una acción tan personalizada?
/Gracias
Como referencia, un enlace a la documentación sobre este tema cmake
+1 Eso se ve bien :) – Johan
por cierto, ¿cómo sabes que $ {MAIN_BIN_FILE} debería transformarse en main.bin? ¿Hay algún tipo de magia de cmake, o debo definir un varialbe llamado MAIN_BIN_FILE y darle el valor main.bin? – Johan
Sí, deberías definirlo tú mismo. Supuse que producirás main.bin mediante add_custom_command (OUTPUT $ {MAIN_BIN_FILE} ...). Si no es el caso, puede reemplazarlo con una cadena constante. En ese caso, también puede eliminar la cláusula DEPENDS de add_custom_target. – arrowd