I recommend doing this even if you don't want to touch the core of Jwno, since it's the most straightforward way to ensure all the dependencies are in place.
First, you need these things:
- Visurl Studio 2022 (The Community version will do.)
- Janet (Preferably the latest release version. The binaries should be compiled with the MSVC toolchain.)
- JPM
- Jw32
Then, follow these steps:
-
Set
JANET_SOURCE_PATHenvironment variable to point to the Janet source tree. Make sure the version of Janet's source matches Janet's binaries. -
Start an
x64 Native Tools Command Prompt for VS 2022. -
(Optional but recommended) Run
jpm -l run vcs-versionin Jw32 source directory. -
Run
jpm -l buildin Jw32 source directory. -
Run
jpm --tree=path\to\jwno\jpm_tree installin Jw32 source directory, to install it as a dependency for Jwno. -
Run
jpm -l depsin Jwno source directory. -
(Optional but recommended) Run
jpm -l run vcs-versionin Jwno source directory. -
In Jwno source directory, run
jpm -l run embed-manifest. This is important, the build won't fail if you skipped this, but the resultingexefile will not run properly. -
Check out the built artifact
jwno.exe,jwno.expandjwno.libinbuild\.
After you made any change to the source code, or pulled any update from the public fossil or git repos, it's recommended that you run jpm -l run vcs-version and then build Jwno again, so that the built binary can report the exact commit it's built upon.
If you encountered any problem or have any question when following these steps, please file an issue here.