46 lines
1.5 KiB
CMake
46 lines
1.5 KiB
CMake
# 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}/include")
|
|
|
|
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}")
|