OLD | NEW |
1 Mac OS X | 1 Mac OS X |
2 ======== | 2 ======== |
3 | 3 |
4 Quickstart | 4 Quickstart |
5 ---------- | 5 ---------- |
6 | 6 |
7 1. Install [XCode](http://developer.apple.com/xcode/). | 7 First, install [XCode](https://developer.apple.com/xcode/). |
8 | 8 |
9 2. Install depot tools. | 9 <!--?prettify lang=sh?--> |
10 | 10 |
11 <!--?prettify lang=sh?--> | 11 # Install depot tools. |
| 12 git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.git' |
| 13 export PATH="${PWD}/depot_tools:${PATH}" |
12 | 14 |
13 git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools.
git' | 15 # Get Skia. |
14 export PATH="${PWD}/depot_tools:${PATH}" | 16 git clone 'https://skia.googlesource.com/skia' |
| 17 cd skia |
15 | 18 |
16 3. Get Skia. | 19 # Build. |
| 20 bin/sync-and-gyp |
| 21 ninja -C out/Debug |
17 | 22 |
18 <!--?prettify lang=sh?--> | 23 # Run DM (the Skia test app) and SampleApp. |
19 | 24 out/Debug/dm |
20 git clone 'https://skia.googlesource.com/skia' | 25 out/Debug/SampleApp |
21 cd skia | |
22 | |
23 4. Build. | |
24 | |
25 <!--?prettify lang=sh?--> | |
26 | |
27 bin/sync-and-gyp && ninja -C out/Debug | |
28 | |
29 5. Run DM (the Skia test app) and SampleApp. | |
30 | |
31 <!--?prettify lang=sh?--> | |
32 | |
33 out/Debug/dm | |
34 open out/Debug/SampleApp.app | |
35 | 26 |
36 Prerequisites | 27 Prerequisites |
37 ------------- | 28 ------------- |
38 | 29 |
39 Make sure the following have been installed: | 30 Make sure the following have been installed: |
40 | 31 |
41 * XCode (Apple's development environment): required | 32 * XCode (Apple's development environment): required |
42 * publicly available at http://developer.apple.com/xcode/ | 33 * publicly available at http://developer.apple.com/xcode/ |
43 * add the optional Unix Tools to the install so you get the make command lin
e tool. | 34 * add the optional Unix Tools to the install so you get the make command lin
e tool. |
44 * Chromium depot_tools: required to download the source and dependencies | 35 * Chromium depot_tools: required to download the source and dependencies |
45 * http://www.chromium.org/developers/how-tos/depottools | 36 * http://www.chromium.org/developers/how-tos/depottools |
46 | 37 |
47 Check out the source code | 38 Check out the source code |
48 ------------------------- | 39 ------------------------- |
49 | 40 |
50 See the instructions [here](../download). | 41 Follow the instructions [here](../download) for downloading the Skia source. |
51 | 42 |
52 Generate XCode projects | 43 Generate XCode projects |
53 ----------------------- | 44 ----------------------- |
54 | 45 |
55 We use the open-source gyp tool to generate XCode projects (and analogous | 46 We use the open-source gyp tool to generate XCode projects (and analogous |
56 build scripts on other platforms) from our multiplatform "gyp" files. | 47 build scripts on other platforms) from our multiplatform "gyp" files. |
57 | 48 |
| 49 Two Gyp generators are used on Mac OS: |
| 50 |
| 51 * `ninja` - Run ninja yourself, without XCode project files, |
| 52 |
| 53 * `xcode` - Generate a XCode project |
| 54 |
| 55 To choose which ones to use, set the `GYP_GENERATORS` environment |
| 56 variable to a comma-delimited list of generators before running |
| 57 sync-and-gyp. The default value for `GYP_GENERATORS` is |
| 58 `ninja,xcode`. For example to enable |
| 59 |
| 60 |
| 61 |
58 Before building, make sure that gyp knows to create an XCode project or ninja | 62 Before building, make sure that gyp knows to create an XCode project or ninja |
59 build files. If you leave GYP_GENERATORS undefined it will assume the | 63 build files. If you leave GYP_GENERATORS undefined it will assume the |
60 following default: | 64 following default: |
61 | 65 |
62 GYP_GENERATORS="ninja,xcode" | 66 GYP_GENERATORS="ninja,xcode" |
63 | 67 |
64 Or you can set it to `ninja` or `xcode` alone, if you like. | 68 Or you can set it to `ninja` or `xcode` alone, if you like. |
65 | 69 |
66 You can then generate the Xcode projects and ninja build files by running: | 70 You can then generate the Xcode projects and ninja build files by running: |
67 | 71 |
68 ./gyp_skia | 72 python bin/sync-and-gyp |
69 | 73 |
70 Build and run tests from the command line | 74 Build and run tests from the command line |
71 ----------------------------------------- | 75 ----------------------------------------- |
72 | 76 |
73 ninja -C out/Debug dm | 77 ninja -C out/Debug dm |
74 out/Debug/dm | 78 out/Debug/dm |
75 | 79 |
76 The usual mode you want for testing is Debug mode (SK_DEBUG is defined, and | |
77 debug symbols are included in the binary). If you would like to build the | |
78 Release version instead: | |
79 | |
80 ninja -C out/Release dm | |
81 out/Release/dm | |
82 | |
83 Build and run nanobench (performance tests) | |
84 ------------------------------------------- | |
85 | |
86 In this case, we will build with the "Release" configuration, since we are runni
ng performance tests. | |
87 | |
88 ninja -C out/Release nanobench | |
89 out/Release/nanobench [ --skps path/to/*.skp ] | |
90 | 80 |
91 Build and run SampleApp in the XCode IDE | 81 Build and run SampleApp in the XCode IDE |
92 ---------------------------------------- | 82 ---------------------------------------- |
93 | 83 |
94 * Run gyp_skia as described above. | 84 * Run `sync-and-gyp` as described above. |
95 * In the Finder, navigate to $SKIA_INSTALLDIR/trunk/out/gyp | 85 * In the Finder, navigate to `$SKIA_INSTALLDIR/trunk/out/gyp` |
96 * Double-click SampleApp.xcodeproj ; this will launch XCode and open the Sampl
eApp project | 86 * Double-click SampleApp.xcodeproj ; this will launch XCode and open the Sampl
eApp project |
97 * Click the “Build and Run” button in the top toolbar | 87 * Click the “Build and Run” button in the top toolbar |
98 * Once the build is complete, you should see a window with lots of shaded text
examples. To move through the sample app, use the following keypresses: | 88 * Once the build is complete, you should see a window with lots of shaded text
examples. To move through the sample app, use the following keypresses: |
99 * right- and left-arrow keys: cycle through different test pages | 89 * right- and left-arrow keys: cycle through different test pages |
100 * 'D' key: cycle through rendering methods for each test page | 90 * 'D' key: cycle through rendering methods for each test page |
101 * other keys are defined in SampleApp.cpp’s SampleWindow::onHandleKey() and
SampleWindow::onHandleChar() methods | 91 * other keys are defined in SampleApp.cpp’s SampleWindow::onHandleKey() and
SampleWindow::onHandleChar() methods |
OLD | NEW |