You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.1 KiB
120 lines
3.1 KiB
@file:Suppress("OPT_IN_IS_NOT_ENABLED") |
|
|
|
plugins { |
|
kotlin("multiplatform") |
|
kotlin("native.cocoapods") |
|
id("com.android.library") |
|
id("org.jetbrains.compose") |
|
} |
|
|
|
version = "1.0-SNAPSHOT" |
|
|
|
kotlin { |
|
android() |
|
|
|
jvm("desktop") |
|
|
|
ios() |
|
iosSimulatorArm64() { |
|
// TODO: remove after 1.5 release |
|
binaries.forEach { |
|
it.freeCompilerArgs += listOf( |
|
"-linker-option", "-framework", "-linker-option", "Metal", |
|
"-linker-option", "-framework", "-linker-option", "CoreText", |
|
"-linker-option", "-framework", "-linker-option", "CoreGraphics", |
|
) |
|
} |
|
} |
|
|
|
js(IR) { |
|
browser() |
|
} |
|
|
|
macosX64 { |
|
binaries { |
|
executable { |
|
entryPoint = "main" |
|
} |
|
} |
|
} |
|
macosArm64 { |
|
binaries { |
|
executable { |
|
entryPoint = "main" |
|
} |
|
} |
|
} |
|
|
|
cocoapods { |
|
summary = "Shared code for the sample" |
|
homepage = "https://github.com/JetBrains/compose-jb" |
|
ios.deploymentTarget = "14.1" |
|
podfile = project.file("../iosApp/Podfile") |
|
framework { |
|
baseName = "shared" |
|
isStatic = true |
|
} |
|
extraSpecAttributes["resources"] = "['src/commonMain/resources/**', 'src/iosMain/resources/**']" |
|
} |
|
|
|
sourceSets { |
|
val commonMain by getting { |
|
dependencies { |
|
implementation(compose.ui) |
|
implementation(compose.runtime) |
|
implementation(compose.foundation) |
|
implementation(compose.material) |
|
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) |
|
implementation(compose.components.resources) |
|
} |
|
} |
|
val commonTest by getting { |
|
dependencies { |
|
implementation(kotlin("test")) |
|
implementation(kotlin("test-annotations-common")) |
|
} |
|
} |
|
val androidMain by getting { |
|
dependencies { |
|
api("androidx.activity:activity-compose:1.6.1") |
|
api("androidx.appcompat:appcompat:1.6.1") |
|
api("androidx.core:core-ktx:1.9.0") |
|
} |
|
} |
|
val iosMain by getting |
|
val iosSimulatorArm64Main by getting { |
|
dependsOn(iosMain) |
|
} |
|
val desktopMain by getting { |
|
dependencies { |
|
implementation(compose.desktop.common) |
|
} |
|
} |
|
|
|
val macosMain by creating { |
|
dependsOn(commonMain) |
|
} |
|
val macosX64Main by getting { |
|
dependsOn(macosMain) |
|
} |
|
val macosArm64Main by getting { |
|
dependsOn(macosMain) |
|
} |
|
} |
|
} |
|
|
|
android { |
|
compileSdk = 33 |
|
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") |
|
sourceSets["main"].res.srcDirs("src/androidMain/res") |
|
sourceSets["main"].resources.srcDirs("src/commonMain/resources") |
|
|
|
defaultConfig { |
|
minSdk = 26 |
|
targetSdk = 33 |
|
} |
|
compileOptions { |
|
sourceCompatibility = JavaVersion.VERSION_11 |
|
targetCompatibility = JavaVersion.VERSION_11 |
|
} |
|
}
|
|
|