aboutsummaryrefslogtreecommitdiff
path: root/cmake.packaging
Commit message (Collapse)AuthorAge
* build: support variant builds via env-var and cpack overrides #40947phanium2026-07-24
| | | | | | | | | | | | | Problem: scripts/genappimage.sh runs `make` with no extra flags and emits a fixed nvim-linux-<arch>.appimage filename, so packaging a variant build (e.g. with the bundled PUC-Rio Lua interpreter) requires editing the Makefile or post-renaming the AppImage, which breaks the AppImage zsync URL. Solution: forward DEPS_CMAKE_FLAGS and CMAKE_EXTRA_FLAGS to `make`, accept OUTPUT so the AppImage (and its zsync Filename:) follows the caller's chosen name, and mark CPACK_PACKAGE_FILE_NAME as CACHE STRING on Linux so the resulting tarball/deb follow as well. Default behavior is unchanged when none of these env vars are set.
* build: update-alternatives during deb install #37980Mark Landis2026-03-21
| | | | | | | | | | | | Problem: nvim is not added to the system alternatives index when installed via the .deb package, requiring users to explicitly invoke nvim rather than use 'vi' or 'vim' alternatives. Solution: Invoke update-alternatives in CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA steps. Co-authored-by: Mark Landis <anonymouspage@limsei.com>
* ci: Windows arm64 packages #35345Wise Man2025-08-31
| | | | | | | | | | | | Problem: Neovim binaries are not provided for Windows ARM64. GitHub Actions now offer native CI runners for Windows on ARM devices (windows-11-arm), enabling automated builds and testing. Solution: - Modified CMake packaging to include packaging windows on arm binaries. - Modified env script to install and initialize vs setup for arm64 arch. Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* ci(release)!: remove backwards compatible releasesdundargoc2025-01-28
| | | | | | | Remove `nvim-linux64.tar.gz` and `nvim.appimage` as maintaining these is too much work. Also fix directory names to be consistent.
* ci(release): add linux-arm64 appimage and tarballChristian Clason2025-01-27
| | | | | | | Problem: No releases for ARM Linux. Solution: Provide appimages and tarballs for `linux-arm64`. Rename x86 releases to `linux-x86_64` for consistency.
* fix(win-msi): set installer scope to machine #29895Alexander Mnich2024-08-12
| | | | | | | | | | | | | | | | | Problem: The windows installer did not have the AllUsers property which leads to the installer being misidentified as per user installer. Currently the installer already requires administrative privileges and installs into the system-wide ProgramFiles directory, but the start menu entry and uninstaller registration are created only for the current user. Issue: #29885 https://cmake.org/cmake/help/latest/cpack_gen/wix.html#variable:CPACK_WIX_INSTALL_SCOPE Solution: With setting CPACK_WIX_INSTALL_SCOPE to "perMachine" the generated msi installer includes the Property ALLUSERS=1. Additionally the start menu entries and uninstaller registration will be created for all users.
* feat(install): mention standard paths, XDG vars in Windows installer #29101Luis Calle2024-06-04
| | | | | | | | | fix #25207 The `.wxs` files were copied from - cmake repo (BSD 3-Clause License) https://github.com/Kitware/CMake/blob/master/Utilities/Release/WiX/install_dir.wxs - wix repo [Microsoft Reciprocal License](https://github.com/wixtoolset/wix3/blob/b40e9a32c24033e11b77baf2c91a704382f898ed/LICENSE.TXT)) https://github.com/wixtoolset/wix3/blob/b40e9a32c24033e11b77baf2c91a704382f898ed/src/ext/UIExtension/wixlib/WixUI_InstallDir.wxs
* fix(win-msi): add bin to PATH per-machine after installation (#29099)Luis Calle2024-05-31
| | | | | | | | | #22856 made it possible for the msi installer to perform per-user installations, which caused problems for users that already had per-machine installations trying to update (the Windows Installer does not support major upgrades across installation context, see #22933 and https://stackoverflow.com/a/15498911). It was then reverted in #22949, but the scope of the modification to the PATH environment variable was not reverted.
* ci: provide separate macos releases for intel and armdundargoc2024-03-24
| | | | | | This will immensely reduce the complexity required to support both architectures, reduce overall lines of code and unblock follow-up simplifications.
* build!: remove neovim qtdundargoc2023-06-06
| | | | | | | | | | | | | | | | | | | | | | | Neovim QT was originally bundled on Windows as a response to the then lackluster terminal options. The situation has dramatically changed, with viable options such as Windows terminal, Alacritty and Wezterm to name a few. The Windows build no longer needs this special treatment for neovim to be usable. Pros: - Release builds will be smaller. - Less maintenance burden. - Clearer separation of responsibility (neovim issues go to the neovim repo and neovim-qt issues to the neovim-qt repo). - More consistent treatment between platforms. Cons: - Users who've come to expect neovim-qt to be bundled with nvim will need to adjust and download neovim-qt from https://github.com/equalsraf/neovim-qt instead. - Similarly, build scripts will need to be adjusted to reflect this change. Closes https://github.com/neovim/neovim/issues/21209.
* docs: small fixesdundargoc2023-05-13
| | | | | | | | | Co-authored-by: Christian Clason <c.clason@uni-graz.at> Co-authored-by: Gregory Anders <greg@gpanders.com> Co-authored-by: HiPhish <hiphish@posteo.de> Co-authored-by: Julio B <julio.bacel@gmail.com> Co-authored-by: T727 <74924917+T-727@users.noreply.github.com> Co-authored-by: camoz <camoz@users.noreply.github.com> Co-authored-by: champignoom <66909116+champignoom@users.noreply.github.com>
* ci: make all linux releases work with same glibc versiondundargoc2023-04-22
|
* revert(packaging): installation context to per-machine on Windowssitiom2023-04-08
| | | | | | Revert this change until a proper solution is implemented, such as allowing the user to select whether to install per-user or per-machine. Fixes https://github.com/neovim/neovim/issues/22933.
* feat(packaging): add start menu and desktop shortcuts on WindowsAlexandre Teoi2023-04-02
| | | | | | | | | - Create start menu and desktop shortcuts - Set installation context to per-user, allowing non-administrative users to install the MSI package - <https://learn.microsoft.com/windows/win32/msi/installation-context> - <https://learn.microsoft.com/windows/win32/msi/allusers> Resolves #18119
* feat(windows): show icon in terminal titlebar, taskbar #20607Enan Ajmain2022-10-13
| | | closes #20071
* build: rename build-related dirsJustin M. Keyes2022-06-28
Problem: Dirs "config", "packaging", and "third-party" are all closely related but this is not obvious from the layout. This adds friction for new contributors. Solution: - rename config/ to cmake.config/ - rename test/config/ to test/cmakeconfig/ because it is used in Lua tests: require('test.cmakeconfig.paths'). - rename packaging/ to cmake.packaging/ - rename third-party/ to cmake.deps/ (parallel with .deps/)