Commit Graph

828 Commits

Author SHA1 Message Date
Azat Khuzhin
6a600e5f6f jemalloc: fix under osx (zone_register() had been optimized out again)
v2: use ld -u
v3: move -u to executable
2021-08-18 09:47:59 +03:00
Azat Khuzhin
788384be12 Drop MALLOC_LIBARIRIES usage
a) MALLOC_LIBARIRIES had been removed in
   528e42bc4c ("Improve jemalloc contrib")
b) after JEMALLOC_LIBRARIES left, that had been removed in
   c160b251ba ("Drop support for unbundled jemalloc") in #15828
2021-08-18 09:47:58 +03:00
Alexey Milovidov
6ff43a614c Use only SSE2 in "unbundled" build 2021-08-15 09:52:55 +03:00
Alexey Milovidov
eda489dde8 Untangle CPU features specification in CMake 2021-08-10 02:58:51 +03:00
Nikolay Degterinsky
9a45458faf Add bzip2 file compression 2021-08-07 00:25:52 +00:00
alesapin
4746002776 Add an ability to build ClickHouse without NLP functions 2021-07-30 16:30:30 +03:00
Nikita Mikhaylov
3f36a93656 better 2021-07-13 10:50:12 +00:00
Andr0901
4d75450e54 add tests 2021-07-13 10:49:55 +00:00
feng lv
eafe8a2e59 fix 2021-07-11 03:34:57 +00:00
kssenii
1bf9a9f29f Add .cmake 2021-07-09 10:27:53 +00:00
Denis Glazachev
9788b0e38a Fix locating objcopy in macOS
Rework clickhouse_embed_binaries() to compile asm files properly and avoid duplicate symbols when linking in macOS
2021-06-26 17:39:02 +04:00
Benjamin Naecker
f5cf9adc66 Removes unused CMake variable and fixes clang-tidy lint 2021-06-11 14:35:40 -07:00
Benjamin Naecker
c3506bf16d Adds a better way to include binary resources
- Uses a small assembly file to include binary resources, rather than
  objcopy
- Updates `base/common/getResource.cpp` for this new method of inclusion
- Removes linux-only guards in CMake files, as this solution is
  cross-platform.

