|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(BrotliAlt_FOUND) |
|
return() |
|
endif() |
|
|
|
if(ARROW_PACKAGE_KIND STREQUAL "vcpkg" OR ARROW_PACKAGE_KIND STREQUAL "conan") |
|
set(find_package_args "") |
|
if(BrotliAlt_FIND_VERSION) |
|
list(APPEND find_package_args ${BrotliAlt_FIND_VERSION}) |
|
endif() |
|
if(BrotliAlt_FIND_QUIETLY) |
|
list(APPEND find_package_args QUIET) |
|
endif() |
|
if(BrotliAlt_FIND_REQUIRED) |
|
list(APPEND find_package_args REQUIRED) |
|
endif() |
|
if(ARROW_PACKAGE_KIND STREQUAL "vcpkg") |
|
find_package(BrotliAlt NAMES unofficial-brotli ${find_package_args}) |
|
else() |
|
find_package(BrotliAlt NAMES brotli ${find_package_args}) |
|
endif() |
|
set(Brotli_FOUND ${BrotliAlt_FOUND}) |
|
if(BrotliAlt_FOUND) |
|
if(ARROW_PACKAGE_KIND STREQUAL "vcpkg") |
|
add_library(Brotli::brotlicommon ALIAS unofficial::brotli::brotlicommon) |
|
add_library(Brotli::brotlienc ALIAS unofficial::brotli::brotlienc) |
|
add_library(Brotli::brotlidec ALIAS unofficial::brotli::brotlidec) |
|
else() |
|
add_library(Brotli::brotlicommon ALIAS brotli::brotlicommon) |
|
add_library(Brotli::brotlienc ALIAS brotli::brotlienc) |
|
add_library(Brotli::brotlidec ALIAS brotli::brotlidec) |
|
endif() |
|
return() |
|
endif() |
|
endif() |
|
|
|
if(ARROW_BROTLI_USE_SHARED) |
|
set(BROTLI_COMMON_LIB_NAMES |
|
brotlicommon |
|
${CMAKE_SHARED_LIBRARY_PREFIX}brotlicommon${CMAKE_SHARED_LIBRARY_SUFFIX}) |
|
|
|
set(BROTLI_ENC_LIB_NAMES |
|
brotlienc ${CMAKE_SHARED_LIBRARY_PREFIX}brotlienc${CMAKE_SHARED_LIBRARY_SUFFIX}) |
|
|
|
set(BROTLI_DEC_LIB_NAMES |
|
brotlidec ${CMAKE_SHARED_LIBRARY_PREFIX}brotlidec${CMAKE_SHARED_LIBRARY_SUFFIX}) |
|
else() |
|
set(BROTLI_COMMON_LIB_NAMES |
|
brotlicommon-static |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon-static${CMAKE_STATIC_LIBRARY_SUFFIX} |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon_static${CMAKE_STATIC_LIBRARY_SUFFIX} |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlicommon${CMAKE_STATIC_LIBRARY_SUFFIX}) |
|
|
|
set(BROTLI_ENC_LIB_NAMES |
|
brotlienc-static |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc-static${CMAKE_STATIC_LIBRARY_SUFFIX} |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc_static${CMAKE_STATIC_LIBRARY_SUFFIX} |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlienc${CMAKE_STATIC_LIBRARY_SUFFIX}) |
|
|
|
set(BROTLI_DEC_LIB_NAMES |
|
brotlidec-static |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec-static${CMAKE_STATIC_LIBRARY_SUFFIX} |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec_static${CMAKE_STATIC_LIBRARY_SUFFIX} |
|
${CMAKE_STATIC_LIBRARY_PREFIX}brotlidec${CMAKE_STATIC_LIBRARY_SUFFIX}) |
|
endif() |
|
|
|
if(BROTLI_ROOT) |
|
find_library(BROTLI_COMMON_LIBRARY |
|
NAMES ${BROTLI_COMMON_LIB_NAMES} |
|
PATHS ${BROTLI_ROOT} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} |
|
NO_DEFAULT_PATH) |
|
find_library(BROTLI_ENC_LIBRARY |
|
NAMES ${BROTLI_ENC_LIB_NAMES} |
|
PATHS ${BROTLI_ROOT} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} |
|
NO_DEFAULT_PATH) |
|
find_library(BROTLI_DEC_LIBRARY |
|
NAMES ${BROTLI_DEC_LIB_NAMES} |
|
PATHS ${BROTLI_ROOT} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} |
|
NO_DEFAULT_PATH) |
|
find_path(BROTLI_INCLUDE_DIR |
|
NAMES brotli/decode.h |
|
PATHS ${BROTLI_ROOT} |
|
PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES} |
|
NO_DEFAULT_PATH) |
|
else() |
|
find_package(PkgConfig QUIET) |
|
pkg_check_modules(BROTLI_PC libbrotlicommon libbrotlienc libbrotlidec) |
|
if(BROTLI_PC_FOUND) |
|
set(BROTLI_INCLUDE_DIR "${BROTLI_PC_libbrotlicommon_INCLUDEDIR}") |
|
|
|
|
|
list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlicommon_LIBDIR}") |
|
list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlienc_LIBDIR}") |
|
list(APPEND BROTLI_PC_LIBRARY_DIRS "${BROTLI_PC_libbrotlidec_LIBDIR}") |
|
|
|
find_library(BROTLI_COMMON_LIBRARY |
|
NAMES ${BROTLI_COMMON_LIB_NAMES} |
|
PATHS ${BROTLI_PC_LIBRARY_DIRS} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} |
|
NO_DEFAULT_PATH) |
|
find_library(BROTLI_ENC_LIBRARY |
|
NAMES ${BROTLI_ENC_LIB_NAMES} |
|
PATHS ${BROTLI_PC_LIBRARY_DIRS} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} |
|
NO_DEFAULT_PATH) |
|
find_library(BROTLI_DEC_LIBRARY |
|
NAMES ${BROTLI_DEC_LIB_NAMES} |
|
PATHS ${BROTLI_PC_LIBRARY_DIRS} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES} |
|
NO_DEFAULT_PATH) |
|
else() |
|
find_library(BROTLI_COMMON_LIBRARY |
|
NAMES ${BROTLI_COMMON_LIB_NAMES} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) |
|
find_library(BROTLI_ENC_LIBRARY |
|
NAMES ${BROTLI_ENC_LIB_NAMES} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) |
|
find_library(BROTLI_DEC_LIBRARY |
|
NAMES ${BROTLI_DEC_LIB_NAMES} |
|
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}) |
|
find_path(BROTLI_INCLUDE_DIR |
|
NAMES brotli/decode.h |
|
PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES}) |
|
endif() |
|
endif() |
|
|
|
find_package_handle_standard_args( |
|
BrotliAlt REQUIRED_VARS BROTLI_COMMON_LIBRARY BROTLI_ENC_LIBRARY BROTLI_DEC_LIBRARY |
|
BROTLI_INCLUDE_DIR) |
|
set(Brotli_FOUND ${BrotliAlt_FOUND}) |
|
if(BrotliAlt_FOUND) |
|
add_library(Brotli::brotlicommon UNKNOWN IMPORTED) |
|
set_target_properties(Brotli::brotlicommon |
|
PROPERTIES IMPORTED_LOCATION "${BROTLI_COMMON_LIBRARY}" |
|
INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") |
|
add_library(Brotli::brotlienc UNKNOWN IMPORTED) |
|
set_target_properties(Brotli::brotlienc |
|
PROPERTIES IMPORTED_LOCATION "${BROTLI_ENC_LIBRARY}" |
|
INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") |
|
add_library(Brotli::brotlidec UNKNOWN IMPORTED) |
|
set_target_properties(Brotli::brotlidec |
|
PROPERTIES IMPORTED_LOCATION "${BROTLI_DEC_LIBRARY}" |
|
INTERFACE_INCLUDE_DIRECTORIES "${BROTLI_INCLUDE_DIR}") |
|
endif() |
|
|