Generador de dianas de evaluación

Expresión del generador de Cmake no evaluada
Contenidos
No se puede. Las expresiones del generador están pensadas para cosas que no se conocen exactamente en la fase de configuración: dependen del tipo de compilación que, en el caso de los generadores multiconfiguración, sólo se conoce en la fase de compilación.
Dado que las expresiones del generador se evalúan durante la generación del sistema de construcción, y no durante el procesamiento de los archivos CMakeLists.txt, no es posible inspeccionar su resultado con el comando message(). Una forma posible de generar mensajes de depuración es escribir mensajes de depuración en un archivo con file(GENERATE):
Expresión generadora de Cmake si variable establecida
El generador de código convierte la representación intermedia del código fuente en una forma que pueda ser ejecutada fácilmente por la máquina. Se espera que un generador de código genere el código correcto. El diseño del generador de código debe hacerse de tal manera que pueda ser fácilmente implementado, probado y mantenido. Durante la fase de generación de código se plantea el siguiente problema: P:=Q+R
MOV R0, SHere la cuarta sentencia es redundante ya que el valor del P se carga de nuevo en esa sentencia que acaba de ser almacenado en la sentencia anterior. Esto conduce a una secuencia de código ineficiente. Una representación intermedia dada puede traducirse en muchas secuencias de código, con diferencias de coste significativas entre las distintas implementaciones. Se necesita un conocimiento previo del coste de las instrucciones para diseñar buenas secuencias, pero es difícil predecir una información precisa sobre el coste.Mis notas personales
Propiedades de destino de Cmake
CMake tiene una sentencia if, aunque con los años se ha vuelto bastante compleja. Hay una serie de palabras clave en mayúsculas que se pueden utilizar dentro de una sentencia if, y a menudo se puede hacer referencia a las variables, ya sea directamente por su nombre o utilizando la sintaxis ${} (la sentencia if históricamente es anterior a la expansión de variables). Un ejemplo de sentencia if:
Dado que esto puede ser un poco confuso si se pone explícitamente una expansión de variable, como ${variable}, debido a la potencial expansión de una expansión, una política (CMP0054) se añadió en CMake 3.1+ que evita que una expansión citada sea expandida de nuevo. Por lo tanto, siempre y cuando la versión mínima de CMake sea 3.1+, se puede hacer:
generador-expresiones son realmente poderosos, pero un poco extraño y especializado. La mayoría de los comandos de CMake ocurren en tiempo de configuración, incluyendo las sentencias if vistas anteriormente. ¿Pero qué pasa si necesitas que la lógica ocurra en tiempo de compilación o incluso en tiempo de instalación? Expresiones generador se añadieron para este propósito.1 Se evalúan en las propiedades de destino.
Las expresiones generadoras más sencillas son expresiones informativas y tienen la forma $<KEYWORD>; se evalúan a una información relevante para la configuración actual. La otra forma es $<PalABRA CLAVE:valor>, donde PALABRA CLAVE es una palabra clave que controla la evaluación, y valor es el elemento a evaluar (aquí también se permite una palabra clave de expresión informativa). Si KEYWORD es una expresión generadora o una variable que se evalúa a 0 o 1, el valor se sustituye por
Ejemplo de expresiones generadas por Cmake
Este generador Yeoman proporciona una gobernanza mejorada para los proyectos SharePoint Framework. Extiende el generador Yeoman de Microsoft (@microsoft/generator-sharepoint) con patrones recomendados y capacidades adicionales.
Para un flujo de trabajo de desarrollo optimizado, amplía las capacidades para proyectos de ReactJS y Knockout y la compatibilidad con marcos de trabajo adicionales, como HandlebarsJS, Aurelia, VueJS y Angular Elements. También incluye herramientas avanzadas de análisis de código y pruebas, que puedes aprovechar en tu trabajo de desarrollo.
Todos los proyectos generados por este generador son 100% compatibles con el generador Yeoman out-of-the-box de Microsoft. Tras la creación de una nueva solución, puede utilizar este generador o @microsoft/generator-sharepoint para añadir activos adicionales a su solución.