欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

skui skia-m85

程序员文章站 2024-03-16 20:50:22
...

skui\3rdparty\skia
升级为skia-m85的CMakeLists.txt

##
#
# The MIT License (MIT)
#
# Copyright © 2017-2020 Ruben Van Boxem
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

cmake_minimum_required (VERSION 3.1)
project(skia)
set (CMAKE_CXX_STANDARD_REQUIRED 17)
set(CMAKE_SYSTEM_VERSION 10.0.17763.0  CACHE TYPE INTERNAL FORCE)

if(UNIX AND NOT APPLE)
  find_package(Freetype)
endif()

if(EXPAT_FOUND AND ZLIB_FOUND)
  set(SKIA_ENABLE_PDF TRUE)
endif()

# Because wow Skia, just wow.
if(CMAKE_COMPILER_IS_GNUCXX OR ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
  add_compile_options(-Wno-conversion
                      -Wno-pedantic
                      -Wno-missing-field-initializers
                      -Wno-sign-compare
                      -Wno-unused-parameter
                      -Wno-deprecated-declarations
                      -Wno-narrowing)
  if(NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
    if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7)
      add_compile_options(-Wimplicit-fallthrough=0
                          -Wformat=0
                          -Wno-format-extra-args
                          -Wno-int-in-bool-context
                          -Wno-strict-aliasing
                          -Wno-unused
                          -Wno-ignored-attributes
                          -Wno-unknown-pragmas)
      if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8)
        add_compile_options(-Wno-sizeof-pointer-memaccess
                            -Wno-class-memaccess
                            -Wno-stringop-overflow
                            -Wno-array-bounds
                            -Wno-restrict
                            -Wno-stringop-truncation
                            -Wno-cast-function-type)
        if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9)
          add_compile_options(-Wno-redundant-move
                              -Wno-deprecated-copy)
        endif()
      endif()
    endif()
    add_compile_options(-Wno-maybe-uninitialized)
  endif()
elseif(MSVC)
  add_compile_options(/wd4100
                      /wd4125
                      /wd4127
                      /wd4189
                      /wd4201
                      /wd4244
                      /wd4245
                      /wd4251
                      /wd4267
                      /wd4291
                      /wd4310
                      /wd4324
                      /wd4389
                      /wd4456
                      /wd4457
                      /wd4459
                      /wd4505
                      /wd4554
                      /wd4589
                      /wd4611
                      /wd4701
                      /wd4702
                      /wd4703
                      /wd4706
                      /wd4800
                      )
endif()

