SDL_image: cmake: Add a shortcut for setting most dependencies _SHARED or not

From d0f605e2e980c3a4a0b39d85ad9f70dfb072e653 Mon Sep 17 00:00:00 2001
From: Simon McVittie <[EMAIL REDACTED]>
Date: Fri, 20 May 2022 18:38:06 +0100
Subject: [PATCH] cmake: Add a shortcut for setting most dependencies _SHARED
 or not

Signed-off-by: Simon McVittie <smcv@collabora.com>
---
 CMakeLists.txt | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index da06d95..c186317 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,6 +47,7 @@ option(CMAKE_POSITION_INDEPENDENT_CODE "Build static libraries with -fPIC" ON)
 option(BUILD_SHARED_LIBS "Build the library as a shared library" ON)
 
 option(SDL2IMAGE_INSTALL "Enable SDL2_image install target" ON)
+option(SDL2IMAGE_DEPS_SHARED "Load dependencies dynamically" ON)
 option(SDL2IMAGE_VENDORED "Use vendored third-party libraries" ${vendored_default})
 
 option(SDL2IMAGE_SAMPLES "Build the SDL2_image sample program(s)" ON)
@@ -86,7 +87,7 @@ else()
     set(SDL2IMAGE_AVIF_VENDORED OFF)
 endif()
 cmake_dependent_option(SDL2IMAGE_AVIF_SHARED "Dynamically load AVIF support (requires shared libavif)"
-    ON SDL2IMAGE_AVIF OFF)
+    ${SDL2IMAGE_DEPS_SHARED} SDL2IMAGE_AVIF OFF)
 
 if(SDL2IMAGE_VENDORED AND SDL2IMAGE_JPG AND NOT (SDL2IMAGE_BACKEND_WIC OR SDL2IMAGE_BACKEND_STB OR SDL2IMAGE_BACKEND_IMAGEIO))
     set(SDL2IMAGE_JPG_VENDORED ON)
@@ -94,7 +95,7 @@ else()
     set(SDL2IMAGE_JPG_VENDORED OFF)
 endif()
 cmake_dependent_option(SDL2IMAGE_JPG_SHARED "Dynamically load JPG support (requires shared libjpeg)"
-    ON "SDL2IMAGE_JPG;NOT SDL2IMAGE_BACKEND_WIC;NOT SDL2IMAGE_BACKEND_STB;NOT SDL2IMAGE_BACKEND_IMAGEIO" OFF)
+    ${SDL2IMAGE_DEPS_SHARED} "SDL2IMAGE_JPG;NOT SDL2IMAGE_BACKEND_WIC;NOT SDL2IMAGE_BACKEND_STB;NOT SDL2IMAGE_BACKEND_IMAGEIO" OFF)
 
 if(SDL2IMAGE_VENDORED AND SDL2IMAGE_JXL)
     set(SDL2IMAGE_JXL_VENDORED ON)
@@ -102,7 +103,7 @@ else()
     set(SDL2IMAGE_JXL_VENDORED OFF)
 endif()
 cmake_dependent_option(SDL2IMAGE_JXL_SHARED "Dynamically load JXL support (requires shared libjxl)"
-    ON SDL2IMAGE_JXL OFF)
+    ${SDL2IMAGE_DEPS_SHARED} SDL2IMAGE_JXL OFF)
 
 if(SDL2IMAGE_VENDORED AND SDL2IMAGE_PNG AND NOT (SDL2IMAGE_BACKEND_WIC OR SDL2IMAGE_BACKEND_STB OR SDL2IMAGE_BACKEND_IMAGEIO))
     set(SDL2IMAGE_PNG_VENDORED ON)
@@ -110,7 +111,7 @@ else()
     set(SDL2IMAGE_PNG_VENDORED OFF)
 endif()
 cmake_dependent_option(SDL2IMAGE_PNG_SHARED "Dynamically load PNG support (requires shared libpng)"
-    ON "SDL2IMAGE_PNG;NOT SDL2IMAGE_BACKEND_WIC;NOT SDL2IMAGE_BACKEND_STB;NOT SDL2IMAGE_BACKEND_IMAGEIO" OFF)
+    ${SDL2IMAGE_DEPS_SHARED} "SDL2IMAGE_PNG;NOT SDL2IMAGE_BACKEND_WIC;NOT SDL2IMAGE_BACKEND_STB;NOT SDL2IMAGE_BACKEND_IMAGEIO" OFF)
 
 if(SDL2IMAGE_VENDORED AND SDL2IMAGE_TIF)
     set(SDL2IMAGE_TIF_VENDORED ON)
@@ -118,7 +119,7 @@ else()
     set(SDL2IMAGE_TIF_VENDORED OFF)
 endif()
 cmake_dependent_option(SDL2IMAGE_TIF_SHARED "Dynamically load TIFF support (requires shared libtiff)"
-    ON SDL2IMAGE_TIF OFF)
+    ${SDL2IMAGE_DEPS_SHARED} SDL2IMAGE_TIF OFF)
 
 if(SDL2IMAGE_VENDORED AND SDL2IMAGE_WEBP)
     set(SDL2IMAGE_WEBP_VENDORED ON)
@@ -126,7 +127,7 @@ else()
     set(SDL2IMAGE_WEBP_VENDORED OFF)
 endif()
 cmake_dependent_option(SDL2IMAGE_WEBP_SHARED "Dynamically load WEBP support (requires shared libwebp)"
-    ON SDL2IMAGE_WEBP OFF)
+    ${SDL2IMAGE_DEPS_SHARED} SDL2IMAGE_WEBP OFF)
 
 if(SDL2IMAGE_VENDORED AND SDL2IMAGE_PNG_VENDORED)
     set(SDL2IMAGE_ZLIB_VENDORED ON)