summaryrefslogtreecommitdiff
path: root/Meta/CMake/common_options.cmake
diff options
context:
space:
mode:
authorAndrew Kaster <akaster@serenityos.org>2021-09-07 02:08:54 -0600
committerAli Mohammad Pur <Ali.mpfard@gmail.com>2021-09-15 19:04:52 +0430
commit904a268872416dc9b9f26c83fd0b1bd8b715c511 (patch)
tree858f85327337c91740ba861cb4dafa4d432a7822 /Meta/CMake/common_options.cmake
parent6e7cc40b18dae594a9b0344a8dda692fa4d81343 (diff)
downloadserenity-904a268872416dc9b9f26c83fd0b1bd8b715c511.zip
Meta: Move all options to targetname_options.cmake files
This common strategy of having a serenity_option() macro defined in either the Lagom or top level CMakeLists.txt allows us to do two things: First, we can more clearly see which options are Serenity-specific, Lagom-specific, or common between the target and host builds. Second, it enables the upcoming SuperBuild changes to set() the options in the SuperBuild's CMake cache and forward each target's options to the corresponding ExternalProject.
Diffstat (limited to 'Meta/CMake/common_options.cmake')
-rw-r--r--Meta/CMake/common_options.cmake12
1 files changed, 12 insertions, 0 deletions
diff --git a/Meta/CMake/common_options.cmake b/Meta/CMake/common_options.cmake
new file mode 100644
index 0000000000..d46fe3f734
--- /dev/null
+++ b/Meta/CMake/common_options.cmake
@@ -0,0 +1,12 @@
+#
+# Options common for the Serenity (target) and Lagom (host) builds
+#
+
+serenity_option(ENABLE_COMPILETIME_FORMAT_CHECK ON CACHE BOOL "Enable compiletime format string checks")
+serenity_option(ENABLE_UNDEFINED_SANITIZER OFF CACHE BOOL "Enable undefined behavior sanitizer testing in gcc/clang")
+
+serenity_option(ENABLE_ALL_THE_DEBUG_MACROS OFF CACHE BOOL "Enable all debug macros to validate they still compile")
+serenity_option(ENABLE_ALL_DEBUG_FACILITIES OFF CACHE BOOL "Enable all noisy debug symbols and options. Not recommended for normal developer use")
+
+serenity_option(ENABLE_UNICODE_DATABASE_DOWNLOAD ON CACHE BOOL "Enable download of Unicode UCD and CLDR files at build time")
+serenity_option(INCLUDE_WASM_SPEC_TESTS OFF CACHE BOOL "Download and include the WebAssembly spec testsuite")