set(skia_sources
  # src/android/SkAndroidFrameworkUtils.cpp
  # src/android/SkAnimatedImage.cpp

  # src/c/sk_effects.cpp
  # src/c/sk_imageinfo.cpp
  # src/c/sk_paint.cpp
  # src/c/sk_surface.cpp

  # src/codec/SkAndroidCodec.cpp
  # src/codec/SkAndroidCodecAdapter
    src/codec/SkBmpBaseCodec.cpp
    src/codec/SkBmpCodec.cpp
    src/codec/SkBmpMaskCodec.cpp
    src/codec/SkBmpRLECodec.cpp
    src/codec/SkBmpStandardCodec.cpp
    src/codec/SkCodec.cpp
    src/codec/SkCodecImageGenerator.cpp
    src/codec/SkColorTable.cpp
    src/codec/SkEncodedInfo.cpp
  # src/codec/SkHeifCodec.cpp # does not define any new symbols
    src/codec/SkIcoCodec.cpp
    src/codec/SkJpegCodec.cpp
    src/codec/SkJpegDecoderMgr.cpp
    src/codec/SkJpegUtility.cpp
    src/codec/SkMasks.cpp
    src/codec/SkMaskSwizzler.cpp
    src/codec/SkParseEncodedOrigin.cpp
    src/codec/SkPngCodec.cpp
  # src/codec/SkRawCodec.cpp
    src/codec/SkSampledCodec.cpp
    src/codec/SkSampler.cpp
    src/codec/SkStreamBuffer.cpp
    src/codec/SkSwizzler.cpp
    src/codec/SkWbmpCodec.cpp
  # src/codec/SkWebpCodec.cpp
  # src/codec/SkWuffsCodec.cpp

    src/core/SkAAClip.cpp
    src/core/SkAlphaRuns.cpp
    src/core/SkAnalyticEdge.cpp
    src/core/SkAnnotation.cpp
    src/core/SkArenaAlloc.cpp
    src/core/SkATrace.cpp
    src/core/SkAutoPixmapStorage.cpp
    src/core/SkBBHFactory.cpp
    src/core/SkBigPicture.cpp
    src/core/SkBitmap.cpp
    src/core/SkBitmapCache.cpp
    src/core/SkBitmapController.cpp
    src/core/SkBitmapDevice.cpp
    src/core/SkBitmapProcState.cpp
    src/core/SkBitmapProcState_matrixProcs.cpp
    src/core/SkBlendMode.cpp
    src/core/SkBlitRow_D32.cpp
    src/core/SkBlitter.cpp
    src/core/SkBlitter_A8.cpp
    src/core/SkBlitter_ARGB32.cpp
    src/core/SkBlitter_RGB565.cpp
    src/core/SkBlitter_Sprite.cpp
    src/core/SkBlurMask.cpp
    src/core/SkBlurMF.cpp
    src/core/SkBuffer.cpp
    src/core/SkCachedData.cpp
    src/core/SkCanvas.cpp
    src/core/SkCanvasPriv.cpp
    src/core/SkClipStack.cpp
    src/core/SkClipStackDevice.cpp
    src/core/SkColor.cpp
    src/core/SkColorFilter.cpp
    src/core/SkColorFilter_Matrix.cpp
    src/core/SkColorSpace.cpp
    src/core/SkColorSpaceXformSteps.cpp
    src/core/SkCompressedDataUtils.cpp
    src/core/SkContourMeasure.cpp
    src/core/SkConvertPixels.cpp
    src/core/SkCpu.cpp
    src/core/SkCubicClipper.cpp
    src/core/SkCubicMap.cpp
    src/core/SkData.cpp
    src/core/SkDataTable.cpp
  # src/core/SkDebug.cpp # does not define any new symbols
    src/core/SkDeferredDisplayList.cpp
    src/core/SkDeferredDisplayListRecorder.cpp
    src/core/SkDeque.cpp
    src/core/SkDescriptor.cpp
    src/core/SkDevice.cpp
    src/core/SkDistanceFieldGen.cpp
    src/core/SkDocument.cpp
    src/core/SkDraw.cpp
    src/core/SkDraw_atlas.cpp
    src/core/SkDraw_text.cpp
    src/core/SkDraw_vertices.cpp
    src/core/SkDrawable.cpp
    src/core/SkDrawLooper.cpp
    src/core/SkDrawShadowInfo.cpp
    src/core/SkEdge.cpp
    src/core/SkEdgeBuilder.cpp
    src/core/SkEdgeClipper.cpp
    src/core/SkExecutor.cpp
    src/core/SkFlattenable.cpp
    src/core/SkFont.cpp
    src/core/SkFont_serial.cpp
    src/core/SkFontDescriptor.cpp
    src/core/SkFontLCDConfig.cpp
    src/core/SkFontMgr.cpp
    src/core/SkFontStream.cpp
    src/core/SkGaussFilter.cpp
    src/core/SkGeometry.cpp
    src/core/SkGlobalInitialization_core.cpp
    src/core/SkGlyph.cpp
    src/core/SkGlyphBuffer.cpp
    src/core/SkGlyphRun.cpp
    src/core/SkGlyphRunPainter.cpp
    src/core/SkGpuBlurUtils.cpp
    src/core/SkGraphics.cpp
    src/core/SkHalf.cpp
    src/core/SkICC.cpp
    src/core/SkIDChangeListener.cpp
    src/core/SkImageFilter.cpp
    src/core/SkImageFilterCache.cpp
    src/core/SkImageFilterTypes.cpp
    src/core/SkImageGenerator.cpp
    src/core/SkImageInfo.cpp
    src/core/SkLatticeIter.cpp
    src/core/SkLegacyGpuBlurUtils.cpp
    src/core/SkLineClipper.cpp
    src/core/SkLocalMatrixImageFilter.cpp
    src/core/SkM44.cpp
    src/core/SkMalloc.cpp
    src/core/SkMallocPixelRef.cpp
    src/core/SkMarkerStack.cpp
    src/core/SkMask.cpp
    src/core/SkMaskBlurFilter.cpp
    src/core/SkMaskCache.cpp
    src/core/SkMaskFilter.cpp
    src/core/SkMaskGamma.cpp
    src/core/SkMath.cpp
    src/core/SkMatrix.cpp
    src/core/SkMatrix44.cpp
    src/core/SkMatrixImageFilter.cpp
    src/core/SkMD5.cpp
    src/core/SkMiniRecorder.cpp
    src/core/SkMipMap.cpp
    src/core/SkModeColorFilter.cpp
    src/core/SkOpts.cpp
    src/core/SkOverdrawCanvas.cpp
    src/core/SkPaint.cpp
    src/core/SkPaintPriv.cpp
    src/core/SkPath.cpp
    src/core/SkPath_serial.cpp
    src/core/SkPathBuilder.cpp
    src/core/SkPathEffect.cpp
    src/core/SkPathMeasure.cpp
    src/core/SkPathRef.cpp
    src/core/SkPicture.cpp
    src/core/SkPictureData.cpp
    src/core/SkPictureFlat.cpp
    src/core/SkPictureImageGenerator.cpp
    src/core/SkPicturePlayback.cpp
    src/core/SkPictureRecord.cpp
    src/core/SkPictureRecorder.cpp
    src/core/SkPixelRef.cpp
    src/core/SkPixmap.cpp
    src/core/SkPoint.cpp
    src/core/SkPoint3.cpp
    src/core/SkPromiseImageTexture.cpp
    src/core/SkPtrRecorder.cpp
    src/core/SkQuadClipper.cpp
    src/core/SkRasterClip.cpp
    src/core/SkRasterPipeline.cpp
    src/core/SkRasterPipelineBlitter.cpp
    src/core/SkReadBuffer.cpp
    src/core/SkRecord.cpp
    src/core/SkRecordDraw.cpp
    src/core/SkRecordedDrawable.cpp
    src/core/SkRecorder.cpp
    src/core/SkRecordOpts.cpp
    src/core/SkRecords.cpp
    src/core/SkRect.cpp
    src/core/SkRegion.cpp
    src/core/SkRegion_path.cpp
    src/core/SkRemoteGlyphCache.cpp
    src/core/SkResourceCache.cpp
    src/core/SkRRect.cpp
    src/core/SkRTree.cpp
    src/core/SkRuntimeEffect.cpp
    src/core/SkRWBuffer.cpp
    src/core/SkScalar.cpp
    src/core/SkScalerCache.cpp
    src/core/SkScalerContext.cpp
    src/core/SkScan.cpp
    src/core/SkScan_AAAPath.cpp
    src/core/SkScan_Antihair.cpp
    src/core/SkScan_AntiPath.cpp
    src/core/SkScan_Hairline.cpp
    src/core/SkScan_Path.cpp
    src/core/SkSemaphore.cpp
    src/core/SkSharedMutex.cpp
    src/core/SkSpecialImage.cpp
    src/core/SkSpecialSurface.cpp
    src/core/SkSpinlock.cpp
    src/core/SkSpriteBlitter_ARGB32.cpp
    src/core/SkSpriteBlitter_RGB565.cpp
    src/core/SkStream.cpp
    src/core/SkStrikeCache.cpp
    src/core/SkStrikeForGPU.cpp
    src/core/SkStrikeSpec.cpp
    src/core/SkString.cpp
    src/core/SkStringUtils.cpp
    src/core/SkStroke.cpp
    src/core/SkStrokeRec.cpp
    src/core/SkStrokerPriv.cpp
    src/core/SkSurfaceCharacterization.cpp
    src/core/SkSwizzle.cpp
    src/core/SkTaskGroup.cpp
    src/core/SkTextBlob.cpp
    src/core/SkTextBlobTrace.cpp
    src/core/SkThreadID.cpp
    src/core/SkTime.cpp
    src/core/SkTSearch.cpp
    src/core/SkTypeface.cpp
    src/core/SkTypeface_remote.cpp
    src/core/SkTypefaceCache.cpp
    src/core/SkUnPreMultiply.cpp
    src/core/SkUtils.cpp
  # src/core/SkUtilsArm.cpp
    src/core/SkVertices.cpp
    src/core/SkVertState.cpp
    src/core/SkVM.cpp
    src/core/SkVMBlitter.cpp
    src/core/SkWriteBuffer.cpp
    src/core/SkWriter32.cpp
    src/core/SkXfermode.cpp
    src/core/SkXfermodeInterpretation.cpp
    src/core/SkYUVASizeInfo.cpp
    src/core/SkYUVMath.cpp
    src/core/SkYUVPlanesCache.cpp

    src/effects/imagefilters/SkAlphaThresholdFilter.cpp
    src/effects/imagefilters/SkArithmeticImageFilter.cpp
    src/effects/imagefilters/SkBlurImageFilter.cpp
    src/effects/imagefilters/SkColorFilterImageFilter.cpp
    src/effects/imagefilters/SkComposeImageFilter.cpp
    src/effects/imagefilters/SkDisplacementMapEffect.cpp
    src/effects/imagefilters/SkDropShadowImageFilter.cpp
    src/effects/imagefilters/SkImageFilters.cpp
    src/effects/imagefilters/SkImageSource.cpp
    src/effects/imagefilters/SkLightingImageFilter.cpp
    src/effects/imagefilters/SkMagnifierImageFilter.cpp
    src/effects/imagefilters/SkMatrixConvolutionImageFilter.cpp
    src/effects/imagefilters/SkMergeImageFilter.cpp
    src/effects/imagefilters/SkMorphologyImageFilter.cpp
    src/effects/imagefilters/SkOffsetImageFilter.cpp
    src/effects/imagefilters/SkPaintImageFilter.cpp
    src/effects/imagefilters/SkPictureImageFilter.cpp
    src/effects/imagefilters/SkTileImageFilter.cpp
    src/effects/imagefilters/SkXfermodeImageFilter.cpp
    src/effects/Sk1DPathEffect.cpp
    src/effects/Sk2DPathEffect.cpp
    src/effects/SkColorMatrix.cpp
    src/effects/SkColorMatrixFilter.cpp
    src/effects/SkCornerPathEffect.cpp
    src/effects/SkDashPathEffect.cpp
    src/effects/SkDiscretePathEffect.cpp
    src/effects/SkEmbossMask.cpp
    src/effects/SkEmbossMaskFilter.cpp
    src/effects/SkHighContrastFilter.cpp
    src/effects/SkLayerDrawLooper.cpp
    src/effects/SkLumaColorFilter.cpp
    src/effects/SkOpPathEffect.cpp
    src/effects/SkOverdrawColorFilter.cpp
    src/effects/SkPackBits.cpp
    src/effects/SkShaderMaskFilter.cpp
    src/effects/SkTableColorFilter.cpp
    src/effects/SkTableMaskFilter.cpp
    src/effects/SkTrimPathEffect.cpp
    src/fonts/SkFontMgr_indirect.cpp
    src/fonts/SkRemotableFontMgr.cpp
 
    src/gpu/ccpr/GrCCAtlas.cpp
    src/gpu/ccpr/GrCCClipPath.cpp
    src/gpu/ccpr/GrCCClipProcessor.cpp
    src/gpu/ccpr/GrCCConicShader.cpp
    src/gpu/ccpr/GrCCCoverageProcessor.cpp
    src/gpu/ccpr/GrCCCubicShader.cpp
    src/gpu/ccpr/GrCCDrawPathsOp.cpp
    src/gpu/ccpr/GrCCFiller.cpp
    src/gpu/ccpr/GrCCFillGeometry.cpp
    src/gpu/ccpr/GrCCPathCache.cpp
    src/gpu/ccpr/GrCCPathProcessor.cpp
    src/gpu/ccpr/GrCCPerFlushResources.cpp
    src/gpu/ccpr/GrCCQuadraticShader.cpp
    src/gpu/ccpr/GrCCStrokeGeometry.cpp
    src/gpu/ccpr/GrCCStroker.cpp
    src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp
  # src/gpu/ccpr/GrCoverageCountingPathRenderer_none.cpp
    src/gpu/ccpr/GrGSCoverageProcessor.cpp
    src/gpu/ccpr/GrOctoBounds.cpp
    src/gpu/ccpr/GrSampleMaskProcessor.cpp
    src/gpu/ccpr/GrStencilAtlasOp.cpp
    src/gpu/ccpr/GrVSCoverageProcessor.cpp
  # src/gpu/d3d/GrD3DBuffer.cpp
  # src/gpu/d3d/GrD3DCaps.cpp
  # src/gpu/d3d/GrD3DCommandList.cpp
  # src/gpu/d3d/GrD3DConstantRingBuffer.cpp
  # src/gpu/d3d/GrD3DCpuDescriptorManager.cpp
  # src/gpu/d3d/GrD3DDescriptorHeap.cpp
  # src/gpu/d3d/GrD3DDescriptorTableManager.cpp
  # src/gpu/d3d/GrD3DGpu.cpp
  # src/gpu/d3d/GrD3DOpsRenderPass.cpp
  # src/gpu/d3d/GrD3DPipelineState.cpp
  # src/gpu/d3d/GrD3DPipelineStateBuilder.cpp
  # src/gpu/d3d/GrD3DPipelineStateDataManager.cpp
  # src/gpu/d3d/GrD3DRenderTarget.cpp
  # src/gpu/d3d/GrD3DResourceProvider.cpp
  # src/gpu/d3d/GrD3DRootSignature.cpp
  # src/gpu/d3d/GrD3DStencilAttachment.cpp
  # src/gpu/d3d/GrD3DTexture.cpp
  # src/gpu/d3d/GrD3DTextureRenderTarget.cpp
  # src/gpu/d3d/GrD3DTextureResource.cpp
  # src/gpu/d3d/GrD3DTypesPriv.cpp
  # src/gpu/d3d/GrD3DUtil.cpp
  # src/gpu/dawn/GrDawnBuffer.cpp
  # src/gpu/dawn/GrDawnCaps.cpp
  # src/gpu/dawn/GrDawnGpu.cpp
  # src/gpu/dawn/GrDawnOpsRenderPass.cpp
  # src/gpu/dawn/GrDawnProgramBuilder.cpp
  # src/gpu/dawn/GrDawnProgramDataManager.cpp
  # src/gpu/dawn/GrDawnRenderTarget.cpp
  # src/gpu/dawn/GrDawnRingBuffer.cpp
  # src/gpu/dawn/GrDawnStagingManager.cpp
  # src/gpu/dawn/GrDawnStencilAttachment.cpp
  # src/gpu/dawn/GrDawnTexture.cpp
  # src/gpu/dawn/GrDawnTextureRenderTarget.cpp
  # src/gpu/dawn/GrDawnUtil.cpp

    src/gpu/effects/generated/GrAARectEffect.cpp
    src/gpu/effects/generated/GrAlphaThresholdFragmentProcessor.cpp
    src/gpu/effects/generated/GrBlurredEdgeFragmentProcessor.cpp
    src/gpu/effects/generated/GrCircleBlurFragmentProcessor.cpp
    src/gpu/effects/generated/GrCircleEffect.cpp
    src/gpu/effects/generated/GrClampFragmentProcessor.cpp
    src/gpu/effects/generated/GrColorMatrixFragmentProcessor.cpp
    src/gpu/effects/generated/GrComposeLerpEffect.cpp
    src/gpu/effects/generated/GrConfigConversionEffect.cpp
    src/gpu/effects/generated/GrConstColorProcessor.cpp
    src/gpu/effects/generated/GrDeviceSpaceEffect.cpp
    src/gpu/effects/generated/GrEllipseEffect.cpp
    src/gpu/effects/generated/GrHSLToRGBFilterEffect.cpp
    src/gpu/effects/generated/GrLumaColorFilterEffect.cpp
    src/gpu/effects/generated/GrMagnifierEffect.cpp
    src/gpu/effects/generated/GrMixerEffect.cpp
    src/gpu/effects/generated/GrOverrideInputFragmentProcessor.cpp

    src/gpu/effects/generated/GrRectBlurEffect.cpp
    src/gpu/effects/generated/GrRGBToHSLFilterEffect.cpp
    src/gpu/effects/generated/GrRRectBlurEffect.cpp
    src/gpu/effects/GrBezierEffect.cpp
    src/gpu/effects/GrBicubicEffect.cpp
    src/gpu/effects/GrBitmapTextGeoProc.cpp
    src/gpu/effects/GrConvexPolyEffect.cpp
    src/gpu/effects/GrCoverageSetOpXP.cpp
    src/gpu/effects/GrCustomXfermode.cpp
    src/gpu/effects/GrDisableColorXP.cpp
    src/gpu/effects/GrDistanceFieldGeoProc.cpp
    src/gpu/effects/GrGaussianConvolutionFragmentProcessor.cpp
    src/gpu/effects/GrMatrixConvolutionEffect.cpp
    src/gpu/effects/GrOvalEffect.cpp
    src/gpu/effects/GrPorterDuffXferProcessor.cpp
    src/gpu/effects/GrRRectEffect.cpp
    src/gpu/effects/GrShadowGeoProc.cpp
    src/gpu/effects/GrSkSLFP.cpp

    src/gpu/effects/GrTextureEffect.cpp
    src/gpu/effects/GrXfermodeFragmentProcessor.cpp
    src/gpu/effects/GrYUVtoRGBEffect.cpp
    src/gpu/geometry/GrPathUtils.cpp
    src/gpu/geometry/GrQuad.cpp
    src/gpu/geometry/GrQuadUtils.cpp
    src/gpu/geometry/GrShape.cpp
    src/gpu/geometry/GrStyledShape.cpp

    src/gpu/gl/builders/GrGLProgramBuilder.cpp
    src/gpu/gl/builders/GrGLShaderStringBuilder.cpp
  # src/gpu/gl/android/GrGLMakeNativeInterface_android.cpp
  # src/gpu/gl/egl/GrGLMakeNativeInterface_egl.cpp
  # src/gpu/gl/glfw/GrGLMakeNativeInterface_glfw.cpp
  # src/gpu/gl/glx/GrGLMakeNativeInterface_glx.cpp
  # src/gpu/gl/iOS/GrGLMakeNativeInterface_iOS.cpp
  # src/gpu/gl/mac/GrGLMakeNativeInterface_mac.cpp
  # src/gpu/gl/win/GrGLMakeNativeInterface_win.cpp
    src/gpu/gl/GrGLAssembleGLESInterfaceAutogen.cpp
    src/gpu/gl/GrGLAssembleGLInterfaceAutogen.cpp
    src/gpu/gl/GrGLAssembleHelpers.cpp
    src/gpu/gl/GrGLAssembleInterface.cpp
    src/gpu/gl/GrGLAssembleWebGLInterfaceAutogen.cpp
    src/gpu/gl/GrGLBuffer.cpp
    src/gpu/gl/GrGLCaps.cpp
    src/gpu/gl/GrGLContext.cpp
    src/gpu/gl/GrGLExtensions.cpp
    src/gpu/gl/GrGLGLSL.cpp
    src/gpu/gl/GrGLGpu.cpp
    src/gpu/gl/GrGLGpuProgramCache.cpp
    src/gpu/gl/GrGLInterfaceAutogen.cpp
    src/gpu/gl/GrGLMakeNativeInterface_none.cpp
    src/gpu/gl/GrGLOpsRenderPass.cpp
    src/gpu/gl/GrGLPath.cpp
    src/gpu/gl/GrGLPathRendering.cpp
    src/gpu/gl/GrGLProgram.cpp
    src/gpu/gl/GrGLProgramDataManager.cpp
    src/gpu/gl/GrGLRenderTarget.cpp
    src/gpu/gl/GrGLSemaphore.cpp
    src/gpu/gl/GrGLStencilAttachment.cpp
    src/gpu/gl/GrGLTexture.cpp
    src/gpu/gl/GrGLTextureRenderTarget.cpp
    src/gpu/gl/GrGLTypesPriv.cpp
    src/gpu/gl/GrGLUniformHandler.cpp
    src/gpu/gl/GrGLUtil.cpp
    src/gpu/gl/GrGLVaryingHandler.cpp
    src/gpu/gl/GrGLVertexArray.cpp
    src/gpu/glsl/GrGLSL.cpp
    src/gpu/glsl/GrGLSLBlend.cpp
    src/gpu/glsl/GrGLSLFragmentProcessor.cpp
    src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp
    src/gpu/glsl/GrGLSLGeometryProcessor.cpp
    src/gpu/glsl/GrGLSLPrimitiveProcessor.cpp
    src/gpu/glsl/GrGLSLProgramBuilder.cpp
    src/gpu/glsl/GrGLSLProgramDataManager.cpp
    src/gpu/glsl/GrGLSLShaderBuilder.cpp
    src/gpu/glsl/GrGLSLUniformHandler.cpp
    src/gpu/glsl/GrGLSLVarying.cpp
    src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp
    src/gpu/glsl/GrGLSLXferProcessor.cpp
                                                           
    src/gpu/gradients/generated/GrClampedGradientEffect.cpp
    src/gpu/gradients/generated/GrDualIntervalGradientColorizer.cpp
    src/gpu/gradients/generated/GrLinearGradientLayout.cpp
    src/gpu/gradients/generated/GrRadialGradientLayout.cpp
    src/gpu/gradients/generated/GrSingleIntervalGradientColorizer.cpp
    src/gpu/gradients/generated/GrSweepGradientLayout.cpp
    src/gpu/gradients/generated/GrTextureGradientColorizer.cpp
    src/gpu/gradients/generated/GrTiledGradientEffect.cpp
    src/gpu/gradients/generated/GrTwoPointConicalGradientLayout.cpp
    src/gpu/gradients/generated/GrUnrolledBinaryGradientColorizer.cpp
    src/gpu/gradients/GrGradientBitmapCache.cpp
    src/gpu/gradients/GrGradientShader.cpp
    src/gpu/mock/GrMockCaps.cpp
    src/gpu/mock/GrMockGpu.cpp
    src/gpu/mock/GrMockTypes.cpp
  # src/gpu/mtl/GrMtlBuffer.mm
  # src/gpu/mtl/GrMtlCaps.mm
  # src/gpu/mtl/GrMtlCommandBuffer.mm
  # src/gpu/mtl/GrMtlDepthStencil.mm
  # src/gpu/mtl/GrMtlGpu.mm
  # src/gpu/mtl/GrMtlOpsRenderPass.mm
  # src/gpu/mtl/GrMtlPipelineState.mm
  # src/gpu/mtl/GrMtlPipelineStateBuilder.mm
  # src/gpu/mtl/GrMtlPipelineStateDataManager.mm
  # src/gpu/mtl/GrMtlRenderTarget.mm
  # src/gpu/mtl/GrMtlResourceProvider.mm
  # src/gpu/mtl/GrMtlSampler.mm
  # src/gpu/mtl/GrMtlSemaphore.mm
  # src/gpu/mtl/GrMtlStencilAttachment.mm
  # src/gpu/mtl/GrMtlTexture.mm
  # src/gpu/mtl/GrMtlTexturedRenderTarget.mm
  # src/gpu/mtl/GrMtlTrampoline.mm
  # src/gpu/mtl/GrMtlUniformHandler.mm
  # src/gpu/mtl/GrMtlUtil.mm
  # src/gpu/mtl/GrMtlVaryingHandler.mm
    src/gpu/ops/GrAAConvexPathRenderer.cpp
    src/gpu/ops/GrAAConvexTessellator.cpp
    src/gpu/ops/GrAAHairLinePathRenderer.cpp
    src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp
    src/gpu/ops/GrAtlasTextOp.cpp
    src/gpu/ops/GrClearOp.cpp

    src/gpu/ops/GrDashLinePathRenderer.cpp
    src/gpu/ops/GrDashOp.cpp
    src/gpu/ops/GrDefaultPathRenderer.cpp
    src/gpu/ops/GrDrawableOp.cpp
    src/gpu/ops/GrDrawAtlasOp.cpp
    src/gpu/ops/GrDrawPathOp.cpp
    src/gpu/ops/GrDrawVerticesOp.cpp
    src/gpu/ops/GrFillRectOp.cpp
    src/gpu/ops/GrFillRRectOp.cpp
    src/gpu/ops/GrLatticeOp.cpp
    src/gpu/ops/GrMeshDrawOp.cpp
    src/gpu/ops/GrOp.cpp
    src/gpu/ops/GrOvalOpFactory.cpp
    src/gpu/ops/GrQuadPerEdgeAA.cpp
    src/gpu/ops/GrRegionOp.cpp
    src/gpu/ops/GrShadowRRectOp.cpp
    src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp
    src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil.cpp
    src/gpu/ops/GrSmallPathRenderer.cpp
    src/gpu/ops/GrStencilAndCoverPathRenderer.cpp
    src/gpu/ops/GrStencilPathOp.cpp
    src/gpu/ops/GrStrokeRectOp.cpp
    src/gpu/ops/GrTextureOp.cpp
    src/gpu/ops/GrTriangulatingPathRenderer.cpp
    src/gpu/tessellate/GrDrawAtlasPathOp.cpp
    src/gpu/tessellate/GrFillPathShader.cpp

    src/gpu/tessellate/GrStencilPathShader.cpp
    src/gpu/tessellate/GrStrokeGeometry.cpp
    src/gpu/tessellate/GrTessellatePathOp.cpp
    src/gpu/tessellate/GrTessellationPathRenderer.cpp
    src/gpu/text/GrAtlasManager.cpp
    src/gpu/text/GrDistanceFieldAdjustTable.cpp
    src/gpu/text/GrSDFMaskFilter.cpp
    src/gpu/text/GrSDFTOptions.cpp
    src/gpu/text/GrStrikeCache.cpp
    src/gpu/text/GrTextBlob.cpp
    src/gpu/text/GrTextBlobCache.cpp
 
  # src/gpu/vk/GrVkAMDMemoryAllocator.cpp
  # src/gpu/vk/GrVkBuffer.cpp
  # src/gpu/vk/GrVkCaps.cpp
  # src/gpu/vk/GrVkCommandBuffer.cpp
  # src/gpu/vk/GrVkCommandPool.cpp
  # src/gpu/vk/GrVkDescriptorPool.cpp
  # src/gpu/vk/GrVkDescriptorSet.cpp
  # src/gpu/vk/GrVkDecriptorSetManager.cpp
  # src/gpu/vk/GrVkExtensions.cpp
  # src/gpu/vk/GrVkFrameBuffer.cpp
  # src/gpu/vk/GrVkGpu.cpp
  # src/gpu/vk/GrVkImage.cpp
  # src/gpu/vk/GrVkImageView.cpp
  # src/gpu/vk/GrVkIndexBuffer.cpp
  # src/gpu/vk/GrVkInterface.cpp
  # src/gpu/vk/GrVkMemory.cpp
  # src/gpu/vk/GrVkOpsRenderPass.cpp
  # src/gpu/vk/GrVkPipeline.cpp
  # src/gpu/vk/GrVkPipelineState.cpp
  # src/gpu/vk/GrVkPipelineStateBuilder.cpp
  # src/gpu/vk/GrVkPipelineStateCache.cpp
  # src/gpu/vk/GrVkPipelineStateDataManager.cpp
  # src/gpu/vk/GrVkRenderPass.cpp
  # src/gpu/vk/GrVkRenderTarget.cpp
  # src/gpu/vk/GrVkResourceProvider.cpp
  # src/gpu/vk/GrVkSampler.cpp
  # src/gpu/vk/GrVkSamplerYcbcrConversion.cpp
  # src/gpu/vk/grVkSecondaryCBDrawContext.cpp
  # src/gpu/vk/GrVkSemaphore.cpp
  # src/gpu/vk/GrVkStencilAttachment.cpp
  # src/gpu/vk/GrVkTexture.cpp
  # src/gpu/vk/GrVkTextureRenderTarget.cpp
  # src/gpu/vk/GrVkTransferBuffer.cpp
  # src/gpu/vk/GrVkTypesPriv.cpp
  # src/gpu/vk/GrVkUniformBuffer.cpp
  # src/gpu/vk/GrVkUniformHandler.cpp
  # src/gpu/vk/GrVkUtil.cpp
  # src/gpu/vk/GrVkVaryingHandler.cpp
 
    src/gpu/GrAHardwareBufferImageGenerator.cpp
    src/gpu/GrAHardwareBufferUtils.cpp
    src/gpu/GrAuditTrail.cpp
    src/gpu/GrBackendSurface.cpp
    src/gpu/GrBackendTextureImageGenerator.cpp
    src/gpu/GrBitmapTextureMaker.cpp
    src/gpu/GrBlockAllocator.cpp
    src/gpu/GrBlurUtils.cpp
    src/gpu/GrBufferAllocPool.cpp
    src/gpu/GrCaps.cpp
    src/gpu/GrClientMappedBufferManager.cpp
    src/gpu/GrClipStackClip.cpp
    src/gpu/GrColorInfo.cpp
    src/gpu/GrColorSpaceXform.cpp
 
    src/gpu/GrContext.cpp
    src/gpu/GrContext_Base.cpp
    src/gpu/GrContextPriv.cpp
    src/gpu/GrContextThreadSafeProxy.cpp
    src/gpu/GrCopyRenderTask.cpp
    src/gpu/GrDataUtils.cpp
    src/gpu/GrDDLContext.cpp
    src/gpu/GrDefaultGeoProcFactory.cpp
    src/gpu/GrDistanceFieldGenFromVector.cpp
    src/gpu/GrDrawingManager.cpp
    src/gpu/GrDrawOpAtlas.cpp
  # src/gpu/GrDrawOpTest.cpp # defines no new symbols
    src/gpu/GrDriverBugWorkarounds.cpp
    src/gpu/GrDynamicAtlas.cpp
    src/gpu/GrFinishCallbacks.cpp
    src/gpu/GrFixedClip.cpp
    src/gpu/GrFragmentProcessor.cpp
    src/gpu/GrGpu.cpp
    src/gpu/GrGpuBuffer.cpp
    src/gpu/GrGpuResource.cpp
    src/gpu/GrImageContext.cpp
    src/gpu/GrImageTextureMaker.cpp
    src/gpu/GrLegacyDirectContext.cpp
    src/gpu/GrManagedResource.cpp
    src/gpu/GrMemoryPool.cpp
    src/gpu/GrOnFlushResourceProvider.cpp
    src/gpu/GrOpFlushState.cpp
    src/gpu/GrOpsRenderPass.cpp
    src/gpu/GrOpsTask.cpp
    src/gpu/GrPaint.cpp
    src/gpu/GrPath.cpp
    src/gpu/GrPathProcessor.cpp
    src/gpu/GrPathRenderer.cpp
    src/gpu/GrPathRendererChain.cpp
    src/gpu/GrPathRendering.cpp
  # src/gpu/GrPathRendering_none.cpp
    src/gpu/GrPipeline.cpp
    src/gpu/GrPrimitiveProcessor.cpp
    src/gpu/GrProcessor.cpp
    src/gpu/GrProcessorAnalysis.cpp
    src/gpu/GrProcessorSet.cpp
  # src/gpu/GrProcessorUnitTest.cpp # defined no new symbols
    src/gpu/GrProgramDesc.cpp
    src/gpu/GrProgramInfo.cpp
    src/gpu/GrProxyProvider.cpp
    src/gpu/GrRecordingContext.cpp
    src/gpu/GrRectanizerPow2.cpp
    src/gpu/GrRectanizerSkyline.cpp
    src/gpu/GrReducedClip.cpp
    src/gpu/GrRenderTarget.cpp
    src/gpu/GrRenderTargetContext.cpp
    src/gpu/GrRenderTargetProxy.cpp
    src/gpu/GrRenderTask.cpp
    src/gpu/GrResourceAllocator.cpp
    src/gpu/GrResourceCache.cpp
    src/gpu/GrResourceProvider.cpp
    src/gpu/GrRingBuffer.cpp
    src/gpu/GrSamplePatternDictionary.cpp
    src/gpu/GrShaderCaps.cpp
    src/gpu/GrShaderUtils.cpp
    src/gpu/GrShaderVar.cpp
    src/gpu/GrSoftwarePathRenderer.cpp
    src/gpu/GrSPIRVUniformHandler.cpp
    src/gpu/GrSPIRVVaryingHandler.cpp
    src/gpu/GrStagingBuffer.cpp
    src/gpu/GrStencilAttachment.cpp
    src/gpu/GrStencilMaskHelper.cpp
    src/gpu/GrStencilSettings.cpp
    src/gpu/GrStyle.cpp
    src/gpu/GrSurface.cpp
    src/gpu/GrSurfaceContext.cpp
    src/gpu/GrSurfaceProxy.cpp
    src/gpu/GrSwizzle.cpp
    src/gpu/GrSWMaskHelper.cpp
  # src/gpu/GrTestUtils.cpp # defines no new symbols
    src/gpu/GrTexture.cpp
    src/gpu/GrTextureAdjuster.cpp
    src/gpu/GrTextureMaker.cpp
    src/gpu/GrTextureProducer.cpp
    src/gpu/GrTextureProxy.cpp
    src/gpu/GrTextureRenderTargetProxy.cpp
    src/gpu/GrTextureResolveRenderTask.cpp
    src/gpu/GrTransferFromRenderTask.cpp
    src/gpu/GrTriangulator.cpp
    src/gpu/GrUniformDataManager.cpp
    src/gpu/GrWaitRenderTask.cpp
    src/gpu/GrXferProcessor.cpp
    src/gpu/GrYUVProvider.cpp
    src/gpu/SkGpuDevice.cpp
    src/gpu/SkGpuDevice_drawTexture.cpp
    src/gpu/SkGr.cpp

    src/image/SkImage.cpp
    src/image/SkImage_Gpu.cpp
    src/image/SkImage_GpuBase.cpp
    src/image/SkImage_GpuYUVA.cpp
    src/image/SkImage_Lazy.cpp
    src/image/SkImage_Raster.cpp
    src/image/SkSurface.cpp
    src/image/SkSurface_Raster.cpp
    src/image/SkSurface_Gpu.cpp

    src/images/SkImageEncoder.cpp
  # src/images/SkJpegEncoder.cpp # defines no new symbols
    src/images/SkJPEGWriteUtility.cpp
    src/images/SkPngEncoder.cpp
  # src/images/SkWebpEncoder.cpp

    src/lazy/SkDiscardableMemoryPool.cpp

  # src/opts/SkOpts_avx.cpp
  # src/opts/SkOpts_crc32.cpp
    src/opts/SkOpts_hsw.cpp
    src/opts/SkOpts_skx.cpp
  # src/opts/SkOpts_sse41.cpp
  # src/opts/SkOpts_sse42.cpp
  # src/opts/SkOpts_ssse3.cpp

    src/pathops/SkAddIntersections.cpp
    src/pathops/SkDConicLineIntersection.cpp
    src/pathops/SkDCubicLineIntersection.cpp
    src/pathops/SkDCubicToQuads.cpp
    src/pathops/SkDLineIntersection.cpp
    src/pathops/SkDQuadLineIntersection.cpp
    src/pathops/SkIntersections.cpp
    src/pathops/SkOpAngle.cpp
    src/pathops/SkOpBuilder.cpp
    src/pathops/SkOpCoincidence.cpp
    src/pathops/SkOpContour.cpp
    src/pathops/SkOpCubicHull.cpp
    src/pathops/SkOpEdgeBuilder.cpp
    src/pathops/SkOpSegment.cpp
    src/pathops/SkOpSpan.cpp
    src/pathops/SkPathOpsAsWinding.cpp
    src/pathops/SkPathOpsCommon.cpp
    src/pathops/SkPathOpsConic.cpp
    src/pathops/SkPathOpsCubic.cpp
    src/pathops/SkPathOpsCurve.cpp
    src/pathops/SkPathOpsDebug.cpp
    src/pathops/SkPathOpsLine.cpp
    src/pathops/SkPathOpsOp.cpp
    src/pathops/SkPathOpsQuad.cpp
    src/pathops/SkPathOpsRect.cpp
    src/pathops/SkPathOpsSimplify.cpp
    src/pathops/SkPathOpsTightBounds.cpp
    src/pathops/SkPathOpsTSect.cpp
    src/pathops/SkPathOpsTypes.cpp
    src/pathops/SkPathOpsWinding.cpp
    src/pathops/SkPathWriter.cpp
    src/pathops/SkReduceOrder.cpp

    src/pdf/SkClusterator.cpp
    src/pdf/SkDeflate.cpp
  # src/pdf/SkDocument_PDF_None.cpp
  # src/pdf/SkJpegInfo.cpp # already defined in SkJpegCodec
    src/pdf/SkKeyedImage.cpp
    src/pdf/SkPDFBitmap.cpp
    src/pdf/SkPDFDevice.cpp
    src/pdf/SkPDFDocument.cpp
    src/pdf/SkPDFFont.cpp
    src/pdf/SkPDFFormXObject.cpp
    src/pdf/SkPDFGradientShader.cpp
    src/pdf/SkPDFGraphicStackState.cpp
    src/pdf/SkPDFGraphicState.cpp
    src/pdf/SkPDFMakeCIDGlyphWidthsArray.cpp
    src/pdf/SkPDFMakeToUnicodeCmap.cpp
    src/pdf/SkPDFMetadata.cpp
    src/pdf/SkPDFResourceDict.cpp
    src/pdf/SkPDFShader.cpp
    src/pdf/SkPDFSubsetFont.cpp
    src/pdf/SkPDFTag.cpp
    src/pdf/SkPDFType1Font.cpp
    src/pdf/SkPDFTypes.cpp
    src/pdf/SkPDFUtils.cpp

  # src/ports/SkDebug_android.cpp
  # src/ports/SkDebug_stdio.cpp
  # src/ports/SkDebug_win.cpp
    src/ports/SkDiscardableMemory_none.cpp
  # src/ports/SkFontConfigInterface.cpp
  # src/ports/SkFontConfigInterface_direct.cpp
  # src/ports/SkFontConfigInterface_direct_factory.cpp
  # src/ports/SkFontHost_FreeType.cpp
  # src/ports/SkFontHost_FreeType_common.cpp

  # src/ports/SkFontHost_win.cpp
  # src/ports/SkFontMgr_android.cpp
  # src/ports/SkFontMgr_android_factory.cpp
  # src/ports/SkFontMgr_android_parser.cpp
    src/ports/SkFontMgr_custom.cpp
    src/ports/SkFontMgr_custom_directory.cpp
  # src/ports/SkFontMgr_custom_directory_factory.cpp
  # src/ports/SkFontMgr_custom_embedded_factory.cpp
  # src/ports/SkFontMgr_custom_embedded.cpp
  # src/ports/SkFontMgr_custom_empty_factory.cpp
  # src/ports/SkFontMgr_custom_empty.cpp
  # src/ports/SkFontMgr_empty_factory.cpp
  # src/ports/SkFontMgr_fontconfig.cpp
  # src/ports/SkFontMgr_fontconfig_factory.cpp
  # src/ports/SkFontMgr_FontConfigInterface.cpp
  # src/ports/SkFontMgr_FontConfigInterface_factory.cpp
  # src/ports/SkFontMgr_fuchsia.cpp
  # src/ports/SkFontMgr_mac_ct.cpp
  # src/ports/SkFontMgr_mac_ct_factory.cpp
  # src/ports/SkFontMgr_win_dw.cpp
  # src/ports/SkFontMgr_win_dw_factory.cpp
    src/ports/SkGlobalInitialization_default.cpp
  # src/ports/SkImageEncoder_CG.cpp
  # src/ports/SkImageEncoder_WIC.cpp
  # src/ports/SkImageGenerator_none.cpp
    src/ports/SkImageGenerator_skia.cpp
  # src/ports/SkImageGeneratorCG.cpp
  # src/ports/SkImageGeneratorWIC.cpp
    src/ports/SkMemory_malloc.cpp
  # src/ports/SkMemory_mozalloc.cpp
  # src/ports/SkOSFile_posix.cpp
    src/ports/SkOSFile_stdio.cpp
  # src/ports/SkOSFile_win.cpp
  # src/ports/SkOSLibrary_posix.cpp
  # src/ports/SkOSLibrary_win.cpp
  # src/ports/SkRemotableFontMgr_win_dw.cpp
  # src/ports/SkScalerContext_mac_ct.cpp
  # src/ports/SkScalerContext_win_dw.cpp
  # src/ports/SkTLS_pthread.cpp
  # src/ports/SkTLS_win.cpp
  # src/ports/SkTypeface_mac_ct.cpp
  # src/ports/SkTypeface_win_dw.cpp

    src/sfnt/SkOTTable_name.cpp
    src/sfnt/SkOTUtils.cpp

    src/shaders/gradients/Sk4fGradientBase.cpp
    src/shaders/gradients/Sk4fLinearGradient.cpp
    src/shaders/gradients/SkGradientShader.cpp
    src/shaders/gradients/SkLinearGradient.cpp
    src/shaders/gradients/SkRadialGradient.cpp
    src/shaders/gradients/SkSweepGradient.cpp
    src/shaders/gradients/SkTwoPointConicalGradient.cpp
    src/shaders/SkBitmapProcShader.cpp
    src/shaders/SkColorFilterShader.cpp
    src/shaders/SkColorShader.cpp
    src/shaders/SkComposeShader.cpp
    src/shaders/SkImageShader.cpp
    src/shaders/SkLocalMatrixShader.cpp
    src/shaders/SkPerlinNoiseShader.cpp
    src/shaders/SkPictureShader.cpp
    src/shaders/SkShader.cpp

    src/sksl/ir/SkSLSetting.cpp
    src/sksl/ir/SkSLSymbolTable.cpp
    src/sksl/ir/SkSLType.cpp
    src/sksl/ir/SkSLVariableReference.cpp
  # src/sksl/lex/Main.cpp
    src/sksl/lex/NFA.cpp
    src/sksl/lex/RegexNode.cpp
    src/sksl/lex/RegexParser.cpp
    src/sksl/lex/sksl.lex
                                
    src/sksl/SkSLASTNode.cpp
    src/sksl/SkSLByteCode.cpp
    src/sksl/SkSLByteCodeGenerator.cpp
    src/sksl/SkSLCFGGenerator.cpp
    src/sksl/SkSLCompiler.cpp
    src/sksl/SkSLCPPCodeGenerator.cpp
    src/sksl/SkSLCPPUniformCTypes.cpp
    src/sksl/SkSLGLSLCodeGenerator.cpp
    src/sksl/SkSLHCodeGenerator.cpp
    src/sksl/SkSLIRGenerator.cpp
    src/sksl/SkSLLexer.cpp
  # src/sksl/SkSLMain.cpp
    src/sksl/SkSLMetalCodeGenerator.cpp
    src/sksl/SkSLOutputStream.cpp
    src/sksl/SkSLParser.cpp
    src/sksl/SkSLPipelineStageCodeGenerator.cpp
    src/sksl/SkSLSampleMatrix.cpp
    src/sksl/SkSLSectionAndParameterHelper.cpp
    src/sksl/SkSLSPIRVCodeGenerator.cpp
    src/sksl/SkSLSPIRVtoHLSL.cpp
    src/sksl/SkSLString.cpp
    src/sksl/SkSLUtil.cpp

    src/svg/SkSVGCanvas.cpp
    src/svg/SkSVGDevice.cpp

  # src/utils/mac/SkCreateCGImageRef.cpp
  # src/utils/mac/SkCTFontSmoothBehavior.cpp
  # src/utils/win/SkAutoCoInitialize.cpp
  # src/utils/win/SkDWrite.cpp
  # src/utils/win/SkDWriteFontFileStream.cpp
  # src/utils/win/SkDWriteGeometrySink.cpp
  # src/utils/win/SkHRESULT.cpp
  # src/utils/win/SkIStream.cpp
  # src/utils/win/SkWGL_win.cpp
    src/utils/SkAnimCodecPlayer.cpp
    src/utils/SkBase64.cpp
    src/utils/SkCamera.cpp
    src/utils/SkCanvasStack.cpp
    src/utils/SkCanvasStateUtils.cpp
    src/utils/SkCharToGlyphCache.cpp
    src/utils/SkClipStackUtils.cpp
    src/utils/SkCustomTypeface.cpp
    src/utils/SkDashPath.cpp
    src/utils/SkEventTracer.cpp
    src/utils/SkFloatToDecimal.cpp
 
    src/utils/SkInterpolator.cpp
    src/utils/SkJSON.cpp
    src/utils/SkJSONWriter.cpp
  # src/utils/SkLua.cpp
  # src/utils/SkLuaCanvas.cpp
    src/utils/SkMatrix22.cpp
    src/utils/SkMultiPictureDocument.cpp
    src/utils/SkNullCanvas.cpp
    src/utils/SkNWayCanvas.cpp
    src/utils/SkOSPath.cpp
    src/utils/SkPaintFilterCanvas.cpp
    src/utils/SkParse.cpp
    src/utils/SkParseColor.cpp
    src/utils/SkParsePath.cpp
    src/utils/SkPatchUtils.cpp
    src/utils/SkPolyUtils.cpp
    src/utils/SkShadowTessellator.cpp
    src/utils/SkShadowUtils.cpp
    src/utils/SkShaperJSONWriter.cpp
    src/utils/SkTextUtils.cpp
  # src/utils/SkThreadUtils_pthread.cpp
  # src/utils/SkThreadUtils_win.cpp
    src/utils/SkUTF.cpp
                             
    src/utils/SkWhitelistTypefaces.cpp

    src/xml/SkDOM.cpp
    src/xml/SkXMLParser.cpp
    src/xml/SkXMLWriter.cpp

  # xps/SkXPSDevice.cpp
  # xps/SkXPSDocument.cpp

    third_party/etc1/etc1.cpp

    third_party/icu/SkLoadICU.cpp

    third_party/skcms/skcms.cc

  # third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.cpp
    )

