-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
metal-cpp: Add header only library metal-cpp from Apple #23086
metal-cpp: Add header only library metal-cpp from Apple #23086
Conversation
metal-cpp is a library to use Metal (Apple GPU programing language) on Apple systems. This is header only and doesn't link a framework, as not all requirements are equal.
This comment has been minimized.
This comment has been minimized.
Pinging #17848 here I use metal-cpp myself and currently copy the headers into my project which I'd like to prevent, which is why I want to have it as a library myself. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Some open questions to discuss:
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Hi @irieger - thank you so much for this PR and for investigating and troubleshooting the SDK version compatibility. I have pushed a couple refactorings in this PR - while your PR is correct, I think requiring the users to have As a fallback, I'm proposing to ask Additionally - added checks for tvOS as well, since it falls under the "iOS" umbrella (if I'm not mistaken, iOS in this context is both iOS and ipadOS, and tvOS is versioned alongside those two). I've moved the dict of versions to Conandata.yml - as that seems to be a better place for "version-dependent" information. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Hey @jcar87 thank you for the proposed changes. I think they make sense. I just fixed one version requirement and did a small cleanup but from my point of view we could move forward. Build all 4 versions locally with success. |
Conan v1 pipeline ✔️All green in build 20 (
Conan v2 pipeline ✔️
All green in build 19 ( |
Thanks so much! |
Nice. Thank you very much for the review and the general work. Working on my side projects is so much more fun now since I switched everything to conan. |
Specify library name and version: metal-cpp/x
Add metal-cpp header only library provided by Apple under the Apache 2.0 license: https://developer.apple.com/metal/cpp/
This library wraps some libraries provided by Apple as Objective-C interfaces into C++ interfaces. Headers only provide the wrapping and it requires one file doing the implementation (as described on the linked project page).
Important point: No clear versioning, packages only reference the version of the macOS/iOS SDKs they wrap into C++. Also the library requires relatively modern macOS/iOS versions to be compiled.