ClickHouse/libs/libcommon/CMakeLists.txt
2016-12-06 19:51:34 +03:00

99 lines
2.4 KiB
CMake

SET(REVISIONFILE ${CMAKE_CURRENT_BINARY_DIR}/src/revision.h)
ADD_CUSTOM_COMMAND(
OUTPUT ${REVISIONFILE}
COMMAND bash -f -v -x ${CMAKE_CURRENT_SOURCE_DIR}/src/create_revision.sh ${REVISIONFILE} ${USE_DBMS_TCP_PROTOCOL_VERSION_AS_CLICKHOUSE_REVISION}
)
set_source_files_properties(
src/ClickHouseRevision.cpp PROPERTIES OBJECT_DEPENDS ${REVISIONFILE}
)
include_directories (${CMAKE_CURRENT_BINARY_DIR}/src/)
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 ()
configure_file (${CMAKE_CURRENT_SOURCE_DIR}/include/common/apple_version.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/common/apple_version.h)
add_library (apple_rt
src/apple_rt.cpp
include/common/apple_rt.h
)
endif()
add_library (common
src/DateLUT.cpp
src/DateLUTImpl.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/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/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
${REVISIONFILE}
)
# When testing for memory leaks, disable libtcmalloc.
if (ENABLE_LIBTCMALLOC)
if (DEBUG_LIBTCMALLOC)
message (STATUS "Link libtcmalloc_minimal_debug for testing")
set (MALLOC_LIBRARIES libtcmalloc_minimal_debug.a)
else ()
message (STATUS "Link libtcmalloc_minimal")
set (MALLOC_LIBRARIES tcmalloc_minimal_internal)
endif ()
else ()
message (STATUS "Disabling libtcmalloc for valgrind better analysis")
endif ()
if (APPLE)
set (RT_LIBRARIES "apple_rt")
else ()
if (USE_STATIC_LIBRARIES)
set (RT_LIBRARIES "librt.a")
else ()
set (RT_LIBRARIES "rt")
endif ()
endif ()
include (${ClickHouse_SOURCE_DIR}/cmake/find_glib.cmake)
target_link_libraries (
common
pocoext
${MALLOC_LIBRARIES}
pthread
${GLIB_LIBS}
${ICU_LIBS}
${RT_LIBRARIES})
if (ENABLE_TESTS)
add_subdirectory (src/tests)
endif (ENABLE_TESTS)