@@ -83,15 +83,23 @@ class RunCMakeBuilder {
8383 }) : outDir = outputDir ?? input.outputDirectory,
8484 userConfig = userConfig ?? UserConfig (targetOS: codeConfig.targetOS);
8585
86- Future <Uri > cmakePath () async {
87- final cmakeTools = await cmake.defaultResolver? .resolve (logger: logger, userConfig: userConfig);
86+ Future <Uri > cmakePath ({Map <String , String >? environment}) async {
87+ final cmakeTools = await cmake.defaultResolver? .resolve (
88+ logger: logger,
89+ userConfig: userConfig,
90+ environment: environment,
91+ );
8892 final path = cmakeTools? .first.uri;
8993 assert (path != null );
9094 return Future .value (path);
9195 }
9296
93- Future <Uri > ninjaPath () async {
94- final ninjaTools = await ninja.defaultResolver? .resolve (logger: logger, userConfig: userConfig);
97+ Future <Uri > ninjaPath ({Map <String , String >? environment}) async {
98+ final ninjaTools = await ninja.defaultResolver? .resolve (
99+ logger: logger,
100+ userConfig: userConfig,
101+ environment: environment,
102+ );
95103 final path = ninjaTools? .first.uri;
96104 assert (path != null );
97105 return Future .value (path);
@@ -101,8 +109,12 @@ class RunCMakeBuilder {
101109
102110 Future <Uri > iosToolchainCmake () async => (await currentPackageRoot ()).resolve ('cmake/ios.toolchain.cmake' );
103111
104- Future <Uri > androidToolchainCmake () async {
105- final tool = await androidNdk.defaultResolver? .resolve (logger: logger, userConfig: userConfig);
112+ Future <Uri > androidToolchainCmake ({Map <String , String >? environment}) async {
113+ final tool = await androidNdk.defaultResolver? .resolve (
114+ logger: logger,
115+ userConfig: userConfig,
116+ environment: environment,
117+ );
106118 final toolUri = tool? .first.uri.resolve ('build/cmake/android.toolchain.cmake' );
107119 assert (toolUri != null );
108120 return Future .value (toolUri);
@@ -185,14 +197,14 @@ class RunCMakeBuilder {
185197 defines.forEach ((k, v) => _defines.add ('-D$k =${v ?? "1" }' ));
186198
187199 if (generator == Generator .ninja) {
188- final ninjaBinUri = await ninjaPath ();
200+ final ninjaBinUri = await ninjaPath (environment : environment );
189201 final ninjaBinDir = File .fromUri (ninjaBinUri).parent.path;
190202 _defines.add ('-DCMAKE_PROGRAM_PATH=$ninjaBinDir ' );
191203 }
192204 final _generator = generator.toArgs ();
193205
194206 final results = await runProcess (
195- executable: await cmakePath (),
207+ executable: await cmakePath (environment : environment ),
196208 arguments: [
197209 '--log-level=${logLevel .name }' ,
198210 '-S' ,
@@ -225,7 +237,7 @@ class RunCMakeBuilder {
225237
226238 Future <RunProcessResult > _build ({Map <String , String >? environment}) async {
227239 return runProcess (
228- executable: await cmakePath (),
240+ executable: await cmakePath (environment : environment ),
229241 arguments: [
230242 '--build' ,
231243 outDir.normalizePath ().toFilePath (),
0 commit comments