From 8e13cc309ec2147ac31a3d924a7a1ffb5c2edc43 Mon Sep 17 00:00:00 2001 From: Anonymous Maarten Date: Mon, 30 May 2022 00:46:00 +0200 Subject: [PATCH] cmake: add 'compatible interface properties' to allow enforcing SDL2 sharedness --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb158c10b..a1bb36477 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2953,6 +2953,9 @@ if(SDL_SHARED) if(NOT ANDROID) set_target_properties(SDL2 PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") endif() + # Use `Compatible Interface Properties` to allow consumers to enforce a shared/static library + set_property(TARGET SDL2 PROPERTY INTERFACE_SDL2_SHARED TRUE) + set_property(TARGET SDL2 APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SDL2_SHARED) endif() if(SDL_STATIC) @@ -2984,6 +2987,9 @@ if(SDL_STATIC) if(NOT ANDROID) set_target_properties(SDL2-static PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") endif() + # Use `Compatible Interface Properties` to allow consumers to enforce a shared/static library + set_property(TARGET SDL2-static PROPERTY INTERFACE_SDL2_SHARED FALSE) + set_property(TARGET SDL2-static APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SDL2_SHARED) endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSDL_BUILD_MAJOR_VERSION=${SDL_MAJOR_VERSION}")