@@ -124,34 +124,33 @@ Future<void> _runCmake(String buildModeName, Directory sourceDir, Directory buil
124
124
final bool needCrossBuildOptionsForArm64 = needCrossBuild
125
125
&& targetPlatform == TargetPlatform .linux_arm64;
126
126
int result;
127
- try {
128
- result = await globals.processUtils.stream (
129
- < String > [
130
- 'cmake' ,
131
- '-G' ,
132
- 'Ninja' ,
133
- '-DCMAKE_BUILD_TYPE=$buildFlag ' ,
134
- '-DFLUTTER_TARGET_PLATFORM=${getNameForTargetPlatform (targetPlatform )}' ,
135
- // Support cross-building for arm64 targets on x64 hosts.
136
- // (Cross-building for x64 on arm64 hosts isn't supported now.)
137
- if (needCrossBuild)
138
- '-DFLUTTER_TARGET_PLATFORM_SYSROOT=$targetSysroot ' ,
139
- if (needCrossBuildOptionsForArm64)
140
- '-DCMAKE_C_COMPILER_TARGET=aarch64-linux-gnu' ,
141
- if (needCrossBuildOptionsForArm64)
142
- '-DCMAKE_CXX_COMPILER_TARGET=aarch64-linux-gnu' ,
143
- sourceDir.path,
144
- ],
145
- workingDirectory: buildDir.path,
146
- environment: < String , String > {
147
- 'CC' : 'clang' ,
148
- 'CXX' : 'clang++' ,
149
- },
150
- trace: true ,
151
- );
152
- } on ArgumentError {
153
- throwToolExit ("cmake not found. Run 'flutter doctor' for more information." );
127
+ if (! globals.processManager.canRun ('cmake' )) {
128
+ throwToolExit (globals.userMessages.cmakeMissing);
154
129
}
130
+ result = await globals.processUtils.stream (
131
+ < String > [
132
+ 'cmake' ,
133
+ '-G' ,
134
+ 'Ninja' ,
135
+ '-DCMAKE_BUILD_TYPE=$buildFlag ' ,
136
+ '-DFLUTTER_TARGET_PLATFORM=${getNameForTargetPlatform (targetPlatform )}' ,
137
+ // Support cross-building for arm64 targets on x64 hosts.
138
+ // (Cross-building for x64 on arm64 hosts isn't supported now.)
139
+ if (needCrossBuild)
140
+ '-DFLUTTER_TARGET_PLATFORM_SYSROOT=$targetSysroot ' ,
141
+ if (needCrossBuildOptionsForArm64)
142
+ '-DCMAKE_C_COMPILER_TARGET=aarch64-linux-gnu' ,
143
+ if (needCrossBuildOptionsForArm64)
144
+ '-DCMAKE_CXX_COMPILER_TARGET=aarch64-linux-gnu' ,
145
+ sourceDir.path,
146
+ ],
147
+ workingDirectory: buildDir.path,
148
+ environment: < String , String > {
149
+ 'CC' : 'clang' ,
150
+ 'CXX' : 'clang++' ,
151
+ },
152
+ trace: true ,
153
+ );
155
154
if (result != 0 ) {
156
155
throwToolExit ('Unable to generate build files' );
157
156
}
0 commit comments