Have you tried building for Android at all using my Android SDK, as Android headsets currently dominate?
Your effort so far on putting that together for Android is incredible! I have not attempted anything on Android as of yet, but it's planned for the backlog. It looks like your work on that will pave the way into bringing all of this over to Android, I'm excited to try it out. I have ensured to maintain full support on Linux, though I've been running it on Ubuntu 23.04 aarch64 (Lunar Lobster), so distros and versions will likely vary as I've just not been able to get around to testing those platforms yet.
Unfortunately, C++ Interop has never worked fully on the Android port, so you would've likely seen issues.
Have you been able to keep a record of some of these errors? I'd be happy to take a look into them and attempt to figure out some solutions.
Let me ask you in return: what has your development experience with Swift been like?
My development experience with Swift has honestly been great, especially with cxx-interop!
However, I should warn you ahead of time that I've been rather quick to just chaotically restructure a huge cxx project for the sake of adhering to the very strict requirements of SwiftPM's little to zero flexibility in how it expects each target's public header directories to exist within respect to each other -- so it's a lot of shameless modification on my end of current cxx projects into this typical directory structure:
- sources:
Sources/MyCxxTarget/MyCxxTarget.cpp
- header files:
Sources/MyCxxTarget/include/MyCxxTarget/MyCxxTarget.h
The (extremely unfortunate) limitation of having very little control of how to specify include directories for targets via the publicHeadersPath
property is the reason this massive restructuring of existing projects is necessary, and is currently a show-stopper in terms of official projects (such as Pixar with USD) from being able to officially adopt Swift & SwiftPM given this limitation.
Aside from that critical limitation, I've honestly experienced very little issues, there are some annoying things I've experienced such as very slow compilation times (but I'm also building a bit of a ridiculous amount of libraries together at once for USD's sake), so that bit is expected, and sourcekit seems to be really struggling at times with cxx interop which I am hoping will improve here soon, and other just very minor things.
Overall the experience has been amazing, but I can't wait until we get more flexibility in the include directory dilemma outlined above.