plugins { autowire(libs.plugins.kotlin.multiplatform) autowire(libs.plugins.android.library) autowire(libs.plugins.jetbrains.compose) } group = property.project.groupName kotlin { androidTarget() jvm("desktop") listOf( iosX64(), iosArm64(), iosSimulatorArm64() ).forEach { iosTarget -> iosTarget.binaries.framework { baseName = "shared" isStatic = true } } jvmToolchain(17) sourceSets { all { languageSettings { optIn("androidx.compose.material3.ExperimentalMaterial3Api") optIn("eu.wewox.pagecurl.ExperimentalPageCurlApi") } } val commonMain by getting { dependencies { implementation(compose.runtime) implementation(compose.foundation) implementation(compose.material3) implementation(app.cash.paging.paging.common) implementation(app.cash.paging.paging.compose.common) implementation(projects.pagecurl) } } val androidMain by getting { dependencies { api(compose.foundation) api(androidx.core.core.ktx) api(androidx.appcompat.appcompat) api(androidx.activity.activity) api(androidx.activity.activity.compose) } } val desktopMain by getting { dependencies { api(compose.desktop.currentOs) api(compose.runtime) api(compose.foundation) api(compose.material3) } } val iosX64Main by getting val iosArm64Main by getting val iosSimulatorArm64Main by getting val iosMain by creating { dependsOn(commonMain) iosX64Main.dependsOn(this) iosArm64Main.dependsOn(this) iosSimulatorArm64Main.dependsOn(this) } } } android { namespace = property.project.groupName compileSdk = property.project.android.compileSdk sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") defaultConfig { minSdk = property.project.android.minSdk } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } } java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 }