1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-13 20:50:59 +00:00
serenity/Meta/CMake
Daniel Bertalan 44365074fe CMake: Add UNDEFINED_BEHAVIOR_IS_FATAL configure option
This is mainly intended for use on CI, as UBSan instrumentation results
in a serious load and execution time penalty there. See the previous
commit for more details.

With this enabled, the size of LibWeb, built for x86-64 with Clang 17 as
of 0b91d36a is reduced as follows:

      FILE SIZE        VM SIZE
   --------------  --------------
     +18% +2.99Mi  [ = ]       0    .debug_info
     +14%  +758Ki  [ = ]       0    .debug_addr
    +2.6% +7.92Ki  [ = ]       0    .debug_abbrev
    +129% +2.66Ki  [ = ]       0    [Unmapped]
    -0.2%    -208  -0.2%    -208    .plt
    -0.2%    -312  -0.2%    -312    .rela.plt
    -0.1%    -336  -0.1%    -336    .dynsym
    -0.0%    -647  -0.0%    -513    [8 Others]
    -0.1% -1.14Ki  -0.1% -1.14Ki    .dynstr
   -20.1% -53.5Ki -20.1% -53.5Ki    .eh_frame_hdr
    -7.2% -56.8Ki  [ = ]       0    .debug_str_offsets
    -7.1%  -156Ki  [ = ]       0    .debug_str
   -15.0%  -160Ki  [ = ]       0    .symtab
   -63.6%  -245Ki -63.6%  -245Ki    .relr.dyn
   -25.4%  -357Ki -25.4%  -357Ki    .eh_frame
   -27.7% -1.09Mi  [ = ]       0    .strtab
   -59.3% -10.0Mi  [ = ]       0    .debug_rnglists
   -41.3% -11.0Mi  [ = ]       0    .debug_line
   -70.0% -12.0Mi -70.0% -12.0Mi    .rodata
   -65.2% -15.1Mi -65.2% -15.1Mi    .data
   -53.0% -15.7Mi -53.0% -15.7Mi    .text
   -41.7% -62.1Mi -57.7% -43.4Mi    TOTAL
2023-08-13 05:14:07 +02:00
..
Superbuild Meta: Promote SERENITY_CACHE_DIR to a real option 2023-08-10 20:10:05 -06:00
all_the_debug_macros.cmake LibAudio: Add a FLAC encoder 2023-08-12 12:25:26 -06:00
ca_certificates_data.cmake Meta: Update cacert.pem 2023-05-30 13:05:19 +02:00
check_for_dependencies.cmake Meta: Do not log CMake version on each CMake invocation 2022-09-11 21:40:15 +01:00
cmake-version.cmake Toolchain+Meta: Add script to build CMake from source 2022-12-13 11:36:14 +01:00
code_generators.cmake Meta+Userland: Allow generating C++ initializer code from GML 2023-08-11 21:33:48 +02:00
common_compile_options.cmake CMake: Set -fvisibility-inlines-hidden on ELF platforms 2023-08-12 05:14:20 +02:00
common_options.cmake CMake: Add UNDEFINED_BEHAVIOR_IS_FATAL configure option 2023-08-13 05:14:07 +02:00
commonmark_spec.cmake CMake: Download Commonmark and Wasm spec tests using download_file() 2023-08-10 20:10:05 -06:00
flac_spec_tests.cmake Meta: Refactor FLAC spec test extraction with extract_tar_path 2023-03-19 14:15:35 +00:00
jakt.cmake Meta: Update jakt build support for fully bootstrapped compiler 2022-09-09 11:23:42 +02:00
lagom-install-config.cmake Meta: Update jakt build support for fully bootstrapped compiler 2022-09-09 11:23:42 +02:00
lagom_compile_options.cmake CMake: Set -fvisibility-inlines-hidden on ELF platforms 2023-08-12 05:14:20 +02:00
lagom_options.cmake Lagom: Allow opting into linking with mold 2023-06-10 17:31:41 -07:00
libgl_generators.cmake CMake: Don't require to install glapi.h to system 2023-02-04 15:53:07 -07:00
libweb_generators.cmake LibWeb: Generate PseudoClass metadata 2023-08-12 16:26:32 +02:00
locale_data.cmake Meta: Assume files already extracted for ENABLE_NETWORK_DOWNLOADS=OFF 2023-08-10 20:10:05 -06:00
pnp_ids.cmake Meta: Remove unused "prefix" variable from invoke_generator() helper 2022-10-16 21:16:48 +02:00
processor-count.cmake Meta: Print error if cmake does not exist 2022-10-16 17:49:18 +02:00
serenity_compile_options.cmake CMake: Clean up AArch64 compiler flags 2023-08-12 19:39:00 +02:00
serenity_components.cmake Meta: Properly ignore targets which don't have a component name 2022-10-15 13:12:42 +02:00
serenity_options.cmake CMake: Pass NO_POLICY_SCOPE to options cmake helpers 2022-12-14 12:43:12 +01:00
setup_ccache.cmake Meta: Detect ccache being passed as the compiler 2022-12-12 21:34:09 -07:00
time_zone_data.cmake Meta: Assume files already extracted for ENABLE_NETWORK_DOWNLOADS=OFF 2023-08-10 20:10:05 -06:00
unicode_data.cmake Meta: Assume files already extracted for ENABLE_NETWORK_DOWNLOADS=OFF 2023-08-10 20:10:05 -06:00
utils.cmake CMake: Add option to disable network downloads altogether 2023-08-10 20:10:05 -06:00
wasm_spec_tests.cmake CMake: Download Commonmark and Wasm spec tests using download_file() 2023-08-10 20:10:05 -06:00