diff options
Diffstat (limited to 'vcpkg/ports/sdl3-image')
| -rw-r--r-- | vcpkg/ports/sdl3-image/dependencies.diff | 46 | ||||
| -rw-r--r-- | vcpkg/ports/sdl3-image/pkgconfig-libname.diff | 25 | ||||
| -rw-r--r-- | vcpkg/ports/sdl3-image/portfile.cmake | 53 | ||||
| -rw-r--r-- | vcpkg/ports/sdl3-image/usage | 9 | ||||
| -rw-r--r-- | vcpkg/ports/sdl3-image/vcpkg.json | 50 |
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" + ] + } + } +} |