spiegel-keyman/windows/src
Marc Durdin 25dfdf3a88
Merge pull request #5978 from keymanapp/chore/developer/tweak-lang-metadata-message
chore(developer): tweak language metadata message
2021-11-29 16:10:56 +11:00
..
buildtools chore(windows): rewrite LoadParamsFromFile 2021-08-05 16:46:09 +10:00
desktop Merge pull request #5841 from keymanapp/chore/common/crowdin-ff-ng 2021-11-17 09:24:35 +07:00
developer chore(developer): tweak language metadata message 2021-11-29 08:27:21 +11:00
engine feat(windows): add MapUSCharToVK to kmx processor 2021-11-29 10:52:16 +10:00
ext chore: sentry.io dsn 2021-10-04 15:01:36 +11:00
global Merge pull request #5894 from keymanapp/feat/developer/2858-u_xxxx_yyyy 2021-11-14 15:47:55 +11:00
support chore(windows): remove backup build step 2021-07-07 08:09:26 +10:00
test chore: add new units to unit tests 2021-11-11 15:08:08 +11:00
.gitignore chore(windows): make build paths consistent 2021-07-01 10:52:59 +10:00
_make.bat Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
CEF_VERSION.md chore(windows): Chromium 89.0.18 2021-05-21 14:47:18 +10:00
components.groupproj Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
Defines.mak chore(windows): remove backup build step 2021-07-07 08:09:26 +10:00
docopy.bat Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
edithistory.txt Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
Header.mak chore(windows): remove backup build step 2021-07-07 08:09:26 +10:00
header_format.txt Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
header_template.txt Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
LICENSE.md chore(common): update copyright year in various locations 2020-12-22 10:56:55 +11:00
Makefile chore(windows): remove backup build step 2021-07-07 08:09:26 +10:00
nightly_patchbuild.bat Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00
README.md docs: final tweaks to windows setup 2021-11-11 09:24:16 +11:00
set-release-version.bat fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
Target.mak chore(windows): make build paths consistent 2021-07-01 07:38:00 +10:00
TODO.md chore(common): update copyright year in various locations 2020-12-22 10:56:55 +11:00
versionhistory.txt Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121) 2017-07-25 10:53:06 +07:00

Keyman for Windows and Keyman Developer

Build Prerequisites

Building Keyman for Windows and Keyman Developer

  1. Start 'Developer Command Prompt for VS 2019'.
  2. Run make build from the windows/src folder.
  3. Artifacts from a successful build will be placed in windows/bin folder.

Note: running make build will currently reset the packages and path settings in your Delphi environment. If you use Delphi for other projects, you should consider building Keyman under a login user dedicated to it, or in a VM.

Type make to see build targets. Common build targets are:

  • make build : builds Keyman for Windows and Keyman Developer

  • make clean : remove temporary files and build artifacts

  • make release : makes a release of all Keyman Windows projects

  • make install : install some or all components to Program Files (requires elevated command prompt).

Release builds

A release build is not usually needed for local development. To run a release build, you will need to obtain valid code signing certificates. See Certificates, below. Official release builds for Keyman are built in the Keyman project's CI environment.

  1. Start 'Developer Command Prompt for VS 2019'.
  2. Run make release from the windows/src folder.
  3. Artifacts from a successful build will be placed in windows/release folder.
  4. buildtools/help-keyman-com.sh will push updated documentation to help.keyman.com. Environment variable HELP_KEYMAN_COM needs to be set to the root of the local help.keyman.com git repository.

Note: by default, the version number generated may vary from the current release version. You will not be able to install it over a later version of Keyman, and will need to uninstall and reinstall.

Certificates

In order to create a release build, you will need a code signing certiicate. You can use your own certificate, or you can use test certificates which are not globally trusted.

To Install the Keyman test certificates, do the following for each KeymanTestCA cert in windows/src/buildtools/certificates:

  1. Open the certificate and click 'Install certificate...' to open the Certificate Import Wizard.
  2. Select either 'Current User' or 'Local Machine' for 'Store Location' depending on your preference and click Next.
  3. Select 'Place all certificates in the following store' and 'Browse...' to select 'Trusted Root Certification Authorities'. Click Next and finish the wizard.

Crash Reporting

Crash report dialogs as shown by tsysinfo have a few special secret hotkeys useful for development purposes:

  1. Ctrl+C - copy details to clipboard
  2. Ctrl+Shift+C - copy more details to clipboard
  3. Alt+DblClk on icon - open sentry site to event
  4. Ctrl+DblClk on icon - show more details in message box