aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2015-09-21 09:42:23 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-09-21 09:42:23 -0700
commit4ae26258ef1705faa303eb9eb6b779695b9143f8 (patch)
tree9501dd8d1ec32b1b312e6bfbbbc67dbfb3adc903 /cmake
parent0fc1dbe59271d507e1435a5d06bbfc2ec5bb4816 (diff)
CMake: Compile in OSMesa on Linux, if found.
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot,Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1353383003
Diffstat (limited to 'cmake')
-rw-r--r--cmake/CMakeLists.txt19
1 files changed, 16 insertions, 3 deletions
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 36a6d1ecf3..4f9ced2f5f 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}