From b05100a9eaad5980ea7652137bc4a1c2d15d752f Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Thu, 26 Jan 2023 00:06:52 +0100 Subject: build: use cmake to build libvterm on all platform (#21986) Also remove Libvterm-tbl2inc_c.cmake as it's not required. It's used to generate files that are already provided by the Libvterm project by default. It's also not really something we need to concern ourselves with as it's more of an authoring tool for the Libvterm creator as mentioned in https://github.com/neovim/neovim/pull/21986#issuecomment-1403733054. --- cmake.deps/cmake/BuildLibvterm.cmake | 31 +----- cmake.deps/cmake/Libvterm-tbl2inc_c.cmake | 163 ------------------------------ cmake.deps/cmake/LibvtermCMakeLists.txt | 58 +---------- 3 files changed, 5 insertions(+), 247 deletions(-) delete mode 100644 cmake.deps/cmake/Libvterm-tbl2inc_c.cmake (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLibvterm.cmake b/cmake.deps/cmake/BuildLibvterm.cmake index 1578d56fba..b75987eb24 100644 --- a/cmake.deps/cmake/BuildLibvterm.cmake +++ b/cmake.deps/cmake/BuildLibvterm.cmake @@ -1,27 +1,3 @@ -if(WIN32) - set(LIBVTERM_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibvtermCMakeLists.txt - ${DEPS_BUILD_DIR}/src/libvterm/CMakeLists.txt - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Libvterm-tbl2inc_c.cmake - ${DEPS_BUILD_DIR}/src/libvterm/tbl2inc_c.cmake - COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/libvterm - -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} - -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} - -DCMAKE_GENERATOR=${CMAKE_GENERATOR} - -DCMAKE_POSITION_INDEPENDENT_CODE=ON) - set(LIBVTERM_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $) - set(LIBVTERM_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $) -else() - set(LIBVTERM_INSTALL_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER} - PREFIX=${DEPS_INSTALL_DIR} - CFLAGS=-fPIC - LDFLAGS+=-static - ${DEFAULT_MAKE_CFLAGS} - install) -endif() - if(USE_EXISTING_SRC_DIR) unset(LIBVTERM_URL) endif() @@ -30,10 +6,9 @@ ExternalProject_Add(libvterm URL_HASH SHA256=${LIBVTERM_SHA256} DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libvterm - BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND "${LIBVTERM_CONFIGURE_COMMAND}" - BUILD_COMMAND "${LIBVTERM_BUILD_COMMAND}" - INSTALL_COMMAND "${LIBVTERM_INSTALL_COMMAND}" + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibvtermCMakeLists.txt + ${DEPS_BUILD_DIR}/src/libvterm/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) diff --git a/cmake.deps/cmake/Libvterm-tbl2inc_c.cmake b/cmake.deps/cmake/Libvterm-tbl2inc_c.cmake deleted file mode 100644 index 32d973680f..0000000000 --- a/cmake.deps/cmake/Libvterm-tbl2inc_c.cmake +++ /dev/null @@ -1,163 +0,0 @@ -cmake_minimum_required(VERSION 3.10) - -set(HEX_ALPHABET "0123456789abcdef") - -function(ConvertToHex dec hex) - while(dec GREATER 0) - math(EXPR _val "${dec} % 16") - math(EXPR dec "${dec} / 16") - string(SUBSTRING ${HEX_ALPHABET} ${_val} 1 _val) - set(_res "${_val}${_res}") - endwhile() - # Pad the result with the number of zeros - # specified by the optional third argument - if(${ARGC} EQUAL 3) - set(padding ${ARGV2}) - string(LENGTH ${_res} _resLen) - if(_resLen LESS ${padding}) - math(EXPR _neededPadding "${padding} - ${_resLen}") - foreach(i RANGE 1 ${_neededPadding}) - set(_res "0${_res}") - endforeach() - endif() - endif() - set(${hex} "0x${_res}" PARENT_SCOPE) -endfunction() - -function(ConvertFromHex hex dec) - string(TOLOWER ${hex} hex) - string(LENGTH "${hex}" _strlen) - set(_res 0) - while(_strlen GREATER 0) - math(EXPR _res "${_res} * 16") - string(SUBSTRING "${hex}" 0 1 NIBBLE) - string(SUBSTRING "${hex}" 1 -1 hex) - string(FIND ${HEX_ALPHABET} ${NIBBLE} value) - if(value EQUAL -1) - message(FATAL_ERROR "Invalid hex character '${NIBBLE}'") - endif() - math(EXPR _res "${_res} + ${value}") - string(LENGTH "${hex}" _strlen) - endwhile() - set(${dec} ${_res} PARENT_SCOPE) -endfunction() - -# Based on http://www.json.org/JSON_checker/utf8_decode.c -function(DecodeUtf8 hexBytes codePoint) - string(SUBSTRING ${hexBytes} 0 2 hexByte1) - ConvertFromHex(${hexByte1} byte1) - # Zero continuations (0 to 127) - math(EXPR out "${byte1} & 128") - if(out EQUAL 0) - set(${codePoint} ${byte1} PARENT_SCOPE) - return() - endif() - # One continuation (128 to 2047) - math(EXPR out "${byte1} & 224") - if(out EQUAL 192) - string(SUBSTRING ${hexBytes} 2 2 hexByte2) - ConvertFromHex(${hexByte2} byte2) - math(EXPR result "((${byte1} & 31) << 6) | ${byte2}") - if(result GREATER 127) - set(${codePoint} ${result} PARENT_SCOPE) - return() - endif() - else() - # Two continuations (2048 to 55295 and 57344 to 65535) - math(EXPR result "${byte1} & 240") - if(result EQUAL 224) - string(SUBSTRING ${hexBytes} 2 2 hexByte2) - string(SUBSTRING ${hexBytes} 4 2 hexByte3) - ConvertFromHex(${hexByte2} byte2) - ConvertFromHex(${hexByte3} byte3) - math(EXPR result "${byte2} | ${byte3}") - if(result GREATER -1) - math(EXPR result "((${byte1} & 15) << 12) | (${byte2} << 6) | ${byte3}") - if((result GREATER 2047) AND (result LESS 55296 OR result GREATER 57343)) - set(${codePoint} ${result} PARENT_SCOPE) - return() - endif() - endif() - else() - # Three continuations (65536 to 1114111) - math(EXPR result "${byte1} & 248") - if(result EQUAL 224) - string(SUBSTRING ${hexBytes} 2 2 hexByte2) - string(SUBSTRING ${hexBytes} 4 2 hexByte3) - string(SUBSTRING ${hexBytes} 6 2 hexByte4) - ConvertFromHex(${hexByte2} byte2) - ConvertFromHex(${hexByte3} byte3) - ConvertFromHex(${hexByte4} byte4) - math(EXPR result "${byte2} | ${byte3} | ${byte4}") - if(result GREATER -1) - math(EXPR result "((c & 7) << 18) | (c1 << 12) | (c2 << 6) | c3") - if((result GREATER 65535) AND (result LESS 1114112)) - set(${codePoint} ${result} PARENT_SCOPE) - return() - endif() - endif() - endif() - endif() - endif() - message(FATAL_ERROR "Invalid UTF-8 encoding") -endfunction() - -set(inputFile ${CMAKE_ARGV3}) -set(outputFile ${CMAKE_ARGV4}) -# Get the file contents in text and hex-encoded format because -# CMake doesn't provide functions for converting between the two -file(READ "${inputFile}" contents) -file(READ "${inputFile}" hexContents HEX) - -# Convert the text contents into a list of lines by escaping -# the list separator ';' and then replacing new line characters -# with the list separator -string(REGEX REPLACE ";" "\\\\;" contents ${contents}) -string(REGEX REPLACE "\n" ";" contents ${contents}) - -get_filename_component(encname ${inputFile} NAME_WE) -set(output - "static const struct StaticTableEncoding encoding_${encname} = {\n" - " { .decode = &decode_table },\n" - " {") -set(hexIndex 0) -foreach(line ${contents}) - string(LENGTH ${line} lineLength) - # Convert "A" to 0x41 - string(FIND ${line} "\"" beginQuote) - if(NOT ${beginQuote} EQUAL -1) - string(FIND ${line} "\"" endQuote REVERSE) - if(${beginQuote} EQUAL ${endQuote}) - message(FATAL_ERROR "Line contains only one quote") - endif() - math(EXPR beginHexQuote "${hexIndex} + (${beginQuote} + 1)*2") - math(EXPR endHexQuote "${hexIndex} + (${endQuote} + 1)*2") - math(EXPR quoteLen "${endHexQuote} - ${beginHexQuote} - 1") - string(SUBSTRING ${hexContents} ${beginHexQuote} ${quoteLen} hexQuote) - DecodeUtf8(${hexQuote} codePoint) - ConvertToHex(${codePoint} hexCodePoint 4) - STRING(REGEX REPLACE "\"(.+)\"" ${hexCodePoint} line ${line}) - endif() - # Strip comment - string(REGEX REPLACE "[ \t\n]*#.*" "" line ${line}) - # Convert 3/1 to [0x31] - string(REGEX REPLACE "^([0-9]+)/([0-9]+).*" "\\1;\\2" numbers ${line}) - list(GET numbers 0 upperBits) - list(GET numbers 1 lowerBits) - math(EXPR res "${upperBits}*16 + ${lowerBits}") - ConvertToHex(${res} hex 2) - string(REGEX REPLACE "^([0-9]+)/([0-9]+)" "[${hex}]" line ${line}) - # Convert U+0041 to 0x0041 - string(REPLACE "U+" "0x" line ${line}) - # Indent and append a comma - set(line " ${line},") - set(output "${output}\n${line}") - # Increment the index by the number of characters in the line, - # plus one for the new line character then multiple by two for the hex digit index - math(EXPR hexIndex "${hexIndex} + 2*(${lineLength} + 1)") -endforeach() -set(output "${output}\n" - " }\n" - "}\;\n") - -file(WRITE ${outputFile} ${output}) diff --git a/cmake.deps/cmake/LibvtermCMakeLists.txt b/cmake.deps/cmake/LibvtermCMakeLists.txt index 079ad28ba0..777ce6c54c 100644 --- a/cmake.deps/cmake/LibvtermCMakeLists.txt +++ b/cmake.deps/cmake/LibvtermCMakeLists.txt @@ -2,43 +2,18 @@ cmake_minimum_required(VERSION 3.10) project(libvterm LANGUAGES C) include(GNUInstallDirs) -find_package(Perl) if(MSVC) - add_compile_options(/W3) add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE) else() - add_compile_options(-Wall -std=c99) + add_compile_options(-std=c99) endif() -# Generate includes from tables -file(GLOB TBL_FILES ${CMAKE_SOURCE_DIR}/src/encoding/*.tbl) -set(TBL_FILES_HEADERS) -foreach(file ${TBL_FILES}) - get_filename_component(basename ${file} NAME_WE) - set(tname encoding/${basename}.inc) - add_custom_command(OUTPUT - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/encoding/ - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/tbl2inc_c.cmake ${file} ${CMAKE_BINARY_DIR}/${tname} - COMMENT "Generating ${tname}" - OUTPUT ${CMAKE_BINARY_DIR}/${tname} - ) - list(APPEND TBL_FILES_HEADERS ${tname}) - # Only used for verifying that the output of tbl2inc_c.cmake is correct - set(tname encoding-test/${basename}.inc) - add_custom_command(OUTPUT - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/encoding-test/ - COMMAND ${PERL_EXECUTABLE} -CSD ${CMAKE_SOURCE_DIR}/tbl2inc_c.pl ${file} > ${CMAKE_BINARY_DIR}/${tname} - COMMENT "Generating ${tname}" - OUTPUT ${CMAKE_BINARY_DIR}/${tname} - ) -endforeach() - include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_BINARY_DIR}) file(GLOB VTERM_SOURCES ${CMAKE_SOURCE_DIR}/src/*.c) -add_library(vterm ${VTERM_SOURCES} ${TBL_FILES_HEADERS}) +add_library(vterm ${VTERM_SOURCES}) install(TARGETS vterm ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(FILES include/vterm.h include/vterm_keycodes.h @@ -54,33 +29,4 @@ if(NOT WIN32) endforeach() endif() -# Tests -add_executable(harness EXCLUDE_FROM_ALL t/harness.c) -target_link_libraries(harness vterm) -set_target_properties(harness PROPERTIES - # run-test.pl expects to find the harness in t/.libs/ - RUNTIME_OUTPUT_DIRECTORY t/.libs) - -if(Perl_FOUND) - file(GLOB TESTFILES ${CMAKE_SOURCE_DIR}/t/*.test) - add_custom_target(check) - foreach(testfile ${TESTFILES}) - get_filename_component(target_name ${testfile} NAME_WE) - add_custom_target(${target_name} - COMMAND ${PERL_EXECUTABLE} ${CMAKE_SOURCE_DIR}/t/run-test.pl ${testfile} - COMMENT "**${target_name} **" - DEPENDS harness) - add_dependencies(check ${target_name}) - endforeach() - - foreach(header_path ${TBL_FILES_HEADERS}) - get_filename_component(header_name ${header_path} NAME) - set(perl_header_path ${CMAKE_BINARY_DIR}/encoding-test/${header_name}) - add_custom_target(test-${header_name} - COMMAND ${CMAKE_COMMAND} -E compare_files - ${header_path} ${perl_header_path} - DEPENDS ${header_path} ${perl_header_path}) - endforeach() -endif() - # vim: set ft=cmake: -- cgit From 21257d8580780a5e28f06562cea4f8889e6b0932 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 30 Jan 2023 17:01:06 +0800 Subject: build(luarocks): update busted version to v2.1.1 (#22029) --- cmake.deps/cmake/BuildLuarocks.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index d0b4a8e7d1..b84ce34d45 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -148,7 +148,7 @@ if(USE_BUNDLED_BUSTED) set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck") endif() add_custom_command(OUTPUT ${BUSTED_EXE} - COMMAND ${LUAROCKS_BINARY} build busted 2.0.0 ${LUAROCKS_BUILDARGS} + COMMAND ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS} DEPENDS penlight) add_custom_target(busted DEPENDS ${BUSTED_EXE}) -- cgit From 4d2c1004e96faad1179591b4409a75965af43985 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Wed, 8 Feb 2023 11:00:16 +0100 Subject: build: prefer -D = over -D= (#22164) This makes it easier to see that -D is referring to the entire "=", rather than only . It also help syntax highlighters highlight built-in variables. --- cmake.deps/cmake/BuildGettext.cmake | 4 ++-- cmake.deps/cmake/BuildLibtermkey.cmake | 6 +++--- cmake.deps/cmake/BuildLibuv.cmake | 6 +++--- cmake.deps/cmake/BuildLuv.cmake | 26 +++++++++++++------------- cmake.deps/cmake/BuildMsgpack.cmake | 4 ++-- cmake.deps/cmake/BuildTreesitterParsers.cmake | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildGettext.cmake b/cmake.deps/cmake/BuildGettext.cmake index 1f9fd38702..31d84b76e4 100644 --- a/cmake.deps/cmake/BuildGettext.cmake +++ b/cmake.deps/cmake/BuildGettext.cmake @@ -11,8 +11,8 @@ if(MSVC) ${CMAKE_CURRENT_SOURCE_DIR}/cmake/GettextCMakeLists.txt ${DEPS_BUILD_DIR}/src/gettext/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - -DLIBICONV_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include - -DLIBICONV_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}libcharset${CMAKE_STATIC_LIBRARY_SUFFIX}$${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}libiconv${CMAKE_STATIC_LIBRARY_SUFFIX} + -D LIBICONV_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include + -D LIBICONV_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}libcharset${CMAKE_STATIC_LIBRARY_SUFFIX}$${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}libiconv${CMAKE_STATIC_LIBRARY_SUFFIX} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) else() message(FATAL_ERROR "Trying to build gettext in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") diff --git a/cmake.deps/cmake/BuildLibtermkey.cmake b/cmake.deps/cmake/BuildLibtermkey.cmake index 6457a864ba..5836b05494 100644 --- a/cmake.deps/cmake/BuildLibtermkey.cmake +++ b/cmake.deps/cmake/BuildLibtermkey.cmake @@ -10,9 +10,9 @@ ExternalProject_Add(libtermkey ${CMAKE_CURRENT_SOURCE_DIR}/cmake/libtermkeyCMakeLists.txt ${DEPS_BUILD_DIR}/src/libtermkey/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - -DCMAKE_SHARED_LIBRARY_LINK_C_FLAGS="" # Hack to avoid -rdynamic in Mingw - -DUNIBILIUM_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include - -DUNIBILIUM_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX} + -D CMAKE_SHARED_LIBRARY_LINK_C_FLAGS="" # Hack to avoid -rdynamic in Mingw + -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 eb88458644..6b3c8643a0 100644 --- a/cmake.deps/cmake/BuildLibuv.cmake +++ b/cmake.deps/cmake/BuildLibuv.cmake @@ -7,9 +7,9 @@ ExternalProject_Add(libuv DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libuv CMAKE_ARGS ${DEPS_CMAKE_ARGS} - -DCMAKE_INSTALL_LIBDIR=lib - -DBUILD_TESTING=OFF - -DLIBUV_BUILD_SHARED=OFF + -D CMAKE_INSTALL_LIBDIR=lib + -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/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index 38c0503c5b..155d6ced4e 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -2,37 +2,37 @@ set(LUV_INCLUDE_FLAGS "-I${DEPS_INSTALL_DIR}/include -I${DEPS_INSTALL_DIR}/include/luajit-2.1") set(LUV_CMAKE_ARGS - -DLUA_BUILD_TYPE=System - -DLUA_COMPAT53_DIR=${DEPS_BUILD_DIR}/src/lua-compat-5.3 - -DWITH_SHARED_LIBUV=ON - -DBUILD_SHARED_LIBS=OFF - -DBUILD_STATIC_LIBS=ON - -DBUILD_MODULE=OFF) + -D LUA_BUILD_TYPE=System + -D LUA_COMPAT53_DIR=${DEPS_BUILD_DIR}/src/lua-compat-5.3 + -D WITH_SHARED_LIBUV=ON + -D BUILD_SHARED_LIBS=OFF + -D BUILD_STATIC_LIBS=ON + -D BUILD_MODULE=OFF) if(USE_BUNDLED_LUAJIT) - list(APPEND LUV_CMAKE_ARGS -DWITH_LUA_ENGINE=LuaJit) + list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=LuaJit) elseif(USE_BUNDLED_LUA) - list(APPEND LUV_CMAKE_ARGS -DWITH_LUA_ENGINE=Lua) + list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=Lua) else() find_package(LuaJit) if(LUAJIT_FOUND) - list(APPEND LUV_CMAKE_ARGS -DWITH_LUA_ENGINE=LuaJit) + list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=LuaJit) else() - list(APPEND LUV_CMAKE_ARGS -DWITH_LUA_ENGINE=Lua) + list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=Lua) endif() endif() if(USE_BUNDLED_LIBUV) list(APPEND LUV_CMAKE_ARGS - -DCMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR} - -DLIBUV_LIBRARIES=uv_a) + -D CMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR} + -D LIBUV_LIBRARIES=uv_a) endif() list(APPEND LUV_CMAKE_ARGS "-DCMAKE_C_FLAGS:STRING=${LUV_INCLUDE_FLAGS}") if(CMAKE_GENERATOR MATCHES "Unix Makefiles" AND (CMAKE_SYSTEM_NAME MATCHES ".*BSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")) - list(APPEND LUV_CMAKE_ARGS -DCMAKE_MAKE_PROGRAM=gmake) + list(APPEND LUV_CMAKE_ARGS -D CMAKE_MAKE_PROGRAM=gmake) endif() if(USE_EXISTING_SRC_DIR) diff --git a/cmake.deps/cmake/BuildMsgpack.cmake b/cmake.deps/cmake/BuildMsgpack.cmake index 431420fb62..b1a77ee835 100644 --- a/cmake.deps/cmake/BuildMsgpack.cmake +++ b/cmake.deps/cmake/BuildMsgpack.cmake @@ -7,8 +7,8 @@ ExternalProject_Add(msgpack DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/msgpack CMAKE_ARGS ${DEPS_CMAKE_ARGS} - -DMSGPACK_BUILD_TESTS=OFF - -DMSGPACK_BUILD_EXAMPLES=OFF + -D MSGPACK_BUILD_TESTS=OFF + -D MSGPACK_BUILD_EXAMPLES=OFF CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) list(APPEND THIRD_PARTY_DEPS msgpack) diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index d62b19d97d..fcfcb71036 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -12,7 +12,7 @@ function(BuildTSParser LANG TS_URL TS_SHA256 TS_CMAKE_FILE) ${CMAKE_CURRENT_SOURCE_DIR}/cmake/${TS_CMAKE_FILE} ${DEPS_BUILD_DIR}/src/${NAME}/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - -DPARSERLANG=${LANG} + -D PARSERLANG=${LANG} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) endfunction() -- cgit From d6279f9392073cb1422d76c57baf3fd283ed954e Mon Sep 17 00:00:00 2001 From: bfredl Date: Tue, 31 Jan 2023 23:35:04 +0100 Subject: refactor(tests): move lua-client into core and use it for functionaltests Eliminates lua-client and non-static libluv as test time dependencies Note: the API for a public lua-client is not yet finished. The interface needs to be adjusted to work in the embedded loop of a nvim instance (to use it to talk between instances) --- cmake.deps/cmake/BuildLuarocks.cmake | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index b84ce34d45..e50f50798a 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -158,23 +158,14 @@ if(USE_BUNDLED_BUSTED) DEPENDS busted) add_custom_target(luacheck DEPENDS ${LUACHECK_EXE}) - # luv - set(LUV_DEPS luacheck) - if(USE_BUNDLED_LUV) - set(NVIM_CLIENT_DEPS luacheck luv-static lua-compat-5.3) - else() - add_custom_command(OUTPUT ${ROCKS_DIR}/luv - COMMAND ${LUAROCKS_BINARY} build luv ${LUV_VERSION} ${LUAROCKS_BUILDARGS} - DEPENDS luacheck) - add_custom_target(luv DEPENDS ${ROCKS_DIR}/luv) - set(NVIM_CLIENT_DEPS luv) + 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) endif() - # nvim-client: https://github.com/neovim/lua-client - add_custom_command(OUTPUT ${ROCKS_DIR}/nvim-client - COMMAND ${LUAROCKS_BINARY} build nvim-client 0.2.4-1 ${LUAROCKS_BUILDARGS} - DEPENDS ${NVIM_CLIENT_DEPS}) - add_custom_target(nvim-client DEPENDS ${ROCKS_DIR}/nvim-client) - - list(APPEND THIRD_PARTY_DEPS busted luacheck nvim-client) + list(APPEND THIRD_PARTY_DEPS busted luacheck) endif() -- cgit 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/BuildGettext.cmake | 1 - cmake.deps/cmake/BuildLibiconv.cmake | 2 -- cmake.deps/cmake/BuildLibtermkey.cmake | 2 -- cmake.deps/cmake/BuildLibuv.cmake | 2 -- cmake.deps/cmake/BuildLibvterm.cmake | 2 -- cmake.deps/cmake/BuildLua.cmake | 6 +----- cmake.deps/cmake/BuildLuajit.cmake | 8 +++++++- cmake.deps/cmake/BuildLuarocks.cmake | 22 +++++++--------------- cmake.deps/cmake/BuildLuv.cmake | 1 - cmake.deps/cmake/BuildMsgpack.cmake | 8 +++++++- cmake.deps/cmake/BuildTreesitter.cmake | 2 -- cmake.deps/cmake/BuildUnibilium.cmake | 2 -- cmake.deps/cmake/GetBinaryDeps.cmake | 1 - 13 files changed, 22 insertions(+), 37 deletions(-) (limited to 'cmake.deps/cmake') 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() -- cgit From 020d3e355e457fb18f9810cdbb2f8b26898b4fe3 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 19 Feb 2023 22:27:12 +0100 Subject: build: remove unused dependency penlight (#22334) --- cmake.deps/cmake/BuildLuarocks.cmake | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index b8cc512a17..f87d5829b2 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -123,17 +123,11 @@ endif() if(USE_BUNDLED_BUSTED) if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA) - set(PENLIGHT_DEPENDS luabitop) + set(BUSTED_DEPENDS luabitop) else() - set(PENLIGHT_DEPENDS lpeg) + set(BUSTED_DEPENDS lpeg) endif() - # penlight - 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 ALL DEPENDS ${ROCKS_DIR}/penlight) - # busted if(WIN32) set(BUSTED_EXE "${DEPS_BIN_DIR}/busted.bat") @@ -144,7 +138,7 @@ if(USE_BUNDLED_BUSTED) endif() add_custom_command(OUTPUT ${BUSTED_EXE} COMMAND ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS} - DEPENDS penlight) + DEPENDS ${BUSTED_DEPENDS}) add_custom_target(busted ALL DEPENDS ${BUSTED_EXE}) # luacheck -- cgit From 799edca18a4ddcf8edcb63dd391219e01e187f0d Mon Sep 17 00:00:00 2001 From: bfredl Date: Mon, 28 Nov 2022 22:43:10 +0100 Subject: feat(lua): make sure require'bit' always works, even with PUC lua 5.1 --- cmake.deps/cmake/BuildLuarocks.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index f87d5829b2..cd5aa1ed34 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -147,7 +147,7 @@ if(USE_BUNDLED_BUSTED) DEPENDS busted) add_custom_target(luacheck ALL DEPENDS ${LUACHECK_EXE}) - if (NOT USE_BUNDLED_LUAJIT) + if (USE_BUNDLED_LUA OR NOT USE_BUNDLED_LUAJIT) # coxpcall add_custom_command(OUTPUT ${ROCKS_DIR}/coxpcall COMMAND ${LUAROCKS_BINARY} build coxpcall 1.16.0-1 ${LUAROCKS_BUILDARGS} -- cgit From a601d031127689a7d60cc92f4ec89907794ed020 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Fri, 24 Feb 2023 21:17:23 +0100 Subject: build: build luajit in parallel (#22327) Add -j flag to the make command for luajit. Cuts down dependency build time by 40% when using the Ninja generator. --- cmake.deps/cmake/BuildLuajit.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index 4347e7e1da..8c6b321a32 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -48,7 +48,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "OpenBSD") else() set(AMD64_ABI "") endif() -set(BUILDCMD_UNIX ${MAKE_PRG} CFLAGS=-fPIC +set(BUILDCMD_UNIX ${MAKE_PRG} -j CFLAGS=-fPIC CFLAGS+=-DLUA_USE_APICHECK CFLAGS+=-funwind-tables ${NO_STACK_CHECK} -- cgit From aaea48aac6e227314ec08acec2a4c3c84538cab8 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 26 Feb 2023 13:32:37 +0100 Subject: build: set libtermkey project language to C (#22410) This will prevent cmake from failing the build if a C++ compiler isn't found. --- cmake.deps/cmake/LibvtermCMakeLists.txt | 2 +- cmake.deps/cmake/TreesitterCMakeLists.txt | 2 +- cmake.deps/cmake/libtermkeyCMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/LibvtermCMakeLists.txt b/cmake.deps/cmake/LibvtermCMakeLists.txt index 777ce6c54c..0fb3227117 100644 --- a/cmake.deps/cmake/LibvtermCMakeLists.txt +++ b/cmake.deps/cmake/LibvtermCMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10) -project(libvterm LANGUAGES C) +project(libvterm C) include(GNUInstallDirs) diff --git a/cmake.deps/cmake/TreesitterCMakeLists.txt b/cmake.deps/cmake/TreesitterCMakeLists.txt index 49fb19c96a..9017436ef5 100644 --- a/cmake.deps/cmake/TreesitterCMakeLists.txt +++ b/cmake.deps/cmake/TreesitterCMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10) -project(tree-sitter LANGUAGES C) +project(tree-sitter C) add_library(tree-sitter lib/src/lib.c) target_include_directories(tree-sitter diff --git a/cmake.deps/cmake/libtermkeyCMakeLists.txt b/cmake.deps/cmake/libtermkeyCMakeLists.txt index 26c9d7730b..95d4a54549 100644 --- a/cmake.deps/cmake/libtermkeyCMakeLists.txt +++ b/cmake.deps/cmake/libtermkeyCMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10) -project(libtermkey) +project(libtermkey C) add_definitions(-D _CRT_SECURE_NO_WARNINGS) add_definitions(-DHAVE_UNIBILIUM) -- 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 +- cmake.deps/cmake/BuildLuajit.cmake | 4 ++-- cmake.deps/cmake/BuildLuarocks.cmake | 2 +- cmake.deps/cmake/BuildLuv.cmake | 6 ++---- 4 files changed, 6 insertions(+), 8 deletions(-) (limited to 'cmake.deps/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) diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index 8c6b321a32..0c882d5fd2 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -38,7 +38,7 @@ function(BuildLuajit) endfunction() check_c_compiler_flag(-fno-stack-check HAS_NO_STACK_CHECK) -if(CMAKE_SYSTEM_NAME MATCHES "Darwin" AND HAS_NO_STACK_CHECK) +if(APPLE AND HAS_NO_STACK_CHECK) set(NO_STACK_CHECK "CFLAGS+=-fno-stack-check") else() set(NO_STACK_CHECK "") @@ -58,7 +58,7 @@ set(BUILDCMD_UNIX ${MAKE_PRG} -j CFLAGS=-fPIC # Setting MACOSX_DEPLOYMENT_TARGET is mandatory for LuaJIT; use version set by # cmake.deps/CMakeLists.txt (either environment variable or current system version). -if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +if(APPLE) set(DEPLOYMENT_TARGET "MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}") endif() diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index cd5aa1ed34..ad0ee3f661 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -30,7 +30,7 @@ if(UNIX) list(APPEND LUAROCKS_OPTS --with-lua=${DEPS_INSTALL_DIR}) else() - find_package(LuaJit) + find_package(Luajit) if(LUAJIT_FOUND) list(APPEND LUAROCKS_OPTS --with-lua-include=${LUAJIT_INCLUDE_DIRS} diff --git a/cmake.deps/cmake/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index 0cb0208bea..c5f38fe68b 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -14,7 +14,7 @@ if(USE_BUNDLED_LUAJIT) elseif(USE_BUNDLED_LUA) list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=Lua) else() - find_package(LuaJit) + find_package(Luajit) if(LUAJIT_FOUND) list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=LuaJit) else() @@ -23,9 +23,7 @@ else() endif() if(USE_BUNDLED_LIBUV) - list(APPEND LUV_CMAKE_ARGS - -D CMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR} - -D LIBUV_LIBRARIES=uv_a) + list(APPEND LUV_CMAKE_ARGS -D CMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR}) endif() list(APPEND LUV_CMAKE_ARGS -- cgit From 98e051783c26239a47c5cd643e9aea7146b097bd Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Fri, 3 Mar 2023 14:27:30 +0100 Subject: feat(treesitter): bundle query parser and queries (#22483) skip injections for now --- cmake.deps/cmake/BuildTreesitterParsers.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index fcfcb71036..774fc8a8c3 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -20,3 +20,4 @@ BuildTSParser(c ${TREESITTER_C_URL} ${TREESITTER_C_SHA256} TreesitterParserCMake BuildTSParser(lua ${TREESITTER_LUA_URL} ${TREESITTER_LUA_SHA256} TreesitterParserCMakeLists.txt) BuildTSParser(vim ${TREESITTER_VIM_URL} ${TREESITTER_VIM_SHA256} TreesitterParserCMakeLists.txt) BuildTSParser(help ${TREESITTER_HELP_URL} ${TREESITTER_HELP_SHA256} TreesitterParserCMakeLists.txt) +BuildTSParser(query ${TREESITTER_QUERY_URL} ${TREESITTER_QUERY_SHA256} TreesitterParserCMakeLists.txt) -- 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/BuildGettext.cmake | 3 --- cmake.deps/cmake/BuildLibiconv.cmake | 3 --- cmake.deps/cmake/BuildLibtermkey.cmake | 3 --- cmake.deps/cmake/BuildLibuv.cmake | 3 --- cmake.deps/cmake/BuildLibvterm.cmake | 3 --- cmake.deps/cmake/BuildLua.cmake | 3 --- cmake.deps/cmake/BuildLuajit.cmake | 3 --- cmake.deps/cmake/BuildLuarocks.cmake | 3 --- cmake.deps/cmake/BuildLuv.cmake | 6 ------ cmake.deps/cmake/BuildMsgpack.cmake | 3 --- cmake.deps/cmake/BuildTreesitter.cmake | 3 --- cmake.deps/cmake/BuildTreesitterParsers.cmake | 3 --- cmake.deps/cmake/BuildUnibilium.cmake | 3 --- cmake.deps/cmake/GetBinaryDeps.cmake | 3 --- 14 files changed, 45 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildGettext.cmake b/cmake.deps/cmake/BuildGettext.cmake index 7db7d5e4fe..b6411a2617 100644 --- a/cmake.deps/cmake/BuildGettext.cmake +++ b/cmake.deps/cmake/BuildGettext.cmake @@ -1,7 +1,4 @@ if(MSVC) - if(USE_EXISTING_SRC_DIR) - unset(GETTEXT_URL) - endif() ExternalProject_Add(gettext URL ${GETTEXT_URL} URL_HASH SHA256=${GETTEXT_SHA256} diff --git a/cmake.deps/cmake/BuildLibiconv.cmake b/cmake.deps/cmake/BuildLibiconv.cmake index 244cf030ae..000b42cf06 100644 --- a/cmake.deps/cmake/BuildLibiconv.cmake +++ b/cmake.deps/cmake/BuildLibiconv.cmake @@ -1,7 +1,4 @@ if(MSVC) - if(USE_EXISTING_SRC_DIR) - unset(LIBICONV_URL) - endif() ExternalProject_Add(libiconv URL ${LIBICONV_URL} URL_HASH SHA256=${LIBICONV_SHA256} diff --git a/cmake.deps/cmake/BuildLibtermkey.cmake b/cmake.deps/cmake/BuildLibtermkey.cmake index e137faaa0c..0f10c98194 100644 --- a/cmake.deps/cmake/BuildLibtermkey.cmake +++ b/cmake.deps/cmake/BuildLibtermkey.cmake @@ -1,6 +1,3 @@ -if(USE_EXISTING_SRC_DIR) - unset(LIBTERMKEY_URL) -endif() ExternalProject_Add(libtermkey URL ${LIBTERMKEY_URL} URL_HASH SHA256=${LIBTERMKEY_SHA256} diff --git a/cmake.deps/cmake/BuildLibuv.cmake b/cmake.deps/cmake/BuildLibuv.cmake index 3c678c0877..a35b5a16f3 100644 --- a/cmake.deps/cmake/BuildLibuv.cmake +++ b/cmake.deps/cmake/BuildLibuv.cmake @@ -1,6 +1,3 @@ -if(USE_EXISTING_SRC_DIR) - unset(LIBUV_URL) -endif() ExternalProject_Add(libuv URL ${LIBUV_URL} URL_HASH SHA256=${LIBUV_SHA256} diff --git a/cmake.deps/cmake/BuildLibvterm.cmake b/cmake.deps/cmake/BuildLibvterm.cmake index c86a798a57..aaeabe88d5 100644 --- a/cmake.deps/cmake/BuildLibvterm.cmake +++ b/cmake.deps/cmake/BuildLibvterm.cmake @@ -1,6 +1,3 @@ -if(USE_EXISTING_SRC_DIR) - unset(LIBVTERM_URL) -endif() ExternalProject_Add(libvterm URL ${LIBVTERM_URL} URL_HASH SHA256=${LIBVTERM_SHA256} 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} diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index 0c882d5fd2..562067770c 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -15,9 +15,6 @@ function(BuildLuajit) set(_luajit_TARGET "luajit") endif() - if(USE_EXISTING_SRC_DIR) - unset(LUAJIT_URL) - endif() ExternalProject_Add(${_luajit_TARGET} URL ${LUAJIT_URL} URL_HASH SHA256=${LUAJIT_SHA256} diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index ad0ee3f661..1f1bb94741 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -81,9 +81,6 @@ else() message(FATAL_ERROR "Trying to build luarocks in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") endif() -if(USE_EXISTING_SRC_DIR) - unset(LUAROCKS_URL) -endif() ExternalProject_Add(luarocks URL ${LUAROCKS_URL} URL_HASH SHA256=${LUAROCKS_SHA256} diff --git a/cmake.deps/cmake/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index c5f38fe68b..eda3934bee 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -33,9 +33,6 @@ if(CMAKE_GENERATOR MATCHES "Unix Makefiles" AND list(APPEND LUV_CMAKE_ARGS -D CMAKE_MAKE_PROGRAM=gmake) endif() -if(USE_EXISTING_SRC_DIR) - unset(LUA_COMPAT53_URL) -endif() ExternalProject_Add(lua-compat-5.3 URL ${LUA_COMPAT53_URL} URL_HASH SHA256=${LUA_COMPAT53_SHA256} @@ -45,9 +42,6 @@ ExternalProject_Add(lua-compat-5.3 BUILD_COMMAND "" INSTALL_COMMAND "") -if(USE_EXISTING_SRC_DIR) - unset(LUV_URL) -endif() ExternalProject_Add(luv-static DEPENDS lua-compat-5.3 URL ${LUV_URL} diff --git a/cmake.deps/cmake/BuildMsgpack.cmake b/cmake.deps/cmake/BuildMsgpack.cmake index ef7568ae0a..82993c265d 100644 --- a/cmake.deps/cmake/BuildMsgpack.cmake +++ b/cmake.deps/cmake/BuildMsgpack.cmake @@ -1,6 +1,3 @@ -if(USE_EXISTING_SRC_DIR) - unset(MSGPACK_URL) -endif() ExternalProject_Add(msgpack URL ${MSGPACK_URL} URL_HASH SHA256=${MSGPACK_SHA256} diff --git a/cmake.deps/cmake/BuildTreesitter.cmake b/cmake.deps/cmake/BuildTreesitter.cmake index 5b3e3497ad..837c1cbcb7 100644 --- a/cmake.deps/cmake/BuildTreesitter.cmake +++ b/cmake.deps/cmake/BuildTreesitter.cmake @@ -1,6 +1,3 @@ -if(USE_EXISTING_SRC_DIR) - unset(TREESITTER_URL) -endif() ExternalProject_Add(tree-sitter URL ${TREESITTER_URL} URL_HASH SHA256=${TREESITTER_SHA256} diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index 774fc8a8c3..1c5d69882d 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -1,8 +1,5 @@ function(BuildTSParser LANG TS_URL TS_SHA256 TS_CMAKE_FILE) set(NAME treesitter-${LANG}) - if(USE_EXISTING_SRC_DIR) - unset(TS_URL) - endif() ExternalProject_Add(${NAME} URL ${TS_URL} URL_HASH SHA256=${TS_SHA256} diff --git a/cmake.deps/cmake/BuildUnibilium.cmake b/cmake.deps/cmake/BuildUnibilium.cmake index a51e0cd8f1..8f27bd52a8 100644 --- a/cmake.deps/cmake/BuildUnibilium.cmake +++ b/cmake.deps/cmake/BuildUnibilium.cmake @@ -1,6 +1,3 @@ -if(USE_EXISTING_SRC_DIR) - unset(UNIBILIUM_URL) -endif() ExternalProject_Add(unibilium URL ${UNIBILIUM_URL} URL_HASH SHA256=${UNIBILIUM_SHA256} diff --git a/cmake.deps/cmake/GetBinaryDeps.cmake b/cmake.deps/cmake/GetBinaryDeps.cmake index d1406350dd..a90a076e33 100644 --- a/cmake.deps/cmake/GetBinaryDeps.cmake +++ b/cmake.deps/cmake/GetBinaryDeps.cmake @@ -22,9 +22,6 @@ function(GetBinaryDep) message(FATAL_ERROR "${URL_VARNAME} and ${HASH_VARNAME} must be set") endif() - if(USE_EXISTING_SRC_DIR) - unset(URL) - endif() ExternalProject_Add(${_gettool_TARGET} URL ${URL} URL_HASH SHA256=${HASH} -- 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 ++-- cmake.deps/cmake/BuildLuajit.cmake | 34 +++++++++++++++++----------------- cmake.deps/cmake/BuildMsgpack.cmake | 2 +- cmake.deps/cmake/GetBinaryDeps.cmake | 2 +- 4 files changed, 21 insertions(+), 21 deletions(-) (limited to 'cmake.deps/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) diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index 562067770c..04696baf9b 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -113,34 +113,34 @@ elseif(MINGW) # Build a DLL too COMMAND ${LUAJIT_MAKE_PRG} CC=${DEPS_C_COMPILER} BUILDMODE=dynamic - INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/luajit.exe ${DEPS_INSTALL_DIR}/bin - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.dll ${DEPS_INSTALL_DIR}/bin - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/lib + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/luajit.exe ${DEPS_BIN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.dll ${DEPS_BIN_DIR} + COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_LIB_DIR} # Luarocks searches for lua51.dll in lib - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.dll ${DEPS_INSTALL_DIR}/lib - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/libluajit.a ${DEPS_INSTALL_DIR}/lib + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.dll ${DEPS_LIB_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/libluajit.a ${DEPS_LIB_DIR} COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include/luajit-2.1 COMMAND ${CMAKE_COMMAND} -DFROM_GLOB=${DEPS_BUILD_DIR}/src/luajit/src/*.h -DTO=${DEPS_INSTALL_DIR}/include/luajit-2.1 -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/CopyFilesGlob.cmake - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin/lua/jit - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_INSTALL_DIR}/bin/lua/jit + COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR}/lua/jit + COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_BIN_DIR}/lua/jit ) elseif(MSVC) BuildLuaJit( BUILD_COMMAND ${CMAKE_COMMAND} -E chdir ${DEPS_BUILD_DIR}/src/luajit/src ${DEPS_BUILD_DIR}/src/luajit/src/msvcbuild.bat - INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/luajit.exe ${DEPS_INSTALL_DIR}/bin - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.dll ${DEPS_INSTALL_DIR}/bin - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/lib + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/luajit.exe ${DEPS_BIN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.dll ${DEPS_BIN_DIR} + COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_LIB_DIR} # Luarocks searches for lua51.lib - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.lib ${DEPS_INSTALL_DIR}/lib/lua51.lib + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.lib ${DEPS_LIB_DIR}/lua51.lib # Luv searches for luajit.lib - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.lib ${DEPS_INSTALL_DIR}/lib/luajit.lib + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.lib ${DEPS_LIB_DIR}/luajit.lib COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include/luajit-2.1 COMMAND ${CMAKE_COMMAND} -DFROM_GLOB=${DEPS_BUILD_DIR}/src/luajit/src/*.h -DTO=${DEPS_INSTALL_DIR}/include/luajit-2.1 -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/CopyFilesGlob.cmake - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin/lua/jit - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_INSTALL_DIR}/bin/lua/jit + COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR}/lua/jit + COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_BIN_DIR}/lua/jit ) else() message(FATAL_ERROR "Trying to build luajit in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") @@ -149,7 +149,7 @@ endif() 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}* + -D REMOVE_FILE_GLOB=${DEPS_LIB_DIR}/${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/BuildMsgpack.cmake b/cmake.deps/cmake/BuildMsgpack.cmake index 82993c265d..c9033be1ae 100644 --- a/cmake.deps/cmake/BuildMsgpack.cmake +++ b/cmake.deps/cmake/BuildMsgpack.cmake @@ -11,7 +11,7 @@ ExternalProject_Add(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}* + -D REMOVE_FILE_GLOB=${DEPS_LIB_DIR}/${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/GetBinaryDeps.cmake b/cmake.deps/cmake/GetBinaryDeps.cmake index a90a076e33..bac7dff919 100644 --- a/cmake.deps/cmake/GetBinaryDeps.cmake +++ b/cmake.deps/cmake/GetBinaryDeps.cmake @@ -30,6 +30,6 @@ function(GetBinaryDep) CONFIGURE_COMMAND "" BUILD_IN_SOURCE 1 BUILD_COMMAND "" - INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} COMMAND "${_gettool_INSTALL_COMMAND}") endfunction() -- cgit From 5dcf544f8a879eaac29ee7cfc9eee6f0e027415f Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sun, 5 Mar 2023 18:45:34 +0100 Subject: build: fix USE_EXISTING_SRC_DIR option Since 0007aa50bd3d54259bb4ae717c114f5524ec59fa the build unsets all URL variable immediately when USE_EXISTING_SRC_DIR is TRUE, which is correct. However, this causes the function BuildTSParser to break down as cmake functions aren't traditionally equipped to deal with empty variables. Using cmake_parse_arguments fixes this issue. --- cmake.deps/cmake/BuildTreesitterParsers.cmake | 46 ++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 8 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index 1c5d69882d..1202e4f7a4 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -1,5 +1,11 @@ -function(BuildTSParser LANG TS_URL TS_SHA256 TS_CMAKE_FILE) - set(NAME treesitter-${LANG}) +function(BuildTSParser) + cmake_parse_arguments(TS + "" + "LANG;URL;SHA256;CMAKE_FILE" + "" + ${ARGN}) + + set(NAME treesitter-${TS_LANG}) ExternalProject_Add(${NAME} URL ${TS_URL} URL_HASH SHA256=${TS_SHA256} @@ -9,12 +15,36 @@ function(BuildTSParser LANG TS_URL TS_SHA256 TS_CMAKE_FILE) ${CMAKE_CURRENT_SOURCE_DIR}/cmake/${TS_CMAKE_FILE} ${DEPS_BUILD_DIR}/src/${NAME}/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - -D PARSERLANG=${LANG} + -D PARSERLANG=${TS_LANG} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) endfunction() -BuildTSParser(c ${TREESITTER_C_URL} ${TREESITTER_C_SHA256} TreesitterParserCMakeLists.txt) -BuildTSParser(lua ${TREESITTER_LUA_URL} ${TREESITTER_LUA_SHA256} TreesitterParserCMakeLists.txt) -BuildTSParser(vim ${TREESITTER_VIM_URL} ${TREESITTER_VIM_SHA256} TreesitterParserCMakeLists.txt) -BuildTSParser(help ${TREESITTER_HELP_URL} ${TREESITTER_HELP_SHA256} TreesitterParserCMakeLists.txt) -BuildTSParser(query ${TREESITTER_QUERY_URL} ${TREESITTER_QUERY_SHA256} TreesitterParserCMakeLists.txt) +BuildTSParser( + LANG c + URL ${TREESITTER_C_URL} + SHA256 ${TREESITTER_C_SHA256} + CMAKE_FILE TreesitterParserCMakeLists.txt) + +BuildTSParser( + LANG lua + URL ${TREESITTER_LUA_URL} + SHA256 ${TREESITTER_LUA_SHA256} + CMAKE_FILE TreesitterParserCMakeLists.txt) + +BuildTSParser( + LANG vim + URL ${TREESITTER_VIM_URL} + SHA256 ${TREESITTER_VIM_SHA256} + CMAKE_FILE TreesitterParserCMakeLists.txt) + +BuildTSParser( + LANG help + URL ${TREESITTER_HELP_URL} + SHA256 ${TREESITTER_HELP_SHA256} + CMAKE_FILE TreesitterParserCMakeLists.txt) + +BuildTSParser( + LANG query + URL ${TREESITTER_QUERY_URL} + SHA256 ${TREESITTER_QUERY_SHA256} + CMAKE_FILE TreesitterParserCMakeLists.txt) -- cgit From 64d3f68c07f7e67bbbd5db11b289705f7569b949 Mon Sep 17 00:00:00 2001 From: red <33436708+b1tg@users.noreply.github.com> Date: Thu, 9 Mar 2023 23:46:34 +0800 Subject: build: fix build warning when using gcc 4.9.2 Problem: When building with gcc 4.9.2, tree-sitter throws warning: "for loop initial declarations are only allowed in C99 or C11 mode" Solution: set CMAKE_C_STANDARD option to 99 --- cmake.deps/cmake/TreesitterCMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/TreesitterCMakeLists.txt b/cmake.deps/cmake/TreesitterCMakeLists.txt index 9017436ef5..759fa93bb0 100644 --- a/cmake.deps/cmake/TreesitterCMakeLists.txt +++ b/cmake.deps/cmake/TreesitterCMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(tree-sitter C) - +set(CMAKE_C_STANDARD 99) add_library(tree-sitter lib/src/lib.c) target_include_directories(tree-sitter PRIVATE lib/src lib/include) -- cgit From 17ff65f59aeebaa9b3c11d287a4888aecb1222ac Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Wed, 15 Mar 2023 18:37:08 +0100 Subject: build(deps): bump coxpcall to 1.17.0-1 --- cmake.deps/cmake/BuildLuarocks.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 1f1bb94741..40b3343a11 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -147,7 +147,7 @@ if(USE_BUNDLED_BUSTED) if (USE_BUNDLED_LUA OR NOT USE_BUNDLED_LUAJIT) # 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.17.0-1 ${LUAROCKS_BUILDARGS} DEPENDS luarocks) add_custom_target(coxpcall ALL DEPENDS ${ROCKS_DIR}/coxpcall) endif() -- cgit From 8408405cb383b79f3a168149a6ef9fadaffdd67c Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Wed, 15 Mar 2023 18:40:50 +0100 Subject: build(deps): bump luacheck to 1.1.0-1 also ignore two new warnings showing false positives --- cmake.deps/cmake/BuildLuarocks.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 40b3343a11..cdb7eb97f9 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -140,7 +140,7 @@ if(USE_BUNDLED_BUSTED) # luacheck add_custom_command(OUTPUT ${LUACHECK_EXE} - COMMAND ${LUAROCKS_BINARY} build luacheck 0.23.0-1 ${LUAROCKS_BUILDARGS} + COMMAND ${LUAROCKS_BINARY} build luacheck 1.1.0-1 ${LUAROCKS_BUILDARGS} DEPENDS busted) add_custom_target(luacheck ALL DEPENDS ${LUACHECK_EXE}) -- cgit From a5cf62e81c2c6551a42cb4365775d272fddd53bf Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Fri, 17 Mar 2023 01:03:56 +0100 Subject: build(deps): bump mpack to 1.0.10 --- cmake.deps/cmake/BuildLuarocks.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index cdb7eb97f9..6e77fd7935 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -100,7 +100,7 @@ set(ROCKS_DIR ${DEPS_LIB_DIR}/luarocks/rocks-${LUA_VERSION}) # 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.10-0 ${LUAROCKS_BUILDARGS} DEPENDS luarocks) add_custom_target(mpack ALL DEPENDS ${ROCKS_DIR}/mpack) -- 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') 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 b155608bffd4e599d26fb648327705946458e012 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Fri, 24 Mar 2023 16:22:15 +0700 Subject: build: set CMAKE_C_STANDARD to 99 for all dependencies Older gcc versions (4.x) require passing --std=c99 compiler flag to prevent warnings from being emitted. Instead of setting it for each dependency, it's easier to just pass the CMAKE_C_STANDARD flag to all dependencies. This also prevents the scenario of us forgetting to set it if we add new dependencies. --- cmake.deps/cmake/LibvtermCMakeLists.txt | 2 -- cmake.deps/cmake/TreesitterCMakeLists.txt | 2 +- cmake.deps/cmake/TreesitterParserCMakeLists.txt | 1 - cmake.deps/cmake/libtermkeyCMakeLists.txt | 3 --- 4 files changed, 1 insertion(+), 7 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/LibvtermCMakeLists.txt b/cmake.deps/cmake/LibvtermCMakeLists.txt index 0fb3227117..7b1d95f531 100644 --- a/cmake.deps/cmake/LibvtermCMakeLists.txt +++ b/cmake.deps/cmake/LibvtermCMakeLists.txt @@ -5,8 +5,6 @@ include(GNUInstallDirs) if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE) -else() - add_compile_options(-std=c99) endif() include_directories(${CMAKE_SOURCE_DIR}/include) diff --git a/cmake.deps/cmake/TreesitterCMakeLists.txt b/cmake.deps/cmake/TreesitterCMakeLists.txt index 759fa93bb0..9017436ef5 100644 --- a/cmake.deps/cmake/TreesitterCMakeLists.txt +++ b/cmake.deps/cmake/TreesitterCMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(tree-sitter C) -set(CMAKE_C_STANDARD 99) + add_library(tree-sitter lib/src/lib.c) target_include_directories(tree-sitter PRIVATE lib/src lib/include) diff --git a/cmake.deps/cmake/TreesitterParserCMakeLists.txt b/cmake.deps/cmake/TreesitterParserCMakeLists.txt index 9bdf500aa7..42386185e7 100644 --- a/cmake.deps/cmake/TreesitterParserCMakeLists.txt +++ b/cmake.deps/cmake/TreesitterParserCMakeLists.txt @@ -1,7 +1,6 @@ cmake_minimum_required(VERSION 3.10) project(parser C) -set(CMAKE_C_STANDARD 99) file(GLOB source_files src/*.c) add_library(parser diff --git a/cmake.deps/cmake/libtermkeyCMakeLists.txt b/cmake.deps/cmake/libtermkeyCMakeLists.txt index 95d4a54549..cefe14e515 100644 --- a/cmake.deps/cmake/libtermkeyCMakeLists.txt +++ b/cmake.deps/cmake/libtermkeyCMakeLists.txt @@ -3,9 +3,6 @@ project(libtermkey C) add_definitions(-D _CRT_SECURE_NO_WARNINGS) add_definitions(-DHAVE_UNIBILIUM) -if(NOT MSVC) - add_compile_options(-std=c99) -endif() include_directories(${PROJECT_BINARY_DIR}/t) include_directories(SYSTEM ${UNIBILIUM_INCLUDE_DIRS}) -- cgit From 81abd5c5c7ad0d05adecba66dd1b8fc7b238201a Mon Sep 17 00:00:00 2001 From: dundargoc Date: Thu, 23 Mar 2023 08:37:00 +0100 Subject: build: download wintools executables separately The wintools executables are stored in a zip file, making it inconvenient to bump these during releases. Instead, unpack the executables in the deps repository and download each executable separately. --- cmake.deps/cmake/GetBinaryDeps.cmake | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/GetBinaryDeps.cmake b/cmake.deps/cmake/GetBinaryDeps.cmake index bac7dff919..48e66363d3 100644 --- a/cmake.deps/cmake/GetBinaryDeps.cmake +++ b/cmake.deps/cmake/GetBinaryDeps.cmake @@ -10,17 +10,10 @@ function(GetBinaryDep) "INSTALL_COMMAND" ${ARGN}) - if(NOT _gettool_TARGET OR NOT _gettool_INSTALL_COMMAND) - message(FATAL_ERROR "Must pass INSTALL_COMMAND and TARGET") - endif() - string(TOUPPER "${_gettool_TARGET}_URL" URL_VARNAME) string(TOUPPER "${_gettool_TARGET}_SHA256" HASH_VARNAME) set(URL ${${URL_VARNAME}}) set(HASH ${${HASH_VARNAME}}) - if(NOT URL OR NOT HASH ) - message(FATAL_ERROR "${URL_VARNAME} and ${HASH_VARNAME} must be set") - endif() ExternalProject_Add(${_gettool_TARGET} URL ${URL} @@ -33,3 +26,28 @@ function(GetBinaryDep) INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} COMMAND "${_gettool_INSTALL_COMMAND}") endfunction() + +# Download executable and move it to DEPS_BIN_DIR +function(GetExecutable) + cmake_parse_arguments(ARG + "" + "TARGET" + "" + ${ARGN}) + + string(TOUPPER "${ARG_TARGET}_URL" URL_VARNAME) + string(TOUPPER "${ARG_TARGET}_SHA256" HASH_VARNAME) + set(URL ${${URL_VARNAME}}) + set(HASH ${${HASH_VARNAME}}) + + ExternalProject_Add(${ARG_TARGET} + URL ${URL} + URL_HASH SHA256=${HASH} + DOWNLOAD_NO_PROGRESS TRUE + DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR} + DOWNLOAD_NO_EXTRACT TRUE + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BIN_DIR}) +endfunction() -- cgit From d7f7450017b9b05303698a6cda54303ef22c63b3 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Fri, 31 Mar 2023 17:09:00 +0200 Subject: refactor(treesitter)!: rename help parser to vimdoc --- cmake.deps/cmake/BuildTreesitterParsers.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index 1202e4f7a4..ef7d521249 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -38,9 +38,9 @@ BuildTSParser( CMAKE_FILE TreesitterParserCMakeLists.txt) BuildTSParser( - LANG help - URL ${TREESITTER_HELP_URL} - SHA256 ${TREESITTER_HELP_SHA256} + LANG vimdoc + URL ${TREESITTER_VIMDOC_URL} + SHA256 ${TREESITTER_VIMDOC_SHA256} CMAKE_FILE TreesitterParserCMakeLists.txt) BuildTSParser( -- cgit From eb1da498d6af79b7856418d7df51ce584c621340 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 3 Apr 2023 21:12:42 +0200 Subject: build(windows): work around luarocks not finding its own md5sum Luarocks is unable to find its own md5sum due to these reasons listed in the comment https://github.com/luarocks/luarocks/issues/1443. The pull request https://github.com/luarocks/luarocks/pull/1498 resolves this issue, but in the meantime we can work around it by resetting the value of MD5sum to "md5sum". --- cmake.deps/cmake/BuildLuarocks.cmake | 3 +++ 1 file changed, 3 insertions(+) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 6e77fd7935..9998f55fcc 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -13,6 +13,9 @@ if(NOT MSVC) # In MSVC don't pass the compiler/linker to luarocks, the bundled # version already knows, and passing them here breaks the build set(LUAROCKS_BUILDARGS CC=${DEPS_C_COMPILER} LD=${DEPS_C_COMPILER}) +else() + # Workaround for luarocks failing to find the md5sum.exe it is shipped with. + set(LUAROCKS_BUILDARGS MD5SUM=md5sum) endif() # Lua version, used with rocks directories. -- cgit From 81f2bce775bc7e7392b51538b94a0d62d6ab15b4 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Tue, 4 Apr 2023 19:27:21 +0200 Subject: build: cmake cleanup - Change libtermkeyCMakeLists.txt to LibtermkeyCMakeLists.txt - Remove duplicate mark_as_advanced calls in FindLibuv.cmake - Fix "Enabling Clang sanitizer" messages as it's no longer clang-only - Simplify parser installation syntax - Rename tree-sitter to treesitter --- cmake.deps/cmake/BuildLibtermkey.cmake | 2 +- cmake.deps/cmake/BuildTreesitter.cmake | 6 +-- cmake.deps/cmake/BuildTreesitterParsers.cmake | 53 +++++++++++---------------- cmake.deps/cmake/LibtermkeyCMakeLists.txt | 20 ++++++++++ cmake.deps/cmake/TreesitterCMakeLists.txt | 2 +- cmake.deps/cmake/libtermkeyCMakeLists.txt | 20 ---------- 6 files changed, 46 insertions(+), 57 deletions(-) create mode 100644 cmake.deps/cmake/LibtermkeyCMakeLists.txt delete mode 100644 cmake.deps/cmake/libtermkeyCMakeLists.txt (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLibtermkey.cmake b/cmake.deps/cmake/BuildLibtermkey.cmake index 0f10c98194..0d2b66a060 100644 --- a/cmake.deps/cmake/BuildLibtermkey.cmake +++ b/cmake.deps/cmake/BuildLibtermkey.cmake @@ -4,7 +4,7 @@ ExternalProject_Add(libtermkey DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libtermkey PATCH_COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/libtermkeyCMakeLists.txt + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibtermkeyCMakeLists.txt ${DEPS_BUILD_DIR}/src/libtermkey/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} -D CMAKE_SHARED_LIBRARY_LINK_C_FLAGS="" # Hack to avoid -rdynamic in Mingw diff --git a/cmake.deps/cmake/BuildTreesitter.cmake b/cmake.deps/cmake/BuildTreesitter.cmake index 837c1cbcb7..da5d212520 100644 --- a/cmake.deps/cmake/BuildTreesitter.cmake +++ b/cmake.deps/cmake/BuildTreesitter.cmake @@ -1,11 +1,11 @@ -ExternalProject_Add(tree-sitter +ExternalProject_Add(treesitter URL ${TREESITTER_URL} URL_HASH SHA256=${TREESITTER_SHA256} DOWNLOAD_NO_PROGRESS TRUE - DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/tree-sitter + DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/treesitter INSTALL_DIR ${DEPS_INSTALL_DIR} PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/TreesitterCMakeLists.txt - ${DEPS_BUILD_DIR}/src/tree-sitter/CMakeLists.txt + ${DEPS_BUILD_DIR}/src/treesitter/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index ef7d521249..56c8a5a7c6 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -1,14 +1,29 @@ +# Helper function to download treesitter parsers +# +# Single value arguments: +# LANG - Parser language +# CMAKE_FILE - Cmake file to build the parser with. Defaults to +# TreesitterParserCMakeLists.txt. function(BuildTSParser) cmake_parse_arguments(TS "" - "LANG;URL;SHA256;CMAKE_FILE" + "LANG;CMAKE_FILE" "" ${ARGN}) + if(NOT TS_CMAKE_FILE) + set(TS_CMAKE_FILE TreesitterParserCMakeLists.txt) + endif() + set(NAME treesitter-${TS_LANG}) + string(TOUPPER "TREESITTER_${TS_LANG}_URL" URL_VARNAME) + set(URL ${${URL_VARNAME}}) + string(TOUPPER "TREESITTER_${TS_LANG}_SHA256" HASH_VARNAME) + set(HASH ${${HASH_VARNAME}}) + ExternalProject_Add(${NAME} - URL ${TS_URL} - URL_HASH SHA256=${TS_SHA256} + URL ${URL} + URL_HASH SHA256=${HASH} DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/${NAME} PATCH_COMMAND ${CMAKE_COMMAND} -E copy @@ -19,32 +34,6 @@ function(BuildTSParser) CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) endfunction() -BuildTSParser( - LANG c - URL ${TREESITTER_C_URL} - SHA256 ${TREESITTER_C_SHA256} - CMAKE_FILE TreesitterParserCMakeLists.txt) - -BuildTSParser( - LANG lua - URL ${TREESITTER_LUA_URL} - SHA256 ${TREESITTER_LUA_SHA256} - CMAKE_FILE TreesitterParserCMakeLists.txt) - -BuildTSParser( - LANG vim - URL ${TREESITTER_VIM_URL} - SHA256 ${TREESITTER_VIM_SHA256} - CMAKE_FILE TreesitterParserCMakeLists.txt) - -BuildTSParser( - LANG vimdoc - URL ${TREESITTER_VIMDOC_URL} - SHA256 ${TREESITTER_VIMDOC_SHA256} - CMAKE_FILE TreesitterParserCMakeLists.txt) - -BuildTSParser( - LANG query - URL ${TREESITTER_QUERY_URL} - SHA256 ${TREESITTER_QUERY_SHA256} - CMAKE_FILE TreesitterParserCMakeLists.txt) +foreach(lang c lua vim vimdoc query) + BuildTSParser(LANG ${lang}) +endforeach() diff --git a/cmake.deps/cmake/LibtermkeyCMakeLists.txt b/cmake.deps/cmake/LibtermkeyCMakeLists.txt new file mode 100644 index 0000000000..cefe14e515 --- /dev/null +++ b/cmake.deps/cmake/LibtermkeyCMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.10) +project(libtermkey C) + +add_definitions(-D _CRT_SECURE_NO_WARNINGS) +add_definitions(-DHAVE_UNIBILIUM) + +include_directories(${PROJECT_BINARY_DIR}/t) +include_directories(SYSTEM ${UNIBILIUM_INCLUDE_DIRS}) + +add_library(termkey termkey.c driver-csi.c driver-ti.c) +set_target_properties(termkey PROPERTIES + PUBLIC_HEADER ${PROJECT_SOURCE_DIR}/termkey.h) +target_link_libraries(termkey ${UNIBILIUM_LIBRARIES}) + +include(GNUInstallDirs) +install(TARGETS termkey + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +# vim: set ft=cmake: diff --git a/cmake.deps/cmake/TreesitterCMakeLists.txt b/cmake.deps/cmake/TreesitterCMakeLists.txt index 9017436ef5..e9728a4093 100644 --- a/cmake.deps/cmake/TreesitterCMakeLists.txt +++ b/cmake.deps/cmake/TreesitterCMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.10) -project(tree-sitter C) +project(treesitter C) add_library(tree-sitter lib/src/lib.c) target_include_directories(tree-sitter diff --git a/cmake.deps/cmake/libtermkeyCMakeLists.txt b/cmake.deps/cmake/libtermkeyCMakeLists.txt deleted file mode 100644 index cefe14e515..0000000000 --- a/cmake.deps/cmake/libtermkeyCMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(libtermkey C) - -add_definitions(-D _CRT_SECURE_NO_WARNINGS) -add_definitions(-DHAVE_UNIBILIUM) - -include_directories(${PROJECT_BINARY_DIR}/t) -include_directories(SYSTEM ${UNIBILIUM_INCLUDE_DIRS}) - -add_library(termkey termkey.c driver-csi.c driver-ti.c) -set_target_properties(termkey PROPERTIES - PUBLIC_HEADER ${PROJECT_SOURCE_DIR}/termkey.h) -target_link_libraries(termkey ${UNIBILIUM_LIBRARIES}) - -include(GNUInstallDirs) -install(TARGETS termkey - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - -# vim: set ft=cmake: -- cgit From 2612930a092736a2f507e06475634346582f8ae1 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Wed, 5 Apr 2023 19:49:16 +0200 Subject: build(Windows): allow building without custom md5sum Follow-up to eb1da498d6af79b7856418d7df51ce584c621340. The workaround in that case only works if md5sum is in users path. We work around this by adding the directory with the md5sum shipped with luarocks to PATH. Co-authored-by: erw7 --- cmake.deps/cmake/BuildLuarocks.cmake | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 9998f55fcc..901d1f17da 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -13,9 +13,6 @@ if(NOT MSVC) # In MSVC don't pass the compiler/linker to luarocks, the bundled # version already knows, and passing them here breaks the build set(LUAROCKS_BUILDARGS CC=${DEPS_C_COMPILER} LD=${DEPS_C_COMPILER}) -else() - # Workaround for luarocks failing to find the md5sum.exe it is shipped with. - set(LUAROCKS_BUILDARGS MD5SUM=md5sum) endif() # Lua version, used with rocks directories. @@ -101,22 +98,28 @@ elseif(USE_BUNDLED_LUA) endif() set(ROCKS_DIR ${DEPS_LIB_DIR}/luarocks/rocks-${LUA_VERSION}) +if(MSVC) + # Workaround for luarocks failing to find the md5sum.exe it is shipped with. + list(APPEND LUAROCKS_BUILDARGS MD5SUM=md5sum) + set(PATH PATH=${DEPS_INSTALL_DIR}/luarocks/tools;$ENV{PATH}) +endif() + # mpack add_custom_command(OUTPUT ${ROCKS_DIR}/mpack - COMMAND ${LUAROCKS_BINARY} build mpack 1.0.10-0 ${LUAROCKS_BUILDARGS} + COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build mpack 1.0.10-0 ${LUAROCKS_BUILDARGS} DEPENDS luarocks) 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} + COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build lpeg 1.0.2-1 ${LUAROCKS_BUILDARGS} DEPENDS mpack) 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} + COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS} DEPENDS lpeg) add_custom_target(luabitop ALL DEPENDS ${ROCKS_DIR}/luabitop) endif() @@ -137,20 +140,20 @@ if(USE_BUNDLED_BUSTED) set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck") endif() add_custom_command(OUTPUT ${BUSTED_EXE} - COMMAND ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS} + COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS} DEPENDS ${BUSTED_DEPENDS}) add_custom_target(busted ALL DEPENDS ${BUSTED_EXE}) # luacheck add_custom_command(OUTPUT ${LUACHECK_EXE} - COMMAND ${LUAROCKS_BINARY} build luacheck 1.1.0-1 ${LUAROCKS_BUILDARGS} + COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build luacheck 1.1.0-1 ${LUAROCKS_BUILDARGS} DEPENDS busted) add_custom_target(luacheck ALL DEPENDS ${LUACHECK_EXE}) if (USE_BUNDLED_LUA OR NOT USE_BUNDLED_LUAJIT) # coxpcall add_custom_command(OUTPUT ${ROCKS_DIR}/coxpcall - COMMAND ${LUAROCKS_BINARY} build coxpcall 1.17.0-1 ${LUAROCKS_BUILDARGS} + COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build coxpcall 1.17.0-1 ${LUAROCKS_BUILDARGS} DEPENDS luarocks) add_custom_target(coxpcall ALL DEPENDS ${ROCKS_DIR}/coxpcall) endif() -- cgit From 5a7280ba687f7d5b02a58fca652807161b69bfd9 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Wed, 12 Apr 2023 21:26:06 +0200 Subject: build: create helper function for simplifying luarocks installation The function keeps track of the previously installed rock, meaning we no longer need to manually keep track of the dependency chain. This will make adding or removing rocks much easier. --- cmake.deps/cmake/BuildLuarocks.cmake | 58 +++++++++++++----------------------- 1 file changed, 21 insertions(+), 37 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 901d1f17da..674a7eaee1 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -104,34 +104,29 @@ if(MSVC) set(PATH PATH=${DEPS_INSTALL_DIR}/luarocks/tools;$ENV{PATH}) endif() -# mpack -add_custom_command(OUTPUT ${ROCKS_DIR}/mpack - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build mpack 1.0.10-0 ${LUAROCKS_BUILDARGS} - DEPENDS luarocks) -add_custom_target(mpack ALL DEPENDS ${ROCKS_DIR}/mpack) - -# lpeg -add_custom_command(OUTPUT ${ROCKS_DIR}/lpeg - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build lpeg 1.0.2-1 ${LUAROCKS_BUILDARGS} - DEPENDS mpack) -add_custom_target(lpeg ALL DEPENDS ${ROCKS_DIR}/lpeg) +set(CURRENT_DEP luarocks) + +function(Download ROCK VER) + if(ARGV2) + set(OUTPUT ${ARGV2}) + else() + set(OUTPUT ${ROCKS_DIR}/${ROCK}) + endif() + add_custom_command(OUTPUT ${OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build ${ROCK} ${VER} ${LUAROCKS_BUILDARGS} + DEPENDS ${CURRENT_DEP}) + add_custom_target(${ROCK} ALL DEPENDS ${OUTPUT}) + set(CURRENT_DEP ${ROCK} PARENT_SCOPE) +endfunction() + +Download(mpack 1.0.10-0) +Download(lpeg 1.0.2-1) if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA) - # luabitop - add_custom_command(OUTPUT ${ROCKS_DIR}/luabitop - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS} - DEPENDS lpeg) - add_custom_target(luabitop ALL DEPENDS ${ROCKS_DIR}/luabitop) + Download(luabitop 1.0.2-3) endif() if(USE_BUNDLED_BUSTED) - if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA) - set(BUSTED_DEPENDS luabitop) - else() - set(BUSTED_DEPENDS lpeg) - endif() - - # busted if(WIN32) set(BUSTED_EXE "${DEPS_BIN_DIR}/busted.bat") set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck.bat") @@ -139,22 +134,11 @@ if(USE_BUNDLED_BUSTED) set(BUSTED_EXE "${DEPS_BIN_DIR}/busted") set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck") endif() - add_custom_command(OUTPUT ${BUSTED_EXE} - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS} - DEPENDS ${BUSTED_DEPENDS}) - add_custom_target(busted ALL DEPENDS ${BUSTED_EXE}) - # luacheck - add_custom_command(OUTPUT ${LUACHECK_EXE} - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build luacheck 1.1.0-1 ${LUAROCKS_BUILDARGS} - DEPENDS busted) - add_custom_target(luacheck ALL DEPENDS ${LUACHECK_EXE}) + Download(busted 2.1.1 ${BUSTED_EXE}) + Download(luacheck 1.1.0-1 ${LUACHECK_EXE}) if (USE_BUNDLED_LUA OR NOT USE_BUNDLED_LUAJIT) - # coxpcall - add_custom_command(OUTPUT ${ROCKS_DIR}/coxpcall - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build coxpcall 1.17.0-1 ${LUAROCKS_BUILDARGS} - DEPENDS luarocks) - add_custom_target(coxpcall ALL DEPENDS ${ROCKS_DIR}/coxpcall) + Download(coxpcall 1.17.0-1) endif() endif() -- cgit From c8667c8756a211b8597e2e0a80200498b752915d Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 15 Apr 2023 22:39:30 +0200 Subject: build: various cmake fixes - Remove unused function argument from GetBinaryDeps - Remove unused variable LUA_LOAD_PACKAGE_MODULE_SOURCE - Add LUA_FS_MODULE_SOURCE as a dependency of VIM_MODULE_FILE --- cmake.deps/cmake/BuildLuarocks.cmake | 2 +- cmake.deps/cmake/GetBinaryDeps.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 674a7eaee1..9c4f2d08eb 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -1,7 +1,7 @@ # Luarocks recipe. Luarocks is only required when building Neovim. # NOTE: LuaRocks rocks need to "DEPENDS" on the previous module, because # running luarocks in parallel will break, e.g. when some rocks have -# the same dependency.. +# the same dependency. option(USE_BUNDLED_BUSTED "Use the bundled version of busted to run tests." ON) diff --git a/cmake.deps/cmake/GetBinaryDeps.cmake b/cmake.deps/cmake/GetBinaryDeps.cmake index 48e66363d3..a98f0f5062 100644 --- a/cmake.deps/cmake/GetBinaryDeps.cmake +++ b/cmake.deps/cmake/GetBinaryDeps.cmake @@ -5,7 +5,7 @@ # install root. function(GetBinaryDep) cmake_parse_arguments(_gettool - "BUILD_IN_SOURCE" + "" "TARGET" "INSTALL_COMMAND" ${ARGN}) -- cgit From 1e60e8c0406f6b4b51c51abb5f53e25bd52fee5e Mon Sep 17 00:00:00 2001 From: bfredl Date: Sat, 15 Apr 2023 12:23:45 +0200 Subject: refactor(build): use vendored versions of mpack and luabitop --- cmake.deps/cmake/BuildLuarocks.cmake | 5 ----- 1 file changed, 5 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 9c4f2d08eb..a69d27f4b4 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -119,13 +119,8 @@ function(Download ROCK VER) set(CURRENT_DEP ${ROCK} PARENT_SCOPE) endfunction() -Download(mpack 1.0.10-0) Download(lpeg 1.0.2-1) -if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA) - Download(luabitop 1.0.2-3) -endif() - if(USE_BUNDLED_BUSTED) if(WIN32) set(BUSTED_EXE "${DEPS_BIN_DIR}/busted.bat") -- cgit From 45bcf8386918bbb475fbe20c48b508aa89ed0624 Mon Sep 17 00:00:00 2001 From: bfredl Date: Thu, 20 Apr 2023 13:19:38 +0200 Subject: refactor(build): include lpeg as a library --- cmake.deps/cmake/BuildLpeg.cmake | 18 ++++++++++++++++++ cmake.deps/cmake/BuildLuarocks.cmake | 2 -- cmake.deps/cmake/BuildLuv.cmake | 6 +----- cmake.deps/cmake/LpegCMakeLists.txt | 11 +++++++++++ 4 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 cmake.deps/cmake/BuildLpeg.cmake create mode 100644 cmake.deps/cmake/LpegCMakeLists.txt (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLpeg.cmake b/cmake.deps/cmake/BuildLpeg.cmake new file mode 100644 index 0000000000..81efccf1f4 --- /dev/null +++ b/cmake.deps/cmake/BuildLpeg.cmake @@ -0,0 +1,18 @@ +list(APPEND LPEG_CMAKE_ARGS "-DCMAKE_C_FLAGS:STRING=${DEPS_INCLUDE_FLAGS}") + +ExternalProject_Add(lpeg + URL ${LPEG_URL} + URL_HASH SHA256=${LPEG_SHA256} + DOWNLOAD_NO_PROGRESS TRUE + DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lpeg + PATCH_COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LpegCMakeLists.txt + ${DEPS_BUILD_DIR}/src/lpeg/CMakeLists.txt + CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LPEG_CMAKE_ARGS} + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + +if(USE_BUNDLED_LUAJIT) + add_dependencies(lpeg luajit) +elseif(USE_BUNDLED_LUA) + add_dependencies(lpeg lua) +endif() diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index a69d27f4b4..cb29ed9d95 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -119,8 +119,6 @@ function(Download ROCK VER) set(CURRENT_DEP ${ROCK} PARENT_SCOPE) endfunction() -Download(lpeg 1.0.2-1) - if(USE_BUNDLED_BUSTED) if(WIN32) set(BUSTED_EXE "${DEPS_BIN_DIR}/busted.bat") diff --git a/cmake.deps/cmake/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index eda3934bee..08168c9804 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -1,6 +1,3 @@ -set(LUV_INCLUDE_FLAGS - "-I${DEPS_INSTALL_DIR}/include -I${DEPS_INSTALL_DIR}/include/luajit-2.1") - set(LUV_CMAKE_ARGS -D LUA_BUILD_TYPE=System -D LUA_COMPAT53_DIR=${DEPS_BUILD_DIR}/src/lua-compat-5.3 @@ -26,8 +23,7 @@ if(USE_BUNDLED_LIBUV) list(APPEND LUV_CMAKE_ARGS -D CMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR}) endif() -list(APPEND LUV_CMAKE_ARGS - "-DCMAKE_C_FLAGS:STRING=${LUV_INCLUDE_FLAGS}") +list(APPEND LUV_CMAKE_ARGS "-DCMAKE_C_FLAGS:STRING=${DEPS_INCLUDE_FLAGS}") if(CMAKE_GENERATOR MATCHES "Unix Makefiles" AND (CMAKE_SYSTEM_NAME MATCHES ".*BSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")) list(APPEND LUV_CMAKE_ARGS -D CMAKE_MAKE_PROGRAM=gmake) diff --git a/cmake.deps/cmake/LpegCMakeLists.txt b/cmake.deps/cmake/LpegCMakeLists.txt new file mode 100644 index 0000000000..54cef7a9e4 --- /dev/null +++ b/cmake.deps/cmake/LpegCMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.10) +project (lpeg C) + +include(GNUInstallDirs) + +file(GLOB LPEG_SOURCES ${CMAKE_SOURCE_DIR}/*.c) +add_library(lpeg ${LPEG_SOURCES}) + +install(TARGETS lpeg ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +# vim: set ft=cmake: -- cgit From 1bf29a0ae1fffee8a009dfbc8da2d7c048f6eb20 Mon Sep 17 00:00:00 2001 From: Enan Ajmain <3nan.ajmain@gmail.com> Date: Sun, 7 May 2023 04:47:45 +0600 Subject: build: add system lua include dir for lpeg Problem: Lpeg requires Lua headers. Currently the include directories for Lpeg are set only to the bundled deps folder, so if the user wants to use system Lua/Luajit, Lpeg will not find the system headers and will fail to build. Solution: Add system Lua/Luajit include directories when USE_BUNDLED_LUA and USE_BUNDLED_LUAJIT are turned off. Fixes #23469 --- cmake.deps/cmake/BuildLpeg.cmake | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLpeg.cmake b/cmake.deps/cmake/BuildLpeg.cmake index 81efccf1f4..bbdc83d94d 100644 --- a/cmake.deps/cmake/BuildLpeg.cmake +++ b/cmake.deps/cmake/BuildLpeg.cmake @@ -1,4 +1,18 @@ -list(APPEND LPEG_CMAKE_ARGS "-DCMAKE_C_FLAGS:STRING=${DEPS_INCLUDE_FLAGS}") +set(LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS}) + +if(NOT USE_BUNDLED_LUAJIT AND NOT USE_BUNDLED_LUA) + find_package(Luajit) + if(LUAJIT_FOUND) + string(CONCAT LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS} " -I${LUAJIT_INCLUDE_DIR}") + else() + find_package(Lua 5.1 EXACT) + if(LUA_FOUND) + string(CONCAT LPEG_INCLUDE_FLAGS ${DEPS_INCLUDE_FLAGS} " -I${LUA_INCLUDE_DIR}") + endif() + endif() +endif() + +list(APPEND LPEG_CMAKE_ARGS -DCMAKE_C_FLAGS=${LPEG_INCLUDE_FLAGS}) ExternalProject_Add(lpeg URL ${LPEG_URL} -- cgit From 88366641ad8a11bd428a91b9b294fe53ef1a71b7 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Mon, 8 May 2023 17:24:19 +0200 Subject: build: remove USE_BUNDLED_BUSTED option The previous logic made it possible to install bundled luarocks, but also use external rocks, making the luarocks installation unnecessary. Instead, let's assume that if the user wants to use the bundled luarocks, then they also want to use it to install necessary rocks. --- cmake.deps/cmake/BuildLuarocks.cmake | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index cb29ed9d95..d45776f5b1 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -3,8 +3,6 @@ # running luarocks in parallel will break, e.g. when some rocks have # the same dependency. -option(USE_BUNDLED_BUSTED "Use the bundled version of busted to run tests." ON) - # The luarocks binary location set(LUAROCKS_BINARY ${DEPS_BIN_DIR}/luarocks) @@ -119,19 +117,17 @@ function(Download ROCK VER) set(CURRENT_DEP ${ROCK} PARENT_SCOPE) endfunction() -if(USE_BUNDLED_BUSTED) - if(WIN32) - set(BUSTED_EXE "${DEPS_BIN_DIR}/busted.bat") - set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck.bat") - else() - set(BUSTED_EXE "${DEPS_BIN_DIR}/busted") - set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck") - endif() +if(WIN32) + set(BUSTED_EXE "${DEPS_BIN_DIR}/busted.bat") + set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck.bat") +else() + set(BUSTED_EXE "${DEPS_BIN_DIR}/busted") + set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck") +endif() - Download(busted 2.1.1 ${BUSTED_EXE}) - Download(luacheck 1.1.0-1 ${LUACHECK_EXE}) +Download(busted 2.1.1 ${BUSTED_EXE}) +Download(luacheck 1.1.0-1 ${LUACHECK_EXE}) - if (USE_BUNDLED_LUA OR NOT USE_BUNDLED_LUAJIT) - Download(coxpcall 1.17.0-1) - endif() +if (USE_BUNDLED_LUA OR NOT USE_BUNDLED_LUAJIT) + Download(coxpcall 1.17.0-1) endif() -- cgit From 82bb7bbc481603d709df2b6d03918d15b81dac96 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Tue, 9 May 2023 17:25:49 +0200 Subject: build: add luajit runtime files when installing (#23514) Closes https://github.com/neovim/neovim/issues/15543. --- cmake.deps/cmake/BuildLuajit.cmake | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index 04696baf9b..cb2e8b9292 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -122,8 +122,7 @@ elseif(MINGW) COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/libluajit.a ${DEPS_LIB_DIR} COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include/luajit-2.1 COMMAND ${CMAKE_COMMAND} -DFROM_GLOB=${DEPS_BUILD_DIR}/src/luajit/src/*.h -DTO=${DEPS_INSTALL_DIR}/include/luajit-2.1 -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/CopyFilesGlob.cmake - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR}/lua/jit - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_BIN_DIR}/lua/jit + COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_INSTALL_DIR}/share/luajit-2.1.0-beta3/jit ) elseif(MSVC) @@ -139,8 +138,7 @@ elseif(MSVC) COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.lib ${DEPS_LIB_DIR}/luajit.lib COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include/luajit-2.1 COMMAND ${CMAKE_COMMAND} -DFROM_GLOB=${DEPS_BUILD_DIR}/src/luajit/src/*.h -DTO=${DEPS_INSTALL_DIR}/include/luajit-2.1 -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/CopyFilesGlob.cmake - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR}/lua/jit - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_BIN_DIR}/lua/jit + COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_INSTALL_DIR}/share/luajit-2.1.0-beta3/jit ) else() message(FATAL_ERROR "Trying to build luajit in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") -- cgit From 10860164778327c0009f6efc8e020308cadb13a2 Mon Sep 17 00:00:00 2001 From: dundargoc <33953936+dundargoc@users.noreply.github.com> Date: Sat, 13 May 2023 12:12:29 +0200 Subject: build: cmake cleanup - Simplify error checking when using execute_process. - Set BUILD_SHARED_LIBS to OFF when building dependencies. This is normally not needed, but msgpack interprets an unset BUILD_SHARED_LIBS to build a shared library, which is the opposite of the cmake behavior. - Move function check_lua_module to Util.cmake. - Remove unnecessary code. - Make variable naming more consistent --- cmake.deps/cmake/BuildLuarocks.cmake | 6 +++--- cmake.deps/cmake/BuildLuv.cmake | 9 ++++----- cmake.deps/cmake/BuildMsgpack.cmake | 8 -------- cmake.deps/cmake/CopyFilesGlob.cmake | 2 +- 4 files changed, 8 insertions(+), 17 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index d45776f5b1..5725507c36 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -1,4 +1,4 @@ -# Luarocks recipe. Luarocks is only required when building Neovim. +# Luarocks recipe. Luarocks is only required when testing Neovim. # NOTE: LuaRocks rocks need to "DEPENDS" on the previous module, because # running luarocks in parallel will break, e.g. when some rocks have # the same dependency. @@ -31,7 +31,7 @@ if(UNIX) find_package(Luajit) if(LUAJIT_FOUND) list(APPEND LUAROCKS_OPTS - --with-lua-include=${LUAJIT_INCLUDE_DIRS} + --with-lua-include=${LUAJIT_INCLUDE_DIR} --with-lua-interpreter=luajit) endif() @@ -46,7 +46,7 @@ if(UNIX) OUTPUT_VARIABLE LUA_VERSION ERROR_VARIABLE ERR RESULT_VARIABLE RES) - if(NOT RES EQUAL 0) + if(RES) message(FATAL_ERROR "Could not get LUA_VERSION with ${LUA_EXE}: ${ERR}") endif() endif() diff --git a/cmake.deps/cmake/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index 08168c9804..7220333de1 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -2,7 +2,6 @@ set(LUV_CMAKE_ARGS -D LUA_BUILD_TYPE=System -D LUA_COMPAT53_DIR=${DEPS_BUILD_DIR}/src/lua-compat-5.3 -D WITH_SHARED_LIBUV=ON - -D BUILD_SHARED_LIBS=OFF -D BUILD_STATIC_LIBS=ON -D BUILD_MODULE=OFF) @@ -38,7 +37,7 @@ ExternalProject_Add(lua-compat-5.3 BUILD_COMMAND "" INSTALL_COMMAND "") -ExternalProject_Add(luv-static +ExternalProject_Add(luv DEPENDS lua-compat-5.3 URL ${LUV_URL} URL_HASH SHA256=${LUV_SHA256} @@ -49,10 +48,10 @@ ExternalProject_Add(luv-static CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) if(USE_BUNDLED_LUAJIT) - add_dependencies(luv-static luajit) + add_dependencies(luv luajit) elseif(USE_BUNDLED_LUA) - add_dependencies(luv-static lua) + add_dependencies(luv lua) endif() if(USE_BUNDLED_LIBUV) - add_dependencies(luv-static libuv) + add_dependencies(luv libuv) endif() diff --git a/cmake.deps/cmake/BuildMsgpack.cmake b/cmake.deps/cmake/BuildMsgpack.cmake index c9033be1ae..f63559e6b4 100644 --- a/cmake.deps/cmake/BuildMsgpack.cmake +++ b/cmake.deps/cmake/BuildMsgpack.cmake @@ -7,11 +7,3 @@ ExternalProject_Add(msgpack -D MSGPACK_BUILD_TESTS=OFF -D MSGPACK_BUILD_EXAMPLES=OFF CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) - -if (NOT MSVC) - add_custom_target(clean_shared_libraries_msgpack ALL - COMMAND ${CMAKE_COMMAND} - -D REMOVE_FILE_GLOB=${DEPS_LIB_DIR}/${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/CopyFilesGlob.cmake b/cmake.deps/cmake/CopyFilesGlob.cmake index 8950ead1e5..7d0f4fc289 100644 --- a/cmake.deps/cmake/CopyFilesGlob.cmake +++ b/cmake.deps/cmake/CopyFilesGlob.cmake @@ -14,7 +14,7 @@ execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TO}) file(GLOB files ${FROM_GLOB}) foreach(file ${files}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${file} ${TO} RESULT_VARIABLE rv) - if(NOT rv EQUAL 0) + if(rv) message(FATAL_ERROR "Error copying ${file}") endif() endforeach() -- 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 --- cmake.deps/cmake/BuildLuajit.cmake | 5 ++ cmake.deps/cmake/BuildLuarocks.cmake | 133 ----------------------------------- 3 files changed, 5 insertions(+), 142 deletions(-) delete mode 100644 cmake.deps/cmake/BuildLuarocks.cmake (limited to 'cmake.deps/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) diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index cb2e8b9292..554add1c4a 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -66,6 +66,11 @@ if((UNIX AND NOT APPLE) OR (APPLE AND NOT CMAKE_OSX_ARCHITECTURES)) elseif(CMAKE_OSX_ARCHITECTURES AND APPLE) + set(LUAJIT_C_COMPILER "${CMAKE_C_COMPILER}") + if(CMAKE_OSX_SYSROOT) + set(LUAJIT_C_COMPILER "${LUAJIT_C_COMPILER} -isysroot${CMAKE_OSX_SYSROOT}") + endif() + # Passing multiple `-arch` flags to the LuaJIT build will cause it to fail. # To get a working universal build, we build each requested architecture slice # individually then `lipo` them all up. diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake deleted file mode 100644 index 5725507c36..0000000000 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ /dev/null @@ -1,133 +0,0 @@ -# Luarocks recipe. Luarocks is only required when testing Neovim. -# NOTE: LuaRocks rocks need to "DEPENDS" on the previous module, because -# running luarocks in parallel will break, e.g. when some rocks have -# the same dependency. - -# The luarocks binary location -set(LUAROCKS_BINARY ${DEPS_BIN_DIR}/luarocks) - -# Arguments for calls to 'luarocks build' -if(NOT MSVC) - # In MSVC don't pass the compiler/linker to luarocks, the bundled - # version already knows, and passing them here breaks the build - set(LUAROCKS_BUILDARGS CC=${DEPS_C_COMPILER} LD=${DEPS_C_COMPILER}) -endif() - -# Lua version, used with rocks directories. -# Defaults to 5.1 for bundled LuaJIT/Lua. -set(LUA_VERSION "5.1") - -if(UNIX) - - if(USE_BUNDLED_LUAJIT) - list(APPEND LUAROCKS_OPTS - --with-lua=${DEPS_INSTALL_DIR} - --with-lua-include=${DEPS_INSTALL_DIR}/include/luajit-2.1 - --with-lua-interpreter=luajit) - elseif(USE_BUNDLED_LUA) - list(APPEND LUAROCKS_OPTS - --with-lua=${DEPS_INSTALL_DIR}) - else() - find_package(Luajit) - if(LUAJIT_FOUND) - list(APPEND LUAROCKS_OPTS - --with-lua-include=${LUAJIT_INCLUDE_DIR} - --with-lua-interpreter=luajit) - endif() - - # Get LUA_VERSION used with rocks output. - if(LUAJIT_FOUND) - set(LUA_EXE "luajit") - else() - set(LUA_EXE "lua") - endif() - execute_process( - COMMAND ${LUA_EXE} -e "print(string.sub(_VERSION, 5))" - OUTPUT_VARIABLE LUA_VERSION - ERROR_VARIABLE ERR - RESULT_VARIABLE RES) - if(RES) - message(FATAL_ERROR "Could not get LUA_VERSION with ${LUA_EXE}: ${ERR}") - endif() - endif() - - set(LUAROCKS_CONFIGURE_COMMAND ${DEPS_BUILD_DIR}/src/luarocks/configure - --prefix=${DEPS_INSTALL_DIR} --force-config ${LUAROCKS_OPTS}) - set(LUAROCKS_INSTALL_COMMAND ${MAKE_PRG} -j1 bootstrap) -elseif(MSVC OR MINGW) - - if(MINGW) - set(COMPILER_FLAG /MW) - elseif(MSVC) - set(COMPILER_FLAG /MSVC) - endif() - - # Ignore USE_BUNDLED_LUAJIT - always ON for native Win32 - set(LUAROCKS_INSTALL_COMMAND install.bat /FORCECONFIG /NOREG /NOADMIN /Q /F - /LUA ${DEPS_INSTALL_DIR} - /LIB ${DEPS_LIB_DIR} - /BIN ${DEPS_BIN_DIR} - /INC ${DEPS_INSTALL_DIR}/include/luajit-2.1 - /P ${DEPS_INSTALL_DIR}/luarocks /TREE ${DEPS_INSTALL_DIR} - /SCRIPTS ${DEPS_BIN_DIR} - /CMOD ${DEPS_BIN_DIR} - ${COMPILER_FLAG} - /LUAMOD ${DEPS_BIN_DIR}/lua) - - set(LUAROCKS_BINARY ${DEPS_INSTALL_DIR}/luarocks/luarocks.bat) -else() - message(FATAL_ERROR "Trying to build luarocks in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") -endif() - -ExternalProject_Add(luarocks - URL ${LUAROCKS_URL} - URL_HASH SHA256=${LUAROCKS_SHA256} - DOWNLOAD_NO_PROGRESS TRUE - DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luarocks - BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND "${LUAROCKS_CONFIGURE_COMMAND}" - BUILD_COMMAND "" - INSTALL_COMMAND "${LUAROCKS_INSTALL_COMMAND}") - -if(USE_BUNDLED_LUAJIT) - add_dependencies(luarocks luajit) -elseif(USE_BUNDLED_LUA) - add_dependencies(luarocks lua) -endif() -set(ROCKS_DIR ${DEPS_LIB_DIR}/luarocks/rocks-${LUA_VERSION}) - -if(MSVC) - # Workaround for luarocks failing to find the md5sum.exe it is shipped with. - list(APPEND LUAROCKS_BUILDARGS MD5SUM=md5sum) - set(PATH PATH=${DEPS_INSTALL_DIR}/luarocks/tools;$ENV{PATH}) -endif() - -set(CURRENT_DEP luarocks) - -function(Download ROCK VER) - if(ARGV2) - set(OUTPUT ${ARGV2}) - else() - set(OUTPUT ${ROCKS_DIR}/${ROCK}) - endif() - add_custom_command(OUTPUT ${OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build ${ROCK} ${VER} ${LUAROCKS_BUILDARGS} - DEPENDS ${CURRENT_DEP}) - add_custom_target(${ROCK} ALL DEPENDS ${OUTPUT}) - set(CURRENT_DEP ${ROCK} PARENT_SCOPE) -endfunction() - -if(WIN32) - set(BUSTED_EXE "${DEPS_BIN_DIR}/busted.bat") - set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck.bat") -else() - set(BUSTED_EXE "${DEPS_BIN_DIR}/busted") - set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck") -endif() - -Download(busted 2.1.1 ${BUSTED_EXE}) -Download(luacheck 1.1.0-1 ${LUACHECK_EXE}) - -if (USE_BUNDLED_LUA OR NOT USE_BUNDLED_LUAJIT) - Download(coxpcall 1.17.0-1) -endif() -- cgit From 11844dde81c41bded54f2383b57f8eef406f2736 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sat, 1 Jul 2023 11:08:06 +0200 Subject: feat(treesitter): bundle markdown parser and queries (#22481) * bundle split Markdown parser from https://github.com/MDeiml/tree-sitter-markdown * add queries from https://github.com/nvim-treesitter/nvim-treesitter/tree/main * upstream `#trim!` and `#inject-language!` directives Co-authored-by: dundargoc --- cmake.deps/cmake/BuildTreesitterParsers.cmake | 1 + cmake.deps/cmake/MarkdownParserCMakeLists.txt | 28 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 cmake.deps/cmake/MarkdownParserCMakeLists.txt (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index 56c8a5a7c6..89c1ec5cc9 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -37,3 +37,4 @@ endfunction() foreach(lang c lua vim vimdoc query) BuildTSParser(LANG ${lang}) endforeach() +BuildTSParser(LANG markdown CMAKE_FILE MarkdownParserCMakeLists.txt) diff --git a/cmake.deps/cmake/MarkdownParserCMakeLists.txt b/cmake.deps/cmake/MarkdownParserCMakeLists.txt new file mode 100644 index 0000000000..a356aaa391 --- /dev/null +++ b/cmake.deps/cmake/MarkdownParserCMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.10) +project(${PARSERLANG} C) + +set(CMAKE_C_STANDARD 99) + +add_library(markdown MODULE +tree-sitter-markdown/src/parser.c +tree-sitter-markdown/src/scanner.c) +target_include_directories(markdown + PRIVATE + tree-sitter-markdown/src) + +add_library(markdown_inline MODULE +tree-sitter-markdown-inline/src/parser.c +tree-sitter-markdown-inline/src/scanner.c) +target_include_directories(markdown_inline + PRIVATE + tree-sitter-markdown-inline/src) + +set_target_properties( + markdown markdown_inline + PROPERTIES + PREFIX "" +) + +install(TARGETS markdown markdown_inline LIBRARY DESTINATION lib/nvim/parser) + +# vim: set ft=cmake: -- cgit From 88c8803aa167806f32272e5f344af00b98a91f01 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sat, 1 Jul 2023 11:19:31 +0200 Subject: feat(treesitter): add python parser and queries --- cmake.deps/cmake/BuildTreesitterParsers.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index 89c1ec5cc9..50968d4643 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -34,7 +34,7 @@ function(BuildTSParser) CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) endfunction() -foreach(lang c lua vim vimdoc query) +foreach(lang c lua vim vimdoc query python) BuildTSParser(LANG ${lang}) endforeach() BuildTSParser(LANG markdown CMAKE_FILE MarkdownParserCMakeLists.txt) -- cgit From cb0a1a10b22463664b4aecd3aa25e262692c0cab Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sat, 1 Jul 2023 11:22:19 +0200 Subject: feat(treesitter): add bash parser and queries --- cmake.deps/cmake/BuildTreesitterParsers.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index 50968d4643..e54544740e 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -34,7 +34,7 @@ function(BuildTSParser) CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) endfunction() -foreach(lang c lua vim vimdoc query python) +foreach(lang c lua vim vimdoc query python bash) BuildTSParser(LANG ${lang}) endforeach() BuildTSParser(LANG markdown CMAKE_FILE MarkdownParserCMakeLists.txt) -- cgit From 3e80b39a8ef9d33090800642d25fadbd282af337 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Mon, 21 Aug 2023 23:24:31 +0900 Subject: build(deps): bump luajit to HEAD - 03c31124c Switch to a rolling release, so the `0-beta3` suffix is dropped in favor of the date. Remove the custom UNIX command as the symlink is now created by the LuaJIT Makefile. --- cmake.deps/cmake/BuildLuajit.cmake | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index 554add1c4a..c0f9c1ab8e 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -25,13 +25,6 @@ function(BuildLuajit) BUILD_COMMAND "${_luajit_BUILD_COMMAND}" INSTALL_COMMAND "${_luajit_INSTALL_COMMAND}" DEPENDS "${_luajit_DEPENDS}") - - # Create symlink for development version manually. - if(UNIX) - add_custom_command( - TARGET ${_luajit_TARGET} - COMMAND ${CMAKE_COMMAND} -E create_symlink luajit-2.1.0-beta3 ${DEPS_BIN_DIR}/${_luajit_TARGET}) - endif() endfunction() check_c_compiler_flag(-fno-stack-check HAS_NO_STACK_CHECK) @@ -127,7 +120,7 @@ elseif(MINGW) COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/libluajit.a ${DEPS_LIB_DIR} COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include/luajit-2.1 COMMAND ${CMAKE_COMMAND} -DFROM_GLOB=${DEPS_BUILD_DIR}/src/luajit/src/*.h -DTO=${DEPS_INSTALL_DIR}/include/luajit-2.1 -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/CopyFilesGlob.cmake - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_INSTALL_DIR}/share/luajit-2.1.0-beta3/jit + COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_INSTALL_DIR}/share/luajit-2.1/jit ) elseif(MSVC) @@ -143,7 +136,7 @@ elseif(MSVC) COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/lua51.lib ${DEPS_LIB_DIR}/luajit.lib COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include/luajit-2.1 COMMAND ${CMAKE_COMMAND} -DFROM_GLOB=${DEPS_BUILD_DIR}/src/luajit/src/*.h -DTO=${DEPS_INSTALL_DIR}/include/luajit-2.1 -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/CopyFilesGlob.cmake - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_INSTALL_DIR}/share/luajit-2.1.0-beta3/jit + COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/luajit/src/jit ${DEPS_INSTALL_DIR}/share/luajit-2.1/jit ) else() message(FATAL_ERROR "Trying to build luajit in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") -- 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') 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 b80a8e2c16b6d6eb16ac84232c27eb7cfa4a434a Mon Sep 17 00:00:00 2001 From: dundargoc Date: Tue, 10 Oct 2023 23:18:45 +0200 Subject: build: adjust how find order is prioritized Ensure bundled libraries and include directories are always searched first before any others. This will provide a more consistent experience as the search order of the builtin find_ functions can vary depending on system. This should make the build process faster when building with bundled deps as we limit the search to only the .deps directory. Separating the search between .deps and everything makes debugging find_-related problems simpler if you need to check how dependencies are found. For libraries, we divide the search process into the following order: 1. Only search in .deps directory and only search for static libraries. 2. Only search in .deps directory and search for all libraries. 3. Search everywhere and search for all libraries. Make an exception for FindLibintl.cmake as changing the search order seems to break some tests on macos. --- cmake.deps/cmake/BuildLuajit.cmake | 8 -------- cmake.deps/cmake/RemoveFiles.cmake | 5 ----- 2 files changed, 13 deletions(-) delete mode 100644 cmake.deps/cmake/RemoveFiles.cmake (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index c0f9c1ab8e..e97d773c3c 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -141,11 +141,3 @@ elseif(MSVC) else() message(FATAL_ERROR "Trying to build luajit in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") endif() - -if (NOT MSVC) - add_custom_target(clean_shared_libraries_luajit ALL - COMMAND ${CMAKE_COMMAND} - -D REMOVE_FILE_GLOB=${DEPS_LIB_DIR}/${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/RemoveFiles.cmake b/cmake.deps/cmake/RemoveFiles.cmake deleted file mode 100644 index 88e2bc70a6..0000000000 --- a/cmake.deps/cmake/RemoveFiles.cmake +++ /dev/null @@ -1,5 +0,0 @@ -file(GLOB_RECURSE FILES_TO_REMOVE ${REMOVE_FILE_GLOB}) - -if(FILES_TO_REMOVE) - file(REMOVE ${FILES_TO_REMOVE}) -endif() -- cgit From 4f526b9fd864acbba9665e5a71787fc1c958d82c Mon Sep 17 00:00:00 2001 From: dundargoc Date: Sat, 28 Oct 2023 20:27:30 +0200 Subject: build: use neovim/libtermkey instead of neovim/deps for libtermkey Using a mirror makes it easier to test patches as well as reducing maintenance when a new version is released. --- cmake.deps/cmake/LibtermkeyCMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/LibtermkeyCMakeLists.txt b/cmake.deps/cmake/LibtermkeyCMakeLists.txt index cefe14e515..7257ff69bb 100644 --- a/cmake.deps/cmake/LibtermkeyCMakeLists.txt +++ b/cmake.deps/cmake/LibtermkeyCMakeLists.txt @@ -1,6 +1,18 @@ cmake_minimum_required(VERSION 3.10) project(libtermkey C) +if(EXISTS ${PROJECT_SOURCE_DIR}/termkey.h.in) + file(STRINGS Makefile TERMKEY_VERSION_MAJOR REGEX "VERSION_MAJOR") + string(REGEX MATCH "[0-9]+" TERMKEY_VERSION_MAJOR ${TERMKEY_VERSION_MAJOR}) + + file(STRINGS Makefile TERMKEY_VERSION_MINOR REGEX "VERSION_MINOR") + string(REGEX MATCH "[0-9]+" TERMKEY_VERSION_MINOR ${TERMKEY_VERSION_MINOR}) + + file(READ termkey.h.in TERMKEY_TEXT) + string(REPLACE "@@VERSION_MAJOR@@" "${TERMKEY_VERSION_MAJOR}" TERMKEY_TEXT "${TERMKEY_TEXT}") + string(REPLACE "@@VERSION_MINOR@@" "${TERMKEY_VERSION_MINOR}" TERMKEY_TEXT "${TERMKEY_TEXT}") + file(WRITE termkey.h "${TERMKEY_TEXT}") +endif() add_definitions(-D _CRT_SECURE_NO_WARNINGS) add_definitions(-DHAVE_UNIBILIUM) -- cgit From 8405649f92a8a8eb254944eca15e8b0169cbb6fb Mon Sep 17 00:00:00 2001 From: dundargoc Date: Sun, 29 Oct 2023 02:09:19 +0200 Subject: build: use neovim/libvterm instead of neovim/deps for libvterm Using a mirror makes it easier to test patches as well as reducing maintenance when a new version is released. --- cmake.deps/cmake/LibvtermCMakeLists.txt | 53 +++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/LibvtermCMakeLists.txt b/cmake.deps/cmake/LibvtermCMakeLists.txt index 7b1d95f531..0c31d32d64 100644 --- a/cmake.deps/cmake/LibvtermCMakeLists.txt +++ b/cmake.deps/cmake/LibvtermCMakeLists.txt @@ -7,6 +7,59 @@ if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE) endif() +set(DECDRAWING [[ + static const struct StaticTableEncoding encoding_DECdrawing = { + { .decode = &decode_table }, + { + [0x60] = 0x25C6, + [0x61] = 0x2592, + [0x62] = 0x2409, + [0x63] = 0x240C, + [0x64] = 0x240D, + [0x65] = 0x240A, + [0x66] = 0x00B0, + [0x67] = 0x00B1, + [0x68] = 0x2424, + [0x69] = 0x240B, + [0x6a] = 0x2518, + [0x6b] = 0x2510, + [0x6c] = 0x250C, + [0x6d] = 0x2514, + [0x6e] = 0x253C, + [0x6f] = 0x23BA, + [0x70] = 0x23BB, + [0x71] = 0x2500, + [0x72] = 0x23BC, + [0x73] = 0x23BD, + [0x74] = 0x251C, + [0x75] = 0x2524, + [0x76] = 0x2534, + [0x77] = 0x252C, + [0x78] = 0x2502, + [0x79] = 0x2A7D, + [0x7a] = 0x2A7E, + [0x7b] = 0x03C0, + [0x7c] = 0x2260, + [0x7d] = 0x00A3, + [0x7e] = 0x00B7, + } + }; +]] +) + +set(UK [[ + static const struct StaticTableEncoding encoding_uk = { + { .decode = &decode_table }, + { + [0x23] = 0x00a3, + } + }; +]] +) + +file(WRITE src/encoding/DECdrawing.inc "${DECDRAWING}") +file(WRITE src/encoding/uk.inc "${UK}") + include_directories(${CMAKE_SOURCE_DIR}/include) include_directories(${CMAKE_BINARY_DIR}) -- cgit From 5cefec7349610853910c21a0215f85a4d47132d1 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Thu, 26 Oct 2023 22:30:00 +0200 Subject: build: various cmake fixes - silence false warnings on MSVC - merge `clang-tidy` cmake target into `lintc` and remove the corresponding make target - use cmake's built-in endianness detection --- cmake.deps/cmake/LibtermkeyCMakeLists.txt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/LibtermkeyCMakeLists.txt b/cmake.deps/cmake/LibtermkeyCMakeLists.txt index 7257ff69bb..87a56e4865 100644 --- a/cmake.deps/cmake/LibtermkeyCMakeLists.txt +++ b/cmake.deps/cmake/LibtermkeyCMakeLists.txt @@ -13,16 +13,15 @@ if(EXISTS ${PROJECT_SOURCE_DIR}/termkey.h.in) string(REPLACE "@@VERSION_MINOR@@" "${TERMKEY_VERSION_MINOR}" TERMKEY_TEXT "${TERMKEY_TEXT}") file(WRITE termkey.h "${TERMKEY_TEXT}") endif() -add_definitions(-D _CRT_SECURE_NO_WARNINGS) -add_definitions(-DHAVE_UNIBILIUM) - -include_directories(${PROJECT_BINARY_DIR}/t) -include_directories(SYSTEM ${UNIBILIUM_INCLUDE_DIRS}) add_library(termkey termkey.c driver-csi.c driver-ti.c) + +target_compile_definitions(termkey PRIVATE _CRT_SECURE_NO_WARNINGS HAVE_UNIBILIUM) +target_include_directories(termkey PRIVATE SYSTEM ${UNIBILIUM_INCLUDE_DIRS}) + set_target_properties(termkey PROPERTIES PUBLIC_HEADER ${PROJECT_SOURCE_DIR}/termkey.h) -target_link_libraries(termkey ${UNIBILIUM_LIBRARIES}) +target_link_libraries(termkey PRIVATE ${UNIBILIUM_LIBRARIES}) include(GNUInstallDirs) install(TARGETS termkey -- 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') 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 7a80e169c5b128e1aea961e888ca6e9c7b48dd27 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Mon, 20 Nov 2023 02:01:39 +0100 Subject: build: disable all compiler warnings from dependencies --- cmake.deps/cmake/BuildLuv.cmake | 2 +- cmake.deps/cmake/GettextCMakeLists.txt | 3 +-- cmake.deps/cmake/LibiconvCMakeLists.txt | 2 +- cmake.deps/cmake/LibtermkeyCMakeLists.txt | 2 +- cmake.deps/cmake/LibvtermCMakeLists.txt | 4 ---- cmake.deps/cmake/LpegCMakeLists.txt | 2 ++ 6 files changed, 6 insertions(+), 9 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index 7220333de1..6b2d24f1f9 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -22,7 +22,7 @@ if(USE_BUNDLED_LIBUV) list(APPEND LUV_CMAKE_ARGS -D CMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR}) endif() -list(APPEND LUV_CMAKE_ARGS "-DCMAKE_C_FLAGS:STRING=${DEPS_INCLUDE_FLAGS}") +list(APPEND LUV_CMAKE_ARGS "-DCMAKE_C_FLAGS:STRING=${DEPS_INCLUDE_FLAGS} -w") if(CMAKE_GENERATOR MATCHES "Unix Makefiles" AND (CMAKE_SYSTEM_NAME MATCHES ".*BSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly")) list(APPEND LUV_CMAKE_ARGS -D CMAKE_MAKE_PROGRAM=gmake) diff --git a/cmake.deps/cmake/GettextCMakeLists.txt b/cmake.deps/cmake/GettextCMakeLists.txt index 26f060ec08..0c22efe4a6 100644 --- a/cmake.deps/cmake/GettextCMakeLists.txt +++ b/cmake.deps/cmake/GettextCMakeLists.txt @@ -73,8 +73,7 @@ set_property(TARGET libintl APPEND PROPERTY COMPILE_DEFINITIONS NO_XMALLOC set_relocation_prefix=libintl_set_relocation_prefix relocate=libintl_relocate - HAVE_CONFIG_H - _CRT_SECURE_NO_WARNINGS) + HAVE_CONFIG_H) file(READ gettext-tools/config.h.in CONFIG_CONTENT) diff --git a/cmake.deps/cmake/LibiconvCMakeLists.txt b/cmake.deps/cmake/LibiconvCMakeLists.txt index f6a23db864..c9af1a67e4 100644 --- a/cmake.deps/cmake/LibiconvCMakeLists.txt +++ b/cmake.deps/cmake/LibiconvCMakeLists.txt @@ -31,7 +31,7 @@ set(USE_MBSTATE_T 0) configure_file(libcharset/include/localcharset.h.build.in localcharset.h) configure_file(include/iconv.h.build.in iconv.h) -add_definitions(-DLIBDIR -D_CRT_SECURE_NO_WARNINGS) +add_definitions(-DLIBDIR) add_library(libcharset libcharset/lib/localcharset.c) diff --git a/cmake.deps/cmake/LibtermkeyCMakeLists.txt b/cmake.deps/cmake/LibtermkeyCMakeLists.txt index 87a56e4865..4b5a5a4ea8 100644 --- a/cmake.deps/cmake/LibtermkeyCMakeLists.txt +++ b/cmake.deps/cmake/LibtermkeyCMakeLists.txt @@ -16,7 +16,7 @@ endif() add_library(termkey termkey.c driver-csi.c driver-ti.c) -target_compile_definitions(termkey PRIVATE _CRT_SECURE_NO_WARNINGS HAVE_UNIBILIUM) +target_compile_definitions(termkey PRIVATE HAVE_UNIBILIUM) target_include_directories(termkey PRIVATE SYSTEM ${UNIBILIUM_INCLUDE_DIRS}) set_target_properties(termkey PROPERTIES diff --git a/cmake.deps/cmake/LibvtermCMakeLists.txt b/cmake.deps/cmake/LibvtermCMakeLists.txt index 0c31d32d64..f9b448b50d 100644 --- a/cmake.deps/cmake/LibvtermCMakeLists.txt +++ b/cmake.deps/cmake/LibvtermCMakeLists.txt @@ -3,10 +3,6 @@ project(libvterm C) include(GNUInstallDirs) -if(MSVC) - add_definitions(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE) -endif() - set(DECDRAWING [[ static const struct StaticTableEncoding encoding_DECdrawing = { { .decode = &decode_table }, diff --git a/cmake.deps/cmake/LpegCMakeLists.txt b/cmake.deps/cmake/LpegCMakeLists.txt index 54cef7a9e4..ad2f062487 100644 --- a/cmake.deps/cmake/LpegCMakeLists.txt +++ b/cmake.deps/cmake/LpegCMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.10) project (lpeg C) +add_compile_options(-w) + include(GNUInstallDirs) file(GLOB LPEG_SOURCES ${CMAKE_SOURCE_DIR}/*.c) -- 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/BuildGettext.cmake | 4 ++-- cmake.deps/cmake/BuildLibiconv.cmake | 4 ++-- cmake.deps/cmake/BuildLibtermkey.cmake | 4 ++-- cmake.deps/cmake/BuildLibuv.cmake | 5 +++-- cmake.deps/cmake/BuildLibvterm.cmake | 4 ++-- cmake.deps/cmake/BuildLpeg.cmake | 4 ++-- cmake.deps/cmake/BuildLua.cmake | 4 ++-- cmake.deps/cmake/BuildLuajit.cmake | 4 ++-- cmake.deps/cmake/BuildLuv.cmake | 8 ++++---- cmake.deps/cmake/BuildMsgpack.cmake | 4 ++-- cmake.deps/cmake/BuildTreesitter.cmake | 4 ++-- cmake.deps/cmake/BuildTreesitterParsers.cmake | 4 ++-- cmake.deps/cmake/BuildUnibilium.cmake | 4 ++-- cmake.deps/cmake/GetBinaryDeps.cmake | 8 ++++---- cmake.deps/cmake/GettextCMakeLists.txt | 8 ++++++++ cmake.deps/cmake/LibiconvCMakeLists.txt | 7 +++++++ cmake.deps/cmake/LibtermkeyCMakeLists.txt | 6 ++++++ cmake.deps/cmake/LibvtermCMakeLists.txt | 6 ++++++ cmake.deps/cmake/LpegCMakeLists.txt | 4 ++-- cmake.deps/cmake/MarkdownParserCMakeLists.txt | 5 +++++ cmake.deps/cmake/TreesitterCMakeLists.txt | 6 ++++++ cmake.deps/cmake/TreesitterParserCMakeLists.txt | 6 ++++++ 22 files changed, 79 insertions(+), 34 deletions(-) (limited to 'cmake.deps/cmake') diff --git a/cmake.deps/cmake/BuildGettext.cmake b/cmake.deps/cmake/BuildGettext.cmake index b6411a2617..33cfbe1a22 100644 --- a/cmake.deps/cmake/BuildGettext.cmake +++ b/cmake.deps/cmake/BuildGettext.cmake @@ -2,7 +2,6 @@ if(MSVC) ExternalProject_Add(gettext URL ${GETTEXT_URL} URL_HASH SHA256=${GETTEXT_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/gettext PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/GettextCMakeLists.txt @@ -10,7 +9,8 @@ if(MSVC) CMAKE_ARGS ${DEPS_CMAKE_ARGS} -D LIBICONV_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include -D LIBICONV_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}libcharset${CMAKE_STATIC_LIBRARY_SUFFIX}$${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}libiconv${CMAKE_STATIC_LIBRARY_SUFFIX} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) else() message(FATAL_ERROR "Trying to build gettext in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") endif() diff --git a/cmake.deps/cmake/BuildLibiconv.cmake b/cmake.deps/cmake/BuildLibiconv.cmake index 000b42cf06..362e9b4609 100644 --- a/cmake.deps/cmake/BuildLibiconv.cmake +++ b/cmake.deps/cmake/BuildLibiconv.cmake @@ -2,13 +2,13 @@ if(MSVC) ExternalProject_Add(libiconv URL ${LIBICONV_URL} URL_HASH SHA256=${LIBICONV_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libiconv PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibiconvCMakeLists.txt ${DEPS_BUILD_DIR}/src/libiconv/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) else() message(FATAL_ERROR "Trying to build libiconv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") endif() diff --git a/cmake.deps/cmake/BuildLibtermkey.cmake b/cmake.deps/cmake/BuildLibtermkey.cmake index 0d2b66a060..185b276def 100644 --- a/cmake.deps/cmake/BuildLibtermkey.cmake +++ b/cmake.deps/cmake/BuildLibtermkey.cmake @@ -1,7 +1,6 @@ ExternalProject_Add(libtermkey URL ${LIBTERMKEY_URL} URL_HASH SHA256=${LIBTERMKEY_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libtermkey PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibtermkeyCMakeLists.txt @@ -10,4 +9,5 @@ ExternalProject_Add(libtermkey -D CMAKE_SHARED_LIBRARY_LINK_C_FLAGS="" # Hack to avoid -rdynamic in Mingw -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}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildLibuv.cmake b/cmake.deps/cmake/BuildLibuv.cmake index a35b5a16f3..e7f7fdf253 100644 --- a/cmake.deps/cmake/BuildLibuv.cmake +++ b/cmake.deps/cmake/BuildLibuv.cmake @@ -1,10 +1,11 @@ ExternalProject_Add(libuv URL ${LIBUV_URL} URL_HASH SHA256=${LIBUV_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libuv CMAKE_ARGS ${DEPS_CMAKE_ARGS} -D CMAKE_INSTALL_LIBDIR=lib -D BUILD_TESTING=OFF -D LIBUV_BUILD_SHARED=OFF - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + -D UV_LINT_W4=OFF + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildLibvterm.cmake b/cmake.deps/cmake/BuildLibvterm.cmake index aaeabe88d5..63f5872cb2 100644 --- a/cmake.deps/cmake/BuildLibvterm.cmake +++ b/cmake.deps/cmake/BuildLibvterm.cmake @@ -1,10 +1,10 @@ ExternalProject_Add(libvterm URL ${LIBVTERM_URL} URL_HASH SHA256=${LIBVTERM_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libvterm PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibvtermCMakeLists.txt ${DEPS_BUILD_DIR}/src/libvterm/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildLpeg.cmake b/cmake.deps/cmake/BuildLpeg.cmake index bbdc83d94d..bba23fe42b 100644 --- a/cmake.deps/cmake/BuildLpeg.cmake +++ b/cmake.deps/cmake/BuildLpeg.cmake @@ -17,13 +17,13 @@ list(APPEND LPEG_CMAKE_ARGS -DCMAKE_C_FLAGS=${LPEG_INCLUDE_FLAGS}) ExternalProject_Add(lpeg URL ${LPEG_URL} URL_HASH SHA256=${LPEG_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lpeg PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LpegCMakeLists.txt ${DEPS_BUILD_DIR}/src/lpeg/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LPEG_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) if(USE_BUNDLED_LUAJIT) add_dependencies(lpeg luajit) 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}) diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index e97d773c3c..aa4c8e9293 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -18,13 +18,13 @@ function(BuildLuajit) ExternalProject_Add(${_luajit_TARGET} URL ${LUAJIT_URL} URL_HASH SHA256=${LUAJIT_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luajit CONFIGURE_COMMAND "${_luajit_CONFIGURE_COMMAND}" BUILD_IN_SOURCE 1 BUILD_COMMAND "${_luajit_BUILD_COMMAND}" INSTALL_COMMAND "${_luajit_INSTALL_COMMAND}" - DEPENDS "${_luajit_DEPENDS}") + DEPENDS "${_luajit_DEPENDS}" + ${EXTERNALPROJECT_OPTIONS}) endfunction() check_c_compiler_flag(-fno-stack-check HAS_NO_STACK_CHECK) diff --git a/cmake.deps/cmake/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index 6b2d24f1f9..004fea7790 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -31,21 +31,21 @@ endif() ExternalProject_Add(lua-compat-5.3 URL ${LUA_COMPAT53_URL} URL_HASH SHA256=${LUA_COMPAT53_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua-compat-5.3 CONFIGURE_COMMAND "" BUILD_COMMAND "" - INSTALL_COMMAND "") + INSTALL_COMMAND "" + ${EXTERNALPROJECT_OPTIONS}) ExternalProject_Add(luv DEPENDS lua-compat-5.3 URL ${LUV_URL} URL_HASH SHA256=${LUV_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luv SOURCE_DIR ${DEPS_BUILD_DIR}/src/luv CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LUV_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) if(USE_BUNDLED_LUAJIT) add_dependencies(luv luajit) diff --git a/cmake.deps/cmake/BuildMsgpack.cmake b/cmake.deps/cmake/BuildMsgpack.cmake index f63559e6b4..f60bdad5c9 100644 --- a/cmake.deps/cmake/BuildMsgpack.cmake +++ b/cmake.deps/cmake/BuildMsgpack.cmake @@ -1,9 +1,9 @@ ExternalProject_Add(msgpack URL ${MSGPACK_URL} URL_HASH SHA256=${MSGPACK_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/msgpack CMAKE_ARGS ${DEPS_CMAKE_ARGS} -D MSGPACK_BUILD_TESTS=OFF -D MSGPACK_BUILD_EXAMPLES=OFF - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildTreesitter.cmake b/cmake.deps/cmake/BuildTreesitter.cmake index da5d212520..c17773ae9d 100644 --- a/cmake.deps/cmake/BuildTreesitter.cmake +++ b/cmake.deps/cmake/BuildTreesitter.cmake @@ -1,11 +1,11 @@ ExternalProject_Add(treesitter URL ${TREESITTER_URL} URL_HASH SHA256=${TREESITTER_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/treesitter INSTALL_DIR ${DEPS_INSTALL_DIR} PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/TreesitterCMakeLists.txt ${DEPS_BUILD_DIR}/src/treesitter/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index e54544740e..eddc896e69 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -24,14 +24,14 @@ function(BuildTSParser) ExternalProject_Add(${NAME} URL ${URL} URL_HASH SHA256=${HASH} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/${NAME} PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cmake/${TS_CMAKE_FILE} ${DEPS_BUILD_DIR}/src/${NAME}/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} -D PARSERLANG=${TS_LANG} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) endfunction() foreach(lang c lua vim vimdoc query python bash) diff --git a/cmake.deps/cmake/BuildUnibilium.cmake b/cmake.deps/cmake/BuildUnibilium.cmake index 8f27bd52a8..9f1871aaf5 100644 --- a/cmake.deps/cmake/BuildUnibilium.cmake +++ b/cmake.deps/cmake/BuildUnibilium.cmake @@ -1,7 +1,7 @@ ExternalProject_Add(unibilium URL ${UNIBILIUM_URL} URL_HASH SHA256=${UNIBILIUM_SHA256} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/unibilium CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS}) + CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} + ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/GetBinaryDeps.cmake b/cmake.deps/cmake/GetBinaryDeps.cmake index a98f0f5062..2f1e237588 100644 --- a/cmake.deps/cmake/GetBinaryDeps.cmake +++ b/cmake.deps/cmake/GetBinaryDeps.cmake @@ -18,13 +18,13 @@ function(GetBinaryDep) ExternalProject_Add(${_gettool_TARGET} URL ${URL} URL_HASH SHA256=${HASH} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR} CONFIGURE_COMMAND "" BUILD_IN_SOURCE 1 BUILD_COMMAND "" INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} - COMMAND "${_gettool_INSTALL_COMMAND}") + COMMAND "${_gettool_INSTALL_COMMAND}" + ${EXTERNALPROJECT_OPTIONS}) endfunction() # Download executable and move it to DEPS_BIN_DIR @@ -43,11 +43,11 @@ function(GetExecutable) ExternalProject_Add(${ARG_TARGET} URL ${URL} URL_HASH SHA256=${HASH} - DOWNLOAD_NO_PROGRESS TRUE DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR} DOWNLOAD_NO_EXTRACT TRUE CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_BIN_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BIN_DIR}) + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BIN_DIR} + ${EXTERNALPROJECT_OPTIONS}) endfunction() diff --git a/cmake.deps/cmake/GettextCMakeLists.txt b/cmake.deps/cmake/GettextCMakeLists.txt index 0c22efe4a6..e40a73d0c2 100644 --- a/cmake.deps/cmake/GettextCMakeLists.txt +++ b/cmake.deps/cmake/GettextCMakeLists.txt @@ -1,6 +1,14 @@ cmake_minimum_required(VERSION 3.10) + +# Can be removed once minimum version is at least 3.15 +if(POLICY CMP0092) + cmake_policy(SET CMP0092 NEW) +endif() project(gettext C) +add_compile_options(-w) +set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4006") + # Adds PREFIX to each item in LIST macro(PREFIX_LIST_ITEMS LIST PREFIX) string(REPLACE ";" ";${PREFIX}" ${LIST} ";${${LIST}}") diff --git a/cmake.deps/cmake/LibiconvCMakeLists.txt b/cmake.deps/cmake/LibiconvCMakeLists.txt index c9af1a67e4..ec80c93e71 100644 --- a/cmake.deps/cmake/LibiconvCMakeLists.txt +++ b/cmake.deps/cmake/LibiconvCMakeLists.txt @@ -1,6 +1,13 @@ cmake_minimum_required(VERSION 3.10) + +# Can be removed once minimum version is at least 3.15 +if(POLICY CMP0092) + cmake_policy(SET CMP0092 NEW) +endif() project(libiconv C) +add_compile_options(-w) + include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/srclib diff --git a/cmake.deps/cmake/LibtermkeyCMakeLists.txt b/cmake.deps/cmake/LibtermkeyCMakeLists.txt index 4b5a5a4ea8..24d67a7ba5 100644 --- a/cmake.deps/cmake/LibtermkeyCMakeLists.txt +++ b/cmake.deps/cmake/LibtermkeyCMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 3.10) +# Can be removed once minimum version is at least 3.15 +if(POLICY CMP0092) + cmake_policy(SET CMP0092 NEW) +endif() project(libtermkey C) +add_compile_options(-w) + if(EXISTS ${PROJECT_SOURCE_DIR}/termkey.h.in) file(STRINGS Makefile TERMKEY_VERSION_MAJOR REGEX "VERSION_MAJOR") string(REGEX MATCH "[0-9]+" TERMKEY_VERSION_MAJOR ${TERMKEY_VERSION_MAJOR}) diff --git a/cmake.deps/cmake/LibvtermCMakeLists.txt b/cmake.deps/cmake/LibvtermCMakeLists.txt index f9b448b50d..519926e542 100644 --- a/cmake.deps/cmake/LibvtermCMakeLists.txt +++ b/cmake.deps/cmake/LibvtermCMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 3.10) +# Can be removed once minimum version is at least 3.15 +if(POLICY CMP0092) + cmake_policy(SET CMP0092 NEW) +endif() project(libvterm C) +add_compile_options(-w) + include(GNUInstallDirs) set(DECDRAWING [[ diff --git a/cmake.deps/cmake/LpegCMakeLists.txt b/cmake.deps/cmake/LpegCMakeLists.txt index ad2f062487..a3b3327cf7 100644 --- a/cmake.deps/cmake/LpegCMakeLists.txt +++ b/cmake.deps/cmake/LpegCMakeLists.txt @@ -1,13 +1,13 @@ cmake_minimum_required(VERSION 3.10) project (lpeg C) -add_compile_options(-w) - include(GNUInstallDirs) file(GLOB LPEG_SOURCES ${CMAKE_SOURCE_DIR}/*.c) add_library(lpeg ${LPEG_SOURCES}) +target_compile_options(lpeg PRIVATE -w) + install(TARGETS lpeg ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) # vim: set ft=cmake: diff --git a/cmake.deps/cmake/MarkdownParserCMakeLists.txt b/cmake.deps/cmake/MarkdownParserCMakeLists.txt index a356aaa391..a5917334c9 100644 --- a/cmake.deps/cmake/MarkdownParserCMakeLists.txt +++ b/cmake.deps/cmake/MarkdownParserCMakeLists.txt @@ -1,6 +1,11 @@ cmake_minimum_required(VERSION 3.10) +# Can be removed once minimum version is at least 3.15 +if(POLICY CMP0092) + cmake_policy(SET CMP0092 NEW) +endif() project(${PARSERLANG} C) +add_compile_options(-w) set(CMAKE_C_STANDARD 99) add_library(markdown MODULE diff --git a/cmake.deps/cmake/TreesitterCMakeLists.txt b/cmake.deps/cmake/TreesitterCMakeLists.txt index e9728a4093..3d80ffc331 100644 --- a/cmake.deps/cmake/TreesitterCMakeLists.txt +++ b/cmake.deps/cmake/TreesitterCMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 3.10) +# Can be removed once minimum version is at least 3.15 +if(POLICY CMP0092) + cmake_policy(SET CMP0092 NEW) +endif() project(treesitter C) +add_compile_options(-w) + add_library(tree-sitter lib/src/lib.c) target_include_directories(tree-sitter PRIVATE lib/src lib/include) diff --git a/cmake.deps/cmake/TreesitterParserCMakeLists.txt b/cmake.deps/cmake/TreesitterParserCMakeLists.txt index 42386185e7..bdb3f05c11 100644 --- a/cmake.deps/cmake/TreesitterParserCMakeLists.txt +++ b/cmake.deps/cmake/TreesitterParserCMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 3.10) +# Can be removed once minimum version is at least 3.15 +if(POLICY CMP0092) + cmake_policy(SET CMP0092 NEW) +endif() project(parser C) +add_compile_options(-w) + file(GLOB source_files src/*.c) add_library(parser -- cgit