import org.jetbrains.compose.desktop.application.dsl.TargetFormat import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.kotlin.multiplatform) alias(libs.plugins.compose.multiplatform) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.android.application) } kotlin { androidTarget { @OptIn(ExperimentalKotlinGradlePluginApi::class) instrumentedTestVariant.sourceSetTree.set(KotlinSourceSetTree.test) compilations.all { compileTaskProvider.configure { compilerOptions.jvmTarget.set(JvmTarget.JVM_11) } } } listOf(iosX64(), iosArm64(), iosSimulatorArm64()) jvm("desktop") sourceSets { commonMain.dependencies { implementation(compose.runtime) implementation(compose.foundation) implementation(compose.material3) implementation(compose.components.uiToolingPreview) implementation(libs.ktor.client.core) implementation(libs.ktor.client.content.negotiation) implementation(libs.ktor.serialization.kotlinx.json) implementation(libs.kotlinx.serialization.json) implementation(libs.kotlinx.coroutines.core) implementation(libs.multiplatform.settings) implementation(libs.multiplatform.settings.no.arg) implementation(libs.lifecycle.viewmodel.compose) } commonTest.dependencies { implementation(kotlin("test")) implementation(libs.ktor.client.mock) implementation(libs.kotlinx.coroutines.test) implementation(libs.multiplatform.settings.test) } androidMain.dependencies { implementation(libs.ktor.client.cio) implementation(libs.androidx.activity.compose) } iosMain.dependencies { implementation(libs.ktor.client.darwin) } desktopMain.dependencies { implementation(libs.ktor.client.cio) implementation(compose.desktop.currentOs) } } } android { namespace = "ch.parano.myice" compileSdk = 35 defaultConfig { applicationId = "ch.parano.myice" minSdk = 24 targetSdk = 35 versionCode = 1 versionName = "1.0" } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } } compose.desktop { application { mainClass = "ch.parano.myice.MainKt" nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) packageName = "myice" packageVersion = "1.0.0" } } }