mirror of
https://github.com/neovim/neovim.git
synced 2026-03-31 21:02:11 +00:00
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.
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user