electron/docs/development/build-instructions-osx.md
trop[bot] d644eb4164 docs: Update reference to xcode 8.3.3 (backport: 3-1-x) (#16271)
* Update reference to xcode

* Update to reflect use of 10.12 SDK
2019-01-04 15:42:37 -05:00

2.5 KiB

Build Instructions (macOS)

Follow the guidelines below for building Electron on macOS.

Prerequisites

  • macOS >= 10.11.6
  • Xcode >= 8.2.1
  • node.js (external)
  • Python 2.7 with support for TLS 1.2

Python

Please also ensure that your system and Python version support at least TLS 1.2. This depends on both your version of macOS and Python. For a quick test, run:

$ python ./script/tls.py

If the script returns that your configuration is using an outdated security protocol, you can either update macOS to High Sierra or install a new version of Python 2.7.x. To upgrade Python, use Homebrew:

$ brew install python@2 && brew link python@2 --force

If you are using Python as provided by Homebrew, you also need to install the following Python modules:

macOS SDK

If you're developing Electron and don't plan to redistribute your custom Electron build, you may skip this section.

Official Electron builds are built with Xcode 8.3.3, and the MacOS 10.12 SDK. Building with a newer SDK works too, but the releases currently use the 10.12 SDK.

Getting the Code

$ git clone https://github.com/electron/electron

Bootstrapping

The bootstrap script will download all necessary build dependencies and create the build project files. Notice that we're using ninja to build Electron so there is no Xcode project generated.

$ cd electron
$ ./script/bootstrap.py -v

If you are using editor supports JSON compilation database based language server, you can generate it:

$ ./script/build.py --compdb

Building

Build both Release and Debug targets:

$ ./script/build.py

You can also only build the Debug target:

$ ./script/build.py -c D

After building is done, you can find Electron.app under out/D.

32bit Support

Electron can only be built for a 64bit target on macOS and there is no plan to support 32bit macOS in the future.

Cleaning

To clean the build files:

$ npm run clean

To clean only out and dist directories:

$ npm run clean-build

Note: Both clean commands require running bootstrap again before building.

Tests

See Build System Overview: Tests