add_definitions(-DSK_HAS_PNG_LIBRARY)
if(LUA_FOUND)
  list(APPEND skia_sources
              src/utils/SkLua.cpp
              src/utils/SkLuaCanvas.cpp
              )
  list(APPEND OTHER_LIBRARIES ${LUA_LIBRARIES})
endif()
if(WEBP_FOUND)
  list(APPEND skia_sources
              #src/codec/SkWebpAdapterCodec.cpp
              src/codec/SkWebpCodec.cpp
              #src/images/SkWEBPImageEncoder.cpp
              )
  add_definitions(-DSK_HAS_WEBP_LIBRARY)
  list(APPEND OTHER_LIBRARIES ${WEBP_LIBRARIES})
endif()
if(VULKAN_FOUND)
    list(APPEND skia_sources
                src/gpu/vk/GrVkAMDMemoryAllocator.cpp
                src/gpu/vk/GrVkBuffer.cpp
                src/gpu/vk/GrVkCaps.cpp
                src/gpu/vk/GrVkCommandBuffer.cpp
                src/gpu/vk/GrVkCommandPool.cpp
                src/gpu/vk/GrVkDescriptorPool.cpp
                src/gpu/vk/GrVkDescriptorSet.cpp
                src/gpu/vk/GrVkDecriptorSetManager.cpp
                src/gpu/vk/GrVkExtensions.cpp
                src/gpu/vk/GrVkFrameBuffer.cpp
                src/gpu/vk/GrVkGpu.cpp
                src/gpu/vk/GrVkImage.cpp
                src/gpu/vk/GrVkImageView.cpp
                src/gpu/vk/GrVkIndexBuffer.cpp
                src/gpu/vk/GrVkInterface.cpp
                src/gpu/vk/GrVkMemory.cpp
                src/gpu/vk/GrVkOpsRenderPass.cpp
                src/gpu/vk/GrVkPipeline.cpp
                src/gpu/vk/GrVkPipelineState.cpp
                src/gpu/vk/GrVkPipelineStateBuilder.cpp
                src/gpu/vk/GrVkPipelineStateCache.cpp
                src/gpu/vk/GrVkPipelineStateDataManager.cpp
                src/gpu/vk/GrVkRenderPass.cpp
                src/gpu/vk/GrVkRenderTarget.cpp
                src/gpu/vk/GrVkResourceProvider.cpp
                src/gpu/vk/GrVkSampler.cpp
                src/gpu/vk/GrVkSamplerYcbcrConversion.cpp
                src/gpu/vk/grVkSecondaryCBDrawContext.cpp
                src/gpu/vk/GrVkSemaphore.cpp
                src/gpu/vk/GrVkStencilAttachment.cpp
                src/gpu/vk/GrVkTexture.cpp
                src/gpu/vk/GrVkTextureRenderTarget.cpp
                src/gpu/vk/GrVkTransferBuffer.cpp
                src/gpu/vk/GrVkTypesPriv.cpp
                src/gpu/vk/GrVkUniformBuffer.cpp
                src/gpu/vk/GrVkUniformHandler.cpp
                src/gpu/vk/GrVkUtil.cpp
                src/gpu/vk/GrVkVaryingHandler.cpp
                )
  list(APPEND OTHER_LIBRARIES ${VULKAN_LIBRARIES})