The resulting binary resources are available in the ClickHouse server
binary on Linux, macOS, and illumos platforms. FreeBSD has not been
tested, but will likely work as well.
2021-06-09 14:03:30 -07:00
Alexey Milovidov
8d85145725 Remove experimental compression codecs 2021-06-06 02:26:52 +03:00
Alexey Milovidov
6f70feed2f Merge branch 'master' into issue-16775 2021-05-24 05:56:57 +03:00
Alexey Milovidov
8d2fa6cf50 Allow to build without experimental compression libraries and remove from fasttest 2021-05-24 01:18:12 +03:00
Maksim Kita
e7f77f27bf
Merge pull request #24030 from kitaisreal/submodule-llvm-project
Added llvm-project submodule
2021-05-23 16:27:56 +03:00
Azat Khuzhin
c704837a4a Switch message level to WARNING for FAIL_ON_UNSUPPORTED_OPTIONS_COMBINATION=OFF
STATUS (as before this patch) is too quite, WARNING will at least log
this with a stacktrace.
2021-05-23 02:32:03 +03:00
Maksim Kita
42e91df363 Updated submodule to llvm12 2021-05-22 15:22:38 +03:00
BoloniniD
33755f1f3d Implemented YAMLParser class 2021-05-21 21:56:22 +03:00
Amos Bird
d22ab2028f
Run check_*_compiler_flag earlier 2021-05-12 12:14:25 +08:00
divanorama
3c2d1d1c17
Don't try GLIBC_COMPATIBILITY for i686 Linux
```
CMake Error at base/glibc-compatibility/CMakeLists.txt:22 (message):
  glibc_compatibility can only be used on x86_64 or aarch64.
```
2021-05-08 14:22:29 +02:00
Alexey Milovidov
d3b4f22e4e Follow-up for #23644 2021-04-28 07:32:23 +03:00
tavplubix
1d5d69f651
Merge pull request #23637 from ClickHouse/fix-build-with-AMQP
Merging #22984
2021-04-26 11:33:52 +03:00
Alexander Tokmakov
b3849beea3 minor fix 2021-04-26 09:45:52 +03:00
Alexey Milovidov
4e48e758ba Always enable asynchronous-unwind-tables 2021-04-25 01:29:48 +03:00
Denis Glazachev
b349e84fc7 Use nanodbc always together with odbc
Disable clickhouse-odbc-bridge building when odbc is disabled
2021-04-20 15:07:05 +04:00
alexey-milovidov
7a2ba9507d
Merge pull request #21431 from danlark1/master
Add function alignment for better performance
2021-04-15 01:38:20 +03:00
kssenii
72d89bc933 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-09 11:13:01 +00:00
Alexander Kuzmenkov
f968f6bab6 return prlimit for gcc, it was not its fault 2021-04-06 19:46:24 +03:00
Alexander Kuzmenkov
29cf5bd712 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-06 14:31:19 +03:00
kssenii
38f135ab39 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-05 15:37:53 +00:00
mastertheknife
65ca073f42 Allow unbundled xz (lzma) using USE_INTERNAL_XZ_LIBRARY=OFF 2021-04-04 01:05:07 +03:00
kssenii
90db0be8e9 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into nanodbc 2021-04-03 08:01:13 +00:00
Alexander Kuzmenkov
2c91fc55e9 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-02 18:38:05 +03:00
Alexander Kuzmenkov
6f3f4f821a disable prlimit altogether for gcc 2021-04-02 14:00:15 +03:00
Alexander Kuzmenkov
b09e15d430 increase cpu time limit for gcc 2021-04-02 03:09:14 +03:00
Alexander Kuzmenkov
eef57a1a46 increase rlimit for gcc 2021-04-02 01:20:58 +03:00
Alexander Kuzmenkov
a6b6e204b7 more debug 2021-04-01 23:49:21 +03:00
mastertheknife
9b38ed1f92 ppc64le: Fix CMake error about internal CMake variable CMAKE_ASM_COMPILE_OBJECT not set 2021-04-01 19:55:35 +03:00
Kseniia Sumarokova
e3fac9ef32
Merge branch 'master' into nanodbc 2021-04-01 16:38:00 +03:00
Alexander Kuzmenkov
faddd7e815 Merge remote-tracking branch 'origin/master' into HEAD 2021-04-01 14:26:36 +03:00
alexey-milovidov
b224dd1fe1
Update CMakeLists.txt 2021-04-01 07:22:38 +03:00
Alexander Kuzmenkov
a91f505899 remove debug 2021-04-01 00:59:31 +03:00
Alexander Kuzmenkov
a55d03cb62 try to avoid conflict with prlimit 2021-03-31 22:41:53 +03:00
Alexey Milovidov
2f7ac2424d Merge branch 'master' into datasketches-cmake 2021-03-31 08:47:27 +03:00
alexey-milovidov
c71da4a5c8
Update CMakeLists.txt
Co-authored-by: Denis Glazachev <traceon@users.noreply.github.com>
2021-03-29 21:05:00 +03:00
Denis Glazachev
3e68d14ed1 Set C11 standard version consistently (commented out for now) 2021-03-29 14:52:54 +04:00
Denis Glazachev
b84c55794d Set C++20 standard version consistently (based on CMake version, etc.)
Use C++17 when building the bundled cassandra subproject, since it (and rapidjson) is failing to compile with C++20
2021-03-29 14:52:09 +04:00
kssenii
c81ab04e8f Switch to nanodbc 2021-03-22 12:37:05 +00:00
pingyu
83b7ab1fb5 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into datasketches-cmake 2021-03-20 21:15:07 +08:00
Alexey Milovidov
583c78143d Remove useless CMake option 2021-03-14 14:08:08 +03:00
Alexey Milovidov
e8919c49fb Merge branch 'master' into replace-memcpy 2021-03-13 09:39:58 +03:00
Yatsishin Ilya
71d0a50508 add llvm-12 binaries name 2021-03-09 17:24:12 +03:00
Danila Kutenin
bb57161594 Use flags also during linking 2021-03-03 19:52:29 +00:00
Danila Kutenin
739bc438ea Add compression of debug symbols and function alignment for better performance and startup time 2021-03-03 19:41:20 +00:00
Alexey Milovidov
50c62c3b4c Add memcpy implementation from @jart 2021-03-02 22:12:30 +03:00
pingyu
08126030d6 wip #14893 2021-02-26 00:44:01 +08:00
Maksim Kita
7b3481322e Enable clang vtables optimization 2021-02-06 16:42:52 +03:00
Alexey Milovidov
a19e7edd14 Merge branch 'master' into kssenii-pg2ch 2021-01-15 17:33:19 +03:00
Azat Khuzhin
ed26ccf217 Do not run integrity check for cross compiled binaries
Follow-up for: #18811
Refs: #18785
2021-01-08 15:26:35 +03:00
Alexey Milovidov
159891573f Merge branch 'master' into kssenii-pg2ch 2021-01-07 18:39:44 +03:00
Alexey Milovidov
6f481d7512 Add integrity checks for ClickHouse binary 2021-01-07 05:56:57 +03:00
Alexey Milovidov
d99133118d Generate build id when ClickHouse is linked with lld 2021-01-07 04:03:53 +03:00
alexey-milovidov
72b142a00a
Merge branch 'master' into pg2ch 2021-01-06 23:18:59 +03:00
alexey-milovidov
17009ccb98
Update CMakeLists.txt 2021-01-01 18:52:02 +03:00
Amos Bird
829e82c27c
better linker name matcher 2021-01-01 14:39:00 +08:00
alexey-milovidov
195e43de39
Merge pull request #18537 from azat/heavy-builds-fix
Use RLIMIT_DATA/RLIMIT_AS over RLIMIT_RSS for ENABLE_CHECK_HEAVY_BUILDS
2020-12-31 03:24:12 +03:00
alexey-milovidov
3620c8b4d4
Update CMakeLists.txt 2020-12-30 17:49:11 +03:00
kssenii
2d8e35b4bd Add libpq and libpqxx 2020-12-27 12:02:41 +00:00
Azat Khuzhin
d2818278c5 Update ENABLE_CHECK_HEAVY_BUILDS limits for gcc and MSan 2020-12-26 17:26:50 +03:00
Azat Khuzhin
2c649a990b Increase memory limits for ENABLE_CHECK_HEAVY_BUILDS 2020-12-26 14:50:21 +03:00
Azat Khuzhin
7f65351380 Increase memory limits for ENABLE_CHECK_HEAVY_BUILDS 2020-12-26 12:26:42 +03:00
Azat Khuzhin
4bc039bae7 Use RLIMIT_DATA/RLIMIT_AS over RLIMIT_RSS for ENABLE_CHECK_HEAVY_BUILDS
RLIMIT_RSS does not work since 2.6.x+, from getrlimit(2):

       RLIMIT_RSS
              This  is  a  limit (in bytes) on the process's resident set (the number of virtual pages resident in RAM).  This limit has effect only in Linux 2.4.x, x < 30, and there af‐
              fects only calls to madvise(2) specifying MADV_WILLNEED.

