diff options
Diffstat (limited to 'cmake.deps')
-rw-r--r-- | cmake.deps/CMakeLists.txt | 20 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLibtermkey.cmake | 2 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildLuarocks.cmake | 18 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildTreesitter.cmake | 6 | ||||
-rw-r--r-- | cmake.deps/cmake/BuildTreesitterParsers.cmake | 53 | ||||
-rw-r--r-- | cmake.deps/cmake/LibtermkeyCMakeLists.txt (renamed from cmake.deps/cmake/libtermkeyCMakeLists.txt) | 0 | ||||
-rw-r--r-- | cmake.deps/cmake/TreesitterCMakeLists.txt | 2 |
7 files changed, 46 insertions, 55 deletions
diff --git a/cmake.deps/CMakeLists.txt b/cmake.deps/CMakeLists.txt index 4659183d19..5ac34cbf26 100644 --- a/cmake.deps/CMakeLists.txt +++ b/cmake.deps/CMakeLists.txt @@ -17,7 +17,8 @@ set(DEPS_CMAKE_ARGS -D CMAKE_C_STANDARD=99 -D CMAKE_GENERATOR=${CMAKE_GENERATOR} -D CMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} - -D CMAKE_POSITION_INDEPENDENT_CODE=ON) + -D CMAKE_POSITION_INDEPENDENT_CODE=ON + -D CMAKE_FIND_FRAMEWORK=${CMAKE_FIND_FRAMEWORK}) set(DEPS_CMAKE_CACHE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}) @@ -187,21 +188,16 @@ set(LIBICONV_SHA256 ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc891 set(TREESITTER_C_URL https://github.com/tree-sitter/tree-sitter-c/archive/v0.20.2.tar.gz) set(TREESITTER_C_SHA256 af66fde03feb0df4faf03750102a0d265b007e5d957057b6b293c13116a70af2 ) - set(TREESITTER_LUA_URL https://github.com/MunifTanjim/tree-sitter-lua/archive/v0.0.14.tar.gz) set(TREESITTER_LUA_SHA256 930d0370dc15b66389869355c8e14305b9ba7aafd36edbfdb468c8023395016d) - -set(TREESITTER_VIM_URL https://github.com/vigoux/tree-sitter-viml/archive/e39a7bbcfdcfc7900629962b785c7e14503ae590.tar.gz) -set(TREESITTER_VIM_SHA256 7ca85fa1a5a9e4d057ff3b7ae53d13d31371973e734ada87a83f3f6cbe9c0e32) - -set(TREESITTER_VIMDOC_URL https://github.com/neovim/tree-sitter-vimdoc/archive/b2ec4ec5f7be24cb6f7ccffafd7204477fe5784a.tar.gz) -set(TREESITTER_VIMDOC_SHA256 0689a57d455243de6c6a6c8737a8ce137e225eb8f32676a7037f7dd13dfaec5d) - +set(TREESITTER_VIM_URL https://github.com/neovim/tree-sitter-vim/archive/v0.3.0.tar.gz) +set(TREESITTER_VIM_SHA256 403acec3efb7cdb18ff3d68640fc823502a4ffcdfbb71cec3f98aa786c21cbe2) +set(TREESITTER_VIMDOC_URL https://github.com/neovim/tree-sitter-vimdoc/archive/v2.0.0.tar.gz) +set(TREESITTER_VIMDOC_SHA256 1ff8f4afd3a9599dd4c3ce87c155660b078c1229704d1a254433e33794b8f274) set(TREESITTER_QUERY_URL https://github.com/nvim-treesitter/tree-sitter-query/archive/v0.1.0.tar.gz) set(TREESITTER_QUERY_SHA256 e2b806f80e8bf1c4f4e5a96248393fe6622fc1fc6189d6896d269658f67f914c) - -set(TREESITTER_URL https://github.com/tree-sitter/tree-sitter/archive/a318b42c8b8594bd5ba1f571ab1d7a929198832c.tar.gz) -set(TREESITTER_SHA256 5f8224431afc36963477e9b69c8c3a31e8e306911185997932fa2cde7d0a2d18) +set(TREESITTER_URL https://github.com/tree-sitter/tree-sitter/archive/v0.20.8.tar.gz) +set(TREESITTER_SHA256 6181ede0b7470bfca37e293e7d5dc1d16469b9485d13f13a605baec4a8b1f791) if(USE_EXISTING_SRC_DIR) get_cmake_property(VARS VARIABLES) 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/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 6e77fd7935..901d1f17da 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -98,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() @@ -134,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() 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 index cefe14e515..cefe14e515 100644 --- a/cmake.deps/cmake/libtermkeyCMakeLists.txt +++ b/cmake.deps/cmake/LibtermkeyCMakeLists.txt 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 |