@@ -5,13 +5,17 @@ all: release
5
5
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST ) ) )
6
6
PROJ_DIR := $(dir $(MKFILE_PATH ) )
7
7
8
+ CMAKE_VARS ?=
8
9
OSX_BUILD_ARCH_FLAG =
9
10
ifneq (${OSX_BUILD_ARCH}, "")
10
11
OSX_BUILD_ARCH_FLAG=-DOSX_BUILD_ARCH=${OSX_BUILD_ARCH}
11
12
endif
12
13
ifeq (${STATIC_LIBCPP}, 1)
13
14
STATIC_LIBCPP=-DSTATIC_LIBCPP=TRUE
14
15
endif
16
+ ifeq (${DISABLE_EXTENSION_LOAD}, 1)
17
+ CMAKE_VARS:=${CMAKE_VARS} -DDISABLE_EXTENSION_LOAD=1
18
+ endif
15
19
16
20
ifeq ($(GEN ) ,ninja)
17
21
GENERATOR=-G "Ninja"
@@ -23,7 +27,12 @@ BUILD_FLAGS=-DEXTENSION_STATIC_BUILD=1 -DBUILD_EXTENSIONS="" ${OSX_BUILD_ARCH_FL
23
27
CLIENT_FLAGS :=
24
28
25
29
# These flags will make DuckDB build the extension
26
- EXTENSION_FLAGS=-DDUCKDB_EXTENSION_NAMES ="arrow" -DDUCKDB_EXTENSION_ARROW_PATH="$(PROJ_DIR ) " -DDUCKDB_EXTENSION_ARROW_SHOULD_LINK=1 -DDUCKDB_EXTENSION_ARROW_INCLUDE_PATH="$(PROJ_DIR ) src/include"
30
+ EXTENSION_FLAGS =\
31
+ -DDUCKDB_EXTENSION_NAMES="arrow" \
32
+ -DDUCKDB_EXTENSION_ARROW_PATH="$(PROJ_DIR ) " \
33
+ -DDUCKDB_EXTENSION_ARROW_LOAD_TESTS=1 \
34
+ -DDUCKDB_EXTENSION_ARROW_TEST_PATH=$(PROJ_DIR ) test \
35
+ -DDUCKDB_EXTENSION_ARROW_INCLUDE_PATH="$(PROJ_DIR ) src/include"
27
36
28
37
pull :
29
38
git submodule init
@@ -37,41 +46,28 @@ clean:
37
46
# Main build
38
47
debug :
39
48
mkdir -p build/debug && \
40
- cmake $(GENERATOR ) $(FORCE_COLOR ) $(EXTENSION_FLAGS ) ${CLIENT_FLAGS} -DEXTENSION_STATIC_BUILD=1 -DCMAKE_BUILD_TYPE=Debug ${BUILD_FLAGS} -S ./duckdb/ -B build/debug && \
49
+ cmake $(GENERATOR ) $(FORCE_COLOR ) $(EXTENSION_FLAGS ) -DDUCKDB_EXTENSION_ARROW_SHOULD_LINK=0 ${CLIENT_FLAGS} ${CMAKE_VARS } -DEXTENSION_STATIC_BUILD=1 -DCMAKE_BUILD_TYPE=Debug ${BUILD_FLAGS} -S ./duckdb/ -B build/debug && \
41
50
cmake --build build/debug --config Debug
42
51
43
52
release :
44
53
mkdir -p build/release && \
45
- cmake $(GENERATOR ) $(FORCE_COLOR ) $(EXTENSION_FLAGS ) ${CLIENT_FLAGS} -DEXTENSION_STATIC_BUILD=1 -DCMAKE_BUILD_TYPE=Release ${BUILD_FLAGS} -S ./duckdb/ -B build/release && \
54
+ cmake $(GENERATOR ) $(FORCE_COLOR ) $(EXTENSION_FLAGS ) -DDUCKDB_EXTENSION_ARROW_SHOULD_LINK=0 ${CLIENT_FLAGS} ${CMAKE_VARS } -DEXTENSION_STATIC_BUILD=1 -DCMAKE_BUILD_TYPE=Release ${BUILD_FLAGS} -S ./duckdb/ -B build/release && \
46
55
cmake --build build/release --config Release
47
56
48
57
# Client build
49
- debug_js : CLIENT_FLAGS=-DBUILD_NODE=1 -DBUILD_EXTENSIONS=json
58
+ debug_js : CLIENT_FLAGS=-DBUILD_NODE=1 -DBUILD_EXTENSIONS=json -DDUCKDB_EXTENSION_ARROW_SHOULD_LINK=1
50
59
debug_js : debug
51
-
52
- debug_r : CLIENT_FLAGS=-DBUILD_R=1
53
- debug_r : debug
54
-
55
- debug_python : CLIENT_FLAGS=-DBUILD_PYTHON=1 -DBUILD_EXTENSIONS=json;fts;tpch;visualizer;tpcds
56
- debug_python : debug
57
-
58
- release_js : CLIENT_FLAGS=-DBUILD_NODE=1 -DBUILD_EXTENSIONS=json
60
+ release_js : CLIENT_FLAGS=-DBUILD_NODE=1 -DBUILD_EXTENSIONS=json -DDUCKDB_EXTENSION_ARROW_SHOULD_LINK=1
59
61
release_js : release
60
62
61
- release_r : CLIENT_FLAGS=-DBUILD_R=1
62
- release_r : release
63
-
64
- release_python : CLIENT_FLAGS=-DBUILD_PYTHON=1 -DBUILD_EXTENSIONS=json;fts;tpch;visualizer;tpcds
65
- release_python : release
66
-
67
63
# Main tests
68
64
test : test_release
69
65
70
66
test_release : release
71
- ./build/release/test/unittest --test-dir . " [sql] "
67
+ ./build/release/test/unittest " $( PROJ_DIR ) test/* "
72
68
73
69
test_debug : debug
74
- ./build/debug /test/unittest --test-dir . " [sql] "
70
+ ./build/release /test/unittest " $( PROJ_DIR ) test/* "
75
71
76
72
# Client tests
77
73
test_js : test_debug_js
@@ -81,13 +77,6 @@ test_debug_js: debug_js
81
77
test_release_js : release_js
82
78
cd duckdb/tools/nodejs && npm run test-path -- " ../../../test/nodejs/**/*.js"
83
79
84
- test_python : test_debug_python
85
- test_debug_python : debug_python
86
- cd test/python && python3 -m pytest
87
-
88
- test_release_python : release_python
89
- cd test/python && python3 -m pytest
90
-
91
80
format :
92
81
find src/ -iname * .hpp -o -iname * .cpp | xargs clang-format --sort-includes=0 -style=file -i
93
82
cmake-format -i CMakeLists.txt
0 commit comments