@@ -220,25 +220,31 @@ private val requiresExplicitBash = setOf(
220220)
221221
222222private fun runCmake (project : Project , target : KotlinNativeTarget , cmakeArgs : List <String >) {
223+ val disableCrossCompile = (project.properties[" aws.sdk.kotlin.crt.disableCrossCompile" ] as ? String ? : " " )
224+ .split(' ,' )
225+ .map { it.trim() }
226+ .toSet()
227+
228+ val useContainer = target.konanTarget in containerCompileTargets && target.konanTarget.name !in disableCrossCompile
229+
223230 project.exec {
224231 workingDir(project.rootDir)
225232 val exeArgs = cmakeArgs.toMutableList()
226- val exeName = when {
227- target.konanTarget in containerCompileTargets -> {
228- // cross compiling via dockcross - set the docker exe to cmake
229- val containerScriptArgs = listOf (" --args" , " --pull=missing" , " --" , " cmake" )
230- exeArgs.addAll(0 , containerScriptArgs)
231- val script = " dockcross-" + target.konanTarget.name.replace(" _" , " -" )
232- validateCrossCompileScriptsAvailable(project, script)
233-
234- if (target.konanTarget in requiresExplicitBash) {
235- exeArgs.add(0 , " ./$script " )
236- " bash"
237- } else {
238- " ./$script "
239- }
233+ val exeName = if (useContainer) {
234+ // cross compiling via dockcross - set the docker exe to cmake
235+ val containerScriptArgs = listOf (" --args" , " --pull=missing" , " --" , " cmake" )
236+ exeArgs.addAll(0 , containerScriptArgs)
237+ val script = " dockcross-" + target.konanTarget.name.replace(" _" , " -" )
238+ validateCrossCompileScriptsAvailable(project, script)
239+
240+ if (target.konanTarget in requiresExplicitBash) {
241+ exeArgs.add(0 , " ./$script " )
242+ " bash"
243+ } else {
244+ " ./$script "
240245 }
241- else -> " cmake"
246+ } else {
247+ " cmake"
242248 }
243249
244250 project.logger.info(" $exeName ${exeArgs.joinToString(separator = " " )} " )
0 commit comments