Skip to content

Latest commit

 

History

History
153 lines (99 loc) · 3.3 KB

core-desktop-notes.md

File metadata and controls

153 lines (99 loc) · 3.3 KB

Core configuration notes

WARNING: these are old configuration notes. See index.md for current steps.

  • Bash (for Windows, included with Git for Windows)
  • Python 3
  • Meson build system 0.45+ (0.56+ for WASM)
  • ninja 1.8+
  • C++17 or later compiler (VC++ 2019 or later for Windows).
  • lib std::fs
  • kmc (for tests) -- must be added to path

For WASM builds:

Windows

Windows environment

On Windows you may need to set SDKVER environment variable to the current Windows SDK version, if it cannot be automatically detected.

export SDKVER=10.0.19041.0

Linux

Ubuntu and Debian

You may also need kmc - see below.

Other Linux distributions

  • Install Python 3 and pip

    You will be able to install a python3 package in any reputable recent version of linux using its package manager if it's not already installed. Ensure that pip is also installed.

  • Install meson:

    python3 -m pip install meson
  • Install Enscripten (WASM builds): https://emscripten.org/docs/getting_started/downloads.html#sdk-download-and-install

  • Add emcc to PATH (probably upstream/enscripten)

You may also need kmc - see below.

kmc - All Linux platforms

If you want to rebuild keyboards for tests, you need to install kmc:

npm i -g @keymanapp/kmc

macOS

kmc

If you want to rebuild keyboards for tests, you'll also need node:

brew install node

And you will also need to install kmc:

npm install -g @keymanapp/kmc

Building -- all platforms

On all platforms, use build.sh.

  • To build native libraries and tests:

    ./build.sh --debug
  • To build WASM libraries and tests:

    ./build.sh --platform wasm