Files
email-tracker/external/duckdb/extension/parquet/CMakeLists.txt
2025-10-24 19:21:19 -05:00

92 lines
3.4 KiB
CMake

cmake_minimum_required(VERSION 3.5...3.29)
project(ParquetExtension)
include_directories(
include ../../third_party/lz4 ../../third_party/parquet
../../third_party/thrift ../../third_party/snappy
../../third_party/brotli/include)
add_subdirectory(decoder)
add_subdirectory(reader)
add_subdirectory(writer)
set(PARQUET_EXTENSION_FILES
${PARQUET_EXTENSION_FILES}
column_reader.cpp
column_writer.cpp
parquet_crypto.cpp
parquet_extension.cpp
parquet_file_metadata_cache.cpp
parquet_float16.cpp
parquet_multi_file_info.cpp
parquet_metadata.cpp
parquet_reader.cpp
parquet_field_id.cpp
parquet_statistics.cpp
parquet_timestamp.cpp
parquet_writer.cpp
parquet_shredding.cpp
serialize_parquet.cpp
zstd_file_system.cpp
geo_parquet.cpp)
if(NOT CLANG_TIDY)
# parquet/thrift/snappy
set(PARQUET_EXTENSION_FILES
${PARQUET_EXTENSION_FILES}
../../third_party/parquet/parquet_types.cpp
../../third_party/thrift/thrift/protocol/TProtocol.cpp
../../third_party/thrift/thrift/transport/TTransportException.cpp
../../third_party/thrift/thrift/transport/TBufferTransports.cpp
../../third_party/snappy/snappy.cc
../../third_party/snappy/snappy-sinksource.cc)
# lz4
set(PARQUET_EXTENSION_FILES ${PARQUET_EXTENSION_FILES}
../../third_party/lz4/lz4.cpp)
# brotli
set(PARQUET_EXTENSION_FILES
${PARQUET_EXTENSION_FILES}
../../third_party/brotli/enc/dictionary_hash.cpp
../../third_party/brotli/enc/backward_references_hq.cpp
../../third_party/brotli/enc/histogram.cpp
../../third_party/brotli/enc/memory.cpp
../../third_party/brotli/enc/entropy_encode.cpp
../../third_party/brotli/enc/compound_dictionary.cpp
../../third_party/brotli/enc/compress_fragment_two_pass.cpp
../../third_party/brotli/enc/block_splitter.cpp
../../third_party/brotli/enc/command.cpp
../../third_party/brotli/enc/encode.cpp
../../third_party/brotli/enc/encoder_dict.cpp
../../third_party/brotli/enc/cluster.cpp
../../third_party/brotli/enc/backward_references.cpp
../../third_party/brotli/enc/utf8_util.cpp
../../third_party/brotli/enc/compress_fragment.cpp
../../third_party/brotli/enc/fast_log.cpp
../../third_party/brotli/enc/brotli_bit_stream.cpp
../../third_party/brotli/enc/bit_cost.cpp
../../third_party/brotli/enc/static_dict.cpp
../../third_party/brotli/enc/literal_cost.cpp
../../third_party/brotli/enc/metablock.cpp
../../third_party/brotli/common/dictionary.cpp
../../third_party/brotli/common/constants.cpp
../../third_party/brotli/common/transform.cpp
../../third_party/brotli/common/platform.cpp
../../third_party/brotli/common/shared_dictionary.cpp
../../third_party/brotli/common/context.cpp
../../third_party/brotli/dec/state.cpp
../../third_party/brotli/dec/decode.cpp
../../third_party/brotli/dec/huffman.cpp
../../third_party/brotli/dec/bit_reader.cpp)
endif()
build_static_extension(parquet ${PARQUET_EXTENSION_FILES})
set(PARAMETERS "-warnings")
build_loadable_extension(parquet ${PARAMETERS} ${PARQUET_EXTENSION_FILES})
target_link_libraries(parquet_loadable_extension duckdb_mbedtls duckdb_zstd)
install(
TARGETS parquet_extension
EXPORT "${DUCKDB_EXPORT_SET}"
LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}")