We should embed a binary version of the package.
Why?
- It dramatically improves build times.
- It provides an optimized release build of Cadova, so users don’t have to build in release mode themselves. For more complex models, running in release can be 10× faster or more.
Caveats
Binary packages only work on macOS, but other platforms fall back to a source build, so there’s no downside (as far as I know).
What’s the problem?
Swift currently has bugs that make it difficult to build binary packages with C/C++ dependencies. Cadova depends on several such packages: manifold-swift, Nodal, and Zip. I’ve spent many hours trying to work around this, without success.
What help is needed?
If you have experience building Swift binary packages that include C/C++ targets, or know potential workarounds, your help would be very appreciated.
We should embed a binary version of the package.
Why?
Caveats
Binary packages only work on macOS, but other platforms fall back to a source build, so there’s no downside (as far as I know).
What’s the problem?
Swift currently has bugs that make it difficult to build binary packages with C/C++ dependencies. Cadova depends on several such packages:
manifold-swift,Nodal, andZip. I’ve spent many hours trying to work around this, without success.What help is needed?
If you have experience building Swift binary packages that include C/C++ targets, or know potential workarounds, your help would be very appreciated.