Commit Graph

12 Commits

Author SHA1 Message Date
Robert Schulze
1a7727a254
Prefix overridden add_executable() command with "clickhouse_"
A simple HelloWorld program with zero includes except iostream triggers
a build of ca. 2000 source files. The reason is that ClickHouse's
top-level CMakeLists.txt overrides "add_executable()" to link all
binaries against "clickhouse_new_delete". This links against
"clickhouse_common_io", which in turn has lots of 3rd party library
dependencies ... Without linking "clickhouse_new_delete", the number of
compiled files for "HelloWorld" goes down to ca. 70.

As an example, the self-extracting-executable needs none of its current
dependencies but other programs may also benefit.

In order to restore access to the original "add_executable()", the
overriding version is now prefixed. There is precedence for a
"clickhouse_" prefix (as opposed to "ch_"), for example
"clickhouse_split_debug_symbols". In general prefixing makes sense also
because overriding CMake commands relies on undocumented behavior and is
considered not-so-great practice (*).

(*) https://crascit.com/2018/09/14/do-not-redefine-cmake-commands/
2022-07-11 19:36:18 +02:00
Azat Khuzhin
4a2bc64989 Introduce clickhouse_common_zookeeper_no_log (w/o extra deps for examples)
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
2022-01-11 23:51:41 +03:00
Alexey Milovidov
f0580b3f72 Remove unneeded code from CMakeLists 2021-04-24 22:26:00 +03: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
Ivan
b80e3dcd46
Refactoring of replxx (#8748) 2020-01-23 11:18:19 +03:00
Ivan Lezhankin
bf22e12e4e Initial replacement readline → replxx 2019-12-27 16:17:36 +03:00
proller
8c70de3bc7
Build fixes (freebsd) (#4696) 2019-03-14 23:52:10 +03:00
proller
1d40c2c871 Better link and deps (#3631)
* try fix 1

* Better deps

* fix

* fix

* fix

* Update CMakeLists.txt

* Update CMakeLists.txt

* fix

* fix

* fix

* disable old

* Update find_odbc.cmake
2018-11-21 22:20:27 +03:00
proller
7dafcacd15
Build fixes (#3459) 2018-10-24 20:20:27 +03:00
proller
d97b2edc7c Make separate libs Common/ZooKeeper and Common/ConfigProcessor (#1749)
* Make separate libs Common/ZooKeeper and Common/ConfigProcessor
renamed:    dbms/src/Common/StringUtils.h -> dbms/src/Common/StringUtils/StringUtils.h

* Fix space

* Fix data in system.build_options

* merge

* merge
2018-01-15 22:07:47 +03:00
proller
6ff1968196 Compile and likk optimize and fixes 2017-11-24 21:08:01 +03:00
Alexey Milovidov
05accbdcbe Removed cyclic dependency [#DEVTOOLS-3381]. 2017-06-19 23:06:35 +03:00