Xcode, multiple targets, and shared/common files: Did I do this correctly?

My project got more complicated, and I had to integrate in some C++ code. In the process, I ended up with a couple of targets, which had some shared ObjC++ and Swift code. Normally, if it's all the same language, I just put the files in question into each of the targets, and we're all happy.

But with having both ObjC++ and Swift, I had to deal with the bridging headers. Which got created as ${PRODUCT_NAME}-Swift.h, which made it very difficult for that file to be included in a .mm file used in multiple targets.

I tried googling, and forum-searching, and couldn't quite figure out how to make it generate a single header file. Instead, I added a new target, a static library using the common files. I added a Run Script phase which copied *-Swift.h from the Derived Sources directory to the build directory. Then I added the library as a dependency for each of the other targets, and of course linked with it. This seems to work, even after doing a rm -rf build and building everything again.

So... was this the (or at least, a) right way to do this? Are there better practices I should be using?

Merci beaucou, je suis tres stupid quelquefois.

Amusingly, the forum software doesn't let me insult myself. 😄 Good for it, I say.

Xcode, multiple targets, and shared/common files: Did I do this correctly?
 
 
Q