Building¶
You need to have Rust (and Cargo) for the server and Node.js (and npm) for the overlay and extension installed.
If you don't have pnpm
installed, install it either using the instruction on their documentation or though npm
:
-
Install the dependencies
-
Build the extension and overlay
This will build both projects. You can build a specific one by running
pnpm run build
in the respective folder. For example, to build the overlay, runcd js/client && pnpm run build
. Or, you can use the--filter
(e.g.pnpm run --if-present -r --filter client build
). -
Build the executable
This will build the executable in release mode. To build in debug mode, leave out the
-r
. For local development, it's useful to not bundle the overlay inside the executable and be able to stop the app with CTRL + C. To achieve this, add--no-default-features
(this will disable thesingle-executable
andwin32-executable
features). Furthermore, it's useful to run the app in the project-directory (instead oftarget/{debug,release}
). To do this, add--current-dir
when running. A good command-line for development is:
Feature Flags¶
By default, both features are enabled. To disable them, use --no-default-features
(see cargo b -h
for more details).
win32-executable
¶
When enabled, the executable will be compiled with the WINDOWS subsytem over the default CONSOLE subsystem. This effectively causes the application to not spawn a console window when started, but when started from the console, CTRL + C won't be honored.
single-executable
¶
When enabled, the overlay will be bundled into the executable.
Command Line Arguments¶
--current-dir
¶
This flag causes the server to use the current working directory. By default (when not specified), it will use the directory of the executable as the working directory.
--remove-autostart
¶
This flag instructs the server to remove the autostart entry. After removing the entry, the server exits.