mirror of
https://github.com/neovim/neovim.git
synced 2026-08-27 17:41:48 +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}"
|
"${NVIM_VERSION_DEF_H}"
|
||||||
DEPENDS "${PROJECT_BINARY_DIR}/cmake.config/auto/versiondef-$<CONFIG>.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})
|
if(CMAKE_CROSSCOMPILING AND NLUA0_HOST_PRG)
|
||||||
set(LUA_GEN_DEPS ${GENERATOR_PRELOAD} $<TARGET_FILE:nlua0>)
|
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
|
# 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})
|
set(NVIM_LUA $<TARGET_FILE:nvim_bin> -u NONE -l ${NVIM_LUA_PRELOAD} ${PROJECT_SOURCE_DIR})
|
||||||
|
|||||||
Reference in New Issue
Block a user