From ea9c02539e06f122fce4d11af0b523a5ead5d6af Mon Sep 17 00:00:00 2001 From: Green Sky Date: Tue, 8 Apr 2025 00:10:03 +0200 Subject: [PATCH] add cmake option to prefer system lib to plutosvg --- external/plutosvg/CMakeLists.txt | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/external/plutosvg/CMakeLists.txt b/external/plutosvg/CMakeLists.txt index 35f4c57..f18336a 100644 --- a/external/plutosvg/CMakeLists.txt +++ b/external/plutosvg/CMakeLists.txt @@ -2,8 +2,28 @@ cmake_minimum_required(VERSION 3.24 FATAL_ERROR) include(FetchContent) -#makes no sense without freetype -if (NOT TARGET plutosvg::plutosvg AND TARGET Freetype::Freetype) +if (NOT TARGET Freetype::Freetype) + #makes no sense without freetype + return() +endif() + +option(TOMATO_DEP_PLUTOSVG_USE_SYSTEM "Prefer system provided plutosvg" OFF) + +if (TOMATO_DEP_PLUTOSVG_USE_SYSTEM) + if (NOT TARGET plutosvg::plutosvg) + cmake_minimum_required(VERSION 3.24 FATAL_ERROR) + find_package(plutosvg 0.0.6 CONFIG GLOBAL QUIET) + endif() + + if (TARGET plutosvg::plutosvg) + message(STATUS "found system plutosvg") + else() + message(STATUS "system plutosvg not found") + endif() + +endif() + +if (NOT TARGET plutosvg::plutosvg) set(PLUTOSVG_ENABLE_FREETYPE ON CACHE INTERNAL "") set(PLUTOSVG_BUILD_EXAMPLES OFF CACHE INTERNAL "") FetchContent_Declare(plutosvg