Skip to content

Commit e6e18b4

Browse files
authored
kn: parallelize CMake builds (#142)
1 parent aed1325 commit e6e18b4

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

aws-crt-kotlin/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,15 @@ kotlin {
7171
// see: https://github.com/JetBrains/kotlin-native/issues/2423#issuecomment-466300153
7272
targets.withType<KotlinNativeTarget> {
7373
val knTarget = this
74-
logger.info("configuring $knTarget: ${knTarget.name}")
74+
logger.info("configuring Kotlin/Native target $knTarget: ${knTarget.name}")
7575
val cmakeInstallTask = configureCrtCMakeBuild(knTarget, CMakeBuildType.Release)
7676
val targetInstallDir = project.cmakeInstallDir(knTarget)
7777
val headerDir = targetInstallDir.resolve("include")
7878
val libDir = targetInstallDir.resolve("lib")
7979

8080
compilations["main"].cinterops {
8181
val interopDir = "$projectDir/native/interop"
82-
println("configuring crt cinterop for: ${knTarget.name}")
82+
logger.info("configuring crt cinterop for: ${knTarget.name}")
8383
val interopSettings = create("aws-crt") {
8484
defFile("$interopDir/crt.def")
8585
includeDirs(headerDir)

build-support/src/main/kotlin/aws/sdk/kotlin/gradle/crt/CMakeTasks.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,14 +151,15 @@ private fun Project.registerCmakeBuildTask(
151151
outputs.dir(cmakeBuildDir)
152152

153153
doLast {
154+
val coresPlusOne = (Runtime.getRuntime().availableProcessors().toInt() + 1).toString()
155+
154156
val args = mutableListOf(
155157
"--build",
156158
relativeBuildDir,
157159
"--config",
158160
buildType.toString(),
159-
// FIXME There is a parallelism issue between linuxx64 and linuxarm64 causing flaky builds
160-
// "--parallel",
161-
// System.getProperty("org.gradle.workers.max", "16"),
161+
"--parallel",
162+
System.getProperty("org.gradle.workers.max", coresPlusOne),
162163
)
163164

164165
val osxSdk = knTarget.konanTarget.osxDeviceSdkName

0 commit comments

Comments
 (0)