[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