• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Skia Quickstart Guide
2=====================
3
4
5WARNING: Several steps in this guide are out of sync with our automatically-
6tested, officially-supported processes for checking out and building Skia.
7The officially supported processes are the ones documented in skiadocs; see
8https://sites.google.com/site/skiadocs/user-documentation/quick-start-guides
9
10The steps documented within this file are more experimental in nature.
11
12
13This guide assumes you've got `git`, `ninja`, and `python` on your path.
14
151. First, checkout Skia:
16    * `git clone https://skia.googlesource.com/skia.git`
17    * `cd skia`
182. Then download the dependencies.  You only need to rerun this when
19   the dependencies change.
20    * `python tools/git-sync-deps`
213. Create our Ninja build files from our Gyp meta-build files.  You only need
22   to rerun this when you sync or change a `.gyp` file.
23    * `GYP_GENERATORS=ninja ./gyp_skia`
244. Now, let's build Skia.  There are a few options:
25    * `ninja -C out/Debug`: no optimization, asserts enabled
26    * `ninja -C out/Release`: optimization, asserts disabled
27    * `ninja -C out/Coverage`: no optimization, asserts enabled, code coverage generated
285. Run some tests:
29    * `out/Debug/tests`: runs unit tests from tests/
30    * `out/Debug/dm`: runs golden master tests from gm/
316. Make some changes:
32    * `git checkout -b my-new-feature origin/master`
33    * `vim src/...`
34    * `git commit -am "Changes for my new feature."`
35    * `vim tests/...`
36    * `git commit --amend -a`
37    * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok`
387. Rebase your change onto the latest Skia code:
39    * `git pull --rebase`
40    * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok`
418. Upload your change and send it out for review:
42    * `git cl upload -r my-skia-reviewer@google.com -s`
43    * `git cl web`
449. Go through code review, get an LGTM, submit using the checkbox on the code review page.
45