From d9255de6386f51c59c6ace73b7b23bef9feba329 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 22 Jan 2025 16:20:43 -0800
Subject: [PATCH] Updated documentation for the Apple packages
---
Xcode/SDL_image.xcodeproj/project.pbxproj | 36 ++++++++++------
Xcode/pkg-support/resources/INSTALL.md | 39 ++++++++++++++++++
Xcode/pkg-support/resources/ReadMe.txt | 28 -------------
Xcode/pkg-support/resources/SDL_DS_Store | Bin 0 -> 10244 bytes
Xcode/pkg-support/resources/Welcome.txt | 3 --
.../resources/framework/INSTALL.md | 35 ++++++++++++++++
Xcode/pkg-support/sdl_logo.pdf | Bin 0 -> 163800 bytes
7 files changed, 97 insertions(+), 44 deletions(-)
create mode 100644 Xcode/pkg-support/resources/INSTALL.md
delete mode 100644 Xcode/pkg-support/resources/ReadMe.txt
create mode 100644 Xcode/pkg-support/resources/SDL_DS_Store
delete mode 100644 Xcode/pkg-support/resources/Welcome.txt
create mode 100644 Xcode/pkg-support/resources/framework/INSTALL.md
create mode 100644 Xcode/pkg-support/sdl_logo.pdf
diff --git a/Xcode/SDL_image.xcodeproj/project.pbxproj b/Xcode/SDL_image.xcodeproj/project.pbxproj
index fdf5f9ce..f640e278 100644
--- a/Xcode/SDL_image.xcodeproj/project.pbxproj
+++ b/Xcode/SDL_image.xcodeproj/project.pbxproj
@@ -57,6 +57,9 @@
AADBAC8A175C6B4F004F8ED2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 61F85449145A19BC002CA294 /* Foundation.framework */; };
BE1FA71A07AF4C44004B6283 /* SDL_image.h in Headers */ = {isa = PBXBuildFile; fileRef = 1014BAEA010A4B677F000001 /* SDL_image.h */; settings = {ATTRIBUTES = (Public, ); }; };
F31094C3282AE42D008EF641 /* IMG_stb.c in Sources */ = {isa = PBXBuildFile; fileRef = F31094C2282AE42D008EF641 /* IMG_stb.c */; };
+ F34123C02D41A75D00D6C2B7 /* INSTALL.md in Resources */ = {isa = PBXBuildFile; fileRef = F34123BF2D41A75D00D6C2B7 /* INSTALL.md */; };
+ F34123C42D41A79D00D6C2B7 /* LICENSE.txt in Resources */ = {isa = PBXBuildFile; fileRef = F34123C32D41A79D00D6C2B7 /* LICENSE.txt */; };
+ F34123C62D41A7D800D6C2B7 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = F34123C52D41A7D800D6C2B7 /* README.md */; };
F344FFFE2D401D5C003F26D7 /* SDL3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F344FFFD2D401D5C003F26D7 /* SDL3.framework */; };
F354743E2828CA66007E9EDA /* IMG_jxl.c in Sources */ = {isa = PBXBuildFile; fileRef = F354743B2828CA66007E9EDA /* IMG_jxl.c */; };
F35475FD2829BAF9007E9EDA /* IMG_avif.c in Sources */ = {isa = PBXBuildFile; fileRef = F35475FC2829BAF9007E9EDA /* IMG_avif.c */; };
@@ -172,6 +175,10 @@
BE1FA72E07AF4C45004B6283 /* SDL3_image.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL3_image.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F307EFA82828C8FA003915D7 /* jxl.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = jxl.xcodeproj; path = jxl/jxl.xcodeproj; sourceTree = "<group>"; };
F31094C2282AE42D008EF641 /* IMG_stb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_stb.c; path = ../src/IMG_stb.c; sourceTree = "<group>"; };
+ F34123BF2D41A75D00D6C2B7 /* INSTALL.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = INSTALL.md; sourceTree = "<group>"; };
+ F34123C32D41A79D00D6C2B7 /* LICENSE.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = LICENSE.txt; path = ../../../LICENSE.txt; sourceTree = "<group>"; };
+ F34123C52D41A7D800D6C2B7 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../../../README.md; sourceTree = "<group>"; };
+ F34123C72D41A7F900D6C2B7 /* INSTALL.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = INSTALL.md; sourceTree = "<group>"; };
F344FFFD2D401D5C003F26D7 /* SDL3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SDL3.framework; sourceTree = "<group>"; };
F354743B2828CA66007E9EDA /* IMG_jxl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = IMG_jxl.c; path = ../src/IMG_jxl.c; sourceTree = "<group>"; };
F35475D42829BA80007E9EDA /* avif.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = avif.xcodeproj; path = avif/avif.xcodeproj; sourceTree = "<group>"; };
@@ -183,8 +190,6 @@
F3E1AAEA281CBABD00740E39 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
F3E1AAED281CBD9F00740E39 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/System/iOSSupport/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
F3E1AAEF281CBDD100740E39 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/iOSSupport/System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
- F59C710300D5CB5801000001 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = ReadMe.txt; sourceTree = "<group>"; };
- F59C710400D5CB5801000001 /* Welcome.txt */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = Welcome.txt; sourceTree = "<group>"; };
F59C710600D5CB5801000001 /* SDL_image.info */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SDL_image.info; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -217,7 +222,6 @@
034768DDFF38A45A11DB9C8B /* Products */ = {
isa = PBXGroup;
children = (
- 089C1665FE841158C02AAC07 /* Resources */,
BE1FA72E07AF4C45004B6283 /* SDL3_image.framework */,
);
name = Products;
@@ -240,13 +244,6 @@
name = SDL_imageFramework;
sourceTree = "<group>";
};
- 089C1665FE841158C02AAC07 /* Resources */ = {
- isa = PBXGroup;
- children = (
- );
- name = Resources;
- sourceTree = "<group>";
- };
08FB77ACFE841707C02AAC07 /* Library Source */ = {
isa = PBXGroup;
children = (
@@ -296,6 +293,14 @@
name = Products;
sourceTree = "<group>";
};
+ F34123BE2D41A71500D6C2B7 /* framework */ = {
+ isa = PBXGroup;
+ children = (
+ F34123BF2D41A75D00D6C2B7 /* INSTALL.md */,
+ );
+ path = framework;
+ sourceTree = "<group>";
+ };
F35475D52829BA80007E9EDA /* Products */ = {
isa = PBXGroup;
children = (
@@ -328,9 +333,11 @@
F59C710100D5CB5801000001 /* resources */ = {
isa = PBXGroup;
children = (
+ F34123BE2D41A71500D6C2B7 /* framework */,
F3820707284EF58C004DD584 /* CMake */,
- F59C710300D5CB5801000001 /* ReadMe.txt */,
- F59C710400D5CB5801000001 /* Welcome.txt */,
+ F34123C32D41A79D00D6C2B7 /* LICENSE.txt */,
+ F34123C52D41A7D800D6C2B7 /* README.md */,
+ F34123C72D41A7F900D6C2B7 /* INSTALL.md */,
);
path = resources;
sourceTree = "<group>";
@@ -479,6 +486,9 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ F34123C42D41A79D00D6C2B7 /* LICENSE.txt in Resources */,
+ F34123C02D41A75D00D6C2B7 /* INSTALL.md in Resources */,
+ F34123C62D41A7D800D6C2B7 /* README.md in Resources */,
F382070E284EF58C004DD584 /* CMake in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -530,7 +540,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "set -ex\n\nPRODUCT_NAME=SDL3_image\nOPTIONAL_FRAMEWORKS=\"avif jxl webp\"\n\nmkdir -p build/dmg-tmp/share/cmake/$PRODUCT_NAME\ncp -a build/$PRODUCT_NAME.xcframework build/dmg-tmp/\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\ncp pkg-support/resources/share/cmake/${PRODUCT_NAME}/${PRODUCT_NAME}Config.cmake build/dmg-tmp/share/cmake/${PRODUCT_NAME}\ncp pkg-support/resources/share/cmake/${PRODUCT_NAME}/${PRODUCT_NAME}ConfigVersion.cmake build/dmg-tmp/share/cmake/${PRODUCT_NAME}\nfor i in $OPTIONAL_FRAMEWORKS; do\n if [ -d build/$i.xcframework ]; then\n mkdir -p build/dmg-tmp/optional\n cp -a build/$i.xcframework build/dmg-tmp/optional/\n fi\ndone\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nrm -rf build/dmg-tmp/.DS_Store\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname $PRODUCT_NAME -srcfolder build/dmg-tmp build/$PRODUCT_NAME.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n";
+ shellScript = "set -ex\n\nPRODUCT_NAME=SDL3_image\nOPTIONAL_FRAMEWORKS=\"avif jxl webp\"\n\nmkdir -p build/dmg-tmp/share/cmake/$PRODUCT_NAME\ncp -a build/$PRODUCT_NAME.xcframework build/dmg-tmp/\n\ncp ../LICENSE.txt build/dmg-tmp\ncp ../README.md build/dmg-tmp\ncp pkg-support/resources/INSTALL.md build/dmg-tmp\ncp pkg-support/resources/share/cmake/${PRODUCT_NAME}/${PRODUCT_NAME}Config.cmake build/dmg-tmp/share/cmake/${PRODUCT_NAME}\ncp pkg-support/resources/share/cmake/${PRODUCT_NAME}/${PRODUCT_NAME}ConfigVersion.cmake build/dmg-tmp/share/cmake/${PRODUCT_NAME}\nfor i in $OPTIONAL_FRAMEWORKS; do\n if [ -d build/$i.xcframework ]; then\n mkdir -p build/dmg-tmp/optional\n cp -a build/$i.xcframework build/dmg-tmp/optional/\n fi\ndone\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nrm -rf build/dmg-tmp/.DS_Store\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname $PRODUCT_NAME -srcfolder build/dmg-tmp build/$PRODUCT_NAME.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n";
};
/* End PBXShellScriptBuildPhase section */
diff --git a/Xcode/pkg-support/resources/INSTALL.md b/Xcode/pkg-support/resources/INSTALL.md
new file mode 100644
index 00000000..d8b4fd80
--- /dev/null
+++ b/Xcode/pkg-support/resources/INSTALL.md
@@ -0,0 +1,39 @@
+
+# Using this package
+
+This package contains SDL_image built for Xcode, and includes support for macOS, iOS and tvOS.
+
+To use this package in Xcode, drag `SDL3_image.xcframework` into your project.
+
+To use this package in a CMake project, copy both `SDL3_image.xcframework` and `share` to `~/Library/Frameworks`.
+
+You can include support for additional image formats by including the frameworks in the optional folder in your application. They will be automatically loaded by SDL_image as needed.
+
+# Documentation
+
+An API reference and additional documentation is available at:
+
+https://wiki.libsdl.org/SDL3_image
+
+# Discussions
+
+## Discord
+
+You can join the official Discord server at:
+
+https://discord.com/invite/BwpFGBWsv8
+
+## Forums/mailing lists
+
+You can join SDL development discussions at:
+
+https://discourse.libsdl.org/
+
+Once you sign up, you can use the forum through the website or as a mailing list from your email client.
+
+## Announcement list
+
+You can sign up for the low traffic announcement list at:
+
+https://www.libsdl.org/mailing-list.php
+
diff --git a/Xcode/pkg-support/resources/ReadMe.txt b/Xcode/pkg-support/resources/ReadMe.txt
deleted file mode 100644
index 1e43c1c2..00000000
--- a/Xcode/pkg-support/resources/ReadMe.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-SDL_image is an example portable image loading library for use with SDL.
-
-The source code is available from: http://www.libsdl.org/projects/SDL_image
-
-This library is distributed under the terms of the zlib license: http://www.zlib.net/zlib_license.html
-
-This packages contains the SDL3_image.framework for OS X. Conforming with Apple guidelines, this framework contains both the SDL runtime component and development header files.
-
-Requirements:
-You must have the SDL3.framework installed.
-
-To Install:
-Copy the SDL3_image.framework to /Library/Frameworks
-
-You may alternatively install it in <your home directory>/Library/Frameworks if your access privileges are not high enough. (Be aware that the Xcode templates we provide in the SDL Developer Extras package may require some adjustment for your system if you do this.)
-
-In the optional directory are additional frameworks you can install or include in your application to support more image formats.
-
-Use in CMake projects:
-SDL3_image.framework can be used in CMake projects using the following pattern:
-```
-find_package(SDL3_image REQUIRED)
-add_executable(my_game ${MY_SOURCES})
-target_link_libraries(my_game PRIVATE SDL3_image::SDL3_image)
-```
-If SDL3_image.framework is installed in a non-standard location,
-please refer to the following link for ways to configure CMake:
-https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-search-procedure
diff --git a/Xcode/pkg-support/resources/SDL_DS_Store b/Xcode/pkg-support/resources/SDL_DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..6cb1154679937466bde150946eddc0d618a9cc25
GIT binary patch
literal 10244
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
literal 0
HcmV?d00001
diff --git a/Xcode/pkg-support/resources/Welcome.txt b/Xcode/pkg-support/resources/Welcome.txt
deleted file mode 100644
index 8993c91f..00000000
--- a/Xcode/pkg-support/resources/Welcome.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-This package installs the SDL_image library into /Library/Frameworks. You can also install it in
-<your home directory>/Library/Frameworks if your access privileges are not high enough.
-
diff --git a/Xcode/pkg-support/resources/framework/INSTALL.md b/Xcode/pkg-support/resources/framework/INSTALL.md
new file mode 100644
index 00000000..fa6d7330
--- /dev/null
+++ b/Xcode/pkg-support/resources/framework/INSTALL.md
@@ -0,0 +1,35 @@
+
+# Using this package
+
+This package contains SDL_image built for Xcode.
+
+To use this package in Xcode, drag `SDL3_image.framework` into your project.
+
+# Documentation
+
+An API reference and additional documentation is available at:
+
+https://wiki.libsdl.org/SDL3_image
+
+# Discussions
+
+## Discord
+
+You can join the official Discord server at:
+
+https://discord.com/invite/BwpFGBWsv8
+
+## Forums/mailing lists
+
+You can join SDL development discussions at:
+
+https://discourse.libsdl.org/
+
+Once you sign up, you can use the forum through the website or as a mailing list from your email client.
+
+## Announcement list
+
+You can sign up for the low traffic announcement list at:
+
+https://www.libsdl.org/mailing-list.php
+
diff --git a/Xcode/pkg-support/sdl_logo.pdf b/Xcode/pkg-support/sdl_logo.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..a172f971bf9b8b9b6d9e2299c7257261544c25d0
GIT binary patch
literal 163800
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
(Patch may be truncated, please check the link at the top of this post.)