2022-07-04 11:45:18 +00:00
|
|
|
# Ladybird Web Browser
|
|
|
|
|
2022-07-04 12:03:49 +00:00
|
|
|
The Ladybird Web Browser is a browser using the SerenityOS LibWeb engine with a Qt GUI.
|
2022-07-04 11:45:18 +00:00
|
|
|
|
|
|
|
## Build Prerequisites
|
|
|
|
|
2022-07-04 12:03:49 +00:00
|
|
|
Qt6 development packages and a c++20-enabled compiler are required. On Debian/Ubuntu required packages include, but are not limited to:
|
2022-07-04 11:45:18 +00:00
|
|
|
|
|
|
|
```
|
2022-07-04 18:09:35 +00:00
|
|
|
sudo apt install build-essential cmake libgl1-mesa-dev ninja-build qt6-base-dev qt6-tools-dev-tools
|
2022-07-04 11:45:18 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
For the c++ compiler, gcc-11 or clang-13 are required at a minimum for c++20 support.
|
|
|
|
|
2022-07-04 12:03:49 +00:00
|
|
|
For Ubuntu 20.04 and above, ensure that the Qt6 Wayland packages are available:
|
2022-07-04 11:45:18 +00:00
|
|
|
|
|
|
|
```
|
|
|
|
sudo apt install qt6-wayland
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Build steps
|
|
|
|
|
|
|
|
Basic workflow, using serenity source dir cloned from github:
|
|
|
|
|
|
|
|
```
|
|
|
|
cmake -GNinja -B Build
|
|
|
|
cmake --build Build
|
|
|
|
ninja -C Build run
|
|
|
|
```
|
|
|
|
|
|
|
|
Advanced workflow, using pre-existing serenity checkout.
|
|
|
|
|
|
|
|
If you previously didn't set SERENITY_SOURCE_DIR, probably want to blast the Build directory before doing this:
|
|
|
|
|
|
|
|
```
|
|
|
|
cmake -GNinja -B Build -DSERENITY_SOURCE_DIR=/path/to/serenity
|
|
|
|
ninja -C Build run
|
|
|
|
```
|
|
|
|
|
|
|
|
To automatically run in gdb:
|
|
|
|
```
|
|
|
|
ninja -C Build debug
|
|
|
|
```
|
|
|
|
|
|
|
|
To run without ninja rule:
|
|
|
|
```
|
|
|
|
# or your existing serenity checkout /path/to/serenity
|
|
|
|
export SERENITY_SOURCE_DIR=${PWD}/Build/serenity
|
|
|
|
./Build/ladybird
|
|
|
|
```
|