-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
48 lines (40 loc) · 1.77 KB
/
CMakeLists.txt
File metadata and controls
48 lines (40 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
cmake_minimum_required(VERSION 3.5)
include(FetchContent)
# Set extension name here
set(TARGET_NAME nanoarrow)
set(NANOARROW_IPC ON)
set(NANOARROW_NAMESPACE "DuckDBExt${TARGET_NAME}")
fetchcontent_declare(nanoarrow
URL "https://github.com/apache/arrow-nanoarrow/archive/4bf5a9322626e95e3717e43de7616c0a256179eb.zip"
URL_HASH SHA256=49d588ee758a2a1d099ed4525c583a04adf71ce40405011e0190aa1e75e61b59
)
fetchcontent_makeavailable(nanoarrow)
set(EXTENSION_NAME ${TARGET_NAME}_extension)
set(LOADABLE_EXTENSION_NAME ${TARGET_NAME}_loadable_extension)
project(${TARGET_NAME})
include_directories(src/include)
set(EXTENSION_SOURCES
src/file_scanner/arrow_file_scan.cpp
src/file_scanner/arrow_multi_file_info.cpp
src/ipc/array_stream.cpp
src/ipc/stream_factory.cpp
src/ipc/stream_reader/base_stream_reader.cpp
src/ipc/stream_reader/ipc_file_stream_reader.cpp
src/ipc/stream_reader/ipc_buffer_stream_reader.cpp
src/scanner/read_arrow.cpp
src/scanner/scan_arrow_ipc.cpp
src/nanoarrow_extension.cpp
src/writer/arrow_stream_writer.cpp
src/writer/column_data_collection_serializer.cpp
src/writer/write_arrow_stream.cpp
src/writer/to_arrow_ipc.cpp)
build_static_extension(${TARGET_NAME} ${EXTENSION_SOURCES})
build_loadable_extension(${TARGET_NAME} " " ${EXTENSION_SOURCES})
# Link nanoarrow in both the static library as the loadable extension
target_link_libraries(${EXTENSION_NAME} nanoarrow::nanoarrow nanoarrow::nanoarrow_ipc)
target_link_libraries(${LOADABLE_EXTENSION_NAME} nanoarrow::nanoarrow
nanoarrow::nanoarrow_ipc)
install(TARGETS ${EXTENSION_NAME}
EXPORT "${DUCKDB_EXPORT_SET}"
LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}")