mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
build: build all dependencies in parallel (#22329)
Previously, all targets were connected in one main target called third-party in order to remove any potentially conflicting shared library. We can make each dependency target independent of each other by only removing shared libraries from luajit and msgpack in their own targets, as only these has unwanted shared libraries.
This commit is contained in:
parent
bfe6b49447
commit
5ffd3d035d
@ -274,23 +274,3 @@ if(WIN32)
|
|||||||
GetBinaryDep(TARGET win32yank_X86_64
|
GetBinaryDep(TARGET win32yank_X86_64
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy win32yank.exe ${DEPS_INSTALL_DIR}/bin)
|
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy win32yank.exe ${DEPS_INSTALL_DIR}/bin)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# clean-shared-libraries removes ${DEPS_INSTALL_DIR}/lib/nvim/parser/c.dll,
|
|
||||||
# resulting in MSVC build failure in CI.
|
|
||||||
if (MSVC)
|
|
||||||
set(ALL_DEPS ${THIRD_PARTY_DEPS})
|
|
||||||
else()
|
|
||||||
add_custom_target(clean-shared-libraries
|
|
||||||
COMMAND ${CMAKE_COMMAND}
|
|
||||||
-D REMOVE_FILE_GLOB=${DEPS_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}*
|
|
||||||
-P ${PROJECT_SOURCE_DIR}/cmake/RemoveFiles.cmake
|
|
||||||
DEPENDS ${THIRD_PARTY_DEPS}
|
|
||||||
)
|
|
||||||
set(ALL_DEPS clean-shared-libraries)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# TODO(justinmk): does anyone use this target?
|
|
||||||
add_custom_target(third-party ALL
|
|
||||||
COMMAND ${CMAKE_COMMAND} -E touch .third-party
|
|
||||||
DEPENDS ${ALL_DEPS}
|
|
||||||
)
|
|
||||||
|
@ -18,7 +18,6 @@ else()
|
|||||||
message(FATAL_ERROR "Trying to build gettext in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
message(FATAL_ERROR "Trying to build gettext in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS gettext)
|
|
||||||
if(USE_BUNDLED_LIBICONV)
|
if(USE_BUNDLED_LIBICONV)
|
||||||
add_dependencies(gettext libiconv)
|
add_dependencies(gettext libiconv)
|
||||||
endif()
|
endif()
|
||||||
|
@ -15,5 +15,3 @@ if(MSVC)
|
|||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Trying to build libiconv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
message(FATAL_ERROR "Trying to build libiconv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS libiconv)
|
|
||||||
|
@ -14,5 +14,3 @@ ExternalProject_Add(libtermkey
|
|||||||
-D UNIBILIUM_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include
|
-D UNIBILIUM_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include
|
||||||
-D UNIBILIUM_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX}
|
-D UNIBILIUM_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||||
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS libtermkey)
|
|
||||||
|
@ -11,5 +11,3 @@ ExternalProject_Add(libuv
|
|||||||
-D BUILD_TESTING=OFF
|
-D BUILD_TESTING=OFF
|
||||||
-D LIBUV_BUILD_SHARED=OFF
|
-D LIBUV_BUILD_SHARED=OFF
|
||||||
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS libuv)
|
|
||||||
|
@ -11,5 +11,3 @@ ExternalProject_Add(libvterm
|
|||||||
${DEPS_BUILD_DIR}/src/libvterm/CMakeLists.txt
|
${DEPS_BUILD_DIR}/src/libvterm/CMakeLists.txt
|
||||||
CMAKE_ARGS ${DEPS_CMAKE_ARGS}
|
CMAKE_ARGS ${DEPS_CMAKE_ARGS}
|
||||||
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS libvterm)
|
|
||||||
|
@ -55,15 +55,11 @@ ExternalProject_Add(lua
|
|||||||
BUILD_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET}
|
BUILD_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET}
|
||||||
INSTALL_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install)
|
INSTALL_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install)
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS lua)
|
|
||||||
|
|
||||||
set(BUSTED ${DEPS_INSTALL_DIR}/bin/busted)
|
set(BUSTED ${DEPS_INSTALL_DIR}/bin/busted)
|
||||||
set(BUSTED_LUA ${BUSTED}-lua)
|
set(BUSTED_LUA ${BUSTED}-lua)
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${BUSTED_LUA}
|
add_custom_command(OUTPUT ${BUSTED_LUA}
|
||||||
COMMAND sed -e 's/^exec/exec $$LUA_DEBUGGER/' -e 's/jit//g' < ${BUSTED} > ${BUSTED_LUA} && chmod +x ${BUSTED_LUA}
|
COMMAND sed -e 's/^exec/exec $$LUA_DEBUGGER/' -e 's/jit//g' < ${BUSTED} > ${BUSTED_LUA} && chmod +x ${BUSTED_LUA}
|
||||||
DEPENDS lua busted ${BUSTED})
|
DEPENDS lua busted ${BUSTED})
|
||||||
add_custom_target(busted-lua
|
add_custom_target(busted-lua ALL
|
||||||
DEPENDS ${DEPS_INSTALL_DIR}/bin/busted-lua)
|
DEPENDS ${DEPS_INSTALL_DIR}/bin/busted-lua)
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS busted-lua)
|
|
||||||
|
@ -149,4 +149,10 @@ else()
|
|||||||
message(FATAL_ERROR "Trying to build luajit in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
message(FATAL_ERROR "Trying to build luajit in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS luajit)
|
if (NOT MSVC)
|
||||||
|
add_custom_target(clean_shared_libraries_luajit ALL
|
||||||
|
COMMAND ${CMAKE_COMMAND}
|
||||||
|
-D REMOVE_FILE_GLOB=${DEPS_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}*
|
||||||
|
-P ${PROJECT_SOURCE_DIR}/cmake/RemoveFiles.cmake)
|
||||||
|
add_dependencies(clean_shared_libraries_luajit luajit)
|
||||||
|
endif()
|
||||||
|
@ -94,8 +94,6 @@ ExternalProject_Add(luarocks
|
|||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ""
|
||||||
INSTALL_COMMAND "${LUAROCKS_INSTALL_COMMAND}")
|
INSTALL_COMMAND "${LUAROCKS_INSTALL_COMMAND}")
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS luarocks)
|
|
||||||
|
|
||||||
if(USE_BUNDLED_LUAJIT)
|
if(USE_BUNDLED_LUAJIT)
|
||||||
add_dependencies(luarocks luajit)
|
add_dependencies(luarocks luajit)
|
||||||
elseif(USE_BUNDLED_LUA)
|
elseif(USE_BUNDLED_LUA)
|
||||||
@ -107,23 +105,20 @@ set(ROCKS_DIR ${DEPS_LIB_DIR}/luarocks/rocks-${LUA_VERSION})
|
|||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/mpack
|
add_custom_command(OUTPUT ${ROCKS_DIR}/mpack
|
||||||
COMMAND ${LUAROCKS_BINARY} build mpack 1.0.8-0 ${LUAROCKS_BUILDARGS}
|
COMMAND ${LUAROCKS_BINARY} build mpack 1.0.8-0 ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS luarocks)
|
DEPENDS luarocks)
|
||||||
add_custom_target(mpack DEPENDS ${ROCKS_DIR}/mpack)
|
add_custom_target(mpack ALL DEPENDS ${ROCKS_DIR}/mpack)
|
||||||
list(APPEND THIRD_PARTY_DEPS mpack)
|
|
||||||
|
|
||||||
# lpeg
|
# lpeg
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/lpeg
|
add_custom_command(OUTPUT ${ROCKS_DIR}/lpeg
|
||||||
COMMAND ${LUAROCKS_BINARY} build lpeg 1.0.2-1 ${LUAROCKS_BUILDARGS}
|
COMMAND ${LUAROCKS_BINARY} build lpeg 1.0.2-1 ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS mpack)
|
DEPENDS mpack)
|
||||||
add_custom_target(lpeg DEPENDS ${ROCKS_DIR}/lpeg)
|
add_custom_target(lpeg ALL DEPENDS ${ROCKS_DIR}/lpeg)
|
||||||
list(APPEND THIRD_PARTY_DEPS lpeg)
|
|
||||||
|
|
||||||
if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA)
|
if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA)
|
||||||
# luabitop
|
# luabitop
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/luabitop
|
add_custom_command(OUTPUT ${ROCKS_DIR}/luabitop
|
||||||
COMMAND ${LUAROCKS_BINARY} build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS}
|
COMMAND ${LUAROCKS_BINARY} build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS lpeg)
|
DEPENDS lpeg)
|
||||||
add_custom_target(luabitop DEPENDS ${ROCKS_DIR}/luabitop)
|
add_custom_target(luabitop ALL DEPENDS ${ROCKS_DIR}/luabitop)
|
||||||
list(APPEND THIRD_PARTY_DEPS luabitop)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_BUNDLED_BUSTED)
|
if(USE_BUNDLED_BUSTED)
|
||||||
@ -137,7 +132,7 @@ if(USE_BUNDLED_BUSTED)
|
|||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/penlight
|
add_custom_command(OUTPUT ${ROCKS_DIR}/penlight
|
||||||
COMMAND ${LUAROCKS_BINARY} build penlight 1.5.4-1 ${LUAROCKS_BUILDARGS}
|
COMMAND ${LUAROCKS_BINARY} build penlight 1.5.4-1 ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS ${PENLIGHT_DEPENDS})
|
DEPENDS ${PENLIGHT_DEPENDS})
|
||||||
add_custom_target(penlight DEPENDS ${ROCKS_DIR}/penlight)
|
add_custom_target(penlight ALL DEPENDS ${ROCKS_DIR}/penlight)
|
||||||
|
|
||||||
# busted
|
# busted
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -150,22 +145,19 @@ if(USE_BUNDLED_BUSTED)
|
|||||||
add_custom_command(OUTPUT ${BUSTED_EXE}
|
add_custom_command(OUTPUT ${BUSTED_EXE}
|
||||||
COMMAND ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS}
|
COMMAND ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS penlight)
|
DEPENDS penlight)
|
||||||
add_custom_target(busted DEPENDS ${BUSTED_EXE})
|
add_custom_target(busted ALL DEPENDS ${BUSTED_EXE})
|
||||||
|
|
||||||
# luacheck
|
# luacheck
|
||||||
add_custom_command(OUTPUT ${LUACHECK_EXE}
|
add_custom_command(OUTPUT ${LUACHECK_EXE}
|
||||||
COMMAND ${LUAROCKS_BINARY} build luacheck 0.23.0-1 ${LUAROCKS_BUILDARGS}
|
COMMAND ${LUAROCKS_BINARY} build luacheck 0.23.0-1 ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS busted)
|
DEPENDS busted)
|
||||||
add_custom_target(luacheck DEPENDS ${LUACHECK_EXE})
|
add_custom_target(luacheck ALL DEPENDS ${LUACHECK_EXE})
|
||||||
|
|
||||||
if (NOT USE_BUNDLED_LUAJIT)
|
if (NOT USE_BUNDLED_LUAJIT)
|
||||||
# coxpcall
|
# coxpcall
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/coxpcall
|
add_custom_command(OUTPUT ${ROCKS_DIR}/coxpcall
|
||||||
COMMAND ${LUAROCKS_BINARY} build coxpcall 1.16.0-1 ${LUAROCKS_BUILDARGS}
|
COMMAND ${LUAROCKS_BINARY} build coxpcall 1.16.0-1 ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS luarocks)
|
DEPENDS luarocks)
|
||||||
add_custom_target(coxpcall DEPENDS ${ROCKS_DIR}/coxpcall)
|
add_custom_target(coxpcall ALL DEPENDS ${ROCKS_DIR}/coxpcall)
|
||||||
list(APPEND THIRD_PARTY_DEPS coxpcall)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS busted luacheck)
|
|
||||||
endif()
|
endif()
|
||||||
|
@ -60,7 +60,6 @@ ExternalProject_Add(luv-static
|
|||||||
CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LUV_CMAKE_ARGS}
|
CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LUV_CMAKE_ARGS}
|
||||||
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS luv-static)
|
|
||||||
if(USE_BUNDLED_LUAJIT)
|
if(USE_BUNDLED_LUAJIT)
|
||||||
add_dependencies(luv-static luajit)
|
add_dependencies(luv-static luajit)
|
||||||
elseif(USE_BUNDLED_LUA)
|
elseif(USE_BUNDLED_LUA)
|
||||||
|
@ -11,4 +11,10 @@ ExternalProject_Add(msgpack
|
|||||||
-D MSGPACK_BUILD_EXAMPLES=OFF
|
-D MSGPACK_BUILD_EXAMPLES=OFF
|
||||||
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS msgpack)
|
if (NOT MSVC)
|
||||||
|
add_custom_target(clean_shared_libraries_msgpack ALL
|
||||||
|
COMMAND ${CMAKE_COMMAND}
|
||||||
|
-D REMOVE_FILE_GLOB=${DEPS_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}*${CMAKE_SHARED_LIBRARY_SUFFIX}*
|
||||||
|
-P ${PROJECT_SOURCE_DIR}/cmake/RemoveFiles.cmake)
|
||||||
|
add_dependencies(clean_shared_libraries_msgpack msgpack)
|
||||||
|
endif()
|
||||||
|
@ -12,5 +12,3 @@ ExternalProject_Add(tree-sitter
|
|||||||
${DEPS_BUILD_DIR}/src/tree-sitter/CMakeLists.txt
|
${DEPS_BUILD_DIR}/src/tree-sitter/CMakeLists.txt
|
||||||
CMAKE_ARGS ${DEPS_CMAKE_ARGS}
|
CMAKE_ARGS ${DEPS_CMAKE_ARGS}
|
||||||
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS tree-sitter)
|
|
||||||
|
@ -8,5 +8,3 @@ ExternalProject_Add(unibilium
|
|||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/unibilium
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/unibilium
|
||||||
CMAKE_ARGS ${DEPS_CMAKE_ARGS}
|
CMAKE_ARGS ${DEPS_CMAKE_ARGS}
|
||||||
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS unibilium)
|
|
||||||
|
@ -35,5 +35,4 @@ function(GetBinaryDep)
|
|||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ""
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin
|
INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin
|
||||||
COMMAND "${_gettool_INSTALL_COMMAND}")
|
COMMAND "${_gettool_INSTALL_COMMAND}")
|
||||||
list(APPEND THIRD_PARTY_DEPS ${__gettool_TARGET})
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
Loading…
Reference in New Issue
Block a user