mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
CLICKHOUSE-3600 Use correct lld version, cmake fixes (#1968)
* Allow build without rt library * fix * Cmake misc * CLICKHOUSE-3600 Use correct lld version * CLICKHOUSE-3600 Use correct lld version * Use libllvm same version as clang * fix * Fix build with iodbc * Fix iodbc build * Fix gold find * Fix empty lines
This commit is contained in:
parent
1564e31616
commit
cf9a33d04f
@ -36,7 +36,7 @@ matrix:
|
|||||||
sources:
|
sources:
|
||||||
- ubuntu-toolchain-r-test
|
- ubuntu-toolchain-r-test
|
||||||
- llvm-toolchain-trusty-5.0
|
- llvm-toolchain-trusty-5.0
|
||||||
packages: [ g++-7, clang-5.0, libicu-dev, libreadline-dev, libmysqlclient-dev, unixodbc-dev, libltdl-dev, libssl-dev, libboost-dev, zlib1g-dev, libdouble-conversion-dev, libzookeeper-mt-dev, libsparsehash-dev, librdkafka-dev, libcapnp-dev, libsparsehash-dev, libgoogle-perftools-dev, bash, expect, python, python-lxml, python-termcolor, curl, perl, sudo ]
|
packages: [ g++-7, clang-5.0, lld-5.0, libicu-dev, libreadline-dev, libmysqlclient-dev, unixodbc-dev, libltdl-dev, libssl-dev, libboost-dev, zlib1g-dev, libdouble-conversion-dev, libzookeeper-mt-dev, libsparsehash-dev, librdkafka-dev, libcapnp-dev, libsparsehash-dev, libgoogle-perftools-dev, bash, expect, python, python-lxml, python-termcolor, curl, perl, sudo ]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- MATRIX_EVAL="export CC=clang-5.0 && export CXX=clang++-5.0"
|
- MATRIX_EVAL="export CC=clang-5.0 && export CXX=clang++-5.0"
|
||||||
@ -118,7 +118,7 @@ matrix:
|
|||||||
# packages: [ pbuilder, fakeroot, debhelper ]
|
# packages: [ pbuilder, fakeroot, debhelper ]
|
||||||
#
|
#
|
||||||
# env:
|
# env:
|
||||||
# - MATRIX_EVAL="export DEB_CC=clang-6.0 && export DEB_CXX=clang++-6.0 && export DIST=bionic && export EXTRAPACKAGES=clang-6.0"
|
# - MATRIX_EVAL="export DEB_CC=clang-6.0 && export DEB_CXX=clang++-6.0 && export DIST=bionic && export EXTRAPACKAGES='clang-6.0 lld-6.0'"
|
||||||
#
|
#
|
||||||
# script:
|
# script:
|
||||||
# - utils/travis/pbuilder.sh
|
# - utils/travis/pbuilder.sh
|
||||||
|
@ -35,29 +35,7 @@ message (STATUS "CMAKE_BUILD_TYPE: " ${CMAKE_BUILD_TYPE} )
|
|||||||
# TSan is not supported due to false positive errors in libstdc++ and necessity to rebuild libstdc++ with TSan
|
# TSan is not supported due to false positive errors in libstdc++ and necessity to rebuild libstdc++ with TSan
|
||||||
set (CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Debug;Release;MinSizeRel;ASan;UBSan" CACHE STRING "" FORCE)
|
set (CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Debug;Release;MinSizeRel;ASan;UBSan" CACHE STRING "" FORCE)
|
||||||
|
|
||||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)")
|
include (cmake/arch.cmake)
|
||||||
set (ARCH_AARCH64 1)
|
|
||||||
endif ()
|
|
||||||
if (ARCH_AARCH64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
|
|
||||||
set (ARCH_ARM 1)
|
|
||||||
endif ()
|
|
||||||
if (CMAKE_LIBRARY_ARCHITECTURE MATCHES "i386")
|
|
||||||
set (ARCH_I386 1)
|
|
||||||
endif ()
|
|
||||||
if ( ( ARCH_ARM AND NOT ARCH_AARCH64 ) OR ARCH_I386)
|
|
||||||
set (ARCH_32 1)
|
|
||||||
message (WARNING "Support for 32bit platforms is highly experimental")
|
|
||||||
endif ()
|
|
||||||
if (CMAKE_SYSTEM MATCHES "Linux")
|
|
||||||
set (ARCH_LINUX 1)
|
|
||||||
endif ()
|
|
||||||
if (CMAKE_SYSTEM MATCHES "FreeBSD")
|
|
||||||
set (ARCH_FREEBSD 1)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (ARCH_FREEBSD)
|
|
||||||
set (PLATFORM_EXTRA_CXX_FLAG "-DCLOCK_MONOTONIC_COARSE=CLOCK_MONOTONIC_FAST")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
set (COMMON_WARNING_FLAGS "${COMMON_WARNING_FLAGS} -Wall") # -Werror is also added inside directories with our own code.
|
set (COMMON_WARNING_FLAGS "${COMMON_WARNING_FLAGS} -Wall") # -Werror is also added inside directories with our own code.
|
||||||
set (CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wnon-virtual-dtor")
|
set (CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wnon-virtual-dtor")
|
||||||
@ -111,8 +89,10 @@ endif ()
|
|||||||
|
|
||||||
set (COMPILER_FLAGS "${COMPILER_FLAGS} ${CXX11_ABI_FLAGS}")
|
set (COMPILER_FLAGS "${COMPILER_FLAGS} ${CXX11_ABI_FLAGS}")
|
||||||
|
|
||||||
find_program (LLD_PATH NAMES lld)
|
string(REGEX MATCH "-?[0-9]+(.[0-9]+)?$" COMPILER_POSTFIX ${CMAKE_CXX_COMPILER})
|
||||||
find_program (GOLD_PATH NAMES gold)
|
|
||||||
|
find_program (LLD_PATH NAMES "lld${COMPILER_POSTFIX}" "lld")
|
||||||
|
find_program (GOLD_PATH NAMES "gold")
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND LLD_PATH AND NOT LINKER_NAME)
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND LLD_PATH AND NOT LINKER_NAME)
|
||||||
set (LINKER_NAME "lld")
|
set (LINKER_NAME "lld")
|
||||||
@ -121,8 +101,8 @@ elseif (GOLD_PATH)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (LINKER_NAME)
|
if (LINKER_NAME)
|
||||||
message(STATUS "Using linker: ${LINKER_NAME}")
|
message(STATUS "Using linker: ${LINKER_NAME} (selected from: LLD_PATH=${LLD_PATH}; GOLD_PATH=${GOLD_PATH}; COMPILER_POSTFIX=${COMPILER_POSTFIX})")
|
||||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=${LINKER_NAME}")
|
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=${LINKER_NAME}")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
option (PIPE "-pipe compiler option [less /tmp usage, more ram usage]" ON)
|
option (PIPE "-pipe compiler option [less /tmp usage, more ram usage]" ON)
|
||||||
@ -196,29 +176,7 @@ if (NOT MAKE_STATIC_LIBRARIES)
|
|||||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set (SAN_FLAGS "${SAN_FLAGS} -g -fno-omit-frame-pointer")
|
include (cmake/sanitize.cmake)
|
||||||
if (SAN_DEBUG)
|
|
||||||
set (SAN_FLAGS "${SAN_FLAGS} -O0")
|
|
||||||
else ()
|
|
||||||
set (SAN_FLAGS "${SAN_FLAGS} -O3")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
set (CMAKE_CXX_FLAGS_ASAN "${CMAKE_CXX_FLAGS_ASAN} ${SAN_FLAGS} -fsanitize=address")
|
|
||||||
set (CMAKE_C_FLAGS_ASAN "${CMAKE_C_FLAGS_ASAN} ${SAN_FLAGS} -fsanitize=address")
|
|
||||||
set (CMAKE_CXX_FLAGS_UBSAN "${CMAKE_CXX_FLAGS_UBSAN} ${SAN_FLAGS} -fsanitize=undefined")
|
|
||||||
set (CMAKE_C_FLAGS_UBSAN "${CMAKE_C_FLAGS_UBSAN} ${SAN_FLAGS} -fsanitize=undefined")
|
|
||||||
set (CMAKE_CXX_FLAGS_MSAN "${CMAKE_CXX_FLAGS_MSAN} ${SAN_FLAGS} -fsanitize=memory")
|
|
||||||
set (CMAKE_C_FLAGS_MSAN "${CMAKE_C_FLAGS_MSAN} ${SAN_FLAGS} -fsanitize=memory")
|
|
||||||
set (CMAKE_CXX_FLAGS_TSAN "${CMAKE_CXX_FLAGS_TSAN} ${SAN_FLAGS} -fsanitize=thread")
|
|
||||||
set (CMAKE_C_FLAGS_TSAN "${CMAKE_C_FLAGS_TSAN} ${SAN_FLAGS} -fsanitize=thread")
|
|
||||||
|
|
||||||
# clang use static linking by default
|
|
||||||
if (MAKE_STATIC_LIBRARIES AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_ASAN "${CMAKE_EXE_LINKER_FLAGS_ASAN} -static-libasan")
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_UBSAN "${CMAKE_EXE_LINKER_FLAGS_UBSAN} -static-libubsan")
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_MSAN "${CMAKE_EXE_LINKER_FLAGS_MSAN} -static-libmsan")
|
|
||||||
set (CMAKE_EXE_LINKER_FLAGS_TSAN "${CMAKE_EXE_LINKER_FLAGS_TSAN} -static-libtsan")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Using "include-what-you-use" tool.
|
# Using "include-what-you-use" tool.
|
||||||
option (USE_INCLUDE_WHAT_YOU_USE "Use 'include-what-you-use' tool" OFF)
|
option (USE_INCLUDE_WHAT_YOU_USE "Use 'include-what-you-use' tool" OFF)
|
||||||
@ -307,13 +265,7 @@ include (libs/libcommon/cmake/find_cctz.cmake)
|
|||||||
include (libs/libmysqlxx/cmake/find_mysqlclient.cmake)
|
include (libs/libmysqlxx/cmake/find_mysqlclient.cmake)
|
||||||
include (libs/libdaemon/cmake/find_unwind.cmake)
|
include (libs/libdaemon/cmake/find_unwind.cmake)
|
||||||
|
|
||||||
|
include (cmake/print_flags.cmake)
|
||||||
set (FULL_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
|
|
||||||
set (FULL_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
|
|
||||||
set (FULL_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
|
|
||||||
message (STATUS "C_FLAGS = ${FULL_C_FLAGS}")
|
|
||||||
message (STATUS "CXX_FLAGS = ${FULL_CXX_FLAGS}")
|
|
||||||
message (STATUS "LINKER_FLAGS = ${FULL_EXE_LINKER_FLAGS}")
|
|
||||||
|
|
||||||
# Directory for Yandex specific files
|
# Directory for Yandex specific files
|
||||||
set (CLICKHOUSE_PRIVATE_DIR ${ClickHouse_SOURCE_DIR}/private/)
|
set (CLICKHOUSE_PRIVATE_DIR ${ClickHouse_SOURCE_DIR}/private/)
|
||||||
|
19
cmake/arch.cmake
Normal file
19
cmake/arch.cmake
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)")
|
||||||
|
set (ARCH_AARCH64 1)
|
||||||
|
endif ()
|
||||||
|
if (ARCH_AARCH64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
|
||||||
|
set (ARCH_ARM 1)
|
||||||
|
endif ()
|
||||||
|
if (CMAKE_LIBRARY_ARCHITECTURE MATCHES "i386")
|
||||||
|
set (ARCH_I386 1)
|
||||||
|
endif ()
|
||||||
|
if ( ( ARCH_ARM AND NOT ARCH_AARCH64 ) OR ARCH_I386)
|
||||||
|
set (ARCH_32 1)
|
||||||
|
message (WARNING "Support for 32bit platforms is highly experimental")
|
||||||
|
endif ()
|
||||||
|
if (CMAKE_SYSTEM MATCHES "Linux")
|
||||||
|
set (ARCH_LINUX 1)
|
||||||
|
endif ()
|
||||||
|
if (CMAKE_SYSTEM MATCHES "FreeBSD")
|
||||||
|
set (ARCH_FREEBSD 1)
|
||||||
|
endif ()
|
@ -1,6 +1,6 @@
|
|||||||
option (USE_EMBEDDED_COMPILER "Set to TRUE to enable support for 'compile' option for query execution" FALSE)
|
option (ENABLE_EMBEDDED_COMPILER "Set to TRUE to enable support for 'compile' option for query execution" FALSE)
|
||||||
|
|
||||||
if (USE_EMBEDDED_COMPILER)
|
if (ENABLE_EMBEDDED_COMPILER)
|
||||||
# Based on source code of YT.
|
# Based on source code of YT.
|
||||||
# Authors: Ivan Puzyrevskiy, Alexey Lukyanchikov, Ruslan Savchenko.
|
# Authors: Ivan Puzyrevskiy, Alexey Lukyanchikov, Ruslan Savchenko.
|
||||||
|
|
||||||
@ -15,10 +15,14 @@ if (USE_EMBEDDED_COMPILER)
|
|||||||
# llvm_map_components_to_libraries - Maps LLVM used components to required libraries.
|
# llvm_map_components_to_libraries - Maps LLVM used components to required libraries.
|
||||||
# Usage: llvm_map_components_to_libraries(REQUIRED_LLVM_LIBRARIES core jit interpreter native ...)
|
# Usage: llvm_map_components_to_libraries(REQUIRED_LLVM_LIBRARIES core jit interpreter native ...)
|
||||||
|
|
||||||
if (ARCH_FREEBSD)
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
set(LLVM_VERSION_POSTFIX "50" CACHE INTERNAL "")
|
set(LLVM_VERSION_POSTFIX "${COMPILER_POSTFIX}" CACHE STRING "")
|
||||||
else()
|
else()
|
||||||
set(LLVM_VERSION_POSTFIX "-5.0" CACHE INTERNAL "")
|
if (ARCH_FREEBSD)
|
||||||
|
set(LLVM_VERSION_POSTFIX "50" CACHE STRING "")
|
||||||
|
else()
|
||||||
|
set(LLVM_VERSION_POSTFIX "-5.0" CACHE STRING "")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_program(LLVM_CONFIG_EXECUTABLE
|
find_program(LLVM_CONFIG_EXECUTABLE
|
||||||
@ -28,9 +32,8 @@ if (USE_EMBEDDED_COMPILER)
|
|||||||
mark_as_advanced(LLVM_CONFIG_EXECUTABLE)
|
mark_as_advanced(LLVM_CONFIG_EXECUTABLE)
|
||||||
|
|
||||||
if(NOT LLVM_CONFIG_EXECUTABLE)
|
if(NOT LLVM_CONFIG_EXECUTABLE)
|
||||||
message(FATAL_ERROR "Cannot find LLVM (looking for `llvm-config`). Please, provide LLVM_ROOT environment variable.")
|
message(FATAL_ERROR "Cannot find LLVM (looking for `llvm-config${LLVM_VERSION_POSTFIX}`, `llvm-config`, `llvm-config-devel`). Please, provide LLVM_ROOT environment variable.")
|
||||||
else()
|
else()
|
||||||
|
|
||||||
set(LLVM_FOUND TRUE)
|
set(LLVM_FOUND TRUE)
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
@ -97,4 +100,8 @@ if (USE_EMBEDDED_COMPILER)
|
|||||||
message(STATUS "LLVM Library Directory: ${LLVM_LIBRARY_DIRS}")
|
message(STATUS "LLVM Library Directory: ${LLVM_LIBRARY_DIRS}")
|
||||||
message(STATUS "LLVM C++ Compiler: ${LLVM_CXXFLAGS}")
|
message(STATUS "LLVM C++ Compiler: ${LLVM_CXXFLAGS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (LLVM_FOUND AND LLVM_INCLUDE_DIRS AND LLVM_LIBRARY_DIRS)
|
||||||
|
set(USE_EMBEDDED_COMPILER TRUE)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
set(DIVIDE_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/libdivide)
|
set(DIVIDE_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/libdivide)
|
||||||
set(CITYHASH_CONTRIB_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/libcityhash/include)
|
set(CITYHASH_CONTRIB_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/libcityhash/include)
|
||||||
set(COMMON_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/libs/libcommon/include ${ClickHouse_BINARY_DIR}/libs/libcommon/include)
|
set(COMMON_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/libs/libcommon/include ${ClickHouse_BINARY_DIR}/libs/libcommon/include)
|
||||||
|
6
cmake/print_flags.cmake
Normal file
6
cmake/print_flags.cmake
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
set (FULL_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
|
||||||
|
set (FULL_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
|
||||||
|
set (FULL_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
|
||||||
|
message (STATUS "compiler C = ${CMAKE_C_COMPILER} ${FULL_C_FLAGS}")
|
||||||
|
message (STATUS "compiler CXX = ${CMAKE_CXX_COMPILER} ${FULL_CXX_FLAGS}")
|
||||||
|
message (STATUS "LINKER_FLAGS = ${FULL_EXE_LINKER_FLAGS}")
|
27
cmake/sanitize.cmake
Normal file
27
cmake/sanitize.cmake
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
set (SAN_FLAGS "${SAN_FLAGS} -g -fno-omit-frame-pointer")
|
||||||
|
if (SAN_DEBUG)
|
||||||
|
set (SAN_FLAGS "${SAN_FLAGS} -O0")
|
||||||
|
else ()
|
||||||
|
set (SAN_FLAGS "${SAN_FLAGS} -O3")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set (CMAKE_CXX_FLAGS_ASAN "${CMAKE_CXX_FLAGS_ASAN} ${SAN_FLAGS} -fsanitize=address")
|
||||||
|
set (CMAKE_C_FLAGS_ASAN "${CMAKE_C_FLAGS_ASAN} ${SAN_FLAGS} -fsanitize=address")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_ASAN "${CMAKE_EXE_LINKER_FLAGS_ASAN} -fsanitize=address")
|
||||||
|
set (CMAKE_CXX_FLAGS_UBSAN "${CMAKE_CXX_FLAGS_UBSAN} ${SAN_FLAGS} -fsanitize=undefined")
|
||||||
|
set (CMAKE_C_FLAGS_UBSAN "${CMAKE_C_FLAGS_UBSAN} ${SAN_FLAGS} -fsanitize=undefined")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_UBSAN "${CMAKE_EXE_LINKER_FLAGS_UBSAN} -fsanitize=undefined")
|
||||||
|
set (CMAKE_CXX_FLAGS_MSAN "${CMAKE_CXX_FLAGS_MSAN} ${SAN_FLAGS} -fsanitize=memory")
|
||||||
|
set (CMAKE_C_FLAGS_MSAN "${CMAKE_C_FLAGS_MSAN} ${SAN_FLAGS} -fsanitize=memory")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_MSAN "${CMAKE_EXE_LINKER_FLAGS_MSAN} -fsanitize=memory")
|
||||||
|
set (CMAKE_CXX_FLAGS_TSAN "${CMAKE_CXX_FLAGS_TSAN} ${SAN_FLAGS} -fsanitize=thread")
|
||||||
|
set (CMAKE_C_FLAGS_TSAN "${CMAKE_C_FLAGS_TSAN} ${SAN_FLAGS} -fsanitize=thread")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_TSAN "${CMAKE_EXE_LINKER_FLAGS_TSAN} -fsanitize=thread")
|
||||||
|
|
||||||
|
# clang use static linking by default
|
||||||
|
if (MAKE_STATIC_LIBRARIES AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_ASAN "${CMAKE_EXE_LINKER_FLAGS_ASAN} -static-libasan")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_UBSAN "${CMAKE_EXE_LINKER_FLAGS_UBSAN} -static-libubsan")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_MSAN "${CMAKE_EXE_LINKER_FLAGS_MSAN} -static-libmsan")
|
||||||
|
set (CMAKE_EXE_LINKER_FLAGS_TSAN "${CMAKE_EXE_LINKER_FLAGS_TSAN} -static-libtsan")
|
||||||
|
endif ()
|
@ -162,6 +162,7 @@ endif ()
|
|||||||
|
|
||||||
if (Poco_DataODBC_FOUND)
|
if (Poco_DataODBC_FOUND)
|
||||||
target_link_libraries (dbms ${Poco_DataODBC_LIBRARY})
|
target_link_libraries (dbms ${Poco_DataODBC_LIBRARY})
|
||||||
|
target_include_directories (dbms PRIVATE ${ODBC_INCLUDE_DIRECTORIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (Poco_MongoDB_FOUND)
|
if (Poco_MongoDB_FOUND)
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
if (ARCH_FREEBSD)
|
||||||
|
set (PLATFORM_EXTRA_CXX_FLAG "-DCLOCK_MONOTONIC_COARSE=CLOCK_MONOTONIC_FAST")
|
||||||
|
endif ()
|
||||||
|
|
||||||
add_subdirectory (Columns)
|
add_subdirectory (Columns)
|
||||||
add_subdirectory (Common)
|
add_subdirectory (Common)
|
||||||
add_subdirectory (Core)
|
add_subdirectory (Core)
|
||||||
|
@ -8,4 +8,5 @@ add_library(clickhouse_table_functions ${clickhouse_table_functions_sources})
|
|||||||
target_link_libraries(clickhouse_table_functions dbms clickhouse_storages_system ${Poco_Foundation_LIBRARY})
|
target_link_libraries(clickhouse_table_functions dbms clickhouse_storages_system ${Poco_Foundation_LIBRARY})
|
||||||
if (Poco_DataODBC_FOUND)
|
if (Poco_DataODBC_FOUND)
|
||||||
target_link_libraries (clickhouse_table_functions ${Poco_DataODBC_LIBRARY})
|
target_link_libraries (clickhouse_table_functions ${Poco_DataODBC_LIBRARY})
|
||||||
|
target_include_directories (clickhouse_table_functions PRIVATE ${ODBC_INCLUDE_DIRECTORIES})
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
mkdir -p /server/build_docker
|
mkdir -p /server/build_docker
|
||||||
cd /server/build_docker
|
cd /server/build_docker
|
||||||
cmake /server -DUSE_EMBEDDED_COMPILER=1 -DENABLE_TESTS=0
|
cmake /server -DENABLE_EMBEDDED_COMPILER=1 -DENABLE_TESTS=0
|
||||||
make -j $(nproc || grep -c ^processor /proc/cpuinfo)
|
make -j $(nproc || grep -c ^processor /proc/cpuinfo)
|
||||||
#ctest -V -j $(nproc || grep -c ^processor /proc/cpuinfo)
|
#ctest -V -j $(nproc || grep -c ^processor /proc/cpuinfo)
|
||||||
|
4
release
4
release
@ -58,7 +58,7 @@ then
|
|||||||
# GLIBC_COMPATIBILITY отключен по умолчанию
|
# GLIBC_COMPATIBILITY отключен по умолчанию
|
||||||
export DEB_CC=clang-5.0
|
export DEB_CC=clang-5.0
|
||||||
export DEB_CXX=clang++-5.0
|
export DEB_CXX=clang++-5.0
|
||||||
EXTRAPACKAGES="$EXTRAPACKAGES clang-5.0 "
|
EXTRAPACKAGES="$EXTRAPACKAGES clang-5.0 lld-5.0"
|
||||||
elif [[ $BUILD_TYPE == 'valgrind' ]]; then
|
elif [[ $BUILD_TYPE == 'valgrind' ]]; then
|
||||||
LIBTCMALLOC_OPTS="-DENABLE_TCMALLOC=0"
|
LIBTCMALLOC_OPTS="-DENABLE_TCMALLOC=0"
|
||||||
VERSION_POSTFIX+=-$BUILD_TYPE
|
VERSION_POSTFIX+=-$BUILD_TYPE
|
||||||
@ -72,7 +72,7 @@ if [ -z "$THREAD_COUNT" ] ; then
|
|||||||
THREAD_COUNT=`nproc || grep -c ^processor /proc/cpuinfo || sysctl -n hw.ncpu || echo 4`
|
THREAD_COUNT=`nproc || grep -c ^processor /proc/cpuinfo || sysctl -n hw.ncpu || echo 4`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CMAKE_FLAGS=" $LIBTCMALLOC_OPTS -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DUSE_EMBEDDED_COMPILER=1 $CMAKE_FLAGS"
|
CMAKE_FLAGS=" $LIBTCMALLOC_OPTS -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DENABLE_EMBEDDED_COMPILER=1 $CMAKE_FLAGS"
|
||||||
export CMAKE_FLAGS
|
export CMAKE_FLAGS
|
||||||
export EXTRAPACKAGES
|
export EXTRAPACKAGES
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ cmake .. -DCMAKE_CXX_COMPILER=`which $DEB_CXX $CXX` -DCMAKE_C_COMPILER=`which $D
|
|||||||
`# Use all possible contrib libs from system` \
|
`# Use all possible contrib libs from system` \
|
||||||
-DUNBUNDLED=1 \
|
-DUNBUNDLED=1 \
|
||||||
`# Disable all features` \
|
`# Disable all features` \
|
||||||
-DENABLE_CAPNP=0 -DENABLE_RDKAFKA=0 -DUSE_EMBEDDED_COMPILER=0 -DENABLE_TCMALLOC=0 -DENABLE_UNWIND=0 -DENABLE_MYSQL=0 $CMAKE_FLAGS \
|
-DENABLE_CAPNP=0 -DENABLE_RDKAFKA=0 -DENABLE_EMBEDDED_COMPILER=0 -DENABLE_TCMALLOC=0 -DENABLE_UNWIND=0 -DENABLE_MYSQL=0 $CMAKE_FLAGS \
|
||||||
&& make -j `nproc || grep -c ^processor /proc/cpuinfo || sysctl -n hw.ncpu || echo 4` clickhouse-bundle \
|
&& make -j `nproc || grep -c ^processor /proc/cpuinfo || sysctl -n hw.ncpu || echo 4` clickhouse-bundle \
|
||||||
`# Skip tests:` \
|
`# Skip tests:` \
|
||||||
`# 00281 requires internal compiler` \
|
`# 00281 requires internal compiler` \
|
||||||
|
@ -21,10 +21,10 @@ env TEST_RUN=${TEST_RUN=1} \
|
|||||||
DEB_CC=${DEB_CC=$CC} DEB_CXX=${DEB_CXX=$CXX} \
|
DEB_CC=${DEB_CC=$CC} DEB_CXX=${DEB_CXX=$CXX} \
|
||||||
CCACHE_SIZE=${CCACHE_SIZE:=4G} \
|
CCACHE_SIZE=${CCACHE_SIZE:=4G} \
|
||||||
`# Disable all features` \
|
`# Disable all features` \
|
||||||
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DUNBUNDLED=1 -DENABLE_UNWIND=0 -DENABLE_MYSQL=0 -DENABLE_CAPNP=0 -DENABLE_RDKAFKA=0 -DUSE_EMBEDDED_COMPILER=1 -DCMAKE_C_FLAGS_ADD='-O0 -g0' -DCMAKE_CXX_FLAGS_ADD='-O0 -g0' $CMAKE_FLAGS" \
|
CMAKE_FLAGS="-DCMAKE_BUILD_TYPE=Debug -DUNBUNDLED=1 -DENABLE_UNWIND=0 -DENABLE_MYSQL=0 -DENABLE_CAPNP=0 -DENABLE_RDKAFKA=0 -DENABLE_EMBEDDED_COMPILER=1 -DCMAKE_C_FLAGS_ADD='-O0 -g0' -DCMAKE_CXX_FLAGS_ADD='-O0 -g0' $CMAKE_FLAGS" \
|
||||||
`# Use all possible contrib libs from system` \
|
`# Use all possible contrib libs from system` \
|
||||||
`# psmisc - killall` \
|
`# psmisc - killall` \
|
||||||
EXTRAPACKAGES="psmisc clang-5.0 liblld-5.0-dev libclang-5.0-dev liblld-5.0 libc++abi-dev libc++-dev libboost-program-options-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev zlib1g-dev liblz4-dev libdouble-conversion-dev libzookeeper-mt-dev libsparsehash-dev librdkafka-dev libpoco-dev libsparsehash-dev libgoogle-perftools-dev libzstd-dev libre2-dev $EXTRAPACKAGES" \
|
EXTRAPACKAGES="psmisc clang-5.0 lld-5.0 liblld-5.0-dev libclang-5.0-dev liblld-5.0 libc++abi-dev libc++-dev libboost-program-options-dev libboost-system-dev libboost-filesystem-dev libboost-thread-dev zlib1g-dev liblz4-dev libdouble-conversion-dev libzookeeper-mt-dev libsparsehash-dev librdkafka-dev libpoco-dev libsparsehash-dev libgoogle-perftools-dev libzstd-dev libre2-dev $EXTRAPACKAGES" \
|
||||||
./release --pbuilder $RELEASE_OPT
|
./release --pbuilder $RELEASE_OPT
|
||||||
|
|
||||||
date
|
date
|
||||||
|
Loading…
Reference in New Issue
Block a user