aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/sdl3-image
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/sdl3-image')
-rw-r--r--vcpkg/ports/sdl3-image/dependencies.diff46
-rw-r--r--vcpkg/ports/sdl3-image/pkgconfig-libname.diff25
-rw-r--r--vcpkg/ports/sdl3-image/portfile.cmake53
-rw-r--r--vcpkg/ports/sdl3-image/usage9
-rw-r--r--vcpkg/ports/sdl3-image/vcpkg.json50
5 files changed, 183 insertions, 0 deletions
diff --git a/vcpkg/ports/sdl3-image/dependencies.diff b/vcpkg/ports/sdl3-image/dependencies.diff
new file mode 100644
index 0000000..15c6c40
--- /dev/null
+++ b/vcpkg/ports/sdl3-image/dependencies.diff
@@ -0,0 +1,46 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0a0cc03..27a009d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -293,6 +293,8 @@ target_compile_definitions(${sdl3_image_target_name} PRIVATE
+ target_link_libraries(${sdl3_image_target_name} PUBLIC SDL3::Headers)
+ if(SDLIMAGE_BUILD_SHARED_LIBS)
+ target_link_libraries(${sdl3_image_target_name} PRIVATE SDL3::SDL3-shared)
++else()
++ target_link_libraries(${sdl3_image_target_name} PRIVATE SDL3::SDL3)
+ endif()
+ sdl_add_warning_options(${sdl3_image_target_name} WARNING_AS_ERROR ${SDLIMAGE_WERROR})
+ if(WIN32 AND SDLIMAGE_BUILD_SHARED_LIBS)
+@@ -971,7 +973,7 @@ if(SDLIMAGE_WEBP)
+ message(STATUS "${PROJECT_NAME}: Using libwebp from CMake variable")
+ set(SDLIMAGE_WEBP_ENABLED TRUE)
+ else()
+- find_package(webp ${required})
++ find_package(webp NAMES WebP ${required})
+ if(webp_FOUND)
+ message(STATUS "${PROJECT_NAME}: Using system libwebp")
+ set(SDLIMAGE_WEBP_ENABLED TRUE)
+diff --git a/cmake/SDL3_imageConfig.cmake.in b/cmake/SDL3_imageConfig.cmake.in
+index db72fd7..d8f91ff 100644
+--- a/cmake/SDL3_imageConfig.cmake.in
++++ b/cmake/SDL3_imageConfig.cmake.in
+@@ -6,6 +6,9 @@ set_package_properties(SDL3_image PROPERTIES
+ DESCRIPTION "SDL_image is an image file loading library"
+ )
+
++include(CMakeFindDependencyMacro)
++find_dependency(SDL3 CONFIG)
++
+ set(SDL3_image_FOUND ON)
+
+ set(SDLIMAGE_AVIF @SDLIMAGE_AVIF_ENABLED@)
+@@ -110,8 +113,7 @@ if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3_image-static-targets.cmake")
+ endif()
+
+ if(SDLIMAGE_WEBP AND NOT TARGET WebP::webp AND NOT SDLIMAGE_WEBP_SHARED)
+- list(APPEND webp_ROOT "${CMAKE_CURRENT_LIST_DIR}")
+- find_dependency(webp)
++ find_dependency(WebP)
+ endif()
+
+ set(CMAKE_MODULE_PATH "${_sdl_cmake_module_path}")
diff --git a/vcpkg/ports/sdl3-image/pkgconfig-libname.diff b/vcpkg/ports/sdl3-image/pkgconfig-libname.diff
new file mode 100644
index 0000000..52821fa
--- /dev/null
+++ b/vcpkg/ports/sdl3-image/pkgconfig-libname.diff
@@ -0,0 +1,25 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 27a009d..0306afb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1122,6 +1122,7 @@ else()
+ set(LIBDIR_FOR_PKG_CONFIG "\${prefix}/${CMAKE_INSTALL_LIBDIR}")
+ endif()
+
++ get_target_property(PC_LIB_NAME "${sdl3_image_target_name}" OUTPUT_NAME)
+ string(JOIN " " PC_REQUIRES ${PC_REQUIRES})
+ string(JOIN " " PC_LIBS ${PC_LIBS})
+ configure_file(cmake/sdl3-image.pc.in sdl3-image.pc @ONLY)
+diff --git a/cmake/sdl3-image.pc.in b/cmake/sdl3-image.pc.in
+index dae41df..e4ce850 100644
+--- a/cmake/sdl3-image.pc.in
++++ b/cmake/sdl3-image.pc.in
+@@ -7,7 +7,7 @@ Name: @PROJECT_NAME@
+ Description: image loading library for Simple DirectMedia Layer
+ Version: @PROJECT_VERSION@
+ Requires: sdl3 >= @SDL_REQUIRED_VERSION@
+-Libs: -L${libdir} -lSDL3_image
++Libs: -L${libdir} -l@PC_LIB_NAME@
+ Requires.private: @PC_REQUIRES@
+ Libs.private: @PC_LIBS@
+ Cflags: -I${includedir}
diff --git a/vcpkg/ports/sdl3-image/portfile.cmake b/vcpkg/ports/sdl3-image/portfile.cmake
new file mode 100644
index 0000000..e1039ed
--- /dev/null
+++ b/vcpkg/ports/sdl3-image/portfile.cmake
@@ -0,0 +1,53 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libsdl-org/SDL_image
+ REF "release-${VERSION}"
+ SHA512 397ff126f6f95351d9addb3ac2d2c228fa2e4c513ca46525b326a64c6e73c40fd651d232d503fd757a03c55a7fa372a885f07d5f72d80dd17a2850816295d82e
+ HEAD_REF main
+ PATCHES
+ dependencies.diff
+ pkgconfig-libname.diff
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ jpeg SDLIMAGE_JPG
+ png SDLIMAGE_PNG
+ tiff SDLIMAGE_TIF
+ webp SDLIMAGE_WEBP
+ INVERTED_FEATURES
+ # Disabled capabilities: Needing dependencies.
+ core SDLIMAGE_AVIF
+ core SDLIMAGE_JXL
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ -DSDLIMAGE_BACKEND_IMAGEIO=OFF
+ -DSDLIMAGE_BACKEND_STB=OFF
+ -DSDLIMAGE_DEPS_SHARED=OFF
+ -DSDLIMAGE_RELOCATABLE=ON
+ -DSDLIMAGE_SAMPLES=OFF
+ -DSDLIMAGE_STRICT=ON
+ -DSDLIMAGE_VENDORED=OFF
+)
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_fixup_pkgconfig()
+
+if(EXISTS "${CURRENT_PACKAGES_DIR}/cmake")
+ vcpkg_cmake_config_fixup(PACKAGE_NAME SDL3_image CONFIG_PATH cmake)
+else()
+ vcpkg_cmake_config_fixup(PACKAGE_NAME SDL3_image CONFIG_PATH lib/cmake/SDL3_image)
+endif()
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+)
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
diff --git a/vcpkg/ports/sdl3-image/usage b/vcpkg/ports/sdl3-image/usage
new file mode 100644
index 0000000..6a2150b
--- /dev/null
+++ b/vcpkg/ports/sdl3-image/usage
@@ -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::SDL3_image-static>)
+
+sdl3-image provides pkg-config modules:
+
+ # image loading library for Simple DirectMedia Layer
+ sdl3-image
diff --git a/vcpkg/ports/sdl3-image/vcpkg.json b/vcpkg/ports/sdl3-image/vcpkg.json
new file mode 100644
index 0000000..3d2b046
--- /dev/null
+++ b/vcpkg/ports/sdl3-image/vcpkg.json
@@ -0,0 +1,50 @@
+{
+ "name": "sdl3-image",
+ "version": "3.2.4",
+ "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": [
+ {
+ "name": "sdl3",
+ "default-features": false
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "jpeg": {
+ "description": "Support for JPEG image format",
+ "dependencies": [
+ "libjpeg-turbo"
+ ]
+ },
+ "png": {
+ "description": "Support for PNG image format",
+ "dependencies": [
+ "libpng"
+ ]
+ },
+ "tiff": {
+ "description": "Support for TIFF image format",
+ "dependencies": [
+ {
+ "name": "tiff",
+ "default-features": false
+ }
+ ]
+ },
+ "webp": {
+ "description": "Support for WEBP image format.",
+ "dependencies": [
+ "libwebp"
+ ]
+ }
+ }
+}