mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-22 23:52:03 +00:00
107 lines
3.0 KiB
CMake
107 lines
3.0 KiB
CMake
set (CONFIG_VERSION ${CMAKE_CURRENT_BINARY_DIR}/include/common/config_version.h)
|
|
set (CONFIG_COMMON ${CMAKE_CURRENT_BINARY_DIR}/include/common/config_common.h)
|
|
set (CONFIG_BUILD ${CMAKE_CURRENT_BINARY_DIR}/src/config_build.cpp)
|
|
|
|
include_directories (include)
|
|
include_directories (BEFORE ${ClickHouse_SOURCE_DIR}/contrib/libcctz/include)
|
|
|
|
include(${ClickHouse_SOURCE_DIR}/cmake/dbms_include.cmake)
|
|
|
|
if (APPLE)
|
|
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin" AND NOT "${CMAKE_SYSTEM_VERSION}" VERSION_LESS "16.1.0")
|
|
set (APPLE_SIERRA_OR_NEWER 1)
|
|
else ()
|
|
set (APPLE_SIERRA_OR_NEWER 0)
|
|
endif ()
|
|
endif ()
|
|
|
|
include (cmake/version.cmake)
|
|
message (STATUS "Will build ${VERSION_FULL}")
|
|
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/include/common/config_common.h.in ${CONFIG_COMMON})
|
|
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/include/common/config_version.h.in ${CONFIG_VERSION})
|
|
|
|
get_property (BUILD_COMPILE_DEFINITIONS DIRECTORY ${ClickHouse_SOURCE_DIR} PROPERTY COMPILE_DEFINITIONS)
|
|
get_property (BUILD_INCLUDE_DIRECTORIES DIRECTORY ${ClickHouse_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
|
|
|
|
string (TIMESTAMP BUILD_DATE "%Y-%m-%d" UTC)
|
|
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/src/config_build.cpp.in ${CONFIG_BUILD})
|
|
|
|
if (APPLE)
|
|
add_library (apple_rt
|
|
src/apple_rt.cpp
|
|
include/common/apple_rt.h
|
|
)
|
|
endif ()
|
|
|
|
add_library (common
|
|
src/DateLUT.cpp
|
|
src/DateLUTImpl.cpp
|
|
src/exp10.cpp
|
|
src/ClickHouseRevision.cpp
|
|
src/JSON.cpp
|
|
|
|
include/common/ApplicationServerExt.h
|
|
include/common/Common.h
|
|
include/common/DateLUT.h
|
|
include/common/DateLUTImpl.h
|
|
include/common/LocalDate.h
|
|
include/common/LocalDateTime.h
|
|
include/common/ErrorHandlers.h
|
|
include/common/exp10.h
|
|
include/common/likely.h
|
|
include/common/logger_useful.h
|
|
include/common/MultiVersion.h
|
|
include/common/ClickHouseRevision.h
|
|
include/common/singleton.h
|
|
include/common/strong_typedef.h
|
|
include/common/JSON.h
|
|
include/common/config_build.h
|
|
|
|
include/ext/bit_cast.hpp
|
|
include/ext/collection_cast.hpp
|
|
include/ext/enumerate.hpp
|
|
include/ext/function_traits.hpp
|
|
include/ext/identity.hpp
|
|
include/ext/map.hpp
|
|
include/ext/range.hpp
|
|
include/ext/scope_guard.hpp
|
|
include/ext/size.hpp
|
|
include/ext/unlock_guard.hpp
|
|
|
|
${CONFIG_VERSION}
|
|
${CONFIG_COMMON}
|
|
${CONFIG_BUILD}
|
|
)
|
|
|
|
# When testing for memory leaks, dont link tcmalloc or jemalloc.
|
|
|
|
if (USE_JEMALLOC)
|
|
message (STATUS "Link jemalloc : ${JEMALLOC_LIBRARIES}")
|
|
set (MALLOC_LIBRARIES ${JEMALLOC_LIBRARIES})
|
|
elseif (USE_TCMALLOC)
|
|
if (DEBUG_LIBTCMALLOC)
|
|
message (STATUS "Link libtcmalloc_minimal_debug for testing: ${GPERFTOOLS_TCMALLOC_MINIMAL_DEBUG}")
|
|
set (MALLOC_LIBRARIES ${GPERFTOOLS_TCMALLOC_MINIMAL_DEBUG})
|
|
else ()
|
|
message (STATUS "Link libtcmalloc_minimal : ${GPERFTOOLS_TCMALLOC_MINIMAL}")
|
|
set (MALLOC_LIBRARIES ${GPERFTOOLS_TCMALLOC_MINIMAL})
|
|
endif ()
|
|
else ()
|
|
message (STATUS "Disabling libtcmalloc for valgrind better analysis")
|
|
endif ()
|
|
|
|
find_package (Threads)
|
|
|
|
target_link_libraries (
|
|
common
|
|
pocoext
|
|
cctz
|
|
${MALLOC_LIBRARIES}
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
${ICU_LIBS}
|
|
${RT_LIBRARIES})
|
|
|
|
if (ENABLE_TESTS)
|
|
add_subdirectory (src/tests)
|
|
endif (ENABLE_TESTS)
|