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_PATH
environment 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-version
in Jw32 source directory. -
Run
jpm -l build
in Jw32 source directory. -
Run
jpm --tree=path\to\jwno\jpm_tree install
in Jw32 source directory, to install it as a dependency for Jwno. -
Run
jpm -l deps
in Jwno source directory. -
(Optional but recommended) Run
jpm -l run vcs-version
in 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 resultingexe
file will not run properly. -
Check out the built artifact
jwno.exe
,jwno.exp
andjwno.lib
inbuild\
.
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.