import Ġorg . jetbrains . kotlin . gradle . plugin . Kotlin Source Set Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . Kotlin Native Target Ċ Ċ operator Ġfun ĠKotlin Source Set . invoke ( builder : ĠSource Set Hierarchy Builder . () Ġ-> ĠUnit ): ĠKotlin Source Set Ġ{ ĊĠĠĠ ĠSource Set Hierarchy Builder ( this ). builder () ĊĠĠĠ Ġreturn Ġthis Ċ } Ċ Ċ class ĠSource Set Hierarchy Builder ( private Ġval Ġnode : ĠKotlin Source Set ) Ġ{ ĊĠĠĠ Ġoperator Ġfun ĠKotlin Source Set . unary Minus () Ġ= Ġthis . depends On ( node ) Ċ } Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" multi platform ") Ċ } Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġjs () ĊĠĠĠ Ġj vm () ĊĊĠĠĠ Ġlinux X 6 4 () ĊĠĠĠ Ġlinux Arm 6 4 () ĊĊĠĠĠ Ġmac os () ĊĠĠĠ Ġios () ĊĊĠĠĠ Ġm ing w X 6 4 (" windows X 6 4 ") ĊĠĠĠ Ġm ing w X 8 6 (" windows X 8 6 ") ĊĊĠĠĠ Ġval Ġcommon Main Ġby Ġsource Sets . getting ĊĠĠĠ Ġval Ġconcurrent Main Ġby Ġsource Sets . creating ĊĠĠĠ Ġval Ġj vm Main Ġby Ġsource Sets . getting ĊĠĠĠ Ġval Ġjs Main Ġby Ġsource Sets . getting ĊĠĠĠ Ġval Ġnative Main Ġby Ġsource Sets . creating ĊĠĠĠ Ġval Ġapple And Linux Main Ġby Ġsource Sets . creating ĊĠĠĠ Ġval Ġlinux Main Ġby Ġsource Sets . creating ĊĠĠĠ Ġval Ġlinux X 6 4 Main Ġby Ġsource Sets . getting ĊĠĠĠ Ġval Ġlinux Arm 6 4 Main Ġby Ġsource Sets . getting ĊĠĠĠ Ġval Ġapple Main Ġby Ġsource Sets . creating ĊĠĠĠ Ġval Ġmac os Main Ġby Ġsource Sets . getting ĊĠĠĠ Ġval Ġios Main Ġby Ġsource Sets . getting ĊĠĠĠ Ġval Ġwindows Main Ġby Ġsource Sets . creating ĊĠĠĠ Ġval Ġwindows X 6 4 Main Ġby Ġsource Sets . getting ĊĠĠĠ Ġval Ġwindows X 8 6 Main Ġby Ġsource Sets . getting ĊĊĠĠĠ Ġcommon Main Ġ{ ĊĠĠĠĠĠĠĠ Ġ- js Main ĊĠĠĠĠĠĠĠ Ġ- concurrent Main Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- jvm Main ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- native Main Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- apple And Linux Main Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- apple Main Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- ios Main ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- macos Main ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- linux Main Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- linux Arm 6 4 Main ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- linux X 6 4 Main ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- windows Main Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- windows X 6 4 Main ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- windows X 8 6 Main ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġsource Sets . all Ġ{ ĊĠĠĠĠĠĠĠ Ġlanguage Settings . use Experimental Annotation (" kotlin . Requires Opt In ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtargets . with Type < Kotlin Native Target >(). forEach Ġ{ Ġtarget Ġ-> ĊĠĠĠĠĠĠĠ Ġtarget . comp il ations . get ByName (" main "). c inter ops . create (" with Pos ix ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader ( file (" libs / with Pos ix . h ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