Cómo indicar a CMake que use el compilador de arquitectura de compilación

Cuando se usa CMake para la compilación cruzada, generalmente se especifica un archivo de cadena de herramientas a través deCMAKE_TOOLCHAIN_FILE opción. EnTerminología GNU, se puede especificar el conjunto de herramientas de arquitectura de host utilizando este archivo. Sin embargo, generalmente no se puede esperar poder ejecutar nada creado con esta cadena de herramientas. Muy a menudo, algunas herramientas de compilación deben compilarse para la arquitectura de compilación.

Considere la siguiente configuración. Tengo dos archivos fuentegenfoo.c ybar.c. Durante la construcción,genfoo.c necesita ser compilado y ejecutado. Su salida necesita ser escrita enfoo.h. Entonces puedo compilarbar.c, cual#include "foo.h". Dado que CMake usa de manera predeterminada la cadena de herramientas de arquitectura de host, las instrucciones parabar.c son fáciles. Pero, ¿cómo le digo que use la cadena de herramientas de arquitectura de compilación para compilargenfoo.c? Simplemente diciendoadd_executable(genfoo genfoo.c) resultará en el uso del compilador incorrecto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta