# Skia integration. # Creates imported target skia::skia from third_party/skia/install/. if(NOT PDFENGINE_WITH_SKIA) message(STATUS "Skia: disabled (PDFENGINE_WITH_SKIA=OFF). " "Engine builds without raw Skia linkage.") return() endif() set(SKIA_INSTALL_DIR "${CMAKE_SOURCE_DIR}/third_party/skia/install" CACHE PATH "Root of the Skia install tree produced by build_skia.*") find_path(SKIA_INCLUDE_DIR NAMES include/core/SkCanvas.h PATHS "${SKIA_INSTALL_DIR}" NO_DEFAULT_PATH) find_library(SKIA_LIBRARY NAMES skia libskia PATHS "${SKIA_INSTALL_DIR}/lib" NO_DEFAULT_PATH) if(NOT SKIA_INCLUDE_DIR OR NOT SKIA_LIBRARY) message(FATAL_ERROR "PDFENGINE_WITH_SKIA=ON but no Skia install tree was found under:\n" " ${SKIA_INSTALL_DIR}\n" "Build Skia first (one-time, slow):\n" " Windows: pwsh third_party/skia/build_skia.ps1\n" " Unix: ./third_party/skia/build_skia.sh\n" "See third_party/skia/README.md.") endif() add_library(skia::skia STATIC IMPORTED GLOBAL) set_target_properties(skia::skia PROPERTIES IMPORTED_LOCATION "${SKIA_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${SKIA_INCLUDE_DIR}") if(UNIX AND NOT APPLE) set_property(TARGET skia::skia APPEND PROPERTY INTERFACE_LINK_LIBRARIES pthread dl) endif() message(STATUS "Skia: found") message(STATUS " include .. ${SKIA_INCLUDE_DIR}/include") message(STATUS " library .. ${SKIA_LIBRARY}")