2015-01-08 18:43:34 +00:00
|
|
|
|
Windows
|
|
|
|
|
=======
|
|
|
|
|
|
|
|
|
|
Prerequisites
|
|
|
|
|
-------------
|
|
|
|
|
|
|
|
|
|
Make sure the following have been installed:
|
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
* [Visual C++ 2013 Express or later, available for
|
|
|
|
|
free](https://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-8)
|
|
|
|
|
|
|
|
|
|
* [Chromium depot_tools](https://www.chromium.org/developers/how-tos/depottools)
|
|
|
|
|
|
|
|
|
|
* Git
|
|
|
|
|
- Either use the mysygit installed by depot_tools
|
|
|
|
|
- Or [install git-for-windows
|
|
|
|
|
yourself](https://git-for-windows.github.io/).
|
|
|
|
|
|
|
|
|
|
* Python 2.7.x (if you're not planning to use cygwin)
|
|
|
|
|
- available for free download at
|
|
|
|
|
[python.org](https://www.python.org/download/releases/)
|
|
|
|
|
- make sure the installer changes your %PATH% environment variable
|
|
|
|
|
to include the directory with the "python.exe" binary
|
|
|
|
|
|
|
|
|
|
* Cygwin (**optional**, but useful if you want to use git)
|
|
|
|
|
- Download from https://www.cygwin.com/setup-x86.exe or
|
|
|
|
|
https://www.cygwin.com/setup-x86_64.exe
|
|
|
|
|
- Use any mirror you like; http://lug.mtu.edu works well
|
|
|
|
|
- Cygwin installs a minimum of options. Add these packages if they
|
|
|
|
|
aren't already selected:
|
|
|
|
|
+ Devel git
|
|
|
|
|
+ Devel subversion
|
|
|
|
|
+ Editors vim
|
|
|
|
|
* to fix arrows in insert, copy
|
|
|
|
|
`/usr/share/vim/vim73/vimrc_example.vim` to `~/.vimrc`
|
|
|
|
|
+ Net ca-certificates
|
|
|
|
|
+ Python python
|
|
|
|
|
+ Utils patch
|
|
|
|
|
+ Utils util-linux
|
|
|
|
|
- Set the windows envionment variable CYGWIN to nodosfilewarning
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
|
|
|
|
Check out the source code
|
|
|
|
|
-------------------------
|
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
Follow the instructions [here](../download) for downloading the Skia source.
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
Gyp Generators on Windows
|
|
|
|
|
-------------------------
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
We use the open-source Gyp tool to generate Visual Studio projects (and
|
2015-01-08 18:43:34 +00:00
|
|
|
|
analogous build scripts on other platforms) from our multi-platform "gyp"
|
|
|
|
|
files.
|
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
Three Gyp generators are used on Windows:
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
* `ninja` - Run ninja yourself, without VisualStudio project files,
|
|
|
|
|
|
|
|
|
|
* `msvs-ninja` - Develop from a fully-integrated Visual Studio.
|
|
|
|
|
Gyp generates Visual-Studio-compatible project files that still
|
|
|
|
|
ultimately build using ninja
|
|
|
|
|
|
|
|
|
|
* `msvs` - Use Visual Studio's own (slower) build system
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
To choose which ones to use, set the `GYP_GENERATORS` environment
|
|
|
|
|
variable to a comma-delimited list of generators before running
|
|
|
|
|
sync-and-gyp. The default value for `GYP_GENERATORS` is
|
|
|
|
|
`ninja,msvs-ninja`. For example to enable the `ninja` and `msvs`
|
|
|
|
|
generators:
|
|
|
|
|
|
|
|
|
|
<a name="env"></a>Setting Enviroment Variables in Windows CMD.EXE
|
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
cd %SKIA_CHECKOUT_DIR%
|
|
|
|
|
SET "GYP_GENERATORS=ninja,msvs"
|
|
|
|
|
python bin/sync-and-gyp
|
|
|
|
|
SET "GYP_GENERATORS="
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
|
|
|
|
Build and run tests from the command line
|
|
|
|
|
-----------------------------------------
|
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
ninja -C out/Debug dm
|
2015-01-08 18:43:34 +00:00
|
|
|
|
out\Debug\dm
|
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
See [this page for running Skia tests on all desktop](./desktop)
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
|
|
|
|
Build and run tests in the Visual Studio IDE
|
|
|
|
|
--------------------------------------------
|
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
1. Generate the Visual Studio project files by running `sync-and-gyp` as
|
|
|
|
|
described above
|
|
|
|
|
|
|
|
|
|
2. Open a File Explorer window pointing at the
|
|
|
|
|
`%SKIA_CHECKOUT_DIR%\out\gyp` directory
|
|
|
|
|
|
|
|
|
|
3. Double-click on dm.sln to start Visual Studio and load the project
|
|
|
|
|
|
|
|
|
|
4. 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.
|
|
|
|
|
|
|
|
|
|
5. In the "Solution Explorer" window, right-click on the "dm" project
|
|
|
|
|
and select "Set as StartUp Project".
|
|
|
|
|
|
|
|
|
|
6. In the "Debug" menu, click on "Start Debugging" (or just press
|
|
|
|
|
F5). If you get a dialog saying that the project is out of date,
|
|
|
|
|
click on "Yes" to rebuild it.
|
|
|
|
|
|
|
|
|
|
7. Once the build is complete, you should see console output from the
|
|
|
|
|
tests in the "Output" window at lower right.
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
|
|
|
|
Build and run SampleApp in Visual Studio
|
|
|
|
|
----------------------------------------
|
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
1. Generate the Visual Studio project files by running `sync-and-gyp`
|
|
|
|
|
as described above
|
|
|
|
|
|
|
|
|
|
2. Open a File Explorer window pointing at the
|
|
|
|
|
`%SKIA_INSTALLDIR%\trunk\out\gyp` directory
|
|
|
|
|
|
|
|
|
|
3. Double-click on SampleApp.sln
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
4. When Visual Studio starts, you may see an error dialog stating
|
|
|
|
|
that "One or more project s in the solution were not loaded
|
|
|
|
|
correctly"... but there's probably nothing to worry about.
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
5. In the "Debug" menu, click on "Start Debugging" (or just press
|
|
|
|
|
F5). If you get a dialog saying that the project is out of date,
|
|
|
|
|
click on "Yes" to rebuild it.
|
2015-01-08 18:43:34 +00:00
|
|
|
|
|
2015-11-13 12:29:59 +00:00
|
|
|
|
6. Once the build is complete, you should see a window with various
|
|
|
|
|
example graphics. To move through the sample app, use the
|
|
|
|
|
following keypresses:
|
|
|
|
|
- right-arrow key: cycle through different test pages
|
|
|
|
|
- left-arrow key: cycle through rendering methods for each test page
|
|
|
|
|
- other keys are defined in SampleApp.cpp’s
|
|
|
|
|
SampleWindow::onHandleKey() and SampleWindow::onHandleChar()
|
|
|
|
|
methods
|