This library has significant native sublibraries that need to be built with a c++ compiler so I would rather not figure out (having already done so for macos natively) or trust cross compilation results from linux to mac. And vice versa WRT publishing all from the mac host (and additionally my main development platform is linux).
I'm not sure why this suddenly stopped working automatically, but I was able to discover a solution, which I'll include in case anyone else hits this. On Linux I define all the MP targets in the kotlin block -- this makes maven publishing aware they exist -- but then I disable any task whose name contains Ios or Macos:
val MAC = System.getProperty("os.name").lowercase().contains("mac")
tasks.configureEach {
if (!MAC && (name.contains("Ios") || (name.contains("Macos"))))
{
println("Not running on macos, so skipping $name")
enabled = false
}
}