mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-11 17:02:25 +00:00
b94de32423
xxhash.h does not exist in external lz4 because it is an implementation detail and its symbols are namespaced with XXH_NAMESPACE macro. When lz4 is external, xxHash has to be external too, and the dependents have to link to it. This find_xxhash.cmake is based on find_lz4.cmake.
23 lines
774 B
CMake
23 lines
774 B
CMake
option (USE_INTERNAL_XXHASH_LIBRARY "Set to FALSE to use system xxHash library instead of bundled" ${NOT_UNBUNDLED})
|
|
|
|
if (USE_INTERNAL_XXHASH_LIBRARY AND NOT USE_INTERNAL_LZ4_LIBRARY)
|
|
message (WARNING "can not use internal xxhash without internal lz4")
|
|
set (USE_INTERNAL_XXHASH_LIBRARY 0)
|
|
endif ()
|
|
|
|
if (USE_INTERNAL_XXHASH_LIBRARY)
|
|
set (XXHASH_LIBRARY lz4)
|
|
set (XXHASH_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/lz4/lib)
|
|
else ()
|
|
find_library (XXHASH_LIBRARY xxhash)
|
|
find_path (XXHASH_INCLUDE_DIR NAMES xxhash.h PATHS ${XXHASH_INCLUDE_PATHS})
|
|
endif ()
|
|
|
|
if (XXHASH_LIBRARY AND XXHASH_INCLUDE_DIR)
|
|
set (USE_XXHASH 1)
|
|
else ()
|
|
set (USE_XXHASH 0)
|
|
endif ()
|
|
|
|
message (STATUS "Using xxhash=${USE_XXHASH}: ${XXHASH_INCLUDE_DIR} : ${XXHASH_LIBRARY}")
|