[packages/SDL2] upstream fix for missing cmake target; rel 2

atler atler at pld-linux.org
Wed Aug 31 11:13:24 CEST 2022


commit 56c60aaa48f93d03c273aeeb9203cf18ff4e38cf
Author: Jan Palus <atler at pld-linux.org>
Date:   Wed Aug 31 11:12:41 2022 +0200

    upstream fix for missing cmake target; rel 2
    
    from: https://github.com/libsdl-org/SDL/pull/6120

 SDL2.spec          |   4 +-
 cmake-target.patch | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 112 insertions(+), 1 deletion(-)
---
diff --git a/SDL2.spec b/SDL2.spec
index 1f87f4e..c2d3ba7 100644
--- a/SDL2.spec
+++ b/SDL2.spec
@@ -61,12 +61,13 @@ Summary(pl.UTF-8):	SDL (Simple DirectMedia Layer) - Biblioteka do gier/multimedi
 Summary(zh_CN.UTF-8):	SDL (Simple DirectMedia Layer) Generic APIs - 游戏/多媒体库
 Name:		SDL2
 Version:	2.24.0
-Release:	1
+Release:	2
 License:	Zlib (BSD-like)
 Group:		Libraries
 Source0:	http://www.libsdl.org/release/%{name}-%{version}.tar.gz
 # Source0-md5:	cf539ffe9e0dd6f943ac9de75fd2e56e
 Patch0:		%{name}-config.patch
+Patch1:		cmake-target.patch
 URL:		http://www.libsdl.org/
 %{?with_kms:BuildRequires:	Mesa-libgbm-devel >= 11.1.0}
 %{?with_directfb:BuildRequires:	DirectFB-devel >= 1.0.0}
@@ -212,6 +213,7 @@ SDL - przykładowe programy.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 %{__libtoolize}
diff --git a/cmake-target.patch b/cmake-target.patch
new file mode 100644
index 0000000..f611318
--- /dev/null
+++ b/cmake-target.patch
@@ -0,0 +1,109 @@
+From 945b611b268032bc11ef27812b2ce197f639e1e2 Mon Sep 17 00:00:00 2001
+From: Anonymous Maarten <anonymous.maarten at gmail.com>
+Date: Wed, 24 Aug 2022 04:12:58 +0200
+Subject: [PATCH 1/2] cmake: create SDL2::SDL2main target in Apple framework
+ official release
+
+---
+ Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake b/Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake
+index cc5cc4a8a57..ca6bb3e9230 100644
+--- a/Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake
++++ b/Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake
+@@ -58,7 +58,10 @@ if(NOT TARGET SDL2::SDL2)
+             COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED"
+             INTERFACE_SDL2_SHARED "ON"
+     )
++    set(SDL2_SDL2_FOUND TRUE)
+ endif()
+-set(SDL2_SDL2_FOUND)
++
++add_library(SDL2::SDL2main INTERFACE IMPORTED)
++set(SDL2_SDL2main_FOUND TRUE)
+ 
+ check_required_components(SDL2)
+
+From d2f4748d9753398c703dc0db10891136ab71621a Mon Sep 17 00:00:00 2001
+From: Anonymous Maarten <anonymous.maarten at gmail.com>
+Date: Wed, 24 Aug 2022 04:14:52 +0200
+Subject: [PATCH 2/2] cmake: always create SDL2::SDL2main target in autotools'
+ cmake config script
+
+---
+ sdl2-config.cmake.in | 57 ++++++++++++++++++++++----------------------
+ 1 file changed, 29 insertions(+), 28 deletions(-)
+
+diff --git a/sdl2-config.cmake.in b/sdl2-config.cmake.in
+index 75bd8d1edf0..2457586e6fb 100644
+--- a/sdl2-config.cmake.in
++++ b/sdl2-config.cmake.in
+@@ -62,38 +62,39 @@ string(REGEX REPLACE ";-L" ";" _sdl2_static_private_libdirs "${_sdl2_static_priv
+ if(_sdl2_libraries MATCHES ".*SDL2main.*")
+   list(INSERT SDL2_LIBRARIES 0 SDL2::SDL2main)
+   list(INSERT SDL2_STATIC_LIBRARIES 0 SDL2::SDL2main)
+-  set(_sdl2main_library ${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2main${CMAKE_STATIC_LIBRARY_SUFFIX})
+-  if(EXISTS "${_sdl2main_library}")
+-    set(SDL2MAIN_LIBRARY SDL2::SDL2main)
+-    if(NOT TARGET SDL2::SDL2main)
+-      add_library(SDL2::SDL2main STATIC IMPORTED)
+-      set_target_properties(SDL2::SDL2main
+-        PROPERTIES
+-          IMPORTED_LOCATION "${_sdl2main_library}"
+-      )
+-      if(WIN32)
+-        # INTERFACE_LINK_OPTIONS needs CMake 3.13
+-        cmake_minimum_required(VERSION 3.13)
+-        # Mark WinMain/WinMain at 16 as undefined, such that it will be withheld by the linker.
+-        if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+-          set_target_properties(SDL2::SDL2main
+-            PROPERTIES
+-              INTERFACE_LINK_OPTIONS "-Wl,--undefined=_WinMain at 16"
+-          )
+-        else()
+-          set_target_properties(SDL2::SDL2main
+-            PROPERTIES
+-              INTERFACE_LINK_OPTIONS "-Wl,--undefined=WinMain"
+-          )
+-        endif()
++endif()
++
++set(_sdl2main_library ${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2main${CMAKE_STATIC_LIBRARY_SUFFIX})
++if(EXISTS "${_sdl2main_library}")
++  set(SDL2MAIN_LIBRARY SDL2::SDL2main)
++  if(NOT TARGET SDL2::SDL2main)
++    add_library(SDL2::SDL2main STATIC IMPORTED)
++    set_target_properties(SDL2::SDL2main
++      PROPERTIES
++        IMPORTED_LOCATION "${_sdl2main_library}"
++    )
++    if(WIN32)
++      # INTERFACE_LINK_OPTIONS needs CMake 3.13
++      cmake_minimum_required(VERSION 3.13)
++      # Mark WinMain/WinMain at 16 as undefined, such that it will be withheld by the linker.
++      if(CMAKE_SIZEOF_VOID_P EQUAL 4)
++        set_target_properties(SDL2::SDL2main
++          PROPERTIES
++            INTERFACE_LINK_OPTIONS "-Wl,--undefined=_WinMain at 16"
++        )
++      else()
++        set_target_properties(SDL2::SDL2main
++          PROPERTIES
++            INTERFACE_LINK_OPTIONS "-Wl,--undefined=WinMain"
++        )
+       endif()
+     endif()
+-    set(SDL2_SDL2main_FOUND TRUE)
+-  else()
+-    set(SDL2_SDL2main_FOUND FALSE)
+   endif()
+-  unset(_sdl2main_library)
++  set(SDL2_SDL2main_FOUND TRUE)
++else()
++  set(SDL2_SDL2main_FOUND FALSE)
+ endif()
++unset(_sdl2main_library)
+ 
+ # Remove SDL2 since this is the "central" library
+ # Remove SDL2main since this will be provided by SDL2::SDL2main (if available)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/SDL2.git/commitdiff/56c60aaa48f93d03c273aeeb9203cf18ff4e38cf



More information about the pld-cvs-commit mailing list