(tool)
| 1096 | this.line(""); |
| 1097 | } |
| 1098 | generateDependenciesDefinitions(tool) { |
| 1099 | if ("mcrun" == tool.toolName) |
| 1100 | return; |
| 1101 | |
| 1102 | if ("esp32" == tool.platform) { |
| 1103 | let dep, namespace; |
| 1104 | if (tool.dependencies?.length) { |
| 1105 | var projBase = `${tool.tmpPath}${tool.slash}xsProj-${tool.environment.ESP32_SUBCLASS}${tool.slash}managed_components${tool.slash}`; |
| 1106 | this.write("MANAGED_COMPONENT_DIRS = \\\n"); |
| 1107 | for (dep of tool.dependencies) { |
| 1108 | namespace = dep.namespace ?? "espressif"; |
| 1109 | const depBase = `${projBase}${namespace}__${dep.name}${tool.slash}`; |
| 1110 | var depLine = "\t"; |
| 1111 | if (tool.windows) |
| 1112 | depLine += "-I"; |
| 1113 | depLine += depBase + "include \\\n"; |
| 1114 | if (dep.includes) { |
| 1115 | for (var inc of dep.includes) { |
| 1116 | if (tool.windows) |
| 1117 | depLine += "-I"; |
| 1118 | depLine += `${depBase}${tool.resolveSlash(inc)} \\\n`; |
| 1119 | } |
| 1120 | } |
| 1121 | this.write(depLine); |
| 1122 | } |
| 1123 | this.write("\n"); |
| 1124 | } |
| 1125 | |
| 1126 | let depStr = [] |
| 1127 | const idf_component = `${tool.tmpPath}${tool.slash}xsProj-${tool.environment.ESP32_SUBCLASS}${tool.slash}main${tool.slash}idf_component.yml`; |
| 1128 | for (dep of tool.dependencies) { |
| 1129 | namespace = dep.namespace ?? "espressif"; |
| 1130 | if (undefined === dep.idf) { |
| 1131 | depStr.push(`grep -q '${namespace}/${dep.name}' ${idf_component} || idf.py add-dependency "${namespace}/${dep.name}${dep.version ?? ""}"`); |
| 1132 | } |
| 1133 | } |
| 1134 | if (tool.environment.USE_USB == 1) |
| 1135 | depStr.push(`grep -q 'espressif/esp_tinyusb' ${idf_component} || idf.py add-dependency "espressif/esp_tinyusb"`); |
| 1136 | this.line("BUILD_DEPENDENCIES = " + depStr.join("& ")); |
| 1137 | this.line(); |
| 1138 | |
| 1139 | let cmakeTweakFile = tool.outputConfigDirectory + tool.slash + "xs_idf_deps.txt"; |
| 1140 | let tweakStr = "set(ESP_COMPONENTS "; |
| 1141 | for (dep of tool.dependencies) { |
| 1142 | namespace = dep.namespace ?? "espressif"; |
| 1143 | if (undefined !== dep.idf) |
| 1144 | tweakStr += `${dep.idf} `; |
| 1145 | else |
| 1146 | tweakStr += `${namespace}__${dep.name} `; |
| 1147 | } |
| 1148 | if (this.debug) |
| 1149 | tweakStr += "efuse log "; |
| 1150 | else |
| 1151 | tweakStr += "efuse "; |
| 1152 | if (tool.environment.USE_USB == 1) |
| 1153 | tweakStr += "espressif__esp_tinyusb"; |
| 1154 | tweakStr += ")\n"; |
| 1155 | if (tool.isDirectoryOrFile(cmakeTweakFile) != 1 || tool.readFileString(cmakeTweakFile) != tweakStr) |
no test coverage detected