diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 0355ff78d..d0dcedad1 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -32,7 +32,7 @@ jobs: key: ${{ runner.os }}-konan-1.4.20-eap-37 restore-keys: ${{ runner.os }}-konan-1.4.20-eap-37 - name: Build with Gradle - run: ./gradlew -Dorg.gradle.daemon=false --build-cache :kmath-gsl:cinteropLibgslLinuxX64 build + run: ./gradlew -Dorg.gradle.daemon=false --build-cache :kmath-gsl:cinteropLibgslNative build build-osx: runs-on: macos-latest @@ -62,4 +62,4 @@ jobs: key: ${{ runner.os }}-konan-1.4.20-eap-37 restore-keys: ${{ runner.os }}-konan-1.4.20-eap-37 - name: Build with Gradle - run: ./gradlew -Dorg.gradle.daemon=false --build-cache :kmath-gsl:cinteropLibgslMacosX64 build + run: ./gradlew -Dorg.gradle.daemon=false --build-cache :kmath-gsl:cinteropLibgslNative build diff --git a/kmath-gsl/build.gradle.kts b/kmath-gsl/build.gradle.kts index 3fa4223a8..19f36a1e4 100644 --- a/kmath-gsl/build.gradle.kts +++ b/kmath-gsl/build.gradle.kts @@ -1,14 +1,18 @@ @file:Suppress("UNUSED_VARIABLE") -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget - plugins { - id("ru.mipt.npm.native") + id("ru.mipt.npm.mpp") } kotlin { - targets.withType { - compilations["main"].cinterops { + val nativeTarget = when (System.getProperty("os.name")) { + "Mac OS X" -> macosX64("native") + "Linux" -> linuxX64("native") + else -> throw GradleException("Host OS is not supported in Kotlin/Native.") + } + + val main by nativeTarget.compilations.getting { + cinterops { val libgsl by creating { defFile("src/nativeInterop/cinterop/libgsl.def") includeDirs { allHeaders("./src/nativeMain/resources/") }