option(ENABLE_BZIP2 "Enable bzip2 compression support" ${ENABLE_LIBRARIES}) if (NOT ENABLE_BZIP2) message (STATUS "bzip2 compression disabled") return() endif() set(BZIP2_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/bzip2") set(BZIP2_BINARY_DIR "${ClickHouse_BINARY_DIR}/contrib/bzip2") set(SRCS "${BZIP2_SOURCE_DIR}/blocksort.c" "${BZIP2_SOURCE_DIR}/huffman.c" "${BZIP2_SOURCE_DIR}/crctable.c" "${BZIP2_SOURCE_DIR}/randtable.c" "${BZIP2_SOURCE_DIR}/compress.c" "${BZIP2_SOURCE_DIR}/decompress.c" "${BZIP2_SOURCE_DIR}/bzlib.c" ) # From bzip2/CMakeLists.txt set(BZ_VERSION "1.0.7") configure_file ( "${BZIP2_SOURCE_DIR}/bz_version.h.in" "${BZIP2_BINARY_DIR}/bz_version.h" ) add_library(_bzip2 ${SRCS}) add_library(ch_contrib::bzip2 ALIAS _bzip2) # To avoid -Wreserved-id-macro we use SYSTEM: # # clickhouse/contrib/bzip2/bzlib.h:23:9: error: macro name is a reserved identifier [-Werror,-Wreserved-id-macro] # #define _BZLIB_H target_include_directories(_bzip2 SYSTEM BEFORE PUBLIC "${BZIP2_SOURCE_DIR}" "${BZIP2_BINARY_DIR}")