mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #16055 from doubleloop/config_depends
This commit is contained in:
commit
2481b18a53
@ -154,3 +154,25 @@ function(install_helper)
|
|||||||
${RENAME})
|
${RENAME})
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# Without CONFIGURE_DEPENDS globbing reuses cached file tree on rebuild.
|
||||||
|
# For example it will ignore new files.
|
||||||
|
# CONFIGURE_DEPENDS was introduced in 3.12
|
||||||
|
|
||||||
|
function(glob_wrapper outvar)
|
||||||
|
if(${CMAKE_VERSION} VERSION_LESS 3.12)
|
||||||
|
file(GLOB ${outvar} ${ARGN})
|
||||||
|
else()
|
||||||
|
file(GLOB ${outvar} CONFIGURE_DEPENDS ${ARGN})
|
||||||
|
endif()
|
||||||
|
set(${outvar} ${${outvar}} PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(globrecurse_wrapper outvar root)
|
||||||
|
if(${CMAKE_VERSION} VERSION_LESS 3.12)
|
||||||
|
file(GLOB_RECURSE ${outvar} RELATIVE ${root} ${ARGN})
|
||||||
|
else()
|
||||||
|
file(GLOB_RECURSE ${outvar} CONFIGURE_DEPENDS RELATIVE ${root} ${ARGN})
|
||||||
|
endif()
|
||||||
|
set(${outvar} ${${outvar}} PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
@ -21,12 +21,12 @@ add_custom_command(OUTPUT ${GENERATED_SYN_VIM}
|
|||||||
${FUNCS_DATA}
|
${FUNCS_DATA}
|
||||||
)
|
)
|
||||||
|
|
||||||
file(GLOB PACKAGES ${PROJECT_SOURCE_DIR}/runtime/pack/dist/opt/*)
|
glob_wrapper(PACKAGES ${PROJECT_SOURCE_DIR}/runtime/pack/dist/opt/*)
|
||||||
|
|
||||||
set(GENERATED_PACKAGE_TAGS)
|
set(GENERATED_PACKAGE_TAGS)
|
||||||
foreach(PACKAGE ${PACKAGES})
|
foreach(PACKAGE ${PACKAGES})
|
||||||
get_filename_component(PACKNAME ${PACKAGE} NAME)
|
get_filename_component(PACKNAME ${PACKAGE} NAME)
|
||||||
file(GLOB "${PACKNAME}_DOC_FILES" ${PACKAGE}/doc/*.txt)
|
glob_wrapper("${PACKNAME}_DOC_FILES" ${PACKAGE}/doc/*.txt)
|
||||||
if(${PACKNAME}_DOC_FILES)
|
if(${PACKNAME}_DOC_FILES)
|
||||||
file(MAKE_DIRECTORY ${GENERATED_PACKAGE_DIR}/${PACKNAME})
|
file(MAKE_DIRECTORY ${GENERATED_PACKAGE_DIR}/${PACKNAME})
|
||||||
add_custom_command(OUTPUT "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags"
|
add_custom_command(OUTPUT "${GENERATED_PACKAGE_DIR}/${PACKNAME}/doc/tags"
|
||||||
@ -54,7 +54,7 @@ foreach(PACKAGE ${PACKAGES})
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
file(GLOB DOCFILES ${PROJECT_SOURCE_DIR}/runtime/doc/*.txt)
|
glob_wrapper(DOCFILES ${PROJECT_SOURCE_DIR}/runtime/doc/*.txt)
|
||||||
|
|
||||||
set(BUILDDOCFILES)
|
set(BUILDDOCFILES)
|
||||||
foreach(DF ${DOCFILES})
|
foreach(DF ${DOCFILES})
|
||||||
@ -114,9 +114,7 @@ if(NOT APPLE)
|
|||||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps)
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(GLOB_RECURSE RUNTIME_PROGRAMS
|
globrecurse_wrapper(RUNTIME_PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR} *.awk *.sh *.bat)
|
||||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
*.awk *.sh *.bat)
|
|
||||||
|
|
||||||
foreach(PROG ${RUNTIME_PROGRAMS})
|
foreach(PROG ${RUNTIME_PROGRAMS})
|
||||||
get_filename_component(BASEDIR ${PROG} PATH)
|
get_filename_component(BASEDIR ${PROG} PATH)
|
||||||
@ -124,10 +122,8 @@ foreach(PROG ${RUNTIME_PROGRAMS})
|
|||||||
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/${BASEDIR})
|
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/nvim/runtime/${BASEDIR})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
file(GLOB_RECURSE RUNTIME_FILES
|
globrecurse_wrapper(RUNTIME_FILES ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
rgb.txt *.vim *.lua *.dict *.py *.rb *.ps *.spl *.tutor *.tutor.json)
|
||||||
rgb.txt
|
|
||||||
*.vim *.lua *.dict *.py *.rb *.ps *.spl *.tutor *.tutor.json)
|
|
||||||
|
|
||||||
foreach(F ${RUNTIME_FILES})
|
foreach(F ${RUNTIME_FILES})
|
||||||
get_filename_component(BASEDIR ${F} PATH)
|
get_filename_component(BASEDIR ${F} PATH)
|
||||||
|
Loading…
Reference in New Issue
Block a user