| Index: cmake/CMakeLists.txt
|
| diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
|
| index 91785a344a14b5296aecc57a5c79bbedf228962c..ea98cd145fcb07247da5bdd8562adc7ffdb58b70 100644
|
| --- a/cmake/CMakeLists.txt
|
| +++ b/cmake/CMakeLists.txt
|
| @@ -12,7 +12,7 @@ endif ()
|
| file (GLOB_RECURSE srcs ../src/*.cpp)
|
|
|
| function (find_include_dirs out)
|
| - file (GLOB_RECURSE headers ${ARGV})
|
| + file (GLOB_RECURSE headers ${ARGN})
|
| foreach (path ${headers})
|
| get_filename_component (dir ${path} PATH)
|
| list (APPEND include_dirs ${dir})
|
| @@ -32,7 +32,7 @@ list (APPEND srcs ../third_party/etc1/etc1.cpp ../third_party/ktx/kt
|
| list (APPEND private_includes ../third_party/etc1 ../third_party/ktx)
|
|
|
| function (remove_srcs)
|
| - file (GLOB_RECURSE to_remove ${ARGV})
|
| + file (GLOB_RECURSE to_remove ${ARGN})
|
| list (REMOVE_ITEM srcs ${to_remove})
|
| set (srcs ${srcs} PARENT_SCOPE)
|
| endfunction()
|
| @@ -41,6 +41,14 @@ endfunction()
|
| remove_srcs (../src/core/SkForceCPlusPlusLinking.cpp)
|
| # This file forces linking for all our supported image decoders. We're more fine-grained.
|
| remove_srcs (../src/images/SkForceLinking.cpp)
|
| +# Chrome only?
|
| +remove_srcs (../src/ports/SkFontHost_fontconfig.cpp
|
| + ../src/fonts/SkFontMgr_fontconfig.cpp
|
| + ../src/ports/SkFontConfigInterface_direct.cpp)
|
| +# Alternative font managers.
|
| +remove_srcs (../src/ports/SkFontMgr_custom*.cpp)
|
| +# Not actually used by Skia.
|
| +remove_srcs (../src/utils/SkThreadUtils_pthread_*.cpp)
|
|
|
| # Skia sure ships a lot of code no one uses.
|
| remove_srcs (../src/animator/* ../src/*nacl* ../src/svg/* ../src/views/* ../src/xml/*)
|
| @@ -52,13 +60,26 @@ endif()
|
|
|
| # Remove OS-specific source files.
|
| if (NOT WIN32)
|
| - remove_srcs(../src/utils/win/* ../src/*_win*.cpp ../src/*xps* ../src/gpu/gl/angle/* ../src/*WIC* ../src/*DWRITE*)
|
| + remove_srcs(../src/*XPS*
|
| + ../src/*_win*.cpp
|
| + ../src/gpu/gl/angle/*
|
| + ../src/ports/SkImageDecoder_WIC.cpp
|
| + ../src/utils/win/*)
|
| endif()
|
| -if (NOT LINUX)
|
| - remove_srcs(../src/*linux* ../src/*FreeType* ../src/*FontConfig* ../src/*FontMgr_custom*)
|
| +if (APPLE OR NOT UNIX)
|
| + remove_srcs(../src/gpu/gl/glx/*
|
| + ../src/images/SkImageDecoder_FactoryDefault.cpp
|
| + ../src/ports/SkFontMgr_fontconfig*.cpp
|
| + ../src/*FreeType*)
|
| endif()
|
| if (NOT ANDROID)
|
| - remove_srcs(../src/*android* ../src/*hwui*)
|
| + remove_srcs(../src/*Hwui* ../src/*android*)
|
| +endif()
|
| +if (NOT APPLE)
|
| + remove_srcs(../src/*darwin*
|
| + ../src/ports/SkImageDecoder_CG.cpp
|
| + ../src/utils/mac/*
|
| + ../src/*mac*)
|
| endif()
|
|
|
| # Remove processor-specific source files.
|
| @@ -78,10 +99,8 @@ remove_srcs(
|
| ../src/gpu/gl/SkCreatePlatformGLContext*.cpp # For internal testing only.
|
| ../src/gpu/gl/command_buffer/*
|
| ../src/gpu/gl/egl/*
|
| - ../src/gpu/gl/glx/*
|
| ../src/gpu/gl/iOS/*
|
| ../src/gpu/gl/mesa/*
|
| - ../src/images/SkImageDecoder_FactoryDefault.cpp
|
| ../src/opts/SkBitmapProcState_opts_none.cpp
|
| ../src/opts/SkBlitMask_opts_none.cpp
|
| ../src/opts/SkBlitRow_opts_none.cpp
|
| @@ -89,9 +108,7 @@ remove_srcs(
|
| ../src/ports/SkGlobalInitialization_chromium.cpp
|
| ../src/ports/SkImageDecoder_empty.cpp
|
| ../src/ports/SkImageGenerator_none.cpp
|
| - ../src/ports/SkTLS_none.cpp
|
| - ../src/utils/SkThreadUtils_pthread_other.cpp
|
| - )
|
| + ../src/ports/SkTLS_none.cpp)
|
|
|
| remove_srcs(../src/codec/*) # TODO: Requires Chromium's libjpeg-turbo, and incompatible giflib.
|
|
|
| @@ -103,39 +120,80 @@ set_source_files_properties(${sse41_srcs} PROPERTIES COMPILE_FLAGS -msse4.1)
|
|
|
| # Detect our optional dependencies.
|
| # If we can't find them, don't build the parts of Skia that use them.
|
| -
|
| -find_package (GIF)
|
| -find_package (JPEG)
|
| -find_package (LUA)
|
| -find_package (PNG)
|
| +find_package (Lua)
|
| 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)
|
|
|
| -if (NOT GIF_FOUND)
|
| +if (UNIX AND NOT APPLE)
|
| + find_package (Freetype)
|
| + # Same deal for fontconfig.
|
| + find_path (FONTCONFIG_INCLUDE_DIRS "fontconfig/fontconfig.h")
|
| + find_library (FONTCONFIG_LIBRARIES fontconfig)
|
| + find_package (GIF)
|
| + find_package (JPEG)
|
| + find_package (PNG)
|
| +endif()
|
| +
|
| +# TODO: macro away this if (found) ... else() ... endif() stuff.
|
| +
|
| +if (GIF_FOUND)
|
| + list (APPEND private_includes ${GIF_INCLUDE_DIRS})
|
| + list (APPEND libs ${GIF_LIBRARIES})
|
| +else()
|
| remove_srcs(../src/images/*gif*)
|
| endif()
|
| -if (NOT JPEG_FOUND)
|
| +
|
| +if (JPEG_FOUND)
|
| + list (APPEND private_includes ${JPEG_INCLUDE_DIRS})
|
| + list (APPEND libs ${JPEG_LIBRARIES})
|
| +else()
|
| remove_srcs(../src/images/*jpeg*)
|
| endif()
|
| -if (NOT LUA_FOUND)
|
| - remove_srcs(../src/utils/*lua*)
|
| +
|
| +if (LUA_FOUND)
|
| + list (APPEND private_includes ${LUA_INCLUDE_DIR})
|
| + list (APPEND libs ${LUA_LIBRARIES})
|
| +else()
|
| + remove_srcs(../src/utils/*Lua*)
|
| endif()
|
| -if (NOT PNG_FOUND)
|
| +
|
| +if (PNG_FOUND)
|
| + list (APPEND private_includes ${PNG_INCLUDE_DIRS})
|
| + list (APPEND libs ${PNG_LIBRARIES})
|
| +else()
|
| remove_srcs(../src/images/*png*)
|
| endif()
|
| -if (NOT ZLIB_FOUND)
|
| - remove_srcs(../src/pdf/*.cpp ../src/doc/SkDocument_PDF.cpp)
|
| -else()
|
| +
|
| +if (ZLIB_FOUND)
|
| + list (APPEND private_includes ${ZLIB_INCLUDE_DIRS})
|
| + list (APPEND libs ${ZLIB_LIBRARIES})
|
| remove_srcs(../src/doc/SkDocument_PDF_None.cpp)
|
| +else()
|
| + remove_srcs(../src/pdf/*.cpp ../src/doc/SkDocument_PDF.cpp)
|
| endif()
|
| -if (NOT WEBP_INCLUDE_DIRS OR NOT WEBP_LIBRARIES)
|
| +
|
| +if (WEBP_INCLUDE_DIRS AND WEBP_LIBRARIES)
|
| + list (APPEND private_includes ${WEBP_INCLUDE_DIRS})
|
| + list (APPEND libs ${WEBP_LIBRARIES})
|
| +else()
|
| remove_srcs(../src/images/*webp*)
|
| endif()
|
|
|
| +if (FREETYPE_FOUND)
|
| + list (APPEND private_includes ${FREETYPE_INCLUDE_DIRS})
|
| + list (APPEND libs ${FREETYPE_LIBRARIES})
|
| +endif()
|
| +
|
| +if (FONTCONFIG_INCLUDE_DIRS AND FONTCONFIG_LIBRARIES)
|
| + list (APPEND private_includes ${FONTCONFIG_INCLUDE_DIRS})
|
| + list (APPEND libs ${FONTCONFIG_LIBRARIES})
|
| +endif()
|
| +
|
| if (APPLE)
|
| - find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices)
|
| + find_library(APPLICATION_SERVICES_FRAMEWORK ApplicationServices REQUIRED)
|
| + list (APPEND libs ${APPLICATION_SERVICES_FRAMEWORK})
|
| endif()
|
|
|
| # This is our main output, libskia.so.
|
| @@ -149,23 +207,12 @@ target_compile_definitions(skia
|
|
|
| target_include_directories(skia
|
| PUBLIC ${public_includes}
|
| - PRIVATE ${private_includes}
|
| - ${GIF_INCLUDE_DIRS}
|
| - ${JPEG_INCLUDE_DIRS}
|
| - ${LUA_INCLUDE_DIRS}
|
| - ${PNG_INCLUDE_DIRS}
|
| - ${WEBP_INCLUDE_DIRS}
|
| - ${ZLIB_INCLUDE_DIRS})
|
| + PRIVATE ${private_includes})
|
|
|
| target_link_libraries(skia
|
| PUBLIC
|
| - PRIVATE ${APPLICATION_SERVICES_FRAMEWORK}
|
| - ${GIF_LIBRARIES}
|
| - ${JPEG_LIBRARIES}
|
| - ${LUA_LIBRARIES}
|
| - ${PNG_LIBRARIES}
|
| - ${WEBP_LIBRARIES}
|
| - ${ZLIB_LIBRARIES})
|
| + PRIVATE ${libs})
|
| +
|
|
|
| set_target_properties(skia PROPERTIES
|
| COMPILE_FLAGS "-fno-exceptions -fno-rtti -Wno-deprecated-declarations"
|
|
|