SDL_ttf: cmake: move plutosvg to the bottom

From a4d53e905f32d6a0c4ec1c1e0aad41979b03e764 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Tue, 28 Jan 2025 20:34:21 +0100
Subject: [PATCH] cmake: move plutosvg to the bottom

plutosvg depends on libfreetype
---
 CMakeLists.txt    | 82 +++++++++++++++++++++++------------------------
 external/plutosvg |  2 +-
 2 files changed, 42 insertions(+), 42 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b8e3b3a3..a7e6173c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -232,47 +232,6 @@ set(PC_REQUIRES)
 # Build freetype and harfbuzz as a static library
 set(BUILD_SHARED_LIBS OFF)
 
-list(APPEND SDLTTF_BACKENDS PLUTOSVG)
-set(SDLTTF_PLUTOSVG_ENABLED FALSE)
-if(SDLTTF_PLUTOSVG)
-    set(plutosvg_include_directories)
-    set(plutosvg_link_libraries)
-    set(plutosvg_sources)
-    if(SDLTTF_PLUTOSVG_VENDORED)
-        message(STATUS "${PROJECT_NAME}: Using vendored plutosvg library")
-        set(BUILD_SHARED_LIBS OFF)
-        set(PLUTOSVG_ENABLE_FREETYPE ON CACHE BOOL "plutosvg enable freetype" FORCE)
-        set(PLUTOVG_BUILD_EXAMPLES OFF CACHE BOOL "plutosvg build examples" FORCE)
-        sdl_check_project_in_subfolder(external/plutovg plutovg SDLTTF_VENDORED)
-        add_subdirectory(external/plutovg EXCLUDE_FROM_ALL)
-        sdl_check_project_in_subfolder(external/plutosvg plutosvg SDLTTF_VENDORED)
-        add_subdirectory(external/plutosvg EXCLUDE_FROM_ALL)
-        set(SDLTTF_PLUTOSVG_ENABLED TRUE)
-        if(SDLTTF_BUILD_SHARED_LIBS)
-            set(plutosvg_link_libraries plutosvg::plutosvg)
-        else()
-            set(plutosvg_include_directories $<TARGET_PROPERTY:plutosvg::plutosvg,INTERFACE_INCLUDE_DIRECTORIES>)
-            set(plutosvg_sources $<TARGET_OBJECTS:plutosvg> $<TARGET_OBJECTS:plutovg>)
-        endif()
-    else()
-        find_package(plutosvg ${find_package_strict_arg})
-        if(plutosvg_FOUND)
-            message(STATUS "${PROJECT_NAME}: Using system plutosvg library")
-            set(plutosvg_link_libraries plutosvg::plutosvg)
-            list(APPEND PC_REQUIRES plutosvg)
-            set(SDLTTF_PLUTOSVG_ENABLED TRUE)
-        else()
-            message(${fatal_error} "plutosvg NOT found")
-        endif()
-    endif()
-    if(SDLTTF_PLUTOSVG_ENABLED)
-        target_compile_definitions(${sdl3_ttf_target_name} PRIVATE TTF_USE_PLUTOSVG=1)
-        target_sources(${sdl3_ttf_target_name} PRIVATE ${plutosvg_sources})
-        target_include_directories(${sdl3_ttf_target_name} PRIVATE ${plutosvg_include_directories})
-        target_link_libraries(${sdl3_ttf_target_name} PRIVATE ${plutosvg_link_libraries})
-    endif()
-endif()
-
 list(APPEND SDLTTF_BACKENDS HARFBUZZ)
 set(SDLTTF_HARFBUZZ_ENABLED FALSE)
 if(SDLTTF_HARFBUZZ)
@@ -370,6 +329,47 @@ if(SDLTTF_FREETYPE)
     set(SDLTTF_FREETYPE_ENABLED TRUE)
 endif()
 
+list(APPEND SDLTTF_BACKENDS PLUTOSVG)
+set(SDLTTF_PLUTOSVG_ENABLED FALSE)
+if(SDLTTF_PLUTOSVG)
+    set(plutosvg_include_directories)
+    set(plutosvg_link_libraries)
+    set(plutosvg_sources)
+    if(SDLTTF_PLUTOSVG_VENDORED)
+        message(STATUS "${PROJECT_NAME}: Using vendored plutosvg library")
+        set(BUILD_SHARED_LIBS OFF)
+        set(PLUTOSVG_ENABLE_FREETYPE ON CACHE BOOL "plutosvg enable freetype" FORCE)
+        set(PLUTOVG_BUILD_EXAMPLES OFF CACHE BOOL "plutosvg build examples" FORCE)
+        sdl_check_project_in_subfolder(external/plutovg plutovg SDLTTF_VENDORED)
+        add_subdirectory(external/plutovg EXCLUDE_FROM_ALL)
+        sdl_check_project_in_subfolder(external/plutosvg plutosvg SDLTTF_VENDORED)
+        add_subdirectory(external/plutosvg EXCLUDE_FROM_ALL)
+        set(SDLTTF_PLUTOSVG_ENABLED TRUE)
+        if(SDLTTF_BUILD_SHARED_LIBS)
+            set(plutosvg_link_libraries plutosvg::plutosvg)
+        else()
+            set(plutosvg_include_directories $<TARGET_PROPERTY:plutosvg::plutosvg,INTERFACE_INCLUDE_DIRECTORIES>)
+            set(plutosvg_sources $<TARGET_OBJECTS:plutosvg> $<TARGET_OBJECTS:plutovg>)
+        endif()
+    else()
+        find_package(plutosvg ${find_package_strict_arg})
+        if(plutosvg_FOUND)
+            message(STATUS "${PROJECT_NAME}: Using system plutosvg library")
+            set(plutosvg_link_libraries plutosvg::plutosvg)
+            list(APPEND PC_REQUIRES plutosvg)
+            set(SDLTTF_PLUTOSVG_ENABLED TRUE)
+        else()
+            message(${fatal_error} "plutosvg NOT found")
+        endif()
+    endif()
+    if(SDLTTF_PLUTOSVG_ENABLED)
+        target_compile_definitions(${sdl3_ttf_target_name} PRIVATE TTF_USE_PLUTOSVG=1)
+        target_sources(${sdl3_ttf_target_name} PRIVATE ${plutosvg_sources})
+        target_include_directories(${sdl3_ttf_target_name} PRIVATE ${plutosvg_include_directories})
+        target_link_libraries(${sdl3_ttf_target_name} PRIVATE ${plutosvg_link_libraries})
+    endif()
+endif()
+
 # Restore BUILD_SHARED_LIBS variable
 set(BUILD_SHARED_LIBS ${SDLTTF_BUILD_SHARED_LIBS})
 
diff --git a/external/plutosvg b/external/plutosvg
index 978dfe7e..7969ed4c 160000
--- a/external/plutosvg
+++ b/external/plutosvg
@@ -1 +1 @@
-Subproject commit 978dfe7ef30ccab1360703e87320cb3913d6ce2c
+Subproject commit 7969ed4c642063ec4c04a71e14811bb5faee40d5