-
Notifications
You must be signed in to change notification settings - Fork 81
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
Update building/running instructions for macOS #1609
Conversation
f83d00d
to
499adb0
Compare
<p>You will need to ensure all the required dependencies are available. On macOS, a Homebrew bundle file is included in the repository, which can be installed by running <code>brew bundle</code>. You can also use vcpkg on these platforms for automatically managing dependencies.</p> | ||
<p>We strongly encourage using vcpkg to automatically build dependencies, however this requires some tools be manually installed in advance. The required tools are CMake, nasm, and pkg-config, and can be installed using common package managers such as Homebrew or MacPorts.</p> | ||
|
||
<p>For Homebrew users who wish to manage all dependencies, a Homebrew bundle file is included in the repository, which can be installed by running <code>brew bundle</code> after cloning the project.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the strongly recommend above covers things - but I'm not sure one could build a real release on Homebrew. I'm not sure whats included are universal binaries - and bundling Python as anything other than the static lib we get from vcpkg is not at all working. So the resulting output is really only going to be usable from the Mac it was built on.
Where are we here? |
I think minimally I'd like the language on the macOS requirement clarified (we require a specific SDK, not a specific macOS version.) |
I'm converting this to a draft because there is outstanding feedback and to clarify from the main PR page what the status is. |
499adb0
to
61553d6
Compare
Since the build requires the macOS 11 SDK, I've opted for simplicity to just say the minimum required version for building is macOS 11. |
I haven't tested it, but I assume macOS 10.15 will work as well, assuming you have a recent enough Xcode version. Generally, for any given macOS version, the newest supported Xcode version includes the macOS SDK for the next macOS version, so e. g. Xcode 12.4 runs on macOS 10.15 and includes the macOS 11 SDK. |
Yeah, per Colin's comments:
(and in theory even lower if you disable the Metal pipeline, but the OpenGL pipeline isn't merged yet so it's not useful to do that) I think for simplicity it might be worth just documenting it as macOS 11 for now. Some software (not Plasma) also has issues with Xcode versions whose SDK doesn't match the system version, so people are hesitant to update to newer versions on older systems. |
FWIW, I see people warn about this a lot, but in my experience, I've never had issues due to the SDK being one version newer than the running system - except in one case where I had to build a kernel extension from source, so I think that case isn't representative for other macOS software 😄 |
I know for sure this is problem that affects WebKit, and I seem to run into it every year. You cannot build a working WebKit for OS using an SDK for OS+1, and their stance is "That's not a supported configuration, your tools need to match your system" |
e7897f9
to
c055e84
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one nitpick, and I think I will be OK with this.
Co-Authored-By: Adam Johnson <[email protected]> Co-Authored-By: Colin Cornaby <[email protected]> Co-authored-by: dgelessus <[email protected]>
dd2fb07
to
53989f8
Compare
Hopefully fixes #1608