endif()

# OS specific files
if(WIN32)
  list(APPEND skia_sources
             #src/gpu/gl/win/GrGLMakeNativeInterface_win.cpp
              src/ports/SkDebug_win.cpp
              src/ports/SkFontHost_win.cpp
              src/ports/SkFontMgr_win_dw.cpp
              src/ports/SkFontMgr_win_dw_factory.cpp
              src/ports/SkOSFile_win.cpp
              src/ports/SkOSLibrary_win.cpp
              src/ports/SkRemotableFontMgr_win_dw.cpp
              src/ports/SkScalerContext_win_dw.cpp
              src/utils/SkThreadUtils_win.cpp
              src/ports/SkTLS_win.cpp
              src/ports/SkTypeface_win_dw.cpp
              src/utils/win/SkAutoCoInitialize.cpp
              src/utils/win/SkDWrite.cpp
              src/utils/win/SkDWriteFontFileStream.cpp
              src/utils/win/SkDWriteGeometrySink.cpp
              src/utils/win/SkHRESULT.cpp
              src/utils/win/SkIStream.cpp
              src/utils/win/SkWGL_win.cpp
              )
endif()
if(UNIX AND NOT MINGW)
  list(APPEND skia_sources
              src/ports/SkDebug_stdio.cpp
              src/ports/SkOSFile_posix.cpp
              src/ports/SkOSLibrary_posix.cpp
              src/utils/SkThreadUtils_pthread.cpp
              src/ports/SkTLS_pthread.cpp
             )
  if(APPLE)
    list(APPEND skia_sources
                #src/gpu/gl/mac/GrGLMakeNativeInterface_mac.cpp
                src/ports/SkFontMgr_mac_ct.cpp
                src/ports/SkFontMgr_mac_ct_factory.cpp
                src/ports/SkScalerContext_mac_ct.cpp
                src/ports/SkImageEncoder_CG.cpp
                src/ports/SkImageGeneratorCG.cpp
                src/utils/mac/SkCreateCGImageRef.cpp
                src/utils/mac/SkCTFontSmoothBehavior.cpp
               )
    if(ARM)
      list(APPEND skia_sources
                  #src/gpu/gl/iOS/GrGLMakeNativeInterface_iOS.cpp
                  )
    endif()
  elseif(ANDROID)
    list(APPEND skia_sources
                src/codec/SkAndroidCodec.cpp
                src/codec/SkAndroidCodecAdapter.cpp
                #src/gpu/gl/android/GrGLMakeNativeInterface_android.cpp
                src/ports/SkDebug_android.cpp
                src/ports/SkFontMgr_android.cpp
                src/ports/SkFontMgr_android_factory.cpp
                src/ports/SkFontMgr_android_parser.cpp
                )
  else() # currently assume linux
    list(APPEND skia_sources
                src/ports/SkFontConfigInterface_direct_factory.cpp
                src/ports/SkFontConfigInterface_direct.cpp
                src/ports/SkFontConfigInterface.cpp
                src/ports/SkFontHost_FreeType_common.cpp
                src/ports/SkFontHost_FreeType.cpp
                src/ports/SkFontMgr_fontconfig_factory.cpp
                src/ports/SkFontMgr_fontconfig.cpp
                src/ports/SkFontMgr_FontConfigInterface_factory.cpp
                src/ports/SkFontMgr_FontConfigInterface.cpp
               )
  endif()