Note that before this patch RSS was to 10MB but I doubt that it is
enough for C++ compiler, this patch uses 1G limit for DATA and 10G for
AS/VIRT (but it seems that even 1G may be too small).

And see also https://code.woboq.org/linux/linux/mm/mmap.c.html#may_expand_vm
2020-12-26 10:37:52 +03:00
alesapin
3c104035b1 Add NuRaft library 2020-12-24 23:10:47 +03:00
Azat Khuzhin
995c3da1c3 Disable memory tracking for gcc TSAN/ASAN
Since libtsan.a provides new/delete overrides too:

    ld.lld: error: duplicate symbol: operator new[](unsigned long, std::nothrow_t const&)
    >>> defined at new_delete.cpp:64 (../src/Common/new_delete.cpp:64)
    >>>            new_delete.cpp.o:(operator new[](unsigned long, std::nothrow_t const&)) in archive src/libclickhouse_new_delete.a
    >>> defined at tsan_new_delete.o:(.text+0xE0) in archive /usr/lib/gcc/x86_64-linux-gnu/10/libtsan.a

v2: Fix order of src vs programs for clickhouse_new_delete target detection
2020-12-16 21:31:03 +03:00
Azat Khuzhin
c862ae0c42 Explicitly link with -llib$SANITIZER for gcc
gcc with -nodefaultlibs does not add sanitizers library during linkage
with -static-libasan and similar, fix this, by add them explicitly.

From the gcc(1) about -nodefaultlibs:

    Do not use the standard system libraries when linking. Only the
    libraries you specify are passed to the linker, and options specifying
    linkage of the system libraries, such as -static-libgcc or
    -shared-libgcc, are ignored. The standard startup files are used
    normally, unless -nostartfiles is used.

Plus checked it manually, w/o -nodefaultlibs everything works without
this explicit linkage.

After this patch UBSAN under gcc compiled successfully.

v2: freebsd and darwin
2020-12-16 21:31:03 +03:00
Azat Khuzhin
8e035a7518 build: pass the c++ standard for compiling llvm
Yes clickhosue set gnu++2a globally, but this will not work, since
default -std=c++11 will be added later, look:

    clang++ -std=gnu++2a ... -std=c++11 -Wall -Wextra contrib/llvm/...
