From 5ffd3d035dfd3d7f6e66edbaa895b98792ba3de3 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 19 Feb 2023 21:11:27 +0100 Subject: 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. --- cmake.deps/cmake/BuildLua.cmake | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') 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) -- cgit From 4cf4ae93df6af09ef3a0df678bb3d154b65bf731 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 2 Mar 2023 22:50:43 +0100 Subject: build: cmake cleanup (#22251) - Remove unused code - Use consistent casing. Variable names such as LibLuV_LIBRARIES is needlessly jarring, even if the name might be technically correct. - Use title casing for packages. find_package(unibilium) requires the find_module to be named "Findunibilium.cmake", which makes it harder to spot when scanning the files. Instead, use "Unibilium". --- cmake.deps/cmake/BuildLua.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index 759211b653..c819b8661a 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -1,6 +1,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") set(LUA_TARGET linux) -elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +elseif(APPLE) set(LUA_TARGET macosx) elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") set(LUA_TARGET freebsd) -- cgit From 0007aa50bd3d54259bb4ae717c114f5524ec59fa Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 4 Mar 2023 00:30:07 +0100 Subject: build: unset variables ending with "URL" if USE_EXISTING_SRC_DIR is ON This will reduce required boilerplate, but more importantly it will automatically unset variables ending on URL. This will help people needing to avoid to unset the URL variable each time a new dependency is added. It is possible that this may remove a non-download variable ending on "URL" in the future, however, the risk of this is likely much lower than the risk of someone forgetting to unset the variable. --- cmake.deps/cmake/BuildLua.cmake | 3 --- 1 file changed, 3 deletions(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index c819b8661a..9cc2202e84 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -42,9 +42,6 @@ set(LUA_INSTALL_TOP_ARG "INSTALL_TOP=${DEPS_INSTALL_DIR}") message(STATUS "Lua target is ${LUA_TARGET}") -if(USE_EXISTING_SRC_DIR) - unset(LUA_URL) -endif() ExternalProject_Add(lua URL ${LUA_URL} URL_HASH SHA256=${LUA_SHA256} -- cgit From f4d83ac1e22e55a12895e5945680d90ee7c09b85 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 5 Mar 2023 15:21:46 +0100 Subject: build: consistently use the provided option paths We provide options such as "DEPS_BIN_DIR" for the user to set, but only sometimes use them. This makes binaries and other files to be spread out if the user defines a custom DEPS_BIN_DIR location. --- cmake.deps/cmake/BuildLua.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index 9cc2202e84..2817418eb2 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -52,11 +52,11 @@ ExternalProject_Add(lua BUILD_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET} INSTALL_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install) -set(BUSTED ${DEPS_INSTALL_DIR}/bin/busted) +set(BUSTED ${DEPS_BIN_DIR}/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 ALL - DEPENDS ${DEPS_INSTALL_DIR}/bin/busted-lua) + DEPENDS ${DEPS_BIN_DIR}/busted-lua) -- cgit From 17ce634b8f44e218270ee472599edf4cf3ba0fac Mon Sep 17 00:00:00 2001 From: ii14 Date: Thu, 16 Mar 2023 19:24:04 +0100 Subject: build!: rename sanitizer options from CLANG_* to ENABLE_* --- cmake.deps/cmake/BuildLua.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index 2817418eb2..3e7b5dee51 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -19,7 +19,7 @@ endif() set(LUA_CFLAGS "-O0 -g3 -fPIC") set(LUA_LDFLAGS "") -if(CLANG_ASAN_UBSAN) +if(ENABLE_ASAN_UBSAN) set(LUA_CFLAGS "${LUA_CFLAGS} -fsanitize=address") set(LUA_CFLAGS "${LUA_CFLAGS} -fno-omit-frame-pointer") set(LUA_CFLAGS "${LUA_CFLAGS} -fno-optimize-sibling-calls") -- cgit From 8b8e60728486e1fbb308bee2961175be355e550a Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 21 May 2023 20:57:39 +0200 Subject: build: move luarocks and rocks installation to main build This will ensure luacheck and busted are only installed when they're actually needed. This cuts total build time by over 50%. Closes https://github.com/neovim/neovim/issues/22797. --- cmake.deps/cmake/BuildLua.cmake | 9 --------- 1 file changed, 9 deletions(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index 3e7b5dee51..24da331867 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -51,12 +51,3 @@ ExternalProject_Add(lua BUILD_IN_SOURCE 1 BUILD_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET} INSTALL_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install) - -set(BUSTED ${DEPS_BIN_DIR}/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 ALL - DEPENDS ${DEPS_BIN_DIR}/busted-lua) -- cgit From c50951a4d0cf480aa138a2ed2bd2deedebeb0dec Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 4 Sep 2023 00:00:26 +0200 Subject: build: various fixes - simplify lua interpreter search - fix incorrect variable name in BuildLua.cmake - build PUC Lua with -O2 - silence non-mandatory find_package search for libuv - simplify Find modules - Prefer using the explicitly set CI_BUILD over relying on the environment variable "CI". --- cmake.deps/cmake/BuildLua.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index 24da331867..af787ed795 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -5,9 +5,9 @@ elseif(APPLE) elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") set(LUA_TARGET freebsd) elseif(CMAKE_SYSTEM_NAME MATCHES "BSD") - set(CMAKE_LUA_TARGET bsd) + set(LUA_TARGET bsd) elseif(CMAKE_SYSTEM_NAME MATCHES "^MINGW") - set(CMAKE_LUA_TARGET mingw) + set(LUA_TARGET mingw) else() if(UNIX) set(LUA_TARGET posix) @@ -16,7 +16,7 @@ else() endif() endif() -set(LUA_CFLAGS "-O0 -g3 -fPIC") +set(LUA_CFLAGS "-O2 -g3 -fPIC") set(LUA_LDFLAGS "") if(ENABLE_ASAN_UBSAN) -- cgit From bec2ebebdacd494117ce41b31e208577ddeef510 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Tue, 7 Nov 2023 09:52:20 +0100 Subject: build: various cmake fixes - Correct MSVC warning suppression. The C4003 warning is issued during file generation and not for the actual source files. - Remove non-existent "scripts/pvscheck.sh" file from `lintsh` target. - Remove spaces inside for loops with uncrustify. - Point dependencies to use a git tag rather than releases, as releases might have changes that deviate from the actual source code. - Automatically update uncrustify config before formatting or linting. --- cmake.deps/cmake/BuildLua.cmake | 2 -- 1 file changed, 2 deletions(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index af787ed795..608c28ae58 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -40,8 +40,6 @@ set(LUA_CONFIGURE_COMMAND -i ${DEPS_BUILD_DIR}/src/lua/src/luaconf.h) set(LUA_INSTALL_TOP_ARG "INSTALL_TOP=${DEPS_INSTALL_DIR}") -message(STATUS "Lua target is ${LUA_TARGET}") - ExternalProject_Add(lua URL ${LUA_URL} URL_HASH SHA256=${LUA_SHA256} -- cgit From 99b8a343e197cdec53f752e1cce01ae25eb45c12 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Mon, 20 Nov 2023 12:42:54 +0100 Subject: fixup: quick update, squash later --- cmake.deps/cmake/BuildLua.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cmake.deps/cmake/BuildLua.cmake') diff --git a/cmake.deps/cmake/BuildLua.cmake b/cmake.deps/cmake/BuildLua.cmake index 608c28ae58..96b7a903f9 100644 --- a/cmake.deps/cmake/BuildLua.cmake +++ b/cmake.deps/cmake/BuildLua.cmake @@ -43,9 +43,9 @@ set(LUA_INSTALL_TOP_ARG "INSTALL_TOP=${DEPS_INSTALL_DIR}") ExternalProject_Add(lua URL ${LUA_URL} URL_HASH SHA256=${LUA_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua CONFIGURE_COMMAND "${LUA_CONFIGURE_COMMAND}" BUILD_IN_SOURCE 1 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 + ${EXTERNALPROJECT_OPTIONS}) -- cgit