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:

  1. 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.
  2. Start an x64 Native Tools Command Prompt for VS 2022.
  3. (Optional but recommended) Run jpm -l run vcs-version in Jw32 source directory.
  4. Run jpm -l build in Jw32 source directory.
  5. Run jpm --tree=path\to\jwno\jpm_tree install in Jw32 source directory, to install it as a dependency for Jwno.
  6. Run jpm -l deps in Jwno source directory.
  7. (Optional but recommended) Run jpm -l run vcs-version in Jwno source directory.
  8. In Jwno source directory, run jpm -l run embed-manifest. This is important, the build won't fail if you skipped this, but the resulting exe file will not run properly.
  9. Check out the built artifact jwno.exe, jwno.exp and jwno.lib in build\.

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.