/* * Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license * that can be found in the LICENSE file. */ import org.jetbrains.kotlin.benchmark.BenchmarkingPlugin import org.jetbrains.kotlin.ExecClang import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType import org.jetbrains.kotlin.konan.target.HostManager plugins { id("benchmarking") } benchmark { applicationName = "ObjCInterop" commonSrcDirs = listOf("../../tools/benchmarks/shared/src/main/kotlin/report", "src/main/kotlin", "../shared/src/main/kotlin") jvmSrcDirs = listOf("src/main/kotlin-jvm", "../shared/src/main/kotlin-jvm") nativeSrcDirs = listOf("src/main/kotlin-native", "../shared/src/main/kotlin-native/common") mingwSrcDirs = listOf("src/main/kotlin-native", "../shared/src/main/kotlin-native/mingw") posixSrcDirs = listOf("src/main/kotlin-native", "../shared/src/main/kotlin-native/posix") } val native = kotlin.targets.getByName("native") as KotlinNativeTarget native.apply { compilations["main"].cinterops { create("classes") { headers("$projectDir/src/nativeInterop/cinterop/complexNumbers.h") extraOpts("-Xcompile-source", "$projectDir/src/nativeInterop/cinterop/complexNumbers.m") extraOpts("-Xsource-compiler-option", "-lobjc", "-Xsource-compiler-option", "-fobjc-arc", "-Xsource-compiler-option", "-DNS_FORMAT_ARGUMENT(A)=") } } }