OLD | NEW |
1 Windows | 1 Windows |
2 ======= | 2 ======= |
3 | 3 |
4 Prerequisites | 4 Prerequisites |
5 ------------- | 5 ------------- |
6 | 6 |
7 Make sure the following have been installed: | 7 Make sure the following have been installed: |
8 | 8 |
9 * Visual C++ 2013 Express or later, available for free | 9 * [Visual C++ 2013 Express or later, available for |
10 * http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-
windows-8 | 10 free](https://www.visualstudio.com/downloads/download-visual-studio-vs#d-exp
ress-windows-8) |
11 | 11 |
12 * Chromium depot_tools | 12 * [Chromium depot_tools](https://www.chromium.org/developers/how-tos/depottool
s) |
13 * http://www.chromium.org/developers/how-tos/depottools | 13 |
14 * git | 14 * Git |
15 * Either use the mysygit installed by depot_tools | 15 - Either use the mysygit installed by depot_tools |
16 * Or install msys git: http://msysgit.github.io/ yourself | 16 - Or [install git-for-windows |
17 * Python 2.7.x (if you're not planning to use cygwin) | 17 yourself](https://git-for-windows.github.io/). |
18 * available for free download at http://www.python.org/download/releases/ | 18 |
19 * make sure the installer changes your %PATH% environment variable to includ
e the directory with the "python.exe" binary | 19 * Python 2.7.x (if you're not planning to use cygwin) |
20 * Cygwin (optional, but useful if you want to use git) | 20 - available for free download at |
21 * Download from http://cygwin.org/setup.exe | 21 [python.org](https://www.python.org/download/releases/) |
22 * use any mirror you like; http://lug.mtu.edu works well | 22 - make sure the installer changes your %PATH% environment variable |
23 * Cygwin installs a minimum of options. Add these packages if they aren't al
ready selected: | 23 to include the directory with the "python.exe" binary |
24 * Devel git | 24 |
25 * Devel subversion | 25 * Cygwin (**optional**, but useful if you want to use git) |
26 * Editors vim | 26 - Download from https://www.cygwin.com/setup-x86.exe or |
27 * to fix arrows in insert, copy /usr/share/vim/vim73/vimrc_example.vim t
o ~/.vimrc | 27 https://www.cygwin.com/setup-x86_64.exe |
28 * Net ca-certificates | 28 - Use any mirror you like; http://lug.mtu.edu works well |
29 * Python python | 29 - Cygwin installs a minimum of options. Add these packages if they |
30 * Utils patch | 30 aren't already selected: |
31 * Utils util-linux | 31 + Devel git |
32 * set the windows envionment variable CYGWIN to nodosfilewarning | 32 + Devel subversion |
| 33 + Editors vim |
| 34 * to fix arrows in insert, copy |
| 35 `/usr/share/vim/vim73/vimrc_example.vim` to `~/.vimrc` |
| 36 + Net ca-certificates |
| 37 + Python python |
| 38 + Utils patch |
| 39 + Utils util-linux |
| 40 - Set the windows envionment variable CYGWIN to nodosfilewarning |
33 | 41 |
34 Check out the source code | 42 Check out the source code |
35 ------------------------- | 43 ------------------------- |
36 | 44 |
37 see https://skia.org/user/download | 45 Follow the instructions [here](../download) for downloading the Skia source. |
38 | 46 |
39 Generate Visual Studio projects | 47 Gyp Generators on Windows |
40 ------------------------------- | 48 ------------------------- |
41 | 49 |
42 We use the open-source gyp tool to generate Visual Studio projects (and | 50 We use the open-source Gyp tool to generate Visual Studio projects (and |
43 analogous build scripts on other platforms) from our multi-platform "gyp" | 51 analogous build scripts on other platforms) from our multi-platform "gyp" |
44 files. | 52 files. |
45 | 53 |
46 You can generate the Visual Studio projects by running gyp_skia, as follows: | 54 Three Gyp generators are used on Windows: |
47 | 55 |
48 (setup GYP_GENERATORS, see just below) | 56 * `ninja` - Run ninja yourself, without VisualStudio project files, |
| 57 |
| 58 * `msvs-ninja` - Develop from a fully-integrated Visual Studio. |
| 59 Gyp generates Visual-Studio-compatible project files that still |
| 60 ultimately build using ninja |
| 61 |
| 62 * `msvs` - Use Visual Studio's own (slower) build system |
| 63 |
| 64 To choose which ones to use, set the `GYP_GENERATORS` environment |
| 65 variable to a comma-delimited list of generators before running |
| 66 sync-and-gyp. The default value for `GYP_GENERATORS` is |
| 67 `ninja,msvs-ninja`. For example to enable the `ninja` and `msvs` |
| 68 generators: |
| 69 |
| 70 <a name="env"></a>Setting Enviroment Variables in Windows CMD.EXE |
| 71 ----------------------------------------------------------------- |
| 72 |
49 cd %SKIA_CHECKOUT_DIR% | 73 cd %SKIA_CHECKOUT_DIR% |
50 python gyp_skia | 74 SET "GYP_GENERATORS=ninja,msvs" |
51 | 75 python bin/sync-and-gyp |
52 If you like to develop from a fully-integrated Visual Studio, set | 76 SET "GYP_GENERATORS=" |
53 GYP_GENERATORS=ninja,msvs-ninja before running gyp_skia to generate | |
54 Visual-Studio-compatible project files that still ultimately build using ninja, | |
55 or set it to msvs to use Visual Studio's own (slower) build system. If you are | |
56 comfortable with and prefer running ninja yourself, GYP_GENERATORS=ninja is | |
57 considerably faster than the other two options. | |
58 | 77 |
59 Build and run tests from the command line | 78 Build and run tests from the command line |
60 ----------------------------------------- | 79 ----------------------------------------- |
61 | 80 |
62 ninja -C out\Debug dm | 81 ninja -C out/Debug dm |
63 out\Debug\dm | 82 out\Debug\dm |
64 | 83 |
65 Normally you should run tests in Debug mode (SK_DEBUG is defined, and debug | 84 See [this page for running Skia tests on all desktop](./desktop) |
66 symbols are included in the binary). If you would like to build the Release | |
67 version instead: | |
68 | |
69 ninja -C out\Release dm | |
70 out\Release\dm | |
71 | 85 |
72 Build and run tests in the Visual Studio IDE | 86 Build and run tests in the Visual Studio IDE |
73 -------------------------------------------- | 87 -------------------------------------------- |
74 | 88 |
75 * Generate the Visual Studio project files by running gyp_skia as described ab
ove | 89 1. Generate the Visual Studio project files by running `sync-and-gyp` as |
76 * Open a File Explorer window pointing at the %SKIA_CHECKOUT_DIR%\out\gyp dire
ctory | 90 described above |
77 * Double-click on dm.sln to start Visual Studio and load the project | 91 |
78 * When Visual Studio starts, you may see an error dialog stating that "One or
more projects in the solution were not loaded correctly"... but there's probably
nothing to worry about. | 92 2. Open a File Explorer window pointing at the |
79 * In the "Solution Explorer" window, right-click on the "dm" project and selec
t "Set as StartUp Project". | 93 `%SKIA_CHECKOUT_DIR%\out\gyp` directory |
80 * In the "Debug" menu, click on "Start Debugging" (or just press F5). If you g
et a dialog saying that the project is out of date, click on "Yes" to rebuild it
. | 94 |
81 * Once the build is complete, you should see console output from the tests in
the "Output" window at lower right. | 95 3. Double-click on dm.sln to start Visual Studio and load the project |
| 96 |
| 97 4. When Visual Studio starts, you may see an error dialog stating that |
| 98 "One or more projects in the solution were not loaded |
| 99 correctly"... but there's probably nothing to worry about. |
| 100 |
| 101 5. In the "Solution Explorer" window, right-click on the "dm" project |
| 102 and select "Set as StartUp Project". |
| 103 |
| 104 6. In the "Debug" menu, click on "Start Debugging" (or just press |
| 105 F5). If you get a dialog saying that the project is out of date, |
| 106 click on "Yes" to rebuild it. |
| 107 |
| 108 7. Once the build is complete, you should see console output from the |
| 109 tests in the "Output" window at lower right. |
82 | 110 |
83 Build and run SampleApp in Visual Studio | 111 Build and run SampleApp in Visual Studio |
84 ---------------------------------------- | 112 ---------------------------------------- |
85 | 113 |
86 * Generate the Visual Studio project files by running gyp_skia as described ab
ove | 114 1. Generate the Visual Studio project files by running `sync-and-gyp` |
87 * Open a File Explorer window pointing at the %SKIA_INSTALLDIR%\trunk\out\gyp
directory | 115 as described above |
88 * Double-click on SampleApp.sln | |
89 * When Visual Studio starts, you may see an error dialog stating that "One or
more projects in the solution were not loaded correctly"... but there's probably
nothing to worry about. | |
90 * In the "Debug" menu, click on "Start Debugging" (or just press F5). If you g
et a dialog saying that the project is out of date, click on "Yes" to rebuild it
. | |
91 * Once the build is complete, you should see a window with various example gra
phics. To move through the sample app, use the following keypresses: | |
92 * right-arrow key: cycle through different test pages | |
93 * left-arrow key: cycle through rendering methods for each test page | |
94 * other keys are defined in SampleApp.cpp’s SampleWindow::onHandleKey() and
SampleWindow::onHandleChar() methods | |
95 | 116 |
96 Build and run nanobench (performance testbench) from the command line | 117 2. Open a File Explorer window pointing at the |
97 --------------------------------------------------------------------- | 118 `%SKIA_INSTALLDIR%\trunk\out\gyp` directory |
98 | 119 |
99 Since nanobench tests performance, it usually makes more sense to run it in Rele
ase mode. | 120 3. Double-click on SampleApp.sln |
100 | 121 |
101 ninja -C out\Release nanobench | 122 4. When Visual Studio starts, you may see an error dialog stating |
102 out\Release\nanobench | 123 that "One or more project s in the solution were not loaded |
| 124 correctly"... but there's probably nothing to worry about. |
| 125 |
| 126 5. In the "Debug" menu, click on "Start Debugging" (or just press |
| 127 F5). If you get a dialog saying that the project is out of date, |
| 128 click on "Yes" to rebuild it. |
| 129 |
| 130 6. Once the build is complete, you should see a window with various |
| 131 example graphics. To move through the sample app, use the |
| 132 following keypresses: |
| 133 - right-arrow key: cycle through different test pages |
| 134 - left-arrow key: cycle through rendering methods for each test page |
| 135 - other keys are defined in SampleApp.cpp’s |
| 136 SampleWindow::onHandleKey() and SampleWindow::onHandleChar() |
| 137 methods |
OLD | NEW |