Documentation: Update for the removal of SERENITY_SOURCE_DIR requirement

This commit is contained in:
Andrew Kaster 2024-02-21 21:40:23 -07:00 committed by Andrew Kaster
parent 68402bec12
commit c83e50af0b
Notes: sideshowbarker 2024-07-17 03:30:41 +09:00
2 changed files with 3 additions and 12 deletions

View file

@ -135,9 +135,8 @@ Ladybird requires resource files from the serenity/Base/res directory in order t
icons, fonts, and other theming information. The serenity.sh script calls into custom CMake targets icons, fonts, and other theming information. The serenity.sh script calls into custom CMake targets
that set these variables, and ensure that the $PWD is set properly to allow execution from the build that set these variables, and ensure that the $PWD is set properly to allow execution from the build
directory. To run the built binary without using the script, one can either directly invoke the directory. To run the built binary without using the script, one can either directly invoke the
ninja rules, set $SERENITY_SOURCE_DIR to the root of their serenity checkout, or install ladybird ninja rules or install ladybird using the provided CMake install rules. See the ``Custom CMake build directory``
using the provided CMake install rules. See the ``Custom CMake build directory`` section below for section below for details.
details.
### Custom CMake build directory ### Custom CMake build directory
@ -167,13 +166,11 @@ ninja -C Build/ladybird debug
To run without ninja rule on non-macOS systems: To run without ninja rule on non-macOS systems:
``` ```
export SERENITY_SOURCE_DIR=$(realpath ../)
./Build/ladybird/bin/Ladybird ./Build/ladybird/bin/Ladybird
``` ```
To run without ninja rule on macOS: To run without ninja rule on macOS:
``` ```
export SERENITY_SOURCE_DIR=$(realpath ../)
open -W --stdout $(tty) --stderr $(tty) ./Build/ladybird/bin/Ladybird.app open -W --stdout $(tty) --stderr $(tty) ./Build/ladybird/bin/Ladybird.app
# Or to launch with arguments: # Or to launch with arguments:
@ -191,7 +188,7 @@ Now breakpoints, stepping and variable inspection will work.
### Debugging with Xcode on macOS ### Debugging with Xcode on macOS
The `serenity.sh` build script does not know how to generate Xcode projects, so creating the project must be done manually. The `serenity.sh` build script does not know how to generate Xcode projects, so creating the project must be done manually.
To be compatible with the script, a few extra options are required. If there is a previous Lagom build directory, CMake will likely complain that the generator has changed. To be compatible with the `serenity.sh` script, a few extra options are required. If there is a previous Lagom build directory, CMake will likely complain that the generator has changed.
``` ```
cmake -GXcode -S Meta/Lagom -B Build/lagom -DBUILD_LAGOM=ON -DENABLE_LAGOM_LADYBIRD=ON cmake -GXcode -S Meta/Lagom -B Build/lagom -DBUILD_LAGOM=ON -DENABLE_LAGOM_LADYBIRD=ON
@ -206,12 +203,6 @@ cmake -GXcode -S Ladybird -B Build/ladybird
After generating an Xcode project into the specified build directory, you can open `ladybird.xcodeproj` in Xcode. The project has a ton of targets, many of which are generated code. After generating an Xcode project into the specified build directory, you can open `ladybird.xcodeproj` in Xcode. The project has a ton of targets, many of which are generated code.
The only target that needs a scheme is the ladybird app bundle. The only target that needs a scheme is the ladybird app bundle.
In order for the application to launch properly through Xcode, the `SERENITY_SOURCE_DIR` environment variable must be set to your serenity checkout in the ladybird scheme, per the
screenshot below. The same is true for profiling the application in Instruments. Future updates might fill out the application bundle such that the environment variable is not required.
![Modify Scheme...](Xcode_ladybird_Scheme.png)
### Building on OpenIndiana ### Building on OpenIndiana
OpenIndiana needs some extra environment variables set to make sure it finds all the executables OpenIndiana needs some extra environment variables set to make sure it finds all the executables

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB