From 666db18c28ea2da32ee0c124e4ce8a00976ecd45 Mon Sep 17 00:00:00 2001 From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Date: Fri, 4 Oct 2024 13:09:17 +0800 Subject: [PATCH] build(cmake): support amalgamated build This mirrors passing `AMALGAMATED=1` to `make` when using the `Makefile`. It can be enabled by passing `-DAMALGAMATED=ON` to `cmake`. --- lib/CMakeLists.txt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 7d465419..ce93620e 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -8,9 +8,14 @@ project(tree-sitter option(BUILD_SHARED_LIBS "Build using shared libraries" ON) option(TREE_SITTER_FEATURE_WASM "Enable the Wasm feature" OFF) +option(AMALGAMATED "Build using an amalgamated source" OFF) -file(GLOB TS_SOURCE_FILES src/*.c) -list(REMOVE_ITEM TS_SOURCE_FILES "${PROJECT_SOURCE_DIR}/src/lib.c") +if(AMALGAMATED) + set(TS_SOURCE_FILES "${PROJECT_SOURCE_DIR}/src/lib.c") +else() + file(GLOB TS_SOURCE_FILES src/*.c) + list(REMOVE_ITEM TS_SOURCE_FILES "${PROJECT_SOURCE_DIR}/src/lib.c") +endif() add_library(tree-sitter ${TS_SOURCE_FILES})