Commit Graph

20 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
Nikita Mikhaylov
736fa4bb72
Update libprotobuf-mutator + fix build (#38834) 2022-07-05 12:31:50 +02:00
Mikhail f. Shiryaev
e6f5a3f98b
Apply black formatter to all *.py files in the repo 2022-03-22 17:39:58 +01:00
Azat Khuzhin
6c0fa21025 Remove unbundled libprotobuf-mutator support 2022-01-20 08:47:16 +03:00
Azat Khuzhin
788cb6b2b0 Remove unbundled protobuf support 2022-01-20 08:47:16 +03:00
Amos Bird
6d62060e16
Build improvement 2022-01-17 22:36:27 +08:00
Nikita Mikhaylov
619ad46340
Fix oss-fuzz build (#31818) 2021-11-26 01:14:34 +03:00
Nikita Mikhaylov
aae30a9e37
Fix fuzzer build (#30344) 2021-10-26 20:30:34 +03:00
alexey-milovidov
c18d283469
Update codegen_select_fuzzer.cpp 2021-10-16 03:57:26 +03:00
Nikita Mikhaylov
882c876090
Update codegen_select_fuzzer.cpp 2021-10-15 21:21:08 +03:00
Nikita Mikhaylov
ec188000b6 Style + more uncomment 2021-10-15 17:06:20 +00:00
Pavel Cheremushkin
058081bcb2 fixed typo in gen.py; clickhouse.g applying Nikita's in build-time generation 2021-10-15 18:18:02 +03:00
Nikita Mikhaylov
e9bf496d42 Added an ability to generate data in build time 2021-10-15 14:35:50 +00:00
Nikita Mikhaylov
57a623aba0
Merge branch 'master' into codegen_select_fuzzer_v1 2021-10-13 16:01:40 +03:00
Pavel Cheremushkin
562138c9fa codegen_fuzzer: removing errors on warnings from protobuf-generated code in more gentle way 2021-10-13 15:01:21 +03:00
Pavel Cheremushkin
9ed3361298 removing code generated files, since protobuf generation is now done in CMake 2021-10-12 03:53:43 +03:00
Pavel Cheremushkin
7b9358a597 adding codegen fuzzer + code generation script. new contrib added: libprotobuf-mutator 2021-10-12 03:21:31 +03:00
Alexey Milovidov
fe6b7c77c7 Rename "common" to "base" 2021-10-02 10:13:14 +03:00
Nikita Mikhaylov
0e602d85f0 Done 2021-09-28 20:16:32 +00:00
Nikita Mikhaylov
3cd689c168 Moved fuzzers to another directory 2021-08-21 02:27:27 +00:00