cloudflare/ClickHouse
Publicmirrored fromhttps://github.com/cloudflare/ClickHouse
cmake/find_brotli.cmake
36lines · modecode
unknown
| 1 | option (ENABLE_BROTLI "Enable brotli" ON) |
| 2 | |
| 3 | if (ENABLE_BROTLI) |
| 4 | |
| 5 | option (USE_INTERNAL_BROTLI_LIBRARY "Set to FALSE to use system libbrotli library instead of bundled" ${NOT_UNBUNDLED}) |
| 6 | |
| 7 | if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/brotli/c/include/brotli/decode.h") |
| 8 | if (USE_INTERNAL_BROTLI_LIBRARY) |
| 9 | message (WARNING "submodule contrib/brotli is missing. to fix try run: \n git submodule update --init --recursive") |
| 10 | set (USE_INTERNAL_BROTLI_LIBRARY 0) |
| 11 | endif () |
| 12 | set (MISSING_INTERNAL_BROTLI_LIBRARY 1) |
| 13 | endif () |
| 14 | |
| 15 | if(NOT USE_INTERNAL_BROTLI_LIBRARY) |
| 16 | find_library(BROTLI_LIBRARY_COMMON brotlicommon) |
| 17 | find_library(BROTLI_LIBRARY_DEC brotlidec) |
| 18 | find_library(BROTLI_LIBRARY_ENC brotlienc) |
| 19 | find_path(BROTLI_INCLUDE_DIR NAMES brotli/decode.h brotli/encode.h brotli/port.h brotli/types.h PATHS ${BROTLI_INCLUDE_PATHS}) |
| 20 | if(BROTLI_LIBRARY_DEC AND BROTLI_LIBRARY_ENC AND BROTLI_LIBRARY_COMMON) |
| 21 | set(BROTLI_LIBRARY ${BROTLI_LIBRARY_DEC} ${BROTLI_LIBRARY_ENC} ${BROTLI_LIBRARY_COMMON}) |
| 22 | endif() |
| 23 | endif() |
| 24 | |
| 25 | if (BROTLI_LIBRARY AND BROTLI_INCLUDE_DIR) |
| 26 | set (USE_BROTLI 1) |
| 27 | elseif (NOT MISSING_INTERNAL_BROTLI_LIBRARY) |
| 28 | set (BROTLI_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/brotli/c/include) |
| 29 | set (USE_INTERNAL_BROTLI_LIBRARY 1) |
| 30 | set (BROTLI_LIBRARY brotli) |
| 31 | set (USE_BROTLI 1) |
| 32 | endif () |
| 33 | |
| 34 | endif() |
| 35 | |
| 36 | message (STATUS "Using brotli=${USE_BROTLI}: ${BROTLI_INCLUDE_DIR} : ${BROTLI_LIBRARY}") |