neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 9763834170dda77ea25799dba403d6cbd513600f
parent 74d1af165a39cd8e0a2e4934027a1484ca247e87
Author: Rawan Khalid <145160003+Rawan10101@users.noreply.github.com>
Date:   Sat, 28 Feb 2026 14:17:46 +0200

fix(cmake): use host nlua0 binary when cross-compiling #38089

Problem:
When cross-compiling, `$<TARGET_FILE:nlua0>` resolves to the target
binary, which cannot run on the host machine during the build process.

Solution:
Allow passing a host native nlua0 binary via
`-DNLUA0_HOST_PRG=/path/to/nlua0` when cross-compiling, so code
generation can run correctly on the host.
Diffstat:
Msrc/nvim/CMakeLists.txt | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt @@ -522,8 +522,13 @@ add_custom_command( "${NVIM_VERSION_DEF_H}" DEPENDS "${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef-$<CONFIG>.h") -set(LUA_GEN ${LUA_GEN_PRG} ${GENERATOR_PRELOAD} ${PROJECT_SOURCE_DIR} $<TARGET_FILE:nlua0> ${PROJECT_BINARY_DIR}) -set(LUA_GEN_DEPS ${GENERATOR_PRELOAD} $<TARGET_FILE:nlua0>) +if(CMAKE_CROSSCOMPILING AND NLUA0_HOST_PRG) + set(LUA_GEN ${LUA_GEN_PRG} ${GENERATOR_PRELOAD} ${PROJECT_SOURCE_DIR} ${NLUA0_HOST_PRG} ${PROJECT_BINARY_DIR}) + set(LUA_GEN_DEPS ${GENERATOR_PRELOAD} ${NLUA0_HOST_PRG}) +else() + set(LUA_GEN ${LUA_GEN_PRG} ${GENERATOR_PRELOAD} ${PROJECT_SOURCE_DIR} $<TARGET_FILE:nlua0> ${PROJECT_BINARY_DIR}) + set(LUA_GEN_DEPS ${GENERATOR_PRELOAD} $<TARGET_FILE:nlua0>) +endif() # Like LUA_GEN but includes also vim.fn, vim.api, vim.uv, etc set(NVIM_LUA $<TARGET_FILE:nvim_bin> -u NONE -l ${NVIM_LUA_PRELOAD} ${PROJECT_SOURCE_DIR}) @@ -1024,4 +1029,4 @@ add_target(lintdocurls COMMAND ${NVIM_LUA} scripts/lintdoc.lua true DEPENDS ${DOCFILES} CUSTOM_COMMAND_ARGS USES_TERMINAL) -add_dependencies(lintdocurls nvim) +add_dependencies(lintdocurls nvim) +\ No newline at end of file