OLD | NEW |
---|---|
(Empty) | |
1 Desktop | |
2 ======= | |
3 | |
4 Instructions to get started with Skia on Desktop systems (Linux, Mac OS, or Wind ows). | |
hcm
2015/11/13 05:03:45
"Desktop systems" --> "desktop..."
Mac OS --> Mac
hal.canary
2015/11/13 12:21:45
done
| |
5 | |
6 1. [Download Skia](/user/download) | |
7 | |
8 <!--?prettify lang=sh?--> | |
9 | |
10 git clone 'https://chromium.googlesource.com/chromium/tools/depot_tools. git' | |
11 export PATH="${PWD}/depot_tools:${PATH}" | |
12 git clone 'https://skia.googlesource.com/skia.git' | |
13 cd skia | |
14 | |
15 (On Windows without git, swap steps 1 and 2) | |
16 | |
17 2. Install system-specific prerequisites. | |
18 - [Linux](/user/quick/linux) | |
19 - [Mac OS X](/user/quick/macos) | |
20 - [Windows](/user/quick/windows) | |
21 | |
22 3. Sync dependencies and config. Build. Run tests. | |
23 | |
24 <!--?prettify lang=sh?--> | |
25 | |
26 python bin/sync-and-gyp | |
27 ninja -C out/Debug | |
28 out/Debug/dm | |
29 | |
30 Gyp Options | |
31 ----------- | |
32 | |
33 When running `sync-and-gyp`, the `GYP_DEFINES` environment variable can | |
34 be used to change Skia’s compile-time settings, using a | |
35 space-separated list of key=value pairs. For example, to disable both | |
36 the Skia GPU backend and PDF backends, run it as follows: | |
37 | |
38 <!--?prettify lang=sh?--> | |
39 | |
40 GYP_DEFINES='skia_gpu=0 skia_pdf=0' python bin/sync-and-gyp | |
41 ninja -C out/Debug | |
42 | |
43 Note: [Setting enviroment variables in the Windows CMD.EXE shell uses a | |
44 different syntax.](./windows#env) | |
hcm
2015/11/13 05:03:45
Maybe just have the hyperlink be "different syntax
hal.canary
2015/11/13 12:21:45
done
| |
45 | |
46 You can also set environment variables such as `CC`, `CXX`, | |
47 `CFLAGS`, or `CPPFLAGS` to control how Skia is compiled. For | |
48 example: | |
49 | |
50 <!--?prettify lang=sh?--> | |
51 | |
52 CC='clang' CXX='clang++' python bin/sync-and-gyp | |
53 ninja -C out/Debug | |
54 | |
55 The `GYP_GENERATORS` environment variable can be used to set the | |
56 build systems that you want to use (as a comma-separated list). | |
57 The default is `'ninja,msvs-ninja'` on Windows, `'ninja,xcode'` on | |
58 Mac OS, and just `'ninja'` on Linux. For example, to generate | |
hcm
2015/11/13 05:03:45
OS X
hal.canary
2015/11/13 12:21:45
done
| |
59 only Ninja files on MacOS: | |
hcm
2015/11/13 05:03:45
MacOS --> Mac or Mac OS X
hal.canary
2015/11/13 12:21:45
done
| |
60 | |
61 <!--?prettify lang=sh?--> | |
62 | |
63 GYP_GENERATORS='ninja' python bin/sync-and-gyp | |
64 ninja -C out/Debug | |
65 | |
66 Finally, the `SKIA_OUT` environment variable can be used to set | |
67 the path for the build directory. The default is `out` inside the | |
68 top-level Skia source directory. For example to test Skia with | |
69 two different compilers: | |
70 | |
71 <!--?prettify lang=sh?--> | |
72 | |
73 CC='clang' CXX='clang++' SKIA_OUT=~/build/skia_clang python bin/sync-and-gyp | |
74 CC='gcc' CXX='g++' SKIA_OUT=~/build/skia_gcc python bin/sync-and-gyp | |
75 ninja -C ~/build/skia_clang/Debug | |
76 ninja -C ~/build/skia_gcc/Debug | |
77 | |
78 Run unit and correctness tests | |
79 ------------------------------ | |
80 | |
81 [DM](../../dev/testing/testing) ("diamond master") is the Skia test app. | |
82 | |
83 <!--?prettify lang=sh?--> | |
84 | |
85 ninja -C out/Debug dm | |
86 out/Debug/dm | |
87 | |
88 Run Skia samples | |
89 ---------------- | |
90 | |
91 [SampleApp](../sample/sampleapp) is the Skia sample program. | |
92 | |
93 <!--?prettify lang=sh?--> | |
94 | |
95 ninja -C out/Debug SampleApp | |
96 out/Debug/SampleApp | |
97 | |
98 Build non-debug binaries | |
99 ------------------------ | |
100 | |
101 The usual mode you want for testing is Debug mode (`SK_DEBUG` is | |
102 defined, and debug symbols are included in the binary). If you | |
103 would like to build the Release mode: | |
104 | |
105 <!--?prettify lang=sh?--> | |
106 | |
107 ninja -C out/Release | |
108 | |
109 Performance tests | |
110 ----------------- | |
111 | |
112 Build and run nanobench (performance tests). In this case, we will | |
113 build with the "Release" configuration, since we are running | |
114 performance tests. | |
115 | |
116 <!--?prettify lang=sh?--> | |
117 | |
118 ninja -C out/Release nanobench | |
119 out/Release/nanobench | |
120 out/Release/nanobench --skps .../path/to/*.skp | |
121 | |
122 <!-- TODO(mtklein): document nanobench --> | |
123 | |
124 Keeping up to date | |
125 ------------------ | |
126 | |
127 <!--?prettify lang=sh?--> | |
128 | |
129 git fetch origin | |
130 git checkout origin/master | |
131 | |
132 Contribute to Skia | |
133 ------------------ | |
134 | |
135 [How to use Git and Git-cl to contribute to Skia](/dev/contrib/submit). | |
OLD | NEW |