Kieren Searle
10/13/2022, 7:32 PMKieren Searle
10/13/2022, 7:33 PMplugins {
id "cpp-library"
}
library {
linkage = Linkage.STATIC
}
This builds with and outputs libmylibrary.aKieren Searle
10/13/2022, 7:36 PMstaticLibraries
and libraryPaths
accordinglyKieren Searle
10/13/2022, 7:38 PMKieren Searle
10/13/2022, 7:38 PMBig Chungus
10/13/2022, 7:39 PMBig Chungus
10/13/2022, 7:40 PMBig Chungus
10/13/2022, 7:41 PMKieren Searle
10/13/2022, 7:42 PMBig Chungus
10/13/2022, 7:43 PMKieren Searle
10/13/2022, 7:44 PMBig Chungus
10/13/2022, 7:45 PMKieren Searle
10/13/2022, 7:48 PMBig Chungus
10/13/2022, 7:49 PMKieren Searle
10/13/2022, 7:50 PMLandry Norris
10/13/2022, 8:01 PMKieren Searle
10/13/2022, 8:10 PMKieren Searle
10/13/2022, 8:12 PMLandry Norris
10/13/2022, 8:13 PMtasks {
//We want to create a task that can copy our resulting Android library into the analyzer-android module.
val prepareAndroidNdkSo by creating {
dependsOn(build)
val debugArm32SoFolder = File(buildDir, "bin/androidNativeArm32/debugShared")
val jniArm32Folder = File(projectDir, "../a-folder/src/androidMain/jniLibs/armeabi-v7a")
val debugArm64SoFolder = File(buildDir, "bin/androidNativeArm64/debugShared")
val jniArm64Folder = File(projectDir, "../a-folder/src/androidMain/jniLibs/arm64-v8a")
val debugX86SoFolder = File(buildDir, "bin/androidNativeX86/debugShared")
val jniX86Folder = File(projectDir, "../a-folder/src/androidMain/jniLibs/x86")
val debugX64SoFolder = File(buildDir, "bin/androidNativeX64/debugShared")
val jniX64Folder = File(projectDir, "../a-folder/src/androidMain/jniLibs/x86_64")
doLast {
copy {
from(debugArm32SoFolder)
into(jniArm32Folder)
include("*.so")
}
copy {
from(debugArm64SoFolder)
into(jniArm64Folder)
include("*.so")
}
copy {
from(debugX86SoFolder)
into(jniX86Folder)
include("*.so")
}
copy {
from(debugX64SoFolder)
into(jniX64Folder)
include("*.so")
}
}
}
}
Kieren Searle
10/13/2022, 8:14 PMLandry Norris
10/13/2022, 8:14 PMLandry Norris
10/13/2022, 8:15 PMKieren Searle
10/13/2022, 8:15 PMKieren Searle
10/13/2022, 8:15 PMLandry Norris
10/13/2022, 8:18 PMKieren Searle
10/13/2022, 8:27 PMKieren Searle
10/21/2022, 12:56 AMcmake -GXcode . -bbuild
b. The second then uses xcodebuild
to build it
• I call this task from my script in Xcode which builds my KMM module
• I can then use the build lib in cinterops
It's not the most efficient, but it works and I can improve on it in the future.Kieren Searle
10/21/2022, 1:03 AM