summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAli Mohammad Pur <ali.mpfard@gmail.com>2021-04-21 15:45:52 +0430
committerLinus Groh <mail@linusgroh.de>2021-04-21 14:29:46 +0200
commit468ac11f29c62ea4fbe2e1d3f231d53997539a1c (patch)
tree0da91748a89c0858673d95491e62334a16db3cd0 /CMakeLists.txt
parentc4f682606a31fbd8f75cfd8e54a3997142e6e23d (diff)
downloadserenity-468ac11f29c62ea4fbe2e1d3f231d53997539a1c.zip
Meta: Add an option to precompile some very common AK headers
Until we get the goodness that C++ modules are supposed to be, let's try to shave off some parse time using precompiled headers. This commit only adds some very common AK headers, only to binaries, libraries and the kernel (tests are not covered due to incompatibility with AK/TestSuite.h). This option is on by default, but can be disabled by passing `-DPRECOMPILE_COMMON_HEADERS=OFF` to cmake, which will disable all header precompilations. This makes the build about 30 seconds faster on my machine (about 7%).
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt1
1 files changed, 1 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8ba74b5868..a442a012f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,6 +26,7 @@ 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" ON)
add_custom_target(run
COMMAND ${CMAKE_SOURCE_DIR}/Meta/run.sh