mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-01 06:00:49 +00:00
bebaf9d861
* Fix includes * Faster compile * WTFix * Limit compile and linking jobs according to available memory * Add comment * fix * Remove ALL from copy-headers target * Freebsd fix * Better * cmake: split use libcxx
56 lines
1.9 KiB
CMake
56 lines
1.9 KiB
CMake
include(${ClickHouse_SOURCE_DIR}/cmake/dbms_glob_sources.cmake)
|
|
|
|
add_headers_and_sources(clickhouse_functions ./GatherUtils)
|
|
add_headers_and_sources(clickhouse_functions .)
|
|
|
|
|
|
list(REMOVE_ITEM clickhouse_functions_sources IFunction.cpp FunctionFactory.cpp FunctionHelpers.cpp)
|
|
list(REMOVE_ITEM clickhouse_functions_headers IFunction.h FunctionFactory.h FunctionHelpers.h)
|
|
|
|
add_library(clickhouse_functions ${LINK_MODE} ${clickhouse_functions_sources})
|
|
|
|
target_link_libraries(clickhouse_functions
|
|
PUBLIC
|
|
dbms
|
|
PRIVATE
|
|
clickhouse_dictionaries
|
|
${CONSISTENT_HASHING_LIBRARY}
|
|
consistent-hashing-sumbur
|
|
${FARMHASH_LIBRARIES}
|
|
${METROHASH_LIBRARIES}
|
|
murmurhash
|
|
${BASE64_LIBRARY}
|
|
${OPENSSL_CRYPTO_LIBRARY}
|
|
${LZ4_LIBRARY})
|
|
|
|
target_include_directories (clickhouse_functions SYSTEM BEFORE PUBLIC ${DIVIDE_INCLUDE_DIR})
|
|
|
|
if (CONSISTENT_HASHING_INCLUDE_DIR)
|
|
target_include_directories (clickhouse_functions PRIVATE ${CONSISTENT_HASHING_INCLUDE_DIR})
|
|
endif ()
|
|
|
|
if (CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE" OR CMAKE_BUILD_TYPE_UC STREQUAL "RELWITHDEBINFO" OR CMAKE_BUILD_TYPE_UC STREQUAL "MINSIZEREL")
|
|
# Won't generate debug info for files with heavy template instantiation to achieve faster linking and lower size.
|
|
target_compile_options(clickhouse_functions PRIVATE "-g0")
|
|
endif ()
|
|
|
|
if (USE_ICU)
|
|
target_link_libraries (clickhouse_functions PRIVATE ${ICU_LIBRARIES})
|
|
endif ()
|
|
|
|
if (USE_VECTORCLASS)
|
|
target_include_directories (clickhouse_functions SYSTEM BEFORE PUBLIC ${VECTORCLASS_INCLUDE_DIR})
|
|
endif ()
|
|
|
|
if (ENABLE_TESTS)
|
|
add_subdirectory (tests)
|
|
endif ()
|
|
|
|
if (USE_EMBEDDED_COMPILER)
|
|
target_include_directories (clickhouse_functions SYSTEM BEFORE PUBLIC ${LLVM_INCLUDE_DIRS})
|
|
endif ()
|
|
|
|
if (USE_BASE64)
|
|
target_include_directories (clickhouse_functions SYSTEM PRIVATE ${BASE64_INCLUDE_DIR})
|
|
endif()
|