Welcome to mirror list, hosted at ThFree Co, Russian Federation.

README - github.com/mumble-voip/mumblekit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/README
blob: 00487f25c1bc74e995eb1a31612f507d447e879c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
(Last-Updated: April 7 2010)

MumbleKit - A Mumble client framework for iPhoneOS
=================================================

This is the source code of MumbleKit - a Mumble client framework
for iPhoneOS-based devices.

Mumble is gaming-focused social voice chat utility. The desktop
version runs of Windows, Mac OS X, Linux and various other Unix-like
systems. Visit its website at:

 <http://mumble.info/>

Fetching dependencies
=====================

To build this you need the iPhoneOS 3.0 SDK from Apple and an
Intel Mac running Mac OS X 10.5 or later.

Before starting your build, you will need to check out the re-
quired submodules.

 $ git submodule init
 $ git submodule update

This will fetch known "working" snapshot of CELT, Speex and
Protocol Buffers for Objective C.

Building it (Xcode.app)
=======================

To build using Xcode, simply open the MumbleKit Xcode project
(MumbleKit.xcodeproj in the root of the source tree) and press
Cmd-B to build.

Building it (command line)
=========================

To build from the command line, do something like this:

 $ xcodebuild -project MumbleKit.xcodeproj -sdk iphonesimulator3.1.3 -target MumbleKit -configuration Debug

How do I include this into my Xcode project?
============================================

The current versions of Xcode with iPhoneOS support has no built-in support for building
frameworks (only static libraries).  Therefore, the MumbleKit Xcode project uses a few shellscripts
to force Xcode into creating a framework for us.

When building for a specific platform and configuration, say Debug-iphonesimulator, the default
Xcode static library template will spit out a libMumbleKit.a library in

 ${PROJECT_DIR}/build/Debug-iphonesimulator/libMumbleKit.a

The shell scripts that run during the build process creates a iPhoneOS framework of MumbleKit in the same
directory:

 ${PROJECT_DIR}/build/Debug-iphonesimulator/MumbleKit.framework

The best way to include this into your project is to drag the MumbleKit.xcodeproj somewhere into your own
project, and add MumbleKit as a direct dependency of your own target. This will force Xcode to always build
MumbleKit. (This is needed since we want to link against the MumbleKit.framework and not the libMumbleKit.a
library)

The primary consumer of this framework, the Mumble client for iPhoneOS, does the following to
successfully link against MumbleKit:

 * Mumble for iPhoneOS includes the MumbleKit git repo via a submodule

 * The MumbleKit.xcodeproj from that submodule is then included into Mumble.xcodeproj

 * MumbleKit is added a direct dependency of the Mumble application target

 * Since MumbleKit will now be built using the same platform and configuration as the
   Mumble client itself, we can use this to determine the framework search path we
   should use to find the MumbleKit.framework. Mumble uses
   ${PROJECT_DIR}/MumbleKit/build/${CONFIGURATION}-${PLATFORM_NAME}

 * -framework MumbleKit is added both as a CFLAG and a LDFLAG

 * MumbleKit dependencies are added as linked libraries to the executable target:
     - AudioToolbox.framework
     - CFNetwork.framework
     - Security.framework

 * The build should now work.