Skip to content

Commit

Permalink
[sdl3-image] Add new port sdl3-image (#42849)
Browse files Browse the repository at this point in the history
  • Loading branch information
shybovycha authored Jan 21, 2025
1 parent 36e2f42 commit c7961da
Show file tree
Hide file tree
Showing 6 changed files with 135 additions and 0 deletions.
13 changes: 13 additions & 0 deletions ports/sdl3-image/cmake-sdl3.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/cmake/SDL3_imageConfig.cmake.in b/cmake/SDL3_imageConfig.cmake.in
index db72fd70..d942a698 100644
--- a/cmake/SDL3_imageConfig.cmake.in
+++ b/cmake/SDL3_imageConfig.cmake.in
@@ -43,6 +43,8 @@ set(SDLIMAGE_BACKEND_WIC @SDLIMAGE_BACKEND_WIC@)

set(SDLIMAGE_SDL3_REQUIRED_VERSION @SDL_REQUIRED_VERSION@)

+find_package(SDL3 CONFIG REQUIRED)
+
set(SDL3_image_SDL3_image-shared_FOUND FALSE)
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_image-shared-targets.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/SDL3_image-shared-targets.cmake")
55 changes: 55 additions & 0 deletions ports/sdl3-image/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libsdl-org/SDL_image
REF "preview-${VERSION}"
SHA512 e139fd9474213757f473ca96cb7df78e6b122ac1a0f8b88e66d28955b8ee0390f83ee14dfe4f188aa4ba14b812c5522ce366e61a00609a3079930d68d8233921
HEAD_REF main
PATCHES
cmake-sdl3.patch
)

vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
libjpeg-turbo SDLIMAGE_JPG
libwebp SDLIMAGE_WEBP
tiff SDLIMAGE_TIF
)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DSDLIMAGE_BACKEND_IMAGEIO=OFF
-DSDLIMAGE_BACKEND_STB=OFF
-DSDLIMAGE_DEPS_SHARED=OFF
-DSDLIMAGE_SAMPLES=OFF
-DSDLIMAGE_VENDORED=OFF
)

vcpkg_cmake_install()
vcpkg_copy_pdbs()

if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake")
vcpkg_cmake_config_fixup(PACKAGE_NAME SDL3_image CONFIG_PATH cmake)
elseif(EXISTS "${CURRENT_PACKAGES_DIR}/SDL3_image.framework/Resources")
vcpkg_cmake_config_fixup(PACKAGE_NAME SDL3_image CONFIG_PATH SDL3_image.framework/Resources)
else()
vcpkg_cmake_config_fixup(PACKAGE_NAME SDL3_image CONFIG_PATH lib/cmake/SDL3_image)
endif()

vcpkg_fixup_pkgconfig()

if(NOT VCPKG_TARGET_IS_LINUX AND NOT VCPKG_TARGET_IS_ANDROID AND NOT VCPKG_BUILD_TYPE)
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/SDL3-image.pc" "-lSDL3_image" "-lSDL3_imaged")
endif()

file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/SDL3_image.framework"
"${CURRENT_PACKAGES_DIR}/debug/SDL3_image.framework"
)

file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
9 changes: 9 additions & 0 deletions ports/sdl3-image/usage
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
sdl3-image provides CMake targets:

find_package(SDL3_image CONFIG REQUIRED)
target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:SDL3_image::SDL3_image-shared>,SDL3_image::SDL3_image-shared,SDL3_image-static>)

sdl3-image provides pkg-config modules:

# image loading library for Simple DirectMedia Layer
sdl3-image
45 changes: 45 additions & 0 deletions ports/sdl3-image/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"name": "sdl3-image",
"version": "3.1.0",
"description": "SDL_image is an image file loading library. It loads images as SDL surfaces and textures, and supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, XV",
"homepage": "https://github.com/libsdl-org/SDL_image",
"license": "Zlib",
"dependencies": [
"libpng",
{
"name": "sdl3",
"default-features": false
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"libjpeg-turbo": {
"description": "Support for JPEG image format",
"dependencies": [
"libjpeg-turbo"
]
},
"libwebp": {
"description": "Support for WEBP image format.",
"dependencies": [
"libwebp"
]
},
"tiff": {
"description": "Support for TIFF image format",
"dependencies": [
{
"name": "tiff",
"default-features": false
}
]
}
}
}
4 changes: 4 additions & 0 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -8280,6 +8280,10 @@
"baseline": "3.1.8-preview",
"port-version": 0
},
"sdl3-image": {
"baseline": "3.1.0",
"port-version": 0
},
"seacas": {
"baseline": "2022-11-22",
"port-version": 8
Expand Down
9 changes: 9 additions & 0 deletions versions/s-/sdl3-image.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "e5c443cbdf6896a4989f1a0a6034be21c3fc43c0",
"version": "3.1.0",
"port-version": 0
}
]
}

0 comments on commit c7961da

Please sign in to comment.