File: building.md

package info (click to toggle)
keyman 18.0.245-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 21,316 kB
  • sloc: python: 52,784; cpp: 21,278; sh: 7,633; ansic: 4,823; xml: 3,617; perl: 959; makefile: 139; javascript: 138
file content (63 lines) | stat: -rw-r--r-- 1,536 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
---
title: How to build Keyman Core
---

## Prerequisites

### To build

*   Python 3
*   Meson build system.
*   C++17 or later compiler.

### Optional

*   [kmc](https://keyman.com/developer/download) (for testing)

## Installing Python3

### Linux

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.

### macOS

You can get the official installer from the official Python site:
[https://www.python.org/downloads/mac-osx](https://www.python.org/downloads/mac-osx/)

### Windows

You can get the official installer from the official Python site:
[https://www.python.org/downloads/windows](https://www.python.org/downloads/windows/)

## Installing Meson

Ensure you have Python3 correctly installed and can run the command `pip3`.

    $> python3 -m pip install meson

## Building

In your source directory do the following:

    $> cd core
    $> ./build.sh configure build test

## Note on kmc

kmc is node.js-based the command-line compiler from Keyman Developer, available
from [keyman.com](https://keyman.com/developer/) or on npm at
[@keymanapp/kmc](https://npmjs.com/package/@keymanapp/kmc).

### Windows

The search path can be edited through System settings / Advanced system settings
/ Environment Variables / User environment variables.

If you have Keyman Developer installed, kmc should already be on your path.
Otherwise, add the path where you extracted the kmcomp archive.

### Linux & MacOS

Install kmc from the NPM package.