Update INSTALL.md with information about the Skia back-end

This commit is contained in:
David Capello 2016-04-11 17:50:11 -03:00
parent 63c723d327
commit a785c20238

View File

@ -1,12 +1,23 @@
# Table of contents
* [Platforms](#platforms)
* [Get the source code](#get-the-source-code)
* [Dependencies](#dependencies)
* [Linux dependencies](#linux-dependencies)
* [Compiling](#compiling)
* [Mac OS X details](#mac-os-x-details)
* [Issues with Retina displays](#issues-with-retina-displays)
* [Using shared third party libraries](#using-shared-third-party-libraries)
* [Linux issues](#linux-issues)
# Platforms # Platforms
You should be able to compile Aseprite successfully on the following You should be able to compile Aseprite successfully on the following
platforms: platforms:
* Windows + VS2013 + DirectX SDK * Windows 10 + VS2015 Community Edition + Windows 10 SDK
* Mac OS X 10.8 Mountain Lion + Xcode 5.1.1 + Mac OS X 10.4 SDK universal * Mac OS X 10.11.4 El Capitan + Xcode 7.3 + OS X 10.11 SDK + Skia (without GPU)
* Linux + gcc with some C++11 support, this port is not compiled * Linux + gcc 4.8 with some C++11 support
regularly so you can expect some errors in the master branch.
# Get the source code # Get the source code
@ -28,13 +39,39 @@ To update an existing copy:
On Windows you can use programs like On Windows you can use programs like
[msysgit](http://msysgit.github.io/) to clone the repository. [msysgit](http://msysgit.github.io/) to clone the repository.
# Compiling # Dependencies
Aseprite uses the latest version of [CMake](http://www.cmake.org/) Aseprite uses the latest version of [CMake](http://www.cmake.org/)
(3.0) as its build system. You will not need any extra library (3.0 or greater) as its build system. Also we use
because the repository already contains the source code of all [Ninja](https://ninja-build.org) build files regularly instead of
dependencies, even a modified version of the Allegro library is Visual Studio or Xcode projects.
included in master branch.
Aseprite can be compiled with two different back-ends:
1. Allegro back-end (Windows, Linux): You will not need any extra
library because the repository already contains a modified version
of the Allegro library. This back-end is only available for Windows
and Linux and it'll be removed in following versions.
2. Skia back-end (Windows, OS X): You will need a compiled version of
[Skia](http://skia.org/), `chrome/m50` branch, without GPU support,
i.e. compiled with `GYP_DEFINES='skia_gpu=0'`. When you compile
Aseprite, you'll need to give some variables to CMake:
`-DUSE_SKIA_ALLEG4=OFF`, `-DUSE_SKIA_BACKEND=ON`, and
`-DSKIA_DIR=...` pointing to the Skia checkout directory. (Note:
The GPU support is a work-in-progress, so next versions .)
## Linux dependencies
You will need the following dependencies:
sudo apt-get update -qq
sudo apt-get install -y g++ libx11-dev libxcursor-dev cmake ninja-build
The `libxcursor-dev` package is needed to
[hide the hardware cursor](https://github.com/aseprite/aseprite/issues/913).
# Compiling
The following are the steps to compile Aseprite (in this case we have The following are the steps to compile Aseprite (in this case we have
the repository clone in a directory called `aseprite`): the repository clone in a directory called `aseprite`):
@ -42,8 +79,8 @@ the repository clone in a directory called `aseprite`):
1. Make a build directory to leave all the files that are result of 1. Make a build directory to leave all the files that are result of
the compilation process (`.exe`, `.lib`, `.obj`, `.a`, `.o`, etc). the compilation process (`.exe`, `.lib`, `.obj`, `.a`, `.o`, etc).
C:\...\>cd aseprite C:\>cd aseprite
C:\...\aseprite>mkdir build C:\aseprite>mkdir build
In this way, if you want to start with a fresh copy of Aseprite In this way, if you want to start with a fresh copy of Aseprite
source code, you can remove the `build` directory and start again. source code, you can remove the `build` directory and start again.
@ -51,26 +88,30 @@ the repository clone in a directory called `aseprite`):
2. Enter in the new directory and execute cmake giving to it 2. Enter in the new directory and execute cmake giving to it
your compiler as generator: your compiler as generator:
C:\...\aseprite>cd build C:\aseprite>cd build
If you have ninja:
C:\aseprite\build>cmake -G Ninja ..
If you have nmake (MSVC compilers): If you have nmake (MSVC compilers):
C:\...\aseprite\build>cmake -G "NMake Makefiles" .. C:\aseprite\build>cmake -G "NMake Makefiles" ..
If you have Visual Studio you can generate a solution: If you have Visual Studio you can generate a solution:
C:\...\aseprite\build>cmake -G "Visual Studio 12 2013" .. C:\aseprite\build>cmake -G "Visual Studio 12 2013" ..
If you are on Linux: If you are on Linux:
/.../aseprite/build$ cmake -G "Unix Makefiles" .. ~/aseprite/build$ cmake -G "Unix Makefiles" ..
For more information in [CMake wiki](http://www.vtk.org/Wiki/CMake_Generator_Specific_Information). For more information in [CMake wiki](http://www.vtk.org/Wiki/CMake_Generator_Specific_Information).
Additionally you can change build settings by passing them on the Additionally you can change build settings by passing them on the
command line, like so: command line, like so:
/.../aseprite/build$ cmake -DCMAKE_INSTALL_PREFIX=~/software .. ~/aseprite/build$ cmake -DCMAKE_INSTALL_PREFIX=~/software ..
or later on with a tool like or later on with a tool like
[`ccmake`](https://cmake.org/cmake/help/latest/manual/ccmake.1.html) [`ccmake`](https://cmake.org/cmake/help/latest/manual/ccmake.1.html)
@ -86,31 +127,7 @@ the repository clone in a directory called `aseprite`):
will be copied to an appropriate location will be copied to an appropriate location
(e.g. `/usr/local/bin/aseprite` on Linux). (e.g. `/usr/local/bin/aseprite` on Linux).
## Linux details # Mac OS X details
You will need the following dependencies:
sudo apt-get update -qq
sudo apt-get install -y g++ libx11-dev libxcursor-dev cmake ninja-build
The `libxcursor-dev` package is needed to
[hide the hardware cursor](https://github.com/aseprite/aseprite/issues/913).
### Known issues
If you use the official version of Allegro 4.4 library (i.e. you
compile with `USE_SHARED_ALLEGRO4=ON`) you will experience a couple of
known issues solved in
[our patched version of Allegro 4.4 library](https://github.com/aseprite/aseprite/tree/master/src/allegro):
* You will
[not be able to resize the window](https://github.com/aseprite/aseprite/issues/192)
([patch](https://github.com/aseprite/aseprite/commit/920f6275d55113507121afcbcda80adb44cc0563)).
* You will have problems
[adding HSV colors in non-English systems](https://github.com/aseprite/aseprite/commit/27b55030e26e93c5e8d9e7e21206c8709d46ff22)
using the warning icon.
## Mac OS X details
You need the old Mac OS X 10.4 SDK universal, which can be obtained You need the old Mac OS X 10.4 SDK universal, which can be obtained
from Xcode 3.1 Developer Tools (Xcode 3.1 Developer DVD, from Xcode 3.1 Developer Tools (Xcode 3.1 Developer DVD,
@ -128,7 +145,7 @@ cmake with the following parameters:
-DCMAKE_OSX_SYSROOT:STRING=/SDKs/MacOSX10.4u.sdk -DCMAKE_OSX_SYSROOT:STRING=/SDKs/MacOSX10.4u.sdk
-DWITH_HarfBuzz=OFF -DWITH_HarfBuzz=OFF
### Issues with Retina displays ## Issues with Retina displays
If you have a Retina display, check this issue: If you have a Retina display, check this issue:
@ -144,8 +161,16 @@ After running `cmake -G`, you can edit `build/CMakeCache.txt` file,
and enable the `USE_SHARED_` flag (set its value to `ON`) of the and enable the `USE_SHARED_` flag (set its value to `ON`) of the
library that you want to be linked dynamically. library that you want to be linked dynamically.
# Profiling ## Linux issues
You must compile with `Profile` configuration. For example on Linux: If you use the official version of Allegro 4.4 library (i.e. you
compile with `USE_SHARED_ALLEGRO4=ON`) you will experience a couple of
known issues solved in
[our patched version of Allegro 4.4 library](https://github.com/aseprite/aseprite/tree/master/src/allegro):
/.../aseprite/build$ cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE:STRING=Profile -DCOMPILER_GCC:BOOL=ON * You will
[not be able to resize the window](https://github.com/aseprite/aseprite/issues/192)
([patch](https://github.com/aseprite/aseprite/commit/920f6275d55113507121afcbcda80adb44cc0563)).
* You will have problems
[adding HSV colors in non-English systems](https://github.com/aseprite/aseprite/commit/27b55030e26e93c5e8d9e7e21206c8709d46ff22)
using the warning icon.