Commit Graph

621 Commits

Author SHA1 Message Date
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
alexey-milovidov
1719ab1ec5
Merge pull request #12041 from azat/curl-proper-cmake
Rewrite curl dependency in a more ch compatible way
2020-07-06 06:31:51 +03:00
Azat Khuzhin
e6aacaac5c Do not enable sentry if ENABLE_LIBRARIES is not set 2020-07-04 16:41:22 +03:00
Azat Khuzhin
0700a705bc Rewrite curl dependency in a more ch compatible way
- add support of unbundled curl
- add CURL::libcurl libraries
- avoid explicit linkage of daemon with curl (added with sentry)
- set CACHE variables for non-direct users:
  - mariadb-connector-c
  - aws-s3-cmake
  - sentry-native

Cc: @alexey-milovidov
Cc: @alesapin (requires docker image update)
Cc: @abyss7

Refs: #11300
Refs: #8011
Refs: #8905

v2: replace cmake/find/curl.cmake with proper contrib/curl-cmake (as
pointed by @abyss7, cmake/find/*.cmake is deprecated)
2020-07-03 00:57:08 +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
alesapin
3fc65b3269 Merge branch 'master' into kssenii-rabbit-mq 2020-06-24 20:14:28 +03:00
Ivan Blinkov
45d1ca2567 merge master 2020-06-24 00:18:16 +03:00
robot-clickhouse
4bd47b8adc Auto version update to [20.6.1.1] [54436] 2020-06-22 20:40:26 +03:00
robot-clickhouse
bc7f98141f Auto version update to [20.5.1.3833] [54435] 2020-06-22 20:39:51 +03:00
alexey-milovidov
efc57fb063
Make the comment more readable. 2020-06-22 17:59:38 +03:00
Ivan Blinkov
5f73c87c71 change used flag 2020-06-11 15:18:19 +03:00
kssenii
18820814f5 Merge 2020-06-10 23:25:33 +00:00
Ivan Blinkov
67ccd6703e maybe fix the unbundled gcc build 2020-06-11 00:03:13 +03:00
Ivan Blinkov
6191d33bd9 Do not cache frames inside StackTrace 2020-06-10 16:30:12 +03:00
Ivan Blinkov
90ee4d52f4 merge master 2020-06-10 13:18:41 +03:00
Ivan Blinkov
f872c639ed Try to disable linker options from sentry 2020-06-09 20:44:56 +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
Ivan Blinkov
5b3fef526e Merge branch 'master' of github.com:ClickHouse/ClickHouse into sentry 2020-06-09 11:51:29 +03:00
Alexey Milovidov
d91dab0d8f Fixed "unbundled" build 2020-06-08 02:11:37 +03:00
Ivan Blinkov
6f0e754f1e try to fix the glibc compatibility 2020-06-04 11:57:01 +03:00
Alexander Tokmakov
e67837bc4a cleenup 2020-06-04 00:11:17 +03:00
Ivan Blinkov
2f74c58b05 experiment with BUILD_SHARED_LIBS 2020-06-02 23:50:18 +03:00
Ivan Blinkov
921b7c7480 partial revert 2020-06-02 22:25:34 +03:00
Ivan Blinkov
711e7d101d experiment 2020-06-02 21:50:55 +03:00
Ivan Blinkov
0e8d559d83 disable for splitted 2020-06-02 13:13:21 +03:00
Ivan Blinkov
9c1ac2f1c1 experiment 2020-06-02 09:46:36 +03:00
Ivan Blinkov
5a32d79135 experiment 2020-06-01 23:55:32 +03:00
Ivan Blinkov
65ff11aeac old cmake compatibility 2020-06-01 22:49:00 +03:00
Ivan Blinkov
8babd4d18c experiment 2020-06-01 21:36:33 +03:00
Ivan Blinkov
1ce25238f8 try fix some more build issues 2020-06-01 19:49:11 +03:00
Alexander Tokmakov
62761eddcc Merge branch 'master' into merging_external_source_cassandra 2020-06-01 14:44:46 +03:00
Ivan Blinkov
fcc7ff0ef9 Merge branch 'master' of github.com:ClickHouse/ClickHouse into sentry 2020-06-01 08:42:03 +03:00
kssenii
e80b405359 Merge branch 'master' of https://github.com/ClickHouse/ClickHouse into add-storage-rabbitmq-read-only 2020-05-31 10:30:53 +00:00
Ivan Blinkov
77d8c9baca Add anonymize option and version tag 2020-05-30 11:02:13 +03:00
Vitaly Baranov
69afc13d55 Fix build scripts related to protobuf and gRPC for Mac. 2020-05-29 23:09:01 +03:00
Ivan Blinkov
95ee742ee7 merge master 2020-05-29 22:56:10 +03:00
Alexander Tokmakov
8921041706 Merge branch 'master' into merging_external_source_cassandra 2020-05-29 18:20:39 +03:00
Maxim Akhmedov
ce52a2c820 Add lost VERSION_* defines to ya.make.versions.inc 2020-05-28 19:44:30 +03:00
Maxim Akhmedov
f5b1ab8e4a Use proper versions in Arcadia build. 2020-05-28 16:46:56 +03:00
Ivan Blinkov
709b4f42c8 Prototype sending crash reports on segfaults 2020-05-27 22:11:04 +03:00
Vitaly Baranov
7b03e36c2a Improve build scripts related to protobuf and gRPC a little more. 2020-05-27 20:14:44 +03:00
Alexander Tokmakov
940132adc4 Merge branch 'master' into merging_external_source_cassandra 2020-05-27 00:13:57 +03:00
kssenii
ad1c0de8db Merge 2020-05-26 17:45:39 +00:00
Vitaly Baranov
58a2172154 Improve build scripts related to protobuf and gRPC. 2020-05-25 18:46:57 +03:00
Alexander Tokmakov
ac54d470da Merge branch 'master' into merging_external_source_cassandra 2020-05-22 17:27:40 +03:00
Alexander Tokmakov
e6ca09e134 fix build 2020-05-22 17:19:33 +03:00
Azat Khuzhin
23044ac02c Disable -Wsequence-point on gcc10 (otherwise it stuck on GatherUtils compiling)
clang (10.0.0 is fine BTW) will warn about this anyway on CI.

For the debug build gcc10:

- before patch:
  - concat.cpp -> >5m (stuck on cc1plus, not as)
  - has.cpp    -> >10m (stuck on cc1plus, not as)

- after this patch:
  - concat.cpp -> 1m16s
  - has.cpp    -> 4m (and most of the time eats, as from binutils 2.34.50.20200508)

Command for build:
- ninja src/Functions/GatherUtils/CMakeFiles/clickhouse_functions_gatherutils.dir/concat.cpp.o
- ninja src/Functions/GatherUtils/CMakeFiles/clickhouse_functions_gatherutils.dir/has.cpp.o

The test case should be reduced and then it can be reported to the gcc
bugzilla.

P.S. Looks like a signal not to switch to gcc10 for now
2020-05-21 21:18:34 +03:00