OLD | NEW |
---|---|
1 Skia Quickstart Guide | 1 Skia Quickstart Guide |
2 ===================== | 2 ===================== |
3 | 3 |
4 This guide assumes you've got `gclient`, `git`, and `ninja` on your path. | 4 This guide assumes you've got `git` and `python` on your path. |
borenet
2014/03/10 18:36:12
When did this file get added? I think it's a real
tfarina
2014/03/10 18:53:26
This file was added here -> https://codereview.chr
| |
5 | 5 |
6 1. First, create a directory to hold Skia: | 6 1. First, checkout Skia: |
7 * `mkdir skia` | 7 * `git clone https://skia.googlesource.com/skia.git` |
8 * `cd skia` | 8 * `cd skia` |
9 2. Then checkout Skia: | 9 2. Then download the dependencies. You only need to rerun this when |
10 * `gclient config --name . https://skia.googlesource.com/skia.git` | 10 the dependencies change. |
11 * `gclient sync` | 11 * `python tools/grab_deps.py` |
12 2. Add `ninja` to your path: | |
13 * `export PATH="${PATH}:$(pwd)/third_party/externals/depot_tools"` | |
tfarina
2014/03/10 18:56:30
I don't think we need to say that. At least I thin
| |
12 3. Create our Ninja build files from our Gyp meta-build files. You only need | 14 3. Create our Ninja build files from our Gyp meta-build files. You only need |
13 to rerun this when you sync or change a `.gyp` file. | 15 to rerun this when you sync or change a `.gyp` file. |
14 * `GYP_GENERATORS=ninja ./gyp_skia` | 16 * `GYP_GENERATORS=ninja ./gyp_skia` |
15 4. Now, let's build Skia. There are a few options: | 17 4. Now, let's build Skia. There are a few options: |
16 * `ninja -C out/Debug`: no optimization, asserts enabled | 18 * `ninja -C out/Debug`: no optimization, asserts enabled |
17 * `ninja -C out/Release`: optimization, asserts disabled | 19 * `ninja -C out/Release`: optimization, asserts disabled |
18 * `ninja -C out/Coverage`: no optimization, asserts enabled, code coverage g enerated | 20 * `ninja -C out/Coverage`: no optimization, asserts enabled, code coverage g enerated |
19 5. Run some tests: | 21 5. Run some tests: |
20 * `out/Debug/tests`: runs unit tests from tests/ | 22 * `out/Debug/tests`: runs unit tests from tests/ |
21 * `out/Debug/dm`: runs golden master tests from gm/ | 23 * `out/Debug/dm`: runs golden master tests from gm/ |
22 6. Make some changes: | 24 6. Make some changes: |
23 * `git checkout -b my-new-feature origin/master` | 25 * `git checkout -b my-new-feature origin/master` |
24 * `vim src/...` | 26 * `vim src/...` |
25 * `git commit -am "Changes for my new feature."` | 27 * `git commit -am "Changes for my new feature."` |
26 * `vim tests/...` | 28 * `vim tests/...` |
27 * `git commit --amend -a` | 29 * `git commit --amend -a` |
28 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok` | 30 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok` |
29 7. Rebase your change onto the latest Skia code: | 31 7. Rebase your change onto the latest Skia code: |
30 * `git pull --rebase` | 32 * `git pull --rebase` |
31 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok` | 33 * `ninja -C out/Debug && out/Debug/tests && out/Debug/dm && echo ok` |
32 8. Upload your change and send it out for review: | 34 8. Upload your change and send it out for review: |
33 * `git cl upload -r my-skia-reviewer@google.com -s` | 35 * `git cl upload -r my-skia-reviewer@google.com -s` |
34 * `git cl web` | 36 * `git cl web` |
35 9. Go through code review, get an LGTM, submit using the checkbox on the code re view page. | 37 9. Go through code review, get an LGTM, submit using the checkbox on the code re view page. |
OLD | NEW |