ladybird/Meta/Lagom
Nico Weber 700f5cfc90 Lagom: Pass -Wno-deprecated-copy to clang too
Due to Serenity's use of concepts, it now requires clang 10 or newer,
and clang 10 or newer both understands and requires
-Wno-deprecated-copy.
2020-08-09 21:13:06 +02:00
..
Fuzzers Lagom: Add a markdown fuzzer 2020-07-14 17:45:16 +02:00
.gitignore Lagom: Move this into Meta/ 2019-11-18 09:07:05 +01:00
CMakeLists.txt Lagom: Pass -Wno-deprecated-copy to clang too 2020-08-09 21:13:06 +02:00
ReadMe.md Lagom: Add a note on how to build the fuzzers to readme 2020-07-14 17:45:16 +02:00
TestApp.cpp LibCore: Remove leading C from filenames 2020-02-06 15:04:03 +01:00
TestJson.cpp AK: JsonParser improvements 2020-06-13 12:43:22 +02:00

Lagom

The Serenity C++ library, for other Operating Systems.

About

If you want to bring the comfortable Serenity classes with you to another system, look no further. This is basically a "port" of the AK and LibCore libraries to generic *nix systems.

Lagom is a Swedish word that means "just the right amount." (Wikipedia)

Fuzzing

Lagom can be used to fuzz parts of SerenityOS's code base. This requires buildling with clang, so it's convenient to use a different build directory for that. Run CMake like so:

# From the root of the SerenityOS checkout:
mkdir BuildLagom && cd BuildLagom
cmake -GNinja -DBUILD_LAGOM=ON -DENABLE_FUZZER_SANITIZER=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
ninja FuzzJs && Meta/Lagom/Fuzzers/FuzzJs

clang emits different warnings than gcc, so you'll likely have to remove -Werror in CMakeLists.txt and Meta/Lagom/CMakeLIsts.txt.