ClickHouse/utils
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
..
antlr add support of window function in antlr grammar 2021-10-14 17:40:14 +02:00
changelog Add sleeping after received second rate limit exceeded 2022-06-23 12:13:07 +02:00
changelog-simple Minor change 2022-05-22 22:33:41 +02:00
check-marks Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
check-mysql-binlog Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
check-style check-style: improve ZooKeeper path check for Replicated.*MergeTree tables 2022-07-08 13:19:24 +03:00
checksum-for-compressed-block Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
ci Remove old trash 2021-12-27 12:50:21 +03:00
clickhouse-diagnostics fix: utils/clickhouse-diagnostics/requirements.txt to reduce vulnerabilities 2022-04-28 02:30:08 +00:00
compressor Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
config-processor Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
corrector_utf8 Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
db-generator Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
durability-test add waiting for fsync in WAL 2020-09-11 02:28:50 +03:00
graphite-rollup Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
grpc-client Apply black formatter to all *.py files in the repo 2022-03-22 17:39:58 +01:00
iotest Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
kafka Apply black formatter to all *.py files in the repo 2022-03-22 17:39:58 +01:00
keeper-bench Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
keeper-data-dumper Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
keeper-overload Black 2022-04-28 18:16:10 +02:00
list-licenses P -> D (should fix test "01276_system_licenses") 2022-06-22 09:21:12 +00:00
list-versions Update version_date.tsv after v22.4.6.53-stable 2022-07-07 20:05:14 +00:00
memcpy-bench Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
package .tech -> .com 2021-09-22 03:22:57 +03:00
postprocess-traces Fixed postprocess-traces script [#CLICKHOUSE-4017] 2018-09-28 07:35:59 +03:00
report Changed repository URL 2019-09-23 19:18:19 +03:00
s3tools Remove Arcadia 2022-04-16 00:24:58 +02:00
security-generator Update SECURITY.md.sh 2022-06-27 12:06:16 +10:00
self-extracting-executable Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
test_history Convert to python3 (#15007) 2020-10-02 19:54:07 +03:00
tests-visualizer Update URL in test visualizer 2022-04-03 04:53:59 +02:00
trace-visualizer fix trace-viz zoom anomalies 2022-06-21 20:04:52 +02:00
wal-dump Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
wikistat-loader Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
zero_copy Apply black formatter to all *.py files in the repo 2022-03-22 17:39:58 +01:00
zookeeper-adjust-block-numbers-to-parts Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
zookeeper-cli Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
zookeeper-create-entry-to-download-part Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
zookeeper-dump-tree Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
zookeeper-remove-by-list Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
zookeeper-test Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
c++expr fix root CMakeLists.txt search 2022-05-26 04:39:02 +02:00
clickhouse-docker Change Docker org name 2021-09-20 01:52:21 +03:00
CMakeLists.txt bugs fixed, process EINTR, rename to self-extracting-executable 2022-06-12 23:27:56 -04:00