Commit Graph

3 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
nikitamikhaylov
c1fa34a9af done 2020-10-14 16:03:13 +03:00
Nikita Mikhaylov
ab48947305
Datasets generation (Merging #10973) (#14442)
* created program in utils

* reset test

* removed additional printings

* refactoring

* fix float generator, fix build

* add readme

* refactor readme

* fixed random int func

* clang format

* fix build

* fix build

* fix PVS, uncrustify

* newline at end of file

* refactor string_type func

* restyle func maps

* support IN operation

* support multiquery

* fix style

* change rand to pcg64

* fix array generation

* fix build

* better

* subqueries

* style

* better

* delete samples.sql

Co-authored-by: Roman Ilgovskiy <ilgovskiy@yandex-team.ru>
2020-09-04 13:39:17 +03:00