瀏覽代碼

CMake: Always use a target for linking skia

Andrew Kaster 10 月之前
父節點
當前提交
f27d638e0a
共有 3 個文件被更改,包括 11 次插入8 次删除
  1. 7 4
      Meta/CMake/skia.cmake
  2. 3 3
      Userland/Libraries/LibGfx/CMakeLists.txt
  3. 1 1
      Userland/Libraries/LibWeb/CMakeLists.txt

+ 7 - 4
Meta/CMake/skia.cmake

@@ -1,6 +1,8 @@
+include_guard()
+
 find_package(unofficial-skia CONFIG)
 if(unofficial-skia_FOUND)
-    set(SKIA_LIBRARIES unofficial::skia::skia)
+    set(SKIA_TARGET unofficial::skia::skia)
 else()
     find_package(PkgConfig)
 
@@ -16,7 +18,8 @@ else()
       endif()
     endforeach()
 
-    pkg_check_modules(SKIA skia=${SKIA_REQUIRED_VERSION} REQUIRED)
-    include_directories(${SKIA_INCLUDE_DIRS})
-    link_directories(${SKIA_LIBRARY_DIRS})
+    pkg_check_modules(skia skia=${SKIA_REQUIRED_VERSION} REQUIRED IMPORTED_TARGET skia)
+    set(SKIA_TARGET PkgConfig::skia)
 endif()
+swizzle_target_properties_for_swift(${SKIA_TARGET})
+add_library(skia ALIAS ${SKIA_TARGET})

+ 3 - 3
Userland/Libraries/LibGfx/CMakeLists.txt

@@ -73,8 +73,7 @@ set(SOURCES
 
 serenity_lib(LibGfx gfx)
 
-find_package(harfbuzz REQUIRED)
-target_link_libraries(LibGfx PRIVATE LibCompress LibCore LibCrypto LibFileSystem LibRIFF LibTextCodec LibIPC LibUnicode LibURL ${SKIA_LIBRARIES} harfbuzz)
+target_link_libraries(LibGfx PRIVATE LibCompress LibCore LibCrypto LibFileSystem LibRIFF LibTextCodec LibIPC LibUnicode LibURL)
 
 set(generated_sources TIFFMetadata.h TIFFTagHandler.cpp)
 list(TRANSFORM generated_sources PREPEND "ImageFormats/")
@@ -110,9 +109,10 @@ find_package(PNG REQUIRED)
 find_package(LIBAVIF REQUIRED)
 find_package(WebP REQUIRED)
 pkg_check_modules(Jxl REQUIRED IMPORTED_TARGET libjxl)
+find_package(harfbuzz REQUIRED)
 
 target_link_libraries(LibGfx PRIVATE PkgConfig::WOFF2 JPEG::JPEG PkgConfig::Jxl PNG::PNG avif WebP::webp WebP::webpdecoder
-            WebP::webpdemux WebP::libwebpmux)
+            WebP::webpdemux WebP::libwebpmux skia harfbuzz)
 
 if (ENABLE_SWIFT)
     generate_clang_module_map(LibGfx GENERATED_FILES ${generated_headers})

+ 1 - 1
Userland/Libraries/LibWeb/CMakeLists.txt

@@ -786,7 +786,7 @@ set(GENERATED_SOURCES
 
 serenity_lib(LibWeb web)
 
-target_link_libraries(LibWeb PRIVATE LibCore LibCrypto LibJS LibHTTP LibGfx LibIPC LibRegex LibSyntax LibTextCodec LibUnicode LibAudio LibMedia LibWasm LibXML LibIDL LibURL LibTLS LibRequests ${SKIA_LIBRARIES})
+target_link_libraries(LibWeb PRIVATE LibCore LibCrypto LibJS LibHTTP LibGfx LibIPC LibRegex LibSyntax LibTextCodec LibUnicode LibAudio LibMedia LibWasm LibXML LibIDL LibURL LibTLS LibRequests skia)
 
 generate_js_bindings(LibWeb)