Merge pull request #3 from SDWebImage/swiftpm

Support Swift Package Manager
This commit is contained in:
DreamPiggy 2019-12-27 11:24:44 +08:00 committed by GitHub
commit 19c48d986a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 66 additions and 1 deletions

6
.gitignore vendored
View File

@ -63,4 +63,8 @@ fastlane/test_output
# After new code Injection tools there's a generated folder /iOSInjectionProject # After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode # https://github.com/johnno1962/injectionforxcode
iOSInjectionProject/ iOSInjectionProject/
# SwiftPM
.build
.swiftpm

28
Package.swift Normal file
View File

@ -0,0 +1,28 @@
// swift-tools-version:5.0
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "libwebp",
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "libwebp",
targets: ["libwebp"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "libwebp",
dependencies: [],
path: "libwebp/src",
publicHeadersPath: "webp",
cSettings: [.headerSearchPath("../")])
]
)

View File

@ -2,9 +2,11 @@
A wrapper for [libwebp](https://github.com/webmproject/libwebp) + Xcode project. A wrapper for [libwebp](https://github.com/webmproject/libwebp) + Xcode project.
This enables Carthage support This enables Carthage support
This also contains the Swift Package Manager support
[![CI Status](http://img.shields.io/travis/SDWebImage/libwebp-Xcode.svg?style=flat)](https://travis-ci.org/SDWebImage/libwebp-Xcode) [![CI Status](http://img.shields.io/travis/SDWebImage/libwebp-Xcode.svg?style=flat)](https://travis-ci.org/SDWebImage/libwebp-Xcode)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/SDWebImage/libwebp-Xcode) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/SDWebImage/libwebp-Xcode)
[![SwiftPM compatible](https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg)](https://swift.org/package-manager/)
## Requirements ## Requirements
@ -15,16 +17,47 @@ This enables Carthage support
## Installation ## Installation
### Carthage
libwebp is (via this repo) available through [Carthage](https://github.com/Carthage/Carthage). libwebp is (via this repo) available through [Carthage](https://github.com/Carthage/Carthage).
``` ```
github "SDWebImage/libwebp-Xcode" github "SDWebImage/libwebp-Xcode"
``` ```
### SwiftPM
Libwebp is available through [Swift Package Manager](https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg).
```
let package = Package(
dependencies: [
.package(url: "https://github.com/SDWebImage/libwebp-Xcode", from: "1.0.4")
],
// ...
)
```
## Usage ## Usage
Use libwebp as you would normally, this is just a repo that adds an Xcode proj. Use libwebp as you would normally, this is just a repo that adds an Xcode proj.
For Swift Package Manager user, use the modular import instead of C headers.
+ Objective-C
```objective-c
@import libwebp;
```
+ Swift
```swift
import libwebp
```
## License ## License
libwebp is available under the BSD-3 license. See [the LICENSE file](https://github.com/webmproject/libwebp/blob/master/COPYING) for more info. libwebp is available under the BSD-3 license. See [the LICENSE file](https://github.com/webmproject/libwebp/blob/master/COPYING) for more info.