neovim/.github
Carlo Cabrera d0644fa9bf
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.
2022-06-25 00:25:05 +08:00
..
ISSUE_TEMPLATE chore: remove lspconfig checkhealth from issue template (#16948) 2022-01-05 12:13:16 -08:00
scripts ci: remove mjlbach from reviewers (#18297) 2022-04-29 10:48:12 +02:00
workflows ci(release): build a universal binary on macOS 2022-06-25 00:25:05 +08:00
FUNDING.yml funding: Bountysource Salt -> GitHub Sponsors & Open Collective [ci skip] (#12959) 2020-09-21 20:47:02 +02:00
labeler.yml ci: label all markdown edits as "documentation" #18120 2022-04-24 18:40:13 -07:00