ClickHouse® is a real-time analytics DBMS
Go to file
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
.github Update 85_bug-report.md 2022-07-09 07:26:37 +03:00
base Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
benchmark Add example query to hardware benchmark 2022-07-02 03:43:32 +02:00
cmake Better naming for stuff related to splitted debug symbols 2022-06-30 23:41:27 +02:00
contrib Merge pull request #38617 from azat/contrib-debug-symbols 2022-07-06 14:40:24 +02:00
docker Merge pull request #37841 from vdimir/perf-save-to-stat 2022-07-11 13:07:40 +02:00
docs Merge pull request #37295 from IhostVlad/patch-1 2022-07-11 16:01:39 +02:00
packages Merge pull request #38580 from ClickHouse/artifactory-arm64 2022-07-04 12:31:52 +02:00
programs Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
src Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
tests Merge pull request #39037 from amosbird/index-fix-1-again 2022-07-11 13:36:01 +02:00
utils Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
website Add results from Threadripper 2022-07-11 08:32:09 +02:00
.clang-format add BeforeLambdaBody to .clang-format 2022-02-11 16:51:45 +01:00
.clang-tidy Revert "Fix errors of CheckTriviallyCopyableMove type" 2022-06-07 13:53:10 +02:00
.editorconfig Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.gitattributes mark test data as binary 2022-01-22 03:19:47 +03:00
.gitignore Add cmake page back to docs && fix /settings/settings in /zh 2022-04-24 16:47:19 -06:00
.gitmodules Merge branch 'master' into nats-integration 2022-07-04 21:06:07 +02:00
.pylintrc Cover deprecated bad-* pylint options with black 2022-06-08 14:18:28 +02:00
.vimrc Changed tabs to spaces in editor configs and in style guide [#CLICKHOUSE-3]. 2017-04-01 11:35:09 +03:00
.yamllint Drop truthy.check-keys from yamllint (does not supported on CI) 2021-02-21 06:15:36 +03:00
AUTHORS Update AUTHORS 2021-09-22 11:38:03 +03:00
CHANGELOG.md Update CHANGELOG.md 2022-07-01 02:47:15 +03:00
CMakeLists.txt Prefix overridden add_executable() command with "clickhouse_" 2022-07-11 19:36:18 +02:00
CODE_OF_CONDUCT.md Add minimal code of conduct #9676 2020-03-16 12:44:28 +03:00
CONTRIBUTING.md Mention ClickHouse CLA in CONTRIBUTING.md (#32697) 2021-12-14 03:47:19 +03:00
format_sources allow several <graphite> targets (#603) 2017-03-21 23:08:09 +04:00
LICENSE Update year 2022-01-27 01:01:27 +03:00
PreLoad.cmake Do not override compiler if it had been already set 2022-07-06 08:51:57 +03:00
README.md Update README.md 2022-06-30 12:03:09 -06:00
SECURITY.md Update SECURITY.md 2022-07-06 22:04:53 +10:00

ClickHouse — open source distributed column-oriented DBMS

ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time.

  • Official website has a quick high-level overview of ClickHouse on the main page.
  • Tutorial shows how to set up and query a small ClickHouse cluster.
  • Documentation provides more in-depth information.
  • YouTube channel has a lot of content about ClickHouse in video format.
  • Slack and Telegram allow chatting with ClickHouse users in real-time.
  • Blog contains various ClickHouse-related articles, as well as announcements and reports about events.
  • Code Browser (Woboq) with syntax highlight and navigation.
  • Code Browser (github.dev) with syntax highlight, powered by github.dev.
  • Contacts can help to get your questions answered if there are any.

Upcoming events