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/BuildTreesitterParsers.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cmake.deps/cmake/BuildTreesitterParsers.cmake') 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 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/BuildTreesitterParsers.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/BuildTreesitterParsers.cmake | 3 --- 1 file changed, 3 deletions(-) (limited to 'cmake.deps/cmake/BuildTreesitterParsers.cmake') 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} -- 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/BuildTreesitterParsers.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 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/BuildTreesitterParsers.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 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/BuildTreesitterParsers.cmake | 53 +++++++++++---------------- 1 file changed, 21 insertions(+), 32 deletions(-) (limited to 'cmake.deps/cmake/BuildTreesitterParsers.cmake') 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() -- 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 + 1 file changed, 1 insertion(+) (limited to 'cmake.deps/cmake/BuildTreesitterParsers.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) -- 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/BuildTreesitterParsers.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/BuildTreesitterParsers.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 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/BuildTreesitterParsers.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cmake.deps/cmake/BuildTreesitterParsers.cmake') 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) -- cgit