| Index: cmake/CMakeLists.txt
 | 
| diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
 | 
| index 36a6d1ecf3ca947363c8197efebd4a2e5e82a64c..4f9ced2f5ff270155410c7daa8aa786a027c954f 100644
 | 
| --- a/cmake/CMakeLists.txt
 | 
| +++ b/cmake/CMakeLists.txt
 | 
| @@ -100,7 +100,6 @@ remove_srcs(
 | 
|      ../src/gpu/gl/command_buffer/*
 | 
|      ../src/gpu/gl/egl/*
 | 
|      ../src/gpu/gl/iOS/*
 | 
| -    ../src/gpu/gl/mesa/*
 | 
|      ../src/opts/SkBitmapProcState_opts_none.cpp
 | 
|      ../src/opts/SkBlitMask_opts_none.cpp
 | 
|      ../src/opts/SkBlitRow_opts_none.cpp
 | 
| @@ -125,6 +124,8 @@ find_package (ZLIB)
 | 
|  # No find_package for libwebp as far as I can tell, so simulate it here.
 | 
|  find_path (WEBP_INCLUDE_DIRS "webp/decode.h")
 | 
|  find_library (WEBP_LIBRARIES webp)
 | 
| +find_path (OSMESA_INCLUDE_DIRS "GL/osmesa.h")
 | 
| +find_library(OSMESA_LIBRARIES "OSMesa")
 | 
|  
 | 
|  if (UNIX AND NOT APPLE)
 | 
|      find_package (Freetype)
 | 
| @@ -196,6 +197,16 @@ if (APPLE)
 | 
|      list (APPEND libs ${APPLICATION_SERVICES_FRAMEWORK})
 | 
|  endif()
 | 
|  
 | 
| +if (OSMESA_LIBRARIES AND OSMESA_INCLUDE_DIRS)
 | 
| +    list (APPEND libs             ${OSMESA_LIBRARIES})
 | 
| +    list (APPEND private_includes ${OSMESA_INCLUDE_DIRS})
 | 
| +    list (APPEND public_defines   "-DSK_MESA=1")
 | 
| +    message("-- Found OSMesa: " ${OSMESA_LIBRARIES})
 | 
| +else()
 | 
| +    remove_srcs(../src/gpu/gl/mesa/*)
 | 
| +    message("-- Could NOT find OSMesa")
 | 
| +endif()
 | 
| +
 | 
|  find_package(OpenGL REQUIRED)
 | 
|  list (APPEND libs  ${OPENGL_LIBRARIES})
 | 
|  
 | 
| @@ -204,9 +215,11 @@ list (APPEND libs  ${OPENGL_LIBRARIES})
 | 
|  # not so much that we think Skia is a good candidate to ship as a shared library.
 | 
|  add_library (skia SHARED ${srcs})
 | 
|  
 | 
| +list (APPEND private_defines "-DSKIA_DLL")
 | 
| +
 | 
|  target_compile_definitions(skia
 | 
| -    PUBLIC
 | 
| -    PRIVATE -DSKIA_DLL)
 | 
| +    PUBLIC  ${public_defines}
 | 
| +    PRIVATE ${private_defines})
 | 
|  
 | 
|  target_include_directories(skia
 | 
|      PUBLIC  ${public_includes}
 | 
| 
 |