diff options
author | Carlo Cabrera <30379873+carlocab@users.noreply.github.com> | 2022-06-24 23:48:17 +0800 |
---|---|---|
committer | Carlo Cabrera <30379873+carlocab@users.noreply.github.com> | 2022-06-25 00:25:05 +0800 |
commit | d0644fa9bfc3fa3abdd886d2ef13533778317154 (patch) | |
tree | ae0ee4757924fa8140ae463fc7db44da61dc7e5b /test/functional/vimscript/system_spec.lua | |
parent | b70f16041439aa070ad1bc759d634a4c5f6587d8 (diff) | |
download | rneovim-d0644fa9bfc3fa3abdd886d2ef13533778317154.tar.gz rneovim-d0644fa9bfc3fa3abdd886d2ef13533778317154.tar.bz2 rneovim-d0644fa9bfc3fa3abdd886d2ef13533778317154.zip |
ci(release): build a universal binary on macOS
After some tweaks to our dep builds, we can now build a universal binary
for macOS by using `CMAKE_OSX_ARCHITECTURES`. So, let's do that. This
requires a number of additional changes:
1. We need to build on macOS 11, since earlier versions do not support
building universal (M1 + Intel) binaries.
2. We need to provision a universal `libintl`. The linker will look for
an ARM64 version of this library when linking the `nvim` binary.
While we're here:
1. Link statically to `libintl`. This allows to to avoid having to do
any install name rewriting or codesigning to package Neovim.
2. Bump the `MACOSX_DEPLOYMENT_TARGET` to `11`. We're already using a
`libintl` built by Homebrew (through the pre-installed version of
`gettext`), and that is built for macOS 11.
In order to ensure we link to `libintl.a` instead of `libintl.dylib`, we
have to make sure that CMake can't find the latter. This ideally should
be a matter of doing `brew unlink gettext`. However, CMake is too adept
at finding things that Homebrew has installed (even when not linked), so
we have to do a bit more than that. This appears in the additional step
ensuring static linkage to `libintl`.
We end up breaking some Homebrew-installed software in the process, and
some of these software is called during our build (e.g. curl, git,
wget). To avoid any adverse effects, let's just uninstall them.
Diffstat (limited to 'test/functional/vimscript/system_spec.lua')
0 files changed, 0 insertions, 0 deletions