2020-12-11 01:32:38 +03:00
Nikita Mikhaylov
80d4af9a73
Merge pull request #17874 from nikitamikhaylov/calendar-date
Merging #17750
2020-12-10 00:19:04 +03:00
PHO
f4204b10ea Fix build with GCC 9.x
Use -std=gnu++2a regardless of whether UNBUNDLED or not, because __int128
is a non-standard builtin and GCC, unlike Clang, only considers it to be
an integral type when GNU extensions are enabled.
2020-12-07 16:00:32 +03:00
Maksim Kita
80d66b8868 FastFloat library integration 2020-12-06 23:37:35 +03:00
Ivan
315ff4f0d9
ANTLR4 Grammar for ClickHouse and new parser (#11298) 2020-12-04 05:15:44 +03:00
Denis Glazachev
0e6dd287e7 Fix CMake generation and build for native Xcode and AppleClang 2020-11-27 20:33:16 +04:00
vdimir
e2fac19686
Remove libbtrie 2020-11-21 21:31:15 +03:00
root
e9de5b6ad4 Add StorageEmbeddedRocksdb Engine 2020-11-11 09:08:52 +08:00
Danila Kutenin
3c6794bf37 Add Floyd-Rivest selection algorithm instead of std::partial_sort 2020-11-09 20:22:05 +03:00
Alexey Milovidov
885bd84720 Remove trash from CMakeLists 2020-10-28 20:48:02 +03:00
alexey-milovidov
1eb8bb19f0
Merge pull request #15608 from danlark1/clang-pass-manager
Use experimental pass manager by default in clang
2020-10-05 18:05:57 +03:00
alesapin
a644512fce Better comment 2020-10-05 12:58:23 +03:00
alesapin
8f41b87737 Better fix 2020-10-05 12:57:28 +03:00
alesapin
3fbbb6bef9 Fix flag 2020-10-05 12:39:03 +03:00
alesapin
5281288bf6 More strict check to add clickhouse_memcpy 2020-10-05 10:23:18 +03:00
Danila Kutenin
a3d27962a7 Add experimental pass manager by default in clang 2020-10-05 09:01:51 +03:00
alesapin
677a7e485f Don't add memcpy for sanitizers builds 2020-10-02 09:57:13 +03:00
Amos Bird
7c9bbe4c29 Neutrialize thinlto's memcpy libcall gen.
(cherry picked from commit 8ffa4d395c)
2020-10-01 22:22:32 +03:00
alesapin
409aaabc2f Revert "Add fno-builtin-memcpy"
This reverts commit 94ab1313e3.
2020-10-01 22:22:14 +03:00
alesapin
94ab1313e3 Add fno-builtin-memcpy 2020-10-01 10:39:27 +03:00
alesapin
38e50d1078 Revert "enable FastMemcpy properly"
This reverts commit 6e23901227.
2020-10-01 10:38:06 +03:00
Amos Bird
6e23901227 enable FastMemcpy properly 2020-09-30 18:52:49 +03:00
Alexey Milovidov
07b931a414 Prepare for LLVM-11 2020-09-28 04:21:40 +03:00
alesapin
269d225637 Merge branch 'master' into myrrc-feature-cmake-flags-doc-generator 2020-09-22 17:00:02 +03:00
Alexey Milovidov
5301de7656 Control heavy translation units 2020-09-20 23:43:28 +03:00
myrrc
07317644eb added explicit tests disabled status 2020-09-19 21:05:40 +03:00
myrrc
c78d9f9f38 moved the generators to docs/ folder 2020-09-19 19:42:36 +03:00
Alexey Milovidov
059646743b Remove OpenCL 2020-09-19 17:20:00 +03:00
myrrc
ac606dca77 updated cmake/ files, added some comments 2020-09-17 18:37:23 +03:00
myrrc
acff0feb58 slighly updated CMake files 2020-09-17 18:09:59 +03:00
myrrc
b3d236a535 few description fixes 2020-09-16 12:42:55 +03:00
myrrc
42b22c3424 fixed handling of conditional options 2020-09-16 00:35:06 +03:00
myrrc
dc94a754dd minor bugs fixed, slightly modified main cmake 2020-09-15 23:17:24 +03:00
myrrc
bd1a7c69ba rewrote code from bash to python 2020-09-15 22:32:42 +03:00
Konstantin Podshumok
e296997b6c
cmake: fix potential curl linking problems
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:44 +03:00
Konstantin Podshumok
5097793872
cmake: Fix odbc in unbudled
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:43 +03:00
Konstantin Podshumok
d989e59699
unbundled: link with termcap when using static llvm
ld.lld: error: undefined symbol: setupterm
referenced by Process.cpp.o:(llvm::sys::Process::FileDescriptorHasColors(int)) in archive /usr/lib/llvm-9/lib/libLLVMSupport.a

Squashed:
- fixup termcap + external llvm

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
d739c6a38f
Revert "Merge pull request #13689 from ClickHouse/remove-termcap"
This reverts commit da8d8f35dd, reversing
changes made to c3d0a87b8b.
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
cc6a59d59b
cmake: disable internal ORC when using external Parquet
Squashed:
- fix internal poco linking with `zlib`

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:42 +03:00
Konstantin Podshumok
e101db600c
cmake: set USE_INTERNAL_SPARSEHASH_LIBRARY=ON by default
as we don't know any distribution with sparsehash-c11 package

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:40 +03:00
Konstantin Podshumok
1913522233
cmake: always use internal poco library as it went too far from upstream
Squashed:
- cmake: move USE_INTERNAL_POCO_LIBRARY option to separate file
- point contrib/poco to "add <atomic> to TCPServerDispatcher"

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
2fc37bd694
cmake: enable FAIL_ON_UNSUPPORTED_OPTIONS_COMBINATION by default
Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
ad23bf46b6
cmake: message when ThinLTO is enabled without clang
Squashed:
- ENABLE_THINLTO shouldn't be enabled by default when tests or sanitizers are enabled

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:38 +03:00
Konstantin Podshumok
d456aa86ef
Revert "Revert "cmake: Add option to fail configuration instead of auto-reconfiguration""
This reverts commit 89419ceb9b
(curl part moved to separate commit)

Squashed:
- termcap removed
- fix for cassandra on apple merged
- cmake: fix "Can't find system zlib library" in unbundled build
- cmake: fix condition when testing for rdkafka platform
- cmake: PROTOBUF_OLD_ABI_COMPAT shouldn't be enabled for internal protobuf

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-25 20:16:37 +03:00
alexey-milovidov
fb0e68f808
Merge pull request #12771 from arenadata/ADQM-109
krb5 + cyrus-sasl + kerberized kafka
2020-08-20 20:13:01 +03:00
Azat Khuzhin
4e003dc908 Use gnu++2a instead of c++2a for unbundled build to fix numeric_limits<__int128> 2020-08-19 21:08:04 +03:00
Alexey Milovidov
ad20a384c1 Remove useless code 2020-08-14 02:55:10 +03:00
alexey-milovidov
89419ceb9b
Revert "cmake: Add option to fail configuration instead of auto-reconfiguration" 2020-08-13 23:10:06 +03:00
alexey-milovidov
6afbcfe914
Merge pull request #13528 from ClickHouse/clickhouse-install
Simple clickhouse install script
2020-08-11 18:08:22 +03:00
Alexey Milovidov
c7a6a18a75 Preparation to enable clickhouse install on Mac and FreeBSD 2020-08-10 02:58:09 +03:00
Konstantin Podshumok
fe56697893 cmake: Add option to fail configuration instead of auto-reconfiguration
squashed:
find/msgpack.cmake - merge collision fix, trivial

Signed-off-by: Konstantin Podshumok <kpp.live+signed@gmail.com>
2020-08-09 21:37:26 +03:00
Alexey Milovidov
8d616444e4 Support for AArch64 2020-08-09 02:54:38 +03:00
Alexey Milovidov
182e2929f3 Merge branch 'master' into embed-configs 2020-08-09 02:41:44 +03:00
Alexey Milovidov
0f79eb3cc5 Embed configs into binary 2020-08-08 06:42:42 +03:00
Konstantin Podshumok
f6da5d58d0
Don't enable march=native on arm by default 2020-08-08 05:29:55 +03:00
Konstantin Podshumok
df79f415ce
Allow -march=native with clang 2020-08-08 00:28:10 +03:00
Ilya Golshtein
d93f0c7548 initial - kerberized kafka works 2020-07-31 13:49:07 +03:00
alesapin
cbac8bd083 Fix cmake lists 2020-07-29 14:33:38 +03:00
Alexander Kuzmenkov
3e6b9f297f Some provisions for Android build 2020-07-15 14:16:00 +03:00
Azat Khuzhin
3ceefee220 Warn if jemalloc is not enabled for non-linux too
Refs: #11897 (osx)
Refs: #11774 (freebsd)
2020-07-09 10:25:42 +03:00
Azat Khuzhin
3a519fe35a Fix jemalloc enabled detection (should goes after contrib inclusion) 2020-07-09 10:25:13 +03:00
Azat Khuzhin
a645759a42 Set CMAKE_POLICY_DEFAULT_CMP0022/CMAKE_POLICY_DEFAULT_CMP0077 globally
This will fix CMAKE_POLICY_DEFAULT_CMP0077 for snappy:

    CMake Warning (dev) at contrib/snappy/CMakeLists.txt:11 (option):
      Policy CMP0077 is not set: option() honors normal variables.  Run
    "cmake
      --help-policy CMP0077" for policy details.  Use the cmake_policy
    command to
      set the policy and suppress this warning.

      For compatibility with older versions of CMake, option is clearing the
      normal variable 'BUILD_SHARED_LIBS'.
    This warning is for project developers.  Use -Wno-dev to suppress it.
2020-07-09 10:16:39 +03:00
Azat Khuzhin
a5cb0aed12
Sanitize LINK_LIBRARIES property for the directories (#12160)
When you will try to link target with the directory (that exists), cmake will
skip this without an error, only the following warning will be reported:

    target_link_libraries(main /tmp)

    WARNING: Target "main" requests linking to directory "/tmp".  Targets may link only to libraries.  CMake is dropping the item.

And there is no cmake policy that controls this.
(I guess the reason that it is allowed is because of FRAMEWORK for OSX).

So to avoid error-prone cmake rules, this can be sanitized.
There are the following ways:
- overwrite target_link_libraries()/link_libraries() and check *before*
  calling real macro, but this requires duplicate all supported syntax
  -- too complex
- overwrite target_link_libraries() and check LINK_LIBRARIES property, this
  works great
  -- but cannot be used with link_libraries()
- use BUILDSYSTEM_TARGETS property to get list of all targets and sanitize
  -- this will work.

I also tested it with the following patch:

    $ git di
    diff --git a/base/daemon/CMakeLists.txt b/base/daemon/CMakeLists.txt
    index 26d59a57e7..35e6ff6432 100644
    --- a/base/daemon/CMakeLists.txt
    +++ b/base/daemon/CMakeLists.txt
    @@ -9,4 +9,5 @@ target_link_libraries (daemon PUBLIC loggers PRIVATE clickhouse_common_io clickh

     if (USE_SENTRY)
         target_link_libraries (daemon PRIVATE ${SENTRY_LIBRARY})
    +    target_link_libraries (daemon PRIVATE /tmp)
     endif ()

And it works:

    CMake Error at cmake/sanitize_target_link_libraries.cmake:48 (message):
       daemon requested to link with directory: /tmp
    Call Stack (most recent call first):
      cmake/sanitize_target_link_libraries.cmake:55 (sanitize_link_libraries)
      CMakeLists.txt:425 (include)

Refs: #12041
2020-07-07 19:22:41 +03:00
alesapin
64583ceb22 Merge branch 'master' into add-storage-rabbitmq-read-only 2020-07-02 16:08:29 +03:00
kssenii
3d2cc9d4b2 Remove libevent library 2020-06-29 12:11:17 +00:00
alexey-milovidov
a34032cace
Merge pull request #11300 from blinkov/sentry
Opt-in support for sending crash reports
2020-06-25 17:20:50 +03:00
alesapin
3fc65b3269 Merge branch 'master' into kssenii-rabbit-mq 2020-06-24 20:14:28 +03:00
Alexey Milovidov
f206d91072 Allow ClickHouse to run on Android 2020-06-23 20:58:42 +03:00
kssenii
18820814f5 Merge 2020-06-10 23:25:33 +00:00
Ivan Blinkov
90ee4d52f4 merge master 2020-06-10 13:18:41 +03:00
Alexander Tokmakov
6bb68329f8 Merge branch 'master' into merging_external_source_cassandra 2020-06-09 19:51:14 +03:00
Ivan Blinkov
6f7064928f Merge branch 'master' of github.com:ClickHouse/ClickHouse into sentry 2020-06-09 19:07:57 +03:00
Ivan
47ad338cb2
Refactor CMake build files (#11390)
* Get rid of lib_name.cmake
* Refactor Boost and HyperScan libraries
* Refactor lz4
* Fix build with xxHash
2020-06-09 13:54:49 +03:00
Alexander Tokmakov
e67837bc4a cleenup 2020-06-04 00:11:17 +03:00
Ivan Blinkov
709b4f42c8 Prototype sending crash reports on segfaults 2020-05-27 22:11:04 +03:00
Alexander Tokmakov
e6ca09e134 fix build 2020-05-22 17:19:33 +03:00
Alexander Tokmakov
31b6f5f0d2 Merge branch 'master' into merging_external_source_cassandra 2020-05-20 23:44:53 +03:00
kssenii
a055e33087 Add libevent & AMQP-CPP libraries 2020-05-20 09:08:27 +03:00
Alexander Tokmakov
175b7aedf3 Merge branch 'master' into merging_external_source_cassandra 2020-05-19 05:21:27 +03:00
Artem Zuikov
97c7447130
Bitonic sort improvements (#10934) 2020-05-19 00:41:23 +03:00
alexey-milovidov
5898f611da Merge pull request #10861 from traceon/contrib-openldap
Add OpenLDAP third-party library integration (system or contrib/build)
2020-05-15 23:13:23 +03:00
Artem Zuikov
8e8a2a17d6 build fixes 2020-05-15 03:01:31 +03:00
Ri
fc7afaa639
Bitonic sort on GPU (OpenCL) (#10232) 2020-05-15 03:01:14 +03:00
Denis Glazachev
36cb24377b Merge branch 'master' into contrib-openldap
* master: (204 commits)
  DOCS-289: randConstant (#10838)
  Update performance_comparison.md
  fix docs build
  Adjust ld+json images, remove feather icons (#10843)
  [docs] faster local/debug build (#10840)
  CLICKHOUSE-4862: some markdown fixes @ ru mergetree.md (#10835)
  CLICKHOUSE-4862: fix link (#10836)
  Some fixes at ru merge-tree-settings.md (#10837)
  Fix MSan failure in cache dictionary
  Fix double whitespace
  Additional assert in ColumnVector
  Fix paths in compiler error messages #10434
  Fix "Arcadia" build
  Fix style check in Block::sortColumns() (sigh)
  Sort iterators to avoid extra std::string creation in Block::sortColumns()
  Optimize Block::sortColumns()
  Better DNS exception message
  Fix logical error in convertFieldToType
  Make order of columns strict in Block::sortColumns()
  Add a test for INSERT into Buffer() with different order of columns (via MV)
  ...
2020-05-13 00:29:09 +04:00
Denis Glazachev
acd8cfc5d2 Added contrib/openldap submodule
Added OpenLDAP find/detection cmake scripts
Added integration for OpenLDAP Linux and Darwin x86_64 platforms (following OpenSSL integration approach)
2020-05-12 23:19:15 +04:00
Alexey Milovidov
2dd1a1d7b4 Fix paths in compiler error messages #10434 2020-05-12 05:12:08 +03:00
Alexey Milovidov
a576a4fbcd Enable extra warnings for base, utils, programs 2020-05-10 01:59:34 +03:00
Alexey Milovidov
fb32dbe6ee Enable more warnings 2020-05-10 00:44:33 +03:00
Amos Bird
e33fb54686
Fix libunwind 2020-05-09 05:44:57 +08:00
Ivan
85d783c247
Poco contrib refactoring (#10396)
* Remove config_common.h
* Refactor libcpuid contrib
* Remove support for libcpuinfo
* Define USE_CPUID in Arcadia
* Refactor Poco libraries
2020-05-08 17:11:19 +03:00
alexey-milovidov
e908d1cd01
Revert "Partial fix of clang build stack unwinding (omit-frame-pointer)" 2020-05-05 14:36:32 +03:00
alexey-milovidov
aeb5487261
Merge branch 'master' into xcode-build-fix 2020-05-03 05:03:49 +03:00
Alexey Milovidov
d8e36a0789 Added CMake option ENABLE_THINLTO #10585 2020-05-02 16:50:57 +03:00
alexey-milovidov
d763d0019b
Merge pull request #10625 from amosbird/unwind
Partial fix of clang build stack unwinding (omit-frame-pointer)
2020-05-02 16:43:04 +03:00
Amos Bird
014a1233ff
Partial fix of clang build stack unwinding 2020-05-02 18:52:29 +08:00
alexey-milovidov
ab42691b77
Update CMakeLists.txt 2020-05-01 18:41:53 +03:00
Alexey Milovidov
2c01fa1845 Cherry-pick half of #10585 2020-05-01 18:39:50 +03:00
alexey-milovidov
f11148a77c
Trigger CI 2020-05-01 16:44:49 +03:00
Denis Glazachev
66adf60e1b Proper handling of CMAKE_BUILD_TYPE vs CMAKE_BUILD_TYPE_UC 2020-04-30 18:41:22 +04:00
alexey-milovidov
d1bae54dfe
Update CMakeLists.txt 2020-04-30 15:15:30 +03:00
Amos Bird
7f5467bb98
Enable thinLTO 2020-04-30 07:00:23 +08:00
Denis Glazachev
f5600bb8ab Add comments for USE_FOLDERS and CMAKE_FOLDER 2020-04-27 22:34:36 +04:00
Denis Glazachev
59d3256ec5 Append "-Wl,-U,_inside_main" to exe linker flags instead of C/C++ compiler flags (OS_DARWIN only) 2020-04-27 21:53:15 +04:00
Denis Glazachev
bca280d571 Fix typo - do not overwrite targets using a wrong var 2020-04-27 21:51:32 +04:00
Denis Glazachev
22a00bd5a3 Enable organazing targets into folders for GUI-based IDEs
Put all targets of contrib/ into contib/ folder in GUI IDE
2020-04-27 21:50:26 +04:00
Eldar Zaitov
d7a037c26b split fuzzers and sanitizers 2020-04-25 10:12:38 +03:00
Alexey Milovidov
9af711664a Use absolute paths in compiler diagnostic messages 2020-04-22 12:14:08 +03:00
alexey-milovidov
4a73fe7477
Merge pull request #9889 from Avogar/msgpack_format
Msgpack format
2020-04-10 00:07:10 +03:00
Ivan
f6b31f344d
Add cross-compile build for FreeBSD (#9643)
* Add toolchain to Docker image
2020-04-07 11:33:49 +03:00
Avogar
7a96984dd8 Merge branch 'master' of github.com:ClickHouse/ClickHouse into msgpack_format 2020-04-04 16:44:44 +03:00
Ivan Lezhankin
06446b4f08 dbms/ → src/ 2020-04-03 18:14:31 +03:00
Ivan
97f2a2213e
Move all folders inside /dbms one level up (#9974)
* Move some code outside dbms/src folder
* Fix paths
2020-04-02 02:51:21 +03:00
Kruglov Pavel
18daaf6de5
Merge branch 'master' into msgpack_format 2020-03-26 20:11:49 +03:00
Avogar
b02636f916 Add MsgPackRowInputFormat, msgpack-c contrib and tests. 2020-03-26 19:46:13 +03:00
Ivan Lezhankin
362aca365f Merge branch 'master' into jemalloc 2020-03-21 22:50:48 +03:00
Ivan
571d0d541c
Improve CCTZ contrib (#9687)
* common/Types.h → common/types.h
  Also split Core/Defines.h and merge with common/likely.h
* Improve cctz contrib
* Fix ALWAYS_INLINE and unbundled build
* Update Dockerfile from master
* Fix test for unbundled library
2020-03-19 13:38:34 +03:00
Ivan
38b2dec354
Arcadia (#9729)
* Move getFQDNOrHostName to base/common/
* Add argsToConfig to ya.make
* Add coverage.cpp to ya.make
  Also remove WITH_COVERAGE from config file
2020-03-18 21:54:27 +03:00
Ivan Lezhankin
528e42bc4c Improve jemalloc contrib 2020-03-18 15:29:51 +03:00
Hui Wang
f4966ff8a3 set libc++ as stdlib explicitly for clang under darwin 2020-03-15 21:02:06 +01:00
Ivan
b7ef5a699c
Move FastMemcpy to contribs (#9219)
* Get rid of non-existent vectorclass
* Move FastMemcpy to contribs
* Restore comments
* Disable FastMemcpy on non-Linux
* Fix cmake file
* Don't build FastMemcpy for ARM64
* Replace FastMemcpy submodule with its contents
* Fix cmake file
* Move widechar_width to contrib/
* Move sumbur to contrib/
* Move consistent-hashing to contrib/
* Fix UBSan tests
2020-03-13 01:26:16 +03:00
Alexey Milovidov
de67bd78bd Added some clang-tidy checks 2020-03-08 23:17:49 +03:00
Hui Wang
6134a046cb ignore weak symbol under mac because it must be defined 2020-03-06 14:31:27 +01:00
Artem Zuikov
4bea5dc115
allow to disable colored build (#9380) 2020-02-26 16:47:46 +03:00
Alexey Milovidov
5a999a3096 Restore -Werror 2020-02-22 20:32:25 +03:00
Ivan Lezhankin
102dad0ca0 Merge branch 'master' into arcadia 2020-02-17 17:37:10 +03:00
Ivan Lezhankin
39ea079034 More clean-up 2020-02-17 17:27:09 +03:00
Ivan Lezhankin
4cedd4619d Code clean-up 2020-02-16 11:04:03 +03:00
Ivan Lezhankin
2d44fa59b5 libs/ → base/ 2020-02-14 17:48:30 +03:00
levysh
9928b0bbb2
Merge branch 'master' into add-grpc-contrib 2020-02-02 14:47:16 +03:00
Alexey Milovidov
680da3d7ed Merge remote-tracking branch 'origin/master' into oandrew-avro 2020-01-23 22:08:08 +03:00
Ivan
b80e3dcd46
Refactoring of replxx (#8748) 2020-01-23 11:18:19 +03:00
alexey-milovidov
901009d9b0
Merge branch 'master' into oandrew-avro 2020-01-19 03:37:29 +03:00
Alexey Milovidov
4dd7bb7c50 Fixed configuration of replxx 2020-01-19 03:18:25 +03:00
Alexey Milovidov
76e04b9843 Merge branch 'avro' of https://github.com/oandrew/ClickHouse into oandrew-avro 2020-01-18 21:23:55 +03:00
alexey-milovidov
f051844eb7
Merge branch 'master' into replxx 2020-01-11 19:59:33 +03:00
Ivan Lezhankin
8eb0cd82fe Add CMake macro add_warning to check if compiler supports warning 2020-01-10 13:25:14 +03:00
levysh
0b0fff8dc4
Merge branch 'master' into add-grpc-contrib 2020-01-09 20:11:23 +03:00
Ivan Lezhankin
5950f6c081 Merge remote-tracking branch 'upstream/master' into replxx 2020-01-09 19:21:04 +03:00
Andrew Onyshchuk
7320447f92 Add Avro formats
Add Avro file input/output formats
Add AvroConfluent input format (for Kafka)
2020-01-08 03:18:00 -06:00
Alexey Milovidov
628ab6849f Fixed build 2020-01-02 19:38:09 +03:00
alexey-milovidov
14563da602
Merge pull request #8447 from amosbird/c++20
C++20
2019-12-31 21:06:41 +03:00
Alexey Milovidov
5a579d0a29 Corrections to prev. revision 2019-12-31 04:04:44 +03:00
Alexey Milovidov
6792739b5b Removed pie 2019-12-31 03:28:01 +03:00
Aleksei Levushkin
13643d825b added PROTOBUF_GENERATE_GRPC_CPP for generating grpc proto 2019-12-29 14:40:55 +03:00
Amos Bird
bbc736f2d9
c++20! 2019-12-29 03:08:25 +08:00
Ivan Lezhankin
61c73d04f0 Improve CMakeLists.txt 2019-12-27 16:17:36 +03:00
alexey-milovidov
b864bc49b9
Merge pull request #8310 from ClickHouse/remove-tcmalloc
Remove support for tcmalloc
2019-12-20 05:04:19 +03:00
Alexey Milovidov
098a3e0b75 Fixed comment 2019-12-20 03:03:10 +03:00
Alexey Milovidov
fe604cf3e7 Remove support for tcmalloc 2019-12-20 02:59:55 +03:00
alexey-milovidov
91708fedfb
Merge pull request #8151 from amosbird/clangfix
Fix clang build
2019-12-18 17:32:40 +03:00
alexey-milovidov
51ed10ed78
Merge pull request #8011 from Jokser/aws-s3-sdk-integration
AWS SDK S3 integration
2019-12-12 20:43:16 +03:00
Amos Bird
7eaa556f55
Fix clang build 2019-12-12 08:47:25 +08:00
alexey-milovidov
c7d434cec5
Merge pull request #8097 from amosbird/omitframepointer
Omit frame pointer.
2019-12-09 21:57:49 +03:00
Amos Bird
9a40c97e29
Omit frame pointer. 2019-12-09 21:28:45 +08:00
Amos Bird
971770a040
Interpose malloc symbols entirely. 2019-12-07 00:32:00 +08:00
Pavel Kovalenko
a9e2327ec0 AWS S3 SDK integration. 2019-12-03 19:23:24 +03:00
Ivan
4f2f5cca84
Add support for cross-compiling to the CPU architecture AARCH64 (#7370) 2019-10-30 10:01:53 +03:00
Amos Bird
b0d4baccc8 Enable musl and jemalloc for arm.
Can generate better arm packages.
2019-10-14 00:06:54 +08:00
proller
594c535bd4 Build fixes (#7063)
* Build fixes

*            fix

* Fix

* fix

* Fix install(export..

* Freebsd fixes

* Freebsd fixes

* Fix warning

* fix

* More PRIVATE linking

* Fix review

* Timmy

* fix

* fix
2019-10-05 22:25:31 +03:00
Amos Bird
dadc613072 Get rid of malloc symbols in libcommon (#7134) 2019-09-30 14:58:32 +03:00
Ivan
e5a5091556
Revert "Get rid of malloc symbols in libcommon (#7065)" (#7131)
This reverts commit 4cb53093a0.
2019-09-27 16:16:53 +03:00
Amos Bird
4cb53093a0 Get rid of malloc symbols in libcommon (#7065) 2019-09-27 15:19:26 +03:00
Ivan Lezhankin
4b143c3e0f Merge remote-tracking branch 'upstream/master' into issue-6459 2019-09-23 16:07:19 +03:00
Eldar Zaitov
b174833bdf Initial fuzzing support with libfuzzer 2019-09-22 13:34:09 +03:00
Ivan Lezhankin
9e46118edd Merge remote-tracking branch 'upstream/master' into issue-6459 2019-09-20 21:25:55 +03:00
Azat Khuzhin
b30dee621b
Search for ld.gold (since it is more common then just "gold") 2019-09-19 16:41:29 +03:00
alesapin
95f523ba4d Add comment 2019-09-17 12:53:12 +03:00
alesapin
33c3f7a6a2 Add gdb-index for gold linker with gdb-add-index tool 2019-09-17 12:49:27 +03:00
alesapin
24e9114288 Add gdb index to builds with debug info 2019-09-16 14:00:00 +03:00
Ivan Lezhankin
5b60053ef7 [WIP] 2019-09-13 17:56:27 +03:00
Ivan Lezhankin
e692a88196 CMake now works
Example: -DCMAKE_SYSTEM_NAME=Darwin -DSDK_PATH=${HOME}/stuff/MacOSX10.12.sdk -DLINKER_NAME=${HOME}/.local/bin/ld64
2019-09-13 17:56:27 +03:00
Ivan Lezhankin
1b5192706e Some fixes for OS X build. 2019-09-13 17:56:26 +03:00
Ivan Lezhankin
f01706ad11 Refactor some cmake files 2019-09-13 17:56:26 +03:00