mirror of
https://github.com/neovim/neovim
synced 2025-07-16 17:21:49 +00:00
build(generator): add dependencies on hashy (#32796)
This allows generated sources to be automatically rebuilt when modifying hashy code. Also, appending to NVIM_GENERATED_FOR_{HEADERS,SOURCES} in the middle of custom commands is a bit strange. Move that after the custom commands.
This commit is contained in:
@ -106,7 +106,7 @@ function M.switcher(put, tab, maxlen, worst_buck_size, icase)
|
|||||||
return neworder
|
return neworder
|
||||||
end
|
end
|
||||||
|
|
||||||
--- @param icase boolean generate a case-insensitive hash function.
|
--- @param icase? boolean generate a case-insensitive hash function.
|
||||||
--- `strings` must not have mixed case when using this.
|
--- `strings` must not have mixed case when using this.
|
||||||
function M.hashy_hash(name, strings, access, icase)
|
function M.hashy_hash(name, strings, access, icase)
|
||||||
local stats = {}
|
local stats = {}
|
||||||
|
@ -603,6 +603,7 @@ add_custom_command(
|
|||||||
${MSGPACK_RPC_HEADERS}
|
${MSGPACK_RPC_HEADERS}
|
||||||
${API_DISPATCH_GENERATOR}
|
${API_DISPATCH_GENERATOR}
|
||||||
${GENERATOR_C_GRAMMAR}
|
${GENERATOR_C_GRAMMAR}
|
||||||
|
${GENERATOR_HASHY}
|
||||||
${UI_METADATA}
|
${UI_METADATA}
|
||||||
${NVIM_VERSION_LUA}
|
${NVIM_VERSION_LUA}
|
||||||
${NVIM_VERSION_GIT_H}
|
${NVIM_VERSION_GIT_H}
|
||||||
@ -660,9 +661,35 @@ add_custom_command(
|
|||||||
${LUA_GEN_DEPS}
|
${LUA_GEN_DEPS}
|
||||||
${API_UI_EVENTS_GENERATOR}
|
${API_UI_EVENTS_GENERATOR}
|
||||||
${GENERATOR_C_GRAMMAR}
|
${GENERATOR_C_GRAMMAR}
|
||||||
|
${GENERATOR_HASHY}
|
||||||
${CMAKE_CURRENT_LIST_DIR}/api/ui_events.in.h
|
${CMAKE_CURRENT_LIST_DIR}/api/ui_events.in.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS}
|
||||||
|
COMMAND ${LUA_GEN} ${EX_CMDS_GENERATOR} ${GENERATED_INCLUDES_DIR} ${GENERATED_DIR}
|
||||||
|
DEPENDS ${LUA_GEN_DEPS} ${EX_CMDS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/ex_cmds.lua
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${GENERATED_FUNCS} ${FUNCS_DATA}
|
||||||
|
COMMAND ${LUA_GEN} ${FUNCS_GENERATOR} ${GENERATED_DIR} ${FUNCS_METADATA} ${FUNCS_DATA}
|
||||||
|
DEPENDS ${LUA_GEN_DEPS} ${FUNCS_GENERATOR} ${GENERATOR_HASHY} ${CMAKE_CURRENT_LIST_DIR}/eval.lua ${FUNCS_METADATA}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${GENERATED_EVENTS_ENUM} ${GENERATED_EVENTS_NAMES_MAP}
|
||||||
|
COMMAND ${LUA_GEN} ${EVENTS_GENERATOR} ${GENERATED_EVENTS_ENUM} ${GENERATED_EVENTS_NAMES_MAP}
|
||||||
|
DEPENDS ${LUA_GEN_DEPS} ${EVENTS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/auevents.lua
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${GENERATED_KEYCODE_NAMES}
|
||||||
|
COMMAND ${LUA_GEN} ${KEYCODES_GENERATOR} ${GENERATED_KEYCODE_NAMES}
|
||||||
|
DEPENDS ${LUA_GEN_DEPS} ${KEYCODES_GENERATOR} ${GENERATOR_HASHY} ${CMAKE_CURRENT_LIST_DIR}/keycodes.lua
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${GENERATED_OPTIONS} ${GENERATED_OPTIONS_ENUM} ${GENERATED_OPTIONS_MAP} ${GENERATED_OPTION_VARS}
|
||||||
|
COMMAND ${LUA_GEN} ${OPTIONS_GENERATOR} ${GENERATED_OPTIONS} ${GENERATED_OPTIONS_ENUM} ${GENERATED_OPTIONS_MAP} ${GENERATED_OPTION_VARS}
|
||||||
|
DEPENDS ${LUA_GEN_DEPS} ${OPTIONS_GENERATOR} ${GENERATOR_HASHY} ${CMAKE_CURRENT_LIST_DIR}/options.lua
|
||||||
|
)
|
||||||
|
|
||||||
list(APPEND NVIM_GENERATED_FOR_HEADERS
|
list(APPEND NVIM_GENERATED_FOR_HEADERS
|
||||||
"${GENERATED_EX_CMDS_ENUM}"
|
"${GENERATED_EX_CMDS_ENUM}"
|
||||||
"${GENERATED_EVENTS_ENUM}"
|
"${GENERATED_EVENTS_ENUM}"
|
||||||
@ -675,6 +702,7 @@ list(APPEND NVIM_GENERATED_FOR_SOURCES
|
|||||||
"${GENERATED_API_DISPATCH}"
|
"${GENERATED_API_DISPATCH}"
|
||||||
"${GENERATED_EX_CMDS_DEFS}"
|
"${GENERATED_EX_CMDS_DEFS}"
|
||||||
"${GENERATED_EVENTS_NAMES_MAP}"
|
"${GENERATED_EVENTS_NAMES_MAP}"
|
||||||
|
"${GENERATED_FUNCS}"
|
||||||
"${GENERATED_KEYCODE_NAMES}"
|
"${GENERATED_KEYCODE_NAMES}"
|
||||||
"${GENERATED_OPTIONS}"
|
"${GENERATED_OPTIONS}"
|
||||||
"${GENERATED_OPTIONS_MAP}"
|
"${GENERATED_OPTIONS_MAP}"
|
||||||
@ -682,33 +710,6 @@ list(APPEND NVIM_GENERATED_FOR_SOURCES
|
|||||||
"${PROJECT_BINARY_DIR}/cmake.config/auto/pathdef.h"
|
"${PROJECT_BINARY_DIR}/cmake.config/auto/pathdef.h"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${GENERATED_EX_CMDS_ENUM} ${GENERATED_EX_CMDS_DEFS}
|
|
||||||
COMMAND ${LUA_GEN} ${EX_CMDS_GENERATOR} ${GENERATED_INCLUDES_DIR} ${GENERATED_DIR}
|
|
||||||
DEPENDS ${LUA_GEN_DEPS} ${EX_CMDS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/ex_cmds.lua
|
|
||||||
)
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${GENERATED_FUNCS} ${FUNCS_DATA}
|
|
||||||
COMMAND ${LUA_GEN} ${FUNCS_GENERATOR} ${GENERATED_DIR} ${FUNCS_METADATA} ${FUNCS_DATA}
|
|
||||||
DEPENDS ${LUA_GEN_DEPS} ${FUNCS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/eval.lua ${FUNCS_METADATA}
|
|
||||||
)
|
|
||||||
list(APPEND NVIM_GENERATED_FOR_SOURCES
|
|
||||||
"${GENERATED_FUNCS}")
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${GENERATED_EVENTS_ENUM} ${GENERATED_EVENTS_NAMES_MAP}
|
|
||||||
COMMAND ${LUA_GEN} ${EVENTS_GENERATOR} ${GENERATED_EVENTS_ENUM} ${GENERATED_EVENTS_NAMES_MAP}
|
|
||||||
DEPENDS ${LUA_GEN_DEPS} ${EVENTS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/auevents.lua
|
|
||||||
)
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${GENERATED_KEYCODE_NAMES}
|
|
||||||
COMMAND ${LUA_GEN} ${KEYCODES_GENERATOR} ${GENERATED_KEYCODE_NAMES}
|
|
||||||
DEPENDS ${LUA_GEN_DEPS} ${KEYCODES_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/keycodes.lua
|
|
||||||
)
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${GENERATED_OPTIONS} ${GENERATED_OPTIONS_ENUM} ${GENERATED_OPTIONS_MAP} ${GENERATED_OPTION_VARS}
|
|
||||||
COMMAND ${LUA_GEN} ${OPTIONS_GENERATOR} ${GENERATED_OPTIONS} ${GENERATED_OPTIONS_ENUM} ${GENERATED_OPTIONS_MAP} ${GENERATED_OPTION_VARS}
|
|
||||||
DEPENDS ${LUA_GEN_DEPS} ${OPTIONS_GENERATOR} ${CMAKE_CURRENT_LIST_DIR}/options.lua
|
|
||||||
)
|
|
||||||
|
|
||||||
# NVIM_GENERATED_FOR_SOURCES and NVIM_GENERATED_FOR_HEADERS must be mutually exclusive.
|
# NVIM_GENERATED_FOR_SOURCES and NVIM_GENERATED_FOR_HEADERS must be mutually exclusive.
|
||||||
foreach(hfile ${NVIM_GENERATED_FOR_HEADERS})
|
foreach(hfile ${NVIM_GENERATED_FOR_HEADERS})
|
||||||
list(FIND NVIM_GENERATED_FOR_SOURCES ${hfile} hfile_idx)
|
list(FIND NVIM_GENERATED_FOR_SOURCES ${hfile} hfile_idx)
|
||||||
|
Reference in New Issue
Block a user