diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2023-04-04 19:27:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-04 19:27:21 +0200 |
commit | 81f2bce775bc7e7392b51538b94a0d62d6ab15b4 (patch) | |
tree | 09505c16a42463673c06a53c531da70438b3086a /cmake.deps/cmake | |
parent | a5c572bd446a89be2dccb2f7479ff1b017074640 (diff) | |
download | rneovim-81f2bce775bc7e7392b51538b94a0d62d6ab15b4.tar.gz rneovim-81f2bce775bc7e7392b51538b94a0d62d6ab15b4.tar.bz2 rneovim-81f2bce775bc7e7392b51538b94a0d62d6ab15b4.zip |
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
Diffstat (limited to 'cmake.deps/cmake')
-rw-r--r-- | cmake.deps/cmake/BuildLibtermkey.cmake | 2 | ||||
-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 |
5 files changed, 26 insertions, 37 deletions
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 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 |