plugins { java `module-info-compile` id("dev.nokee.jni-library") id("dev.nokee.objective-cpp-language") `uber-jni-jar` `use-prebuilt-binaries` `apple-m1-toolchain` } moduleInfo { stubModule("darklaf.core") stubModule("darklaf.platform.preferences") stubModule("darklaf.platform.decorations") } val nativeResourcePath = "com/github/weisj/darklaf/platform/${project.name}" library { dependencies { jvmImplementation(projects.darklafThemeSpec) jvmImplementation(projects.darklafUtils) jvmImplementation(projects.darklafNativeUtils) jvmImplementation(projects.darklafPlatformBase) nativeLibImplementation(macOsFrameworks.appKit) nativeLibImplementation(macOsFrameworks.cocoa) } targetMachines.addAll(machines.macOS.x86_64, machines.macOS.architecture("arm64")) variants.configureEach { resourcePath.set(nativeResourcePath) sharedLibrary { val isArm = targetMachine.architectureString == "arm64" val minOs = if (isArm) "11" else "10.10" compileTasks.configureEach { compilerArgs.addAll("-mmacosx-version-min=$minOs") // Build type not modeled yet, assuming release optimizedBinary() } linkTask.configure { linkerArgs.addAll( "-lobjc", "-mmacosx-version-min=$minOs", // "-framework", "AppKit", // "-framework", "Cocoa", ) } } } }