Build: Stop using precompiled headers (PCH)

This had very bad interactions with ccache, often leading to rebuilds
with 100% cache misses, etc. Ali says it wasn't that big of a speedup
in the end anyway, so let's not bother with it.

We can always bring it back in the future if it seems like a good idea.
This commit is contained in:
Andreas Kling 2021-05-17 18:48:37 +02:00
parent a5603c35df
commit a15c7b7944
Notes: sideshowbarker 2024-07-18 17:56:13 +09:00
6 changed files with 0 additions and 46 deletions

View file

@ -26,7 +26,6 @@ option(ENABLE_ALL_THE_DEBUG_MACROS "Enable all debug macros to validate they sti
option(ENABLE_COMPILETIME_FORMAT_CHECK "Enable compiletime format string checks" ON)
option(ENABLE_PCI_IDS_DOWNLOAD "Enable download of the pci.ids database at build time" ON)
option(BUILD_LAGOM "Build parts of the system targeting the host OS for fuzzing/testing" OFF)
option(PRECOMPILE_COMMON_HEADERS "Precompile some common headers to speedup compilation" OFF)
option(ENABLE_KERNEL_LTO "Build the kernel with link-time optimization" OFF)
add_custom_target(run

View file

@ -383,7 +383,6 @@ endif()
target_link_libraries(Kernel kernel_heap gcc stdc++)
add_dependencies(Kernel boot kernel_heap)
install(TARGETS Kernel RUNTIME DESTINATION boot)
serenity_add_ak_precompiled_headers_to_target(Kernel)
add_custom_command(
TARGET Kernel

View file

@ -1,9 +0,0 @@
function(serenity_add_precompiled_header_to_target target header)
if (PRECOMPILE_COMMON_HEADERS AND COMMAND target_precompile_headers)
target_precompile_headers(${target} PRIVATE ${header})
endif ()
endfunction()
function(serenity_add_ak_precompiled_headers_to_target target)
serenity_add_precompiled_header_to_target(${target} ${CMAKE_SOURCE_DIR}/Meta/Precompile/AK.h)
endfunction()

View file

@ -1,5 +1,3 @@
include(${CMAKE_SOURCE_DIR}/Meta/CMake/precompile-headers.cmake)
function(serenity_install_headers target_name)
file(GLOB_RECURSE headers RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.h")
foreach(header ${headers})
@ -32,7 +30,6 @@ function(serenity_lib target_name fs_name)
add_library(${target_name} SHARED ${SOURCES} ${GENERATED_SOURCES})
install(TARGETS ${target_name} DESTINATION usr/lib)
set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
serenity_add_ak_precompiled_headers_to_target(${target_name})
serenity_generated_sources(${target_name})
endfunction()
@ -69,7 +66,6 @@ endfunction()
function(serenity_bin target_name)
add_executable(${target_name} ${SOURCES})
install(TARGETS ${target_name} RUNTIME DESTINATION bin)
serenity_add_ak_precompiled_headers_to_target(${target_name})
serenity_generated_sources(${target_name})
endfunction()

View file

@ -1,28 +0,0 @@
/*
* Copyright (c) 2021, Ali Mohammad Pur <ali.mpfard@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Assertions.h>
#include <AK/Badge.h>
#include <AK/ByteBuffer.h>
#include <AK/Format.h>
#include <AK/Forward.h>
#include <AK/Function.h>
#include <AK/HashMap.h>
#include <AK/JsonObject.h>
#include <AK/LexicalPath.h>
#include <AK/Optional.h>
#include <AK/OwnPtr.h>
#include <AK/RefCounted.h>
#include <AK/RefPtr.h>
#include <AK/StdLibExtras.h>
#include <AK/String.h>
#include <AK/StringBuilder.h>
#include <AK/StringView.h>
#include <AK/Types.h>
#include <AK/URL.h>
#include <AK/Vector.h>

View file

@ -93,6 +93,3 @@ set(SOURCES
serenity_lib(LibJS js)
target_link_libraries(LibJS LibM LibCore LibCrypto LibRegex LibSyntax)
serenity_add_precompiled_header_to_target(LibJS ${CMAKE_CURRENT_SOURCE_DIR}/Heap/Heap.h)
serenity_add_precompiled_header_to_target(LibJS ${CMAKE_CURRENT_SOURCE_DIR}/Runtime/GlobalObject.h)