From 59d98c50bf539c5181737cd5f1a819be6ceada18 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Fri, 24 Jan 2025 23:36:52 +0100
Subject: [PATCH] cmake: only require SDL3::SDL3-shared when building a shared
SDL3_shadercross library
---
CMakeLists.txt | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b4c069b..ea4469e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,8 +20,8 @@ include("${CMAKE_CURRENT_LIST_DIR}/cmake/PrivateSdlFunctions.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sdlcpu.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/cmake/sdlplatform.cmake")
-if(NOT TARGET SDL3::Headers OR NOT TARGET SDL3::SDL3-shared)
- find_package(SDL3 ${SDL_REQUIRED_VERSION} REQUIRED COMPONENTS Headers SDL3-shared)
+if(NOT TARGET SDL3::SDL3-static)
+ find_package(SDL3 ${SDL_REQUIRED_VERSION})
endif()
if(BUILD_SHARED_LIBS)
@@ -165,6 +165,10 @@ set(SOURCE_FILES
set(SDL3_shadercross_targets)
if(SDLSHADERCROSS_SHARED)
list(APPEND SDL3_shadercross_targets SDL3_shadercross-shared)
+ if(NOT TARGET SDL3::Headers OR NOT TARGET SDL3::SDL3-shared)
+ find_package(SDL3 ${SDL_REQUIRED_VERSION} REQUIRED COMPONENTS Headers SDL3-shared)
+ endif()
+
add_library(SDL3_shadercross-shared SHARED ${SOURCE_FILES})
add_library(SDL3_shadercross::SDL3_shadercross ALIAS SDL3_shadercross-shared)
@@ -198,7 +202,7 @@ endif()
if(SDLSHADERCROSS_STATIC)
list(APPEND SDL3_shadercross_targets SDL3_shadercross-static)
- if(NOT TARGET SDL3::Headers OR NOT TARGET SDL3::SDL3)
+ if(NOT TARGET SDL3::Headers)
find_package(SDL3 ${SDL_REQUIRED_VERSION} REQUIRED COMPONENTS Headers)
endif()
@@ -265,6 +269,9 @@ if(SDLSHADERCROSS_CLI)
target_link_libraries(shadercross PRIVATE SDL3_shadercross::SDL3_shadercross-static)
target_link_libraries(shadercross PRIVATE SDL3::SDL3-static)
else()
+ if(NOT TARGET SDL3::SDL3)
+ find_package(SDL3 ${SDL_REQUIRED_VERSION} REQUIRED CONFIG COMPONENTS SDL3)
+ endif()
target_link_libraries(shadercross PRIVATE SDL3_shadercross::SDL3_shadercross)
target_link_libraries(shadercross PRIVATE SDL3::SDL3)
endif()