ClickHouse/programs
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
..
bash-completion Add ability to pass QueryKind via clickhouse-client/local (useful for debugging) 2022-05-19 07:19:27 +03:00
benchmark Enable clang-tidy modernize-deprecated-headers & hicpp-deprecated-headers 2022-05-09 08:23:33 +02:00
client Fix wrong docs 2022-06-21 00:09:55 +02:00
compressor fix crash when you use clickhouse-git-import with invalid parameter 2022-04-14 23:16:02 +08:00
copier Fix some more tests. 2022-06-01 15:21:47 +00:00
diagnostics Fix typos issues it clickhouse-diagnostics 2022-07-04 10:59:39 +02:00
disks Fixed uninitialized optional 2022-06-23 23:55:21 +02:00
extract-from-config Allow globs in keys for clickhouse-extract-from-config tool (#38966) 2022-07-08 16:13:32 +02:00
format Activate clang-tidy warning "readability-container-contains" 2022-04-18 23:53:11 +02:00
git-import Activate clang-tidy warning "readability-container-contains" 2022-04-18 23:53:11 +02:00
install Fix 2022-06-16 19:50:09 +02:00
keeper Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
keeper-converter Cache nodes latest state 2022-05-19 12:30:57 +00:00
library-bridge Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
local LocalServer: remove superfluous ProgressIndicator.h 2022-06-16 11:59:01 +03:00
obfuscator Revert "Fix errors of CheckTriviallyCopyableMove type" 2022-06-07 13:53:10 +02:00
odbc-bridge Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
self-extracting add remove command 2022-06-29 06:47:21 -04:00
server Merge branch 'master' into deprecate_ordinary_database 2022-06-27 14:46:59 +02:00
static-files-disk-uploader Fix error in static-files-disk-uploader 2022-05-24 01:38:17 +02:00
su Update programs/su/clickhouse-su.cpp 2022-06-30 12:44:59 +02:00
clickhouse-split-helper Move all folders inside /dbms one level up (#9974) 2020-04-02 02:51:21 +03:00
CMakeLists.txt Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
config_tools.h.in Add basic commands for disk tool (list-disks, list, move, remove, link, copy, read, write) + tests 2022-06-06 16:52:58 +03:00
embed_binary.S.in Adds a better way to include binary resources 2021-06-09 14:03:30 -07:00
main.cpp Minor follow-up 2022-06-14 08:52:13 +00:00