Commit Graph

28 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
8485abd52b Remove unbundled lz4 support 2022-01-20 08:47:16 +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
Alexey Milovidov
646f409b8e Fix "check style" tool 2020-04-06 02:51:26 +03:00
Alexey Milovidov
91e0d79007 Removed old ZSTD test 2020-01-10 21:41:09 +03:00
Ivan
b4339f266d
Make a better build scheme (#6500)
* Fix shared build
* Major default libs refactor
* Fix build with gcc_eh
* Link all libraries as a big group.
* Use global interface library as a group
* Build capnproto using our cmake
* Use only internal libunwind
2019-08-28 23:49:37 +03:00
Alexey Milovidov
8abe0990b2 Remove "clickhouse_compression" library because it is not a library (cyclic dependency via IDataType) 2019-07-10 00:43:04 +03:00
proller
51ca4cbaa4
Build fixes (#5278) 2019-05-15 20:19:39 +03:00
proller
d2e18d47fb
Fix link in split mode (#4574) 2019-03-04 20:47:31 +03:00
proller
300bbdfb43 Fix cyclic lib depend ppart 2: clean 2018-12-28 21:15:26 +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
alexey-milovidov
17d90fe6da
Merge branch 'master' into lz4_experiments 2018-06-10 23:13:38 +03:00
proller
e7a2f10e2a Fix test build 2018-03-23 19:40:15 +03:00
alexey-milovidov
238eba25c9
Merge branch 'master' into lz4_experiments 2018-02-12 20:05:48 +03:00
proller
76cf0ba5d0 Better tests (#1785)
* 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

* Travis optimize

* optimize

* Fix clickhouse-test --no-long

* no long

* Split too long test

* Better tests

* missing file

* Fix includes

* Added draft [#CLICKHOUSE-2].

* fix

* fix

* fix

* Fix test 281 under asan
2018-01-18 23:33:16 +03:00
Alexey Milovidov
ed4c9476ee Added experimental data scrambler; experiments in performance of LZ4_decompress_fast function [#CLICKHOUSE-2] 2018-01-15 02:54:23 +03:00
proller
b0469def79 Remove package clickhouse-compressor, simpler pbuilder test 2018-01-10 02:43:04 +03:00
proller
4b63d9a4c3 Cmake: fix link of some tests (missing pthread) 2017-11-27 23:39:06 +03:00
Vitaliy Lyudvichenko
48c5382c92 Add 'clickhouse compressor' command. [#CLICKHOUSE-2] 2017-09-24 02:15:56 +03:00
proller
72ccc69212 Debian: simpler package (#662)
* Allow use external re2 with re2_st=re2

* fix

* remove dupe

* use re2_st in FunctionsStringSearch.h

* fix

* move files from tools/etc to debian

* dont generate control

* version

* ok.

* wip

* Cmake: dont touch CMAKE_INSTALL_PREFIX

* wip

* works!

* clean

* okay

* like old

* wip

* wip

* okay

* clickhouse-server-base-dbg

* clean

* clickhouse-server-dbg

* Debian: Remove daemons

* Update rules

* add source/format

* control clean

* add watch

* clean

* clean

* temp fix build

* clean

* docs

* fake make_control

* fix

* testme

* testme

* add metrika package

* fake metrika files
2017-04-10 20:43:30 +03:00
proller
0e91c47066 Allow build with external double-conversion lz4 zstd re2 zookeeper (#531)
* Allow build with external double-conversion lz4 zstd re2 zookeeper

* fix

* fix

* freebsd fixes

* spaces

* fix

* fix

* fix

* wip

* move

* fix
2017-03-01 03:49:04 +04:00
Pavel Kartavyy
224ba16dcb use project source and binary dirs instead of global dirs 2017-02-06 18:15:19 +03:00
proller
861a3c3208 rename compressor to clickhouse-compressor, Fix magic in copy_headers.sh (#345)
* rename compressor to clickhouse-compressor

* Fix magic in copy_headers.sh

* wip
2017-01-18 16:42:21 +04:00
proller
29475c94c0 Reorganize includes, less depends in .h files 2017-01-16 22:47:11 +03:00
Vladimir Chebotarev
8e1a6aaf3e cmake: Boost, OpenSSL into find_package(). [#METR-23701] 2016-12-06 16:20:32 +03:00
Vladimir Chebotarev
cdaece7dfa : More specific usage of static libraries. [#METR-21516] 2016-11-09 21:49:01 +03:00
Alexey Milovidov
388d3c5605 Added test to reproduce bug in ZSTD (most likely https://github.com/Cyan4973/zstd/issues/173) [#METR-21075]. 2016-04-27 00:40:43 +03:00
Alexey Milovidov
df1d66e51a Removed sensitive data. 2016-02-08 00:58:58 +03:00