Skip to content

Commit e8299f4

Browse files
committed
Added Xcode project that builds libwebp as a framework for all 4 platforms + small macos command line example
+ gitignore, readme, travis CI script
1 parent f71b9dd commit e8299f4

File tree

8 files changed

+1364
-0
lines changed

8 files changed

+1364
-0
lines changed

.gitignore

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Xcode
2+
#
3+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4+
5+
## Build generated
6+
build/
7+
DerivedData/
8+
9+
## Various settings
10+
*.pbxuser
11+
!default.pbxuser
12+
*.mode1v3
13+
!default.mode1v3
14+
*.mode2v3
15+
!default.mode2v3
16+
*.perspectivev3
17+
!default.perspectivev3
18+
xcuserdata/
19+
20+
## Other
21+
*.moved-aside
22+
*.xccheckout
23+
*.xcscmblueprint
24+
25+
## Obj-C/Swift specific
26+
*.hmap
27+
*.ipa
28+
*.dSYM.zip
29+
*.dSYM
30+
31+
# CocoaPods
32+
#
33+
# We recommend against adding the Pods directory to your .gitignore. However
34+
# you should judge for yourself, the pros and cons are mentioned at:
35+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
36+
#
37+
# Pods/
38+
#
39+
# Add this line if you want to avoid checking in source code from the Xcode workspace
40+
# *.xcworkspace
41+
42+
# Carthage
43+
#
44+
# Add this line if you want to avoid checking in source code from Carthage dependencies.
45+
# Carthage/Checkouts
46+
47+
Carthage/Build
48+
49+
# fastlane
50+
#
51+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
52+
# screenshots whenever they are needed.
53+
# For more information about the recommended setup visit:
54+
# https://docs.fastlane.tools/best-practices/source-control/#source-control
55+
56+
fastlane/report.xml
57+
fastlane/Preview.html
58+
fastlane/screenshots/**/*.png
59+
fastlane/test_output
60+
61+
# Code Injection
62+
#
63+
# After new code Injection tools there's a generated folder /iOSInjectionProject
64+
# https://github.com/johnno1962/injectionforxcode
65+
66+
iOSInjectionProject/

.travis.yml

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
language: objective-c
3+
osx_image: xcode9.4
4+
5+
env:
6+
global:
7+
- LC_CTYPE=en_US.UTF-8
8+
- LANG=en_US.UTF-8
9+
10+
notifications:
11+
email: false
12+
13+
before_install:
14+
- env
15+
- locale
16+
- gem install xcpretty --no-rdoc --no-ri --no-document --quiet
17+
- xcpretty --version
18+
- xcodebuild -version
19+
- xcodebuild -showsdks
20+
21+
script:
22+
- set -o pipefail
23+
24+
- echo Build the framework
25+
- xcodebuild clean build -scheme 'libwebp' -sdk macosx -configuration Debug | xcpretty -c
26+
- xcodebuild clean build -scheme 'libwebp' -sdk iphonesimulator PLATFORM_NAME=iphonesimulator -configuration Debug | xcpretty -c
27+
- xcodebuild clean build -scheme 'libwebp' -sdk appletvsimulator -configuration Debug | xcpretty -c
28+
- xcodebuild clean build -scheme 'libwebp' -sdk watchsimulator -configuration Debug | xcpretty -c
29+
30+
- echo Build the example app
31+
- xcodebuild build -scheme 'libwebpExample' -sdk macosx -configuration Debug | xcpretty -c

README.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# libwebp + Xcode
2+
3+
A wrapper for [libwebp](https://github.com/webmproject/libwebp) + Xcode project.
4+
This enables Carthage support
5+
6+
[![CI Status](http://img.shields.io/travis/SDWebImage/libwebp-Xcode.svg?style=flat)](https://travis-ci.org/SDWebImage/libwebp-Xcode)
7+
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/SDWebImage/libwebp-Xcode)
8+
9+
## Requirements
10+
11+
+ iOS 8
12+
+ macOS 10.6
13+
+ tvOS 9.0
14+
+ watchOS 2.0
15+
16+
## Installation
17+
18+
libwebp is (via this repo) available through [Carthage](https://github.com/Carthage/Carthage).
19+
20+
```
21+
github "SDWebImage/libwebp-Xcode"
22+
```
23+
24+
## Usage
25+
26+
Use libwebp as you would normally, this is just a repo that adds an Xcode proj.
27+
28+
## License
29+
30+
libwebp is available under the BSD-3 license. See [the LICENSE file](https://github.com/webmproject/libwebp/blob/master/COPYING) for more info.

Xcode/Info.plist

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>$(DEVELOPMENT_LANGUAGE)</string>
7+
<key>CFBundleExecutable</key>
8+
<string>$(EXECUTABLE_NAME)</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>$(PRODUCT_NAME)</string>
15+
<key>CFBundlePackageType</key>
16+
<string>FMWK</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>0.6.1</string>
19+
<key>CFBundleVersion</key>
20+
<string>$(CURRENT_PROJECT_VERSION)</string>
21+
<key>NSPrincipalClass</key>
22+
<string></string>
23+
</dict>
24+
</plist>

Xcode/libwebp.h

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//
2+
// libwebp.h
3+
// libwebp
4+
//
5+
// Created by Bogdan Poplauschi on 28/08/2018.
6+
// Copyright © 2018 SDWebImage. All rights reserved.
7+
//
8+
9+
#import <Foundation/Foundation.h>
10+
11+
//! Project version number for libwebp.
12+
FOUNDATION_EXPORT double libwebpVersionNumber;
13+
14+
//! Project version string for libwebp.
15+
FOUNDATION_EXPORT const unsigned char libwebpVersionString[];
16+
17+
// In this header, you should import all the public headers of your framework using statements like #import <libwebp/PublicHeader.h>
18+
19+
#import <libwebp/decode.h>
20+
#import <libwebp/demux.h>
21+
#import <libwebp/encode.h>
22+
#import <libwebp/format_constants.h>
23+
#import <libwebp/mux.h>
24+
#import <libwebp/mux_types.h>
25+
#import <libwebp/types.h>

0 commit comments

Comments
 (0)