diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2023-02-19 21:11:27 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-19 21:11:27 +0100 |
commit | 5ffd3d035dfd3d7f6e66edbaa895b98792ba3de3 (patch) | |
tree | 1c2f43a2776b5ea4afc371a9831376a461f0ca37 | |
parent | bfe6b49447744cea1cd941660b2a3a501a0701cb (diff) | |
download | rneovim-5ffd3d035dfd3d7f6e66edbaa895b98792ba3de3.tar.gz rneovim-5ffd3d035dfd3d7f6e66edbaa895b98792ba3de3.tar.bz2 rneovim-5ffd3d035dfd3d7f6e66edbaa895b98792ba3de3.zip |
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.
-rw-r--r-- | cmake.deps/CMakeLists.txt | 20 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildGettext.cmake | 1 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLibiconv.cmake | 2 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLibtermkey.cmake | 2 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLibuv.cmake | 2 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLibvterm.cmake | 2 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLua.cmake | 6 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLuajit.cmake | 8 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLuarocks.cmake | 22 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLuv.cmake | 1 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildMsgpack.cmake | 8 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildTreesitter.cmake | 2 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildUnibilium.cmake | 2 | ||||
-rw-r--r-- | cmake.deps/cmake/GetBinaryDeps.cmake | 1 |
14 files changed, 22 insertions, 57 deletions
diff --git a/cmake.deps/CMakeLists.txt b/cmake.deps/CMakeLists.txt index 7e40609193..d255c1fd9d 100644 --- a/cmake.deps/CMakeLists.txt +++ b/cmake.deps/CMakeLists.txt @@ -274,23 +274,3 @@ if(WIN32) GetBinaryDep(TARGET win32yank_X86_64 INSTALL_COMMAND ${CMAKE_COMMAND} -E copy win32yank.exe ${DEPS_INSTALL_DIR}/bin) 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} -) diff --git a/cmake.deps/cmake/BuildGettext.cmake b/cmake.deps/cmake/BuildGettext.cmake index 31d84b76e4..7db7d5e4fe 100644 --- a/cmake.deps/cmake/BuildGettext.cmake +++ b/cmake.deps/cmake/BuildGettext.cmake @@ -18,7 +18,6 @@ else() message(FATAL_ERROR "Trying to build gettext in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") endif() -list(APPEND THIRD_PARTY_DEPS gettext) if(USE_BUNDLED_LIBICONV) add_dependencies(gettext libiconv) endif() diff --git a/cmake.deps/cmake/BuildLibiconv.cmake b/cmake.deps/cmake/BuildLibiconv.cmake index 4b9c07ed6c..244cf030ae 100644 --- a/cmake.deps/cmake/BuildLibiconv.cmake +++ b/cmake.deps/cmake/BuildLibiconv.cmake @@ -15,5 +15,3 @@ if(MSVC) else() message(FATAL_ERROR "Trying to build libiconv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") endif() - -list(APPEND THIRD_PARTY_DEPS libiconv) diff --git a/cmake.deps/cmake/BuildLibtermkey.cmake b/cmake.deps/cmake/BuildLibtermkey.cmake index 5836b05494..e137faaa0c 100644 --- a/cmake.deps/cmake/BuildLibtermkey.cmake +++ b/cmake.deps/cmake/BuildLibtermkey.cmake @@ -14,5 +14,3 @@ ExternalProject_Add(libtermkey -D UNIBILIUM_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include -D UNIBILIUM_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) - -list(APPEND THIRD_PARTY_DEPS libtermkey) diff --git a/cmake.deps/cmake/BuildLibuv.cmake b/cmake.deps/cmake/BuildLibuv.cmake index 6b3c8643a0..3c678c0877 100644 --- a/cmake.deps/cmake/BuildLibuv.cmake +++ b/cmake.deps/cmake/BuildLibuv.cmake @@ -11,5 +11,3 @@ ExternalProject_Add(libuv -D BUILD_TESTING=OFF -D LIBUV_BUILD_SHARED=OFF CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) - -list(APPEND THIRD_PARTY_DEPS libuv) diff --git a/cmake.deps/cmake/BuildLibvterm.cmake b/cmake.deps/cmake/BuildLibvterm.cmake index b75987eb24..c86a798a57 100644 --- a/cmake.deps/cmake/BuildLibvterm.cmake +++ b/cmake.deps/cmake/BuildLibvterm.cmake @@ -11,5 +11,3 @@ ExternalProject_Add(libvterm ${DEPS_BUILD_DIR}/src/libvterm/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) - -list(APPEND THIRD_PARTY_DEPS libvterm) diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index b5ac8368a6..759211b653 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -55,15 +55,11 @@ ExternalProject_Add(lua BUILD_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET} INSTALL_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install) -list(APPEND THIRD_PARTY_DEPS lua) - set(BUSTED ${DEPS_INSTALL_DIR}/bin/busted) set(BUSTED_LUA ${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} DEPENDS lua busted ${BUSTED}) -add_custom_target(busted-lua +add_custom_target(busted-lua ALL DEPENDS ${DEPS_INSTALL_DIR}/bin/busted-lua) - -list(APPEND THIRD_PARTY_DEPS busted-lua) diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index 1476ac31f4..4347e7e1da 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -149,4 +149,10 @@ else() message(FATAL_ERROR "Trying to build luajit in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") 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() diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index e50f50798a..b8cc512a17 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -94,8 +94,6 @@ ExternalProject_Add(luarocks BUILD_COMMAND "" INSTALL_COMMAND "${LUAROCKS_INSTALL_COMMAND}") -list(APPEND THIRD_PARTY_DEPS luarocks) - if(USE_BUNDLED_LUAJIT) add_dependencies(luarocks luajit) 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 COMMAND ${LUAROCKS_BINARY} build mpack 1.0.8-0 ${LUAROCKS_BUILDARGS} DEPENDS luarocks) -add_custom_target(mpack DEPENDS ${ROCKS_DIR}/mpack) -list(APPEND THIRD_PARTY_DEPS mpack) +add_custom_target(mpack ALL DEPENDS ${ROCKS_DIR}/mpack) # lpeg add_custom_command(OUTPUT ${ROCKS_DIR}/lpeg COMMAND ${LUAROCKS_BINARY} build lpeg 1.0.2-1 ${LUAROCKS_BUILDARGS} DEPENDS mpack) -add_custom_target(lpeg DEPENDS ${ROCKS_DIR}/lpeg) -list(APPEND THIRD_PARTY_DEPS lpeg) +add_custom_target(lpeg ALL DEPENDS ${ROCKS_DIR}/lpeg) if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA) # luabitop add_custom_command(OUTPUT ${ROCKS_DIR}/luabitop COMMAND ${LUAROCKS_BINARY} build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS} DEPENDS lpeg) - add_custom_target(luabitop DEPENDS ${ROCKS_DIR}/luabitop) - list(APPEND THIRD_PARTY_DEPS luabitop) + add_custom_target(luabitop ALL DEPENDS ${ROCKS_DIR}/luabitop) endif() if(USE_BUNDLED_BUSTED) @@ -137,7 +132,7 @@ if(USE_BUNDLED_BUSTED) add_custom_command(OUTPUT ${ROCKS_DIR}/penlight COMMAND ${LUAROCKS_BINARY} build penlight 1.5.4-1 ${LUAROCKS_BUILDARGS} DEPENDS ${PENLIGHT_DEPENDS}) - add_custom_target(penlight DEPENDS ${ROCKS_DIR}/penlight) + add_custom_target(penlight ALL DEPENDS ${ROCKS_DIR}/penlight) # busted if(WIN32) @@ -150,22 +145,19 @@ if(USE_BUNDLED_BUSTED) add_custom_command(OUTPUT ${BUSTED_EXE} COMMAND ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS} DEPENDS penlight) - add_custom_target(busted DEPENDS ${BUSTED_EXE}) + add_custom_target(busted ALL DEPENDS ${BUSTED_EXE}) # luacheck add_custom_command(OUTPUT ${LUACHECK_EXE} COMMAND ${LUAROCKS_BINARY} build luacheck 0.23.0-1 ${LUAROCKS_BUILDARGS} DEPENDS busted) - add_custom_target(luacheck DEPENDS ${LUACHECK_EXE}) + add_custom_target(luacheck ALL DEPENDS ${LUACHECK_EXE}) if (NOT USE_BUNDLED_LUAJIT) # coxpcall add_custom_command(OUTPUT ${ROCKS_DIR}/coxpcall COMMAND ${LUAROCKS_BINARY} build coxpcall 1.16.0-1 ${LUAROCKS_BUILDARGS} DEPENDS luarocks) - add_custom_target(coxpcall DEPENDS ${ROCKS_DIR}/coxpcall) - list(APPEND THIRD_PARTY_DEPS coxpcall) + add_custom_target(coxpcall ALL DEPENDS ${ROCKS_DIR}/coxpcall) endif() - - list(APPEND THIRD_PARTY_DEPS busted luacheck) endif() diff --git a/cmake.deps/cmake/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index 155d6ced4e..0cb0208bea 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -60,7 +60,6 @@ ExternalProject_Add(luv-static CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LUV_CMAKE_ARGS} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) -list(APPEND THIRD_PARTY_DEPS luv-static) if(USE_BUNDLED_LUAJIT) add_dependencies(luv-static luajit) elseif(USE_BUNDLED_LUA) diff --git a/cmake.deps/cmake/BuildMsgpack.cmake b/cmake.deps/cmake/BuildMsgpack.cmake index b1a77ee835..ef7568ae0a 100644 --- a/cmake.deps/cmake/BuildMsgpack.cmake +++ b/cmake.deps/cmake/BuildMsgpack.cmake @@ -11,4 +11,10 @@ ExternalProject_Add(msgpack -D MSGPACK_BUILD_EXAMPLES=OFF 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() diff --git a/cmake.deps/cmake/BuildTreesitter.cmake b/cmake.deps/cmake/BuildTreesitter.cmake index d906e6aa59..5b3e3497ad 100644 --- a/cmake.deps/cmake/BuildTreesitter.cmake +++ b/cmake.deps/cmake/BuildTreesitter.cmake @@ -12,5 +12,3 @@ ExternalProject_Add(tree-sitter ${DEPS_BUILD_DIR}/src/tree-sitter/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) - -list(APPEND THIRD_PARTY_DEPS tree-sitter) diff --git a/cmake.deps/cmake/BuildUnibilium.cmake b/cmake.deps/cmake/BuildUnibilium.cmake index 9a8caf89d1..a51e0cd8f1 100644 --- a/cmake.deps/cmake/BuildUnibilium.cmake +++ b/cmake.deps/cmake/BuildUnibilium.cmake @@ -8,5 +8,3 @@ ExternalProject_Add(unibilium DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/unibilium CMAKE_ARGS ${DEPS_CMAKE_ARGS} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) - -list(APPEND THIRD_PARTY_DEPS unibilium) diff --git a/cmake.deps/cmake/GetBinaryDeps.cmake b/cmake.deps/cmake/GetBinaryDeps.cmake index da4376998b..d1406350dd 100644 --- a/cmake.deps/cmake/GetBinaryDeps.cmake +++ b/cmake.deps/cmake/GetBinaryDeps.cmake @@ -35,5 +35,4 @@ function(GetBinaryDep) BUILD_COMMAND "" INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin COMMAND "${_gettool_INSTALL_COMMAND}") - list(APPEND THIRD_PARTY_DEPS ${__gettool_TARGET}) endfunction() |