Secuencia de Compilación y Ejecución de un Proyecto

   A continuación se describe detalladamente el proceso de construcción de un proceso. Es decir, todo lo que ocurre detrás del IDE cuando el proyecto se compila.


   La secuencia de pasos es la siguiente para un proyecto cuya compilación es gestionada directamente por ZinjaI es:
  1. Se verifica qué pasos hay que ejecutar. Las reglas para ello son:
  2. Si hay algún paso (compilación, enlazado, adicional, etc) que deba ejecutarse, lo hacen en el siguiente orden:
    1. se analiza la configuración del proyecto. Es decir, se componen los argumentos que se utilizarán al compilar o ensamblar: esto incluye parsear todos los campos de la configuración de proyecto, ejecutar los subcomandos (ingresados entre acentos, ej: `wx-config --cppflags`) y reemplazar las variables (${MINGW_DIR}, ${TEMP_DIR}, etc).
    2. se recompilan los proyectos de wxFormBuilder
    3. se ejecutan los pasos adicionales ubicados antes de la compilación de fuentes del proyecto
    4. se compilan los fuentes del proyecto, tanto los destinados a bibliotecas, como los que van directo al ejecutable
    5. se ejecutan los pasos adicionales ubicados entre la compilación de los fuentes y la generación de bibliotecas
    6. se enlazan las bibliotecas que debe generar el proyecto: para este enlazado sólo se utilizan los argumentos definidos para dicha biblioteca, no los generales del proyecto
    7. se ejecutan los pasos adicionales ubicados entre la generación de bibliotecas y el enlazado el ejecutable
    8. se enlaza el ejecutable (a menos que el proyecto genere sólo bibliotecas): para conformar el ejecutable se enlazan todos los fuentes que no estén asociados a ninguna biblioteca y los archivos de salida de todas las bibliotecas que tengan al menos un fuente asociado
    9. se ejecutan los pasos adicionales definidos luego de el enlazado del ejecutable




   Siempre puede analizar qué comandos en verdad se ejecutaron tras una compilación haciendo click con el botón derecho del mouse en el Arbol de Resultados de la Compilación y seleccionando la opción Abrir última salida del menú contextual. Aquí observará los comandos ejecutados (precedidos por el signo >) y la salida que cada uno de ellos arrojó a continuación.

Nota: Un proyecto que utiliza un toolchain basado en una herramienta externa (script de compilación o Makefile por ejemplo), delega todo el proceso de compilación al mismo, por lo que ninguna de las etapas que se describen a continuación aplican en ese caso. Antes de ejecutar el script o la herramienta que corresponda al toolchain, ZinjaI define algunas variables de entorno para comunicarle al mismo valores de la configuración del proyecto que puedan ser de utilidad. Estas son: "Z_PROJECT_PATH", que contiene la carpeta del proyecto; "Z_PROJECT_BIN", que contiene la ubicación del ejecutable; y "Z_TEMP_DIR", que contiene la ruta del directorio de temporales.