endif()

# CPU specific files
if(NOT ARM)
  list(APPEND skia_sources
              src/opts/SkOpts_avx.cpp
              src/opts/SkOpts_crc32.cpp
              src/opts/SkOpts_sse41.cpp
              src/opts/SkOpts_sse42.cpp
              src/opts/SkOpts_ssse3.cpp
              )
  if(MINGW)
    set_source_files_properties(third_party/skcms/skcms.cc PROPERTIES COMPILE_DEFINITIONS SKCMS_PORTABLE)
  endif()
  if((NOT MSVC) OR (${CMAKE_CXX_COMPILER_ID} MATCHES "Clang"))
    set_source_files_properties(src/core/SkCpu.cpp PROPERTIES COMPILE_FLAGS -mavx)
  endif()
elseif(ARM)
  list(APPEND skia_sources
              src/core/SkUtilsArm.cpp
              )
endif()

file(GLOB_RECURSE skia_headers
                  src/*.h
                  include/*.h)
if(SKIA_SHARED)
  add_library(skia SHARED
                   ${skia_sources} ${skia_headers}
                   )
  target_compile_definitions(skia PRIVATE -DSKIA_DLL)
elseif(SKIA_STATIC)
  add_library(skia STATIC
                   ${skia_sources} ${skia_headers}
                   )
endif()
target_compile_definitions(skia PRIVATE SKIA_IMPLEMENTATION=1)
target_compile_definitions(skia PUBLIC $<$<CONFIG:Debug>:SK_DEBUG>)
target_link_libraries(skia PUBLIC ${OTHER_LIBRARIES}
                                  png expat zlib gif jpeg-turbo
                                  $<$<NOT:$<PLATFORM_ID:Windows>>:-ldl>)

if(WIN32)
  target_link_libraries(skia PUBLIC usp10)
  target_compile_definitions(skia PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX)
elseif(APPLE)
  target_link_libraries(skia PRIVATE "-framework CoreText"
                                     "-framework CoreGraphics"
                                     "-framework Foundation")
elseif(UNIX AND NOT MINGW)
  target_link_libraries(skia PUBLIC ${FREETYPE_LIBRARIES} fontconfig)
  target_include_directories(skia PRIVATE ${FREETYPE_INCLUDE_DIRS})
endif()
target_include_directories(skia SYSTEM
                             PRIVATE
                               #.
                               #include/private
                               #src/atlastext
                               #src/codec
                               #src/compute
                               #src/core
                               #src/fonts
                               #src/gpu
                               #src/image
                               #src/images
                               #src/lazy
                               #src/opts
                               #src/pathops
                               #src/pdf
                               #src/ports
                               #src/sfnt
                               #src/shaders
                               #src/shaders/gradients
                               #src/sksl
                               #src/utils
                               #src/utils/win
                               #src/xml
                               #third_party/gif
                               include/third_party/skcms
                             PUBLIC
                               .
                               #include/atlastext
                               #include/codec
                               #include/config
                               #include/core
                               #include/docs
                               #include/effects
                               #include/encode
                               #include/gpu
                               #include/gpu/gl
                               #include/gpu/mock
                               #include/gpu/mtl
                               #include/gpu/vk
                               #include/pathops
                               #include/ports
                               #include/svg
                               #include/utils
                               #include/utils/mac
                               )

## tests
#function(skia_test test_name)
#  add_executable(${test_name} tests/${test_name}.cpp)
#  target_include_directories(${test_name} PUBLIC tests)
#  target_link_libraries(${test_name} skia)
#  add_test(remove/${test_name} ${CMAKE_COMMAND} -E remove ${test_name}${CMAKE_EXECUTABLE_SUFFIX})
#  add_test(build/${test_name} ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target ${test_name})
#  add_test(NAME    run/${test_name}
#           COMMAND ${test_name})
#  set_tests_properties(run/${test_name} PROPERTIES DEPENDS build/${test_name})
#  #TODO add intertest dependencies
#  #BROKEN Each runtime_test is actually 3 tests, use below to make it one test
##  add_test(${test_dir}/${test_name} ${CMAKE_COMMAND} -E remove ${test_dir}/${test_name}${CMAKE_EXECUTABLE_SUFFIX}
##                                 && ${CMAKE_COMMAND} --build --target ${test_name})
##                                 && ${CMAKE_CURRENT_LIST_DIR}/${test_dir}/${test_name}${CMAKE_EXECUTABLE_SUFFIX})

#endfunction()

#enable_testing()
#skia_test( AAClipTest )
#target_include_directories( AAClipTest PUBLIC src/core tools/gpu include/private )
#skia_test( AnnotationTest )
#target_include_directories( AnnotationTest PUBLIC tools/gpu include/private )

相关标签: 2d skia