mirror of
https://github.com/neovim/neovim.git
synced 2024-12-23 20:55:18 -07:00
build: reuse code for deps.txt for both deps and main build
This commit is contained in:
parent
1c6d920052
commit
f09f5c45fa
@ -39,6 +39,12 @@ include(InstallHelpers)
|
|||||||
include(PreventInTreeBuilds)
|
include(PreventInTreeBuilds)
|
||||||
include(Util)
|
include(Util)
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
# User settings
|
||||||
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
set(DEPS_IGNORE_SHA FALSE)
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# Variables
|
# Variables
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
@ -47,9 +53,6 @@ set(TOUCHES_DIR ${PROJECT_BINARY_DIR}/touches)
|
|||||||
|
|
||||||
file(GLOB DOCFILES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/runtime/doc/*.txt)
|
file(GLOB DOCFILES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/runtime/doc/*.txt)
|
||||||
|
|
||||||
set_directory_properties(PROPERTIES
|
|
||||||
EP_PREFIX "${DEPS_BUILD_DIR}")
|
|
||||||
|
|
||||||
if(NOT CI_BUILD)
|
if(NOT CI_BUILD)
|
||||||
set(CMAKE_INSTALL_MESSAGE NEVER)
|
set(CMAKE_INSTALL_MESSAGE NEVER)
|
||||||
endif()
|
endif()
|
||||||
@ -241,7 +244,7 @@ add_glob_target(
|
|||||||
GLOB_DIRS runtime scripts src test
|
GLOB_DIRS runtime scripts src test
|
||||||
GLOB_PAT *.lua
|
GLOB_PAT *.lua
|
||||||
TOUCH_STRATEGY PER_DIR)
|
TOUCH_STRATEGY PER_DIR)
|
||||||
add_dependencies(lintlua-luacheck lua-dev-deps)
|
add_dependencies(lintlua-luacheck lua_dev_deps)
|
||||||
|
|
||||||
add_glob_target(
|
add_glob_target(
|
||||||
TARGET lintlua-stylua
|
TARGET lintlua-stylua
|
||||||
@ -300,26 +303,24 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
|
|||||||
add_subdirectory(cmake.packaging)
|
add_subdirectory(cmake.packaging)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
get_externalproject_options(uncrustify ${DEPS_IGNORE_SHA})
|
||||||
ExternalProject_Add(uncrustify
|
ExternalProject_Add(uncrustify
|
||||||
URL https://github.com/uncrustify/uncrustify/archive/uncrustify-0.79.0.tar.gz
|
|
||||||
URL_HASH SHA256=e7afaeabf636b7f0ce4e3e9747b95f7bd939613a8db49579755dddf44fedca5f
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/uncrustify
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/uncrustify
|
||||||
CMAKE_ARGS ${DEPS_CMAKE_ARGS}
|
CMAKE_ARGS ${DEPS_CMAKE_ARGS}
|
||||||
EXCLUDE_FROM_ALL TRUE
|
EXCLUDE_FROM_ALL TRUE
|
||||||
DOWNLOAD_NO_PROGRESS TRUE)
|
${EXTERNALPROJECT_OPTIONS})
|
||||||
|
|
||||||
option(USE_BUNDLED_BUSTED "Use bundled busted" ON)
|
option(USE_BUNDLED_BUSTED "Use bundled busted" ON)
|
||||||
if(USE_BUNDLED_BUSTED)
|
if(USE_BUNDLED_BUSTED)
|
||||||
ExternalProject_Add(lua-dev-deps
|
get_externalproject_options(lua_dev_deps ${DEPS_IGNORE_SHA})
|
||||||
URL https://github.com/neovim/deps/raw/5a1f71cceb24990a0b15fd9a472a5f549f019248/opt/lua-dev-deps.tar.gz
|
ExternalProject_Add(lua_dev_deps
|
||||||
URL_HASH SHA256=27db2495f5eddc7fc191701ec9b291486853530c6125609d3197d03481e8d5a2
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua_dev_deps
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua-dev-deps
|
|
||||||
SOURCE_DIR ${DEPS_SHARE_DIR}
|
SOURCE_DIR ${DEPS_SHARE_DIR}
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ""
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
EXCLUDE_FROM_ALL TRUE
|
EXCLUDE_FROM_ALL TRUE
|
||||||
DOWNLOAD_NO_PROGRESS TRUE)
|
${EXTERNALPROJECT_OPTIONS})
|
||||||
else()
|
else()
|
||||||
add_custom_target(lua-dev-deps)
|
add_custom_target(lua_dev_deps)
|
||||||
endif()
|
endif()
|
||||||
|
@ -74,25 +74,6 @@ if(APPLE)
|
|||||||
message(STATUS "Using deployment target ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
message(STATUS "Using deployment target ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_directory_properties(PROPERTIES
|
|
||||||
EP_PREFIX "${DEPS_BUILD_DIR}"
|
|
||||||
CMAKE_CONFIGURE_DEPENDS deps.txt)
|
|
||||||
|
|
||||||
file(READ deps.txt DEPENDENCIES)
|
|
||||||
STRING(REGEX REPLACE "\n" ";" DEPENDENCIES "${DEPENDENCIES}")
|
|
||||||
foreach(dep ${DEPENDENCIES})
|
|
||||||
STRING(REGEX REPLACE " " ";" dep "${dep}")
|
|
||||||
list(GET dep 0 name)
|
|
||||||
list(GET dep 1 value)
|
|
||||||
if(NOT ${name})
|
|
||||||
# _URL variables must NOT be set when USE_EXISTING_SRC_DIR is set,
|
|
||||||
# otherwise ExternalProject will try to re-download the sources.
|
|
||||||
if(NOT USE_EXISTING_SRC_DIR)
|
|
||||||
set(${name} ${value})
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(USE_BUNDLED_LUAJIT)
|
if(USE_BUNDLED_LUAJIT)
|
||||||
set(LUA_ENGINE LuaJit)
|
set(LUA_ENGINE LuaJit)
|
||||||
elseif(USE_BUNDLED_LUA)
|
elseif(USE_BUNDLED_LUA)
|
||||||
|
@ -59,3 +59,8 @@ TREESITTER_MARKDOWN_URL https://github.com/MDeiml/tree-sitter-markdown/archive/v
|
|||||||
TREESITTER_MARKDOWN_SHA256 4909d6023643f1afc3ab219585d4035b7403f3a17849782ab803c5f73c8a31d5
|
TREESITTER_MARKDOWN_SHA256 4909d6023643f1afc3ab219585d4035b7403f3a17849782ab803c5f73c8a31d5
|
||||||
TREESITTER_URL https://github.com/tree-sitter/tree-sitter/archive/v0.22.6.tar.gz
|
TREESITTER_URL https://github.com/tree-sitter/tree-sitter/archive/v0.22.6.tar.gz
|
||||||
TREESITTER_SHA256 e2b687f74358ab6404730b7fb1a1ced7ddb3780202d37595ecd7b20a8f41861f
|
TREESITTER_SHA256 e2b687f74358ab6404730b7fb1a1ced7ddb3780202d37595ecd7b20a8f41861f
|
||||||
|
|
||||||
|
UNCRUSTIFY_URL https://github.com/uncrustify/uncrustify/archive/uncrustify-0.79.0.tar.gz
|
||||||
|
UNCRUSTIFY_SHA256 e7afaeabf636b7f0ce4e3e9747b95f7bd939613a8db49579755dddf44fedca5f
|
||||||
|
LUA_DEV_DEPS_URL https://github.com/neovim/deps/raw/5a1f71cceb24990a0b15fd9a472a5f549f019248/opt/lua-dev-deps.tar.gz
|
||||||
|
LUA_DEV_DEPS_SHA256 27db2495f5eddc7fc191701ec9b291486853530c6125609d3197d03481e8d5a2
|
||||||
|
@ -58,6 +58,32 @@ if(CMAKE_OSX_SYSROOT)
|
|||||||
set(DEPS_C_COMPILER "${DEPS_C_COMPILER} -isysroot${CMAKE_OSX_SYSROOT}")
|
set(DEPS_C_COMPILER "${DEPS_C_COMPILER} -isysroot${CMAKE_OSX_SYSROOT}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
get_filename_component(rootdir ${PROJECT_SOURCE_DIR} NAME)
|
||||||
|
if(${rootdir} MATCHES "cmake.deps")
|
||||||
|
set(depsfile ${PROJECT_SOURCE_DIR}/deps.txt)
|
||||||
|
else()
|
||||||
|
set(depsfile ${PROJECT_SOURCE_DIR}/cmake.deps/deps.txt)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set_directory_properties(PROPERTIES
|
||||||
|
EP_PREFIX "${DEPS_BUILD_DIR}"
|
||||||
|
CMAKE_CONFIGURE_DEPENDS ${depsfile})
|
||||||
|
|
||||||
|
file(READ ${depsfile} DEPENDENCIES)
|
||||||
|
STRING(REGEX REPLACE "\n" ";" DEPENDENCIES "${DEPENDENCIES}")
|
||||||
|
foreach(dep ${DEPENDENCIES})
|
||||||
|
STRING(REGEX REPLACE " " ";" dep "${dep}")
|
||||||
|
list(GET dep 0 name)
|
||||||
|
list(GET dep 1 value)
|
||||||
|
if(NOT ${name})
|
||||||
|
# _URL variables must NOT be set when USE_EXISTING_SRC_DIR is set,
|
||||||
|
# otherwise ExternalProject will try to re-download the sources.
|
||||||
|
if(NOT USE_EXISTING_SRC_DIR)
|
||||||
|
set(${name} ${value})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
function(get_externalproject_options name DEPS_IGNORE_SHA)
|
function(get_externalproject_options name DEPS_IGNORE_SHA)
|
||||||
string(TOUPPER ${name} name_allcaps)
|
string(TOUPPER ${name} name_allcaps)
|
||||||
set(url ${${name_allcaps}_URL})
|
set(url ${${name_allcaps}_URL})
|
||||||
|
@ -19,7 +19,7 @@ if(LUA_HAS_FFI)
|
|||||||
${TEST_OPTIONS}
|
${TEST_OPTIONS}
|
||||||
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
||||||
USES_TERMINAL)
|
USES_TERMINAL)
|
||||||
add_dependencies(unittest lua-dev-deps nvim)
|
add_dependencies(unittest lua_dev_deps nvim)
|
||||||
else()
|
else()
|
||||||
message(WARNING "disabling unit tests: no Luajit FFI in ${LUA_PRG}")
|
message(WARNING "disabling unit tests: no Luajit FFI in ${LUA_PRG}")
|
||||||
endif()
|
endif()
|
||||||
@ -35,7 +35,7 @@ add_custom_target(functionaltest
|
|||||||
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
||||||
DEPENDS printenv-test printargs-test shell-test pwsh-test streams-test tty-test
|
DEPENDS printenv-test printargs-test shell-test pwsh-test streams-test tty-test
|
||||||
USES_TERMINAL)
|
USES_TERMINAL)
|
||||||
add_dependencies(functionaltest lua-dev-deps nvim)
|
add_dependencies(functionaltest lua_dev_deps nvim)
|
||||||
|
|
||||||
add_custom_target(benchmark
|
add_custom_target(benchmark
|
||||||
COMMAND ${CMAKE_COMMAND}
|
COMMAND ${CMAKE_COMMAND}
|
||||||
@ -44,4 +44,4 @@ add_custom_target(benchmark
|
|||||||
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
|
||||||
DEPENDS tty-test
|
DEPENDS tty-test
|
||||||
USES_TERMINAL)
|
USES_TERMINAL)
|
||||||
add_dependencies(benchmark lua-dev-deps nvim)
|
add_dependencies(benchmark lua_dev_deps nvim)
|
||||||
|
Loading…
Reference in New Issue
Block a user