Sorry, I've been elbows deep into my everyday work stuff, so I haven't paid attention to what's happening on CMake front.
I'm currently stuck at Xcode 14.0.1 - if I remember correctly as per Apple versioning it's just the UI update so it still uses Xcode 13 build system, the .1 update usually brings the new build tools. Same goes for CMake - I'm still using 3.23.
So I won't be able to currently help.
Ah yes, this is actually Xcode that does that - the reason seems to be the absolute custom build paths. You can create an Xcode project with your app and lib in CMake, but without the XCODE_EMBED_FRAMEWORKS
and then add the library via Embed Frameworks build phase manually and you'll get the same result.
I came across this myself a few weeks ago - the only solution for now is adding a custom POST_BUILD
copy command to copy the library from the subdir
to the parent dir (or whichever dir the actual target that links via Embed Frameworks build phase is writing it's output to).
Thank you!
Yes, for example, we have an app that's written completely in C++ (with some Objective-C++/Swift to access native APIs or bridge with Swift code from 3rd party libs), and most of the 3rd party libraries are shipping as xcframeworks lately (like Facebook SDK, Firebase SDK, etc.) - that's why I started working on !6235 (closed), but then I ran out of time and figured a way to simply embed the frameworks that are packed inside of the xcframework - it works for now, but it might break any time Apple changes something.
Added the test, I hope it works, as I forgot how to invoke the test suite :D
Gusts Kaksis (c38fad78) at 06 Nov 04:18
Add plug-in test
Rearranged the docs.
IMHO plug-ins can be anything, just tested and you can actually add a .framework as a plug-in via Xcode GUI, so I guess the answer is yes. As for the default behaviour on headers - I actually don't know.
I actually can't find any selector or checkbox in the UI as well for neither embedded frameworks nor plug-ins - maybe this feature now defaults to some value and is not intended to be changed anymore. Also I checked the plug-in I'm building does not bundle headers, so I guess it's irrelevant anyways.
Gusts Kaksis (b81ce2a8) at 06 Nov 03:51
Update docs
Done - fixed docs, squashed commits
Gusts Kaksis (d62fc059) at 03 Nov 03:41
Xcode: Add embedded plugins option
Reverted
Ahh, didn't see that, reverted the change.
Split the help update into separate commit.
Allows embedding plugins in macOS bundles
Gusts Kaksis (4487b89d) at 02 Nov 10:24
Xcode: Add embedded plugins option
... and 5772 more commits
Gusts Kaksis at 02 Nov 09:05
Gusts Kaksis (3dae0115) at 02 Nov 09:05
Treat XCFrameworks the same way as regular Frameworks
... and 1663 more commits
Gusts Kaksis (3db4a7d7) at 18 Jun 02:47
Treat XCFrameworks the same way as regular Frameworks
... and 40 more commits
XCODE_LINK_BUILD_PHASE_MODE=KNOWN_LOCATION
Closes #21752
Gusts Kaksis (9392d9f0) at 16 Jun 12:11
Treat XCFrameworks the same way as regular Frameworks
... and 4069 more commits