External Build Target and Build Plugins


I am working on a few libraries where we use a different build system (cargo, gcc) to build pre-requisite static libraries for our Swift code. Currently, we have an "External Build System Target" as a dependency of our framework target that essentially runs a shell script to do that ahead of building our xcframework.

I recently started looking into whether or not we can do something similar in order to support Swift Package Manager, and stumbled upon SE-0303. However, after digging a little bit into it, it doesn't seem like something that will work for our use-case? Unless I'm missing something here?

Does anyone have any suggestions on how to approach this? Is creating a binary target my only option?


1 Like

Swift Package Manager does not really support this use-case today, except in the constrained case of build-time plugins. For now the workaround is to distribute a binary target.

ah, sad. thanks for the confirmation!