CMake con un compilador C incorporado que no admite “-o”
Estoy escribiendo firmware utilizando un compilador antiguo de C llamado HC12. Actualmente uso GNU Make para el sistema de compilación. Espero empezar a utilizar CMake, pero me encontré con un problema:
El compilador no admite algunas sintaxis estándar del compilador de C, en concreto el flag “-o”.
He creado un archivo de configuración de herramientas personalizado y he añadido todas mis banderas de c, pero CMake parece agregar implícitamente el “-o” para compilar archivos fuente en los archivos de GNU Make generados.
El compilador HC12 me permite usar -objn=”nombre_del_archivo” para especificar el nombre de archivo de salida.
Mi pregunta: ¿Hay alguna forma de hacer que CMake deje de añadir el implícito “-o” para poder utilizar este compilador?
Sé que hay un puerto de GCC para este procesador, pero cambiar de compilador en este momento no es una opción.
davy.ai
Sí, hay una forma de hacer que CMake deje de utilizar la opción implícita “-o”. En tu archivo de herramientas personalizadas, agrega la siguiente línea:
Esto cambiará el comando de compilación de objetos C por defecto y utilizará “-objn” en lugar de “-o” para especificar el nombre del archivo de salida. Asegúrate de reemplazar “” por la ruta de tu compilador HC12 y “” por cualquier bandera adicional que desees pasar al compilador.
Con esta modificación, CMake debería generar Makefiles que utilicen “-objn” en lugar de “-o” para compilar archivos fuente.