diff options
Diffstat (limited to 'cmake.deps/cmake/BuildTreesitter.cmake')
-rw-r--r-- | cmake.deps/cmake/BuildTreesitter.cmake | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/cmake.deps/cmake/BuildTreesitter.cmake b/cmake.deps/cmake/BuildTreesitter.cmake index 7eb98163b9..55526b6f1d 100644 --- a/cmake.deps/cmake/BuildTreesitter.cmake +++ b/cmake.deps/cmake/BuildTreesitter.cmake @@ -1,8 +1,24 @@ +if(ENABLE_WASMTIME) + if(USE_BUNDLED_WASMTIME) + set(WASMTIME_CACHE_ARGS "-DCMAKE_C_FLAGS:STRING=-I${DEPS_INSTALL_DIR}/include/wasmtime -I${DEPS_INSTALL_DIR}/include") + else() + find_package(Wasmtime 24.0.0 EXACT REQUIRED) + set(WASMTIME_CACHE_ARGS "-DCMAKE_C_FLAGS:STRING=-I${WASMTIME_INCLUDE_DIR}") + endif() + string(APPEND WASMTIME_CACHE_ARGS " -DTREE_SITTER_FEATURE_WASM") + set(WASMTIME_ARGS -D CMAKE_C_STANDARD=11) +endif() + get_externalproject_options(treesitter ${DEPS_IGNORE_SHA}) ExternalProject_Add(treesitter DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/treesitter 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_ARGS ${DEPS_CMAKE_ARGS} ${WASMTIME_ARGS} + CMAKE_CACHE_ARGS ${WASMTIME_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) + +if(USE_BUNDLED_WASMTIME) + add_dependencies(treesitter wasmtime) +endif() |