Add support for Swift 3.0, including the swift package manager

This commit is contained in:
Rachel Brindle 2016-03-01 11:23:05 -08:00
parent 18e6d57bc1
commit f79572094f
13 changed files with 101 additions and 67 deletions

View File

@ -1,4 +1,4 @@
module ZeroMQ [system] { module CZeroMQ [system] {
header "zmq_swift.h" header "zmq_swift.h"
export * export *
} }

8
Package.swift Normal file
View File

@ -0,0 +1,8 @@
import PackageDescription
let package = Package(
name: "SwiftZMQ",
dependencies: [
.Package(url: "https://github.com/younata/CZeroMQ.git", majorVersion: 1)
]
)

View File

@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
import ZeroMQ import CZeroMQ
public func CURVEKeyPair() throws -> (publicKey: String, secretKey: String) { public func CURVEKeyPair() throws -> (publicKey: String, secretKey: String) {
var publicKey = [Int8](count: 41, repeatedValue: 0) var publicKey = [Int8](count: 41, repeatedValue: 0)

View File

@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
import ZeroMQ import CZeroMQ
public enum SocketType { public enum SocketType {
case Req case Req

View File

@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
import ZeroMQ import CZeroMQ
public struct Error : ErrorType, CustomStringConvertible { public struct Error : ErrorType, CustomStringConvertible {
public let description: String public let description: String

View File

@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
import ZeroMQ import CZeroMQ
public final class Message { public final class Message {
var message: zmq_msg_t var message: zmq_msg_t

View File

@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
import ZeroMQ import CZeroMQ
public struct PollEvent : OptionSetType { public struct PollEvent : OptionSetType {
public let rawValue: Int16 public let rawValue: Int16

View File

@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
import ZeroMQ import CZeroMQ
public func proxy(frontend: Socket, backend: Socket, capture: Socket? = nil) { public func proxy(frontend: Socket, backend: Socket, capture: Socket? = nil) {
zmq_proxy(frontend.socket, backend.socket, capture?.socket ?? nil) zmq_proxy(frontend.socket, backend.socket, capture?.socket ?? nil)

View File

@ -22,7 +22,7 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE. // SOFTWARE.
import ZeroMQ import CZeroMQ
public struct SendMode : OptionSetType { public struct SendMode : OptionSetType {
public let rawValue: Int public let rawValue: Int
@ -188,11 +188,13 @@ public struct SocketEvent : OptionSetType {
} }
extension Socket { extension Socket {
public func setAffinity(var value: UInt64) throws { public func setAffinity(value: UInt64) throws {
var value = value
try setOption(ZMQ_AFFINITY, value: &value, length: strideof(UInt64)) try setOption(ZMQ_AFFINITY, value: &value, length: strideof(UInt64))
} }
public func setBacklog(var value: Int32) throws { public func setBacklog(value: Int32) throws {
var value = value
try setOption(ZMQ_BACKLOG, value: &value, length: strideof(Int32)) try setOption(ZMQ_BACKLOG, value: &value, length: strideof(Int32))
} }
@ -207,7 +209,8 @@ extension Socket {
try setOption(ZMQ_CONFLATE, value: &v, length: strideof(Int32)) try setOption(ZMQ_CONFLATE, value: &v, length: strideof(Int32))
} }
public func setConnectTimeout(var value: Int32) throws { public func setConnectTimeout(value: Int32) throws {
var value = value
try setOption(ZMQ_CONNECT_TIMEOUT, value: &value, length: strideof(Int32)) try setOption(ZMQ_CONNECT_TIMEOUT, value: &value, length: strideof(Int32))
} }
@ -268,19 +271,23 @@ extension Socket {
} }
} }
public func setHandshakeInterval(var value: Int32) throws { public func setHandshakeInterval(value: Int32) throws {
var value = value
try setOption(ZMQ_HANDSHAKE_IVL, value: &value, length: strideof(Int32)) try setOption(ZMQ_HANDSHAKE_IVL, value: &value, length: strideof(Int32))
} }
public func setHeartbeatInterval(var value: Int32) throws { public func setHeartbeatInterval(value: Int32) throws {
var value = value
try setOption(ZMQ_HEARTBEAT_IVL, value: &value, length: strideof(Int32)) try setOption(ZMQ_HEARTBEAT_IVL, value: &value, length: strideof(Int32))
} }
public func setHeartbeatTimeout(var value: Int32) throws { public func setHeartbeatTimeout(value: Int32) throws {
var value = value
try setOption(ZMQ_HEARTBEAT_TIMEOUT, value: &value, length: strideof(Int32)) try setOption(ZMQ_HEARTBEAT_TIMEOUT, value: &value, length: strideof(Int32))
} }
public func setHeartbeatTTTL(var value: Int32) throws { public func setHeartbeatTTTL(value: Int32) throws {
var value = value
try setOption(ZMQ_HEARTBEAT_TTL, value: &value, length: strideof(Int32)) try setOption(ZMQ_HEARTBEAT_TTL, value: &value, length: strideof(Int32))
} }
@ -291,29 +298,32 @@ extension Socket {
} }
public func setImmediate(value: Bool) throws { public func setImmediate(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_IMMEDIATE, value: &v, length: strideof(Int32)) try setOption(ZMQ_IMMEDIATE, value: &value, length: strideof(Int32))
} }
public func setInvertMatching(value: Bool) throws { public func setInvertMatching(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_INVERT_MATCHING, value: &v, length: strideof(Int32)) try setOption(ZMQ_INVERT_MATCHING, value: &value, length: strideof(Int32))
} }
public func setIPV6(value: Bool) throws { public func setIPV6(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_IPV6, value: &v, length: strideof(Int32)) try setOption(ZMQ_IPV6, value: &value, length: strideof(Int32))
} }
public func setLinger(var value: Int32) throws { public func setLinger(value: Int32) throws {
var value = value
try setOption(ZMQ_LINGER, value: &value, length: strideof(Int32)) try setOption(ZMQ_LINGER, value: &value, length: strideof(Int32))
} }
public func setMaxMessageSize(var value: Int64) throws { public func setMaxMessageSize(value: Int64) throws {
var value = value
try setOption(ZMQ_MAXMSGSIZE, value: &value, length: strideof(Int64)) try setOption(ZMQ_MAXMSGSIZE, value: &value, length: strideof(Int64))
} }
public func setMulticastHops(var value: Int32) throws { public func setMulticastHops(value: Int32) throws {
var value = value
try setOption(ZMQ_MULTICAST_HOPS, value: &value, length: strideof(Int32)) try setOption(ZMQ_MULTICAST_HOPS, value: &value, length: strideof(Int32))
} }
@ -343,78 +353,88 @@ extension Socket {
} }
public func setProbeRouter(value: Bool) throws { public func setProbeRouter(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_PROBE_ROUTER, value: &v, length: strideof(Int32)) try setOption(ZMQ_PROBE_ROUTER, value: &value, length: strideof(Int32))
} }
public func setRate(var value: Int32) throws { public func setRate(value: Int32) throws {
var value = value
try setOption(ZMQ_RATE, value: &value, length: strideof(Int32)) try setOption(ZMQ_RATE, value: &value, length: strideof(Int32))
} }
public func setReceiveBuffer(var value: Int32) throws { public func setReceiveBuffer(value: Int32) throws {
var value = value
try setOption(ZMQ_RCVBUF, value: &value, length: strideof(Int32)) try setOption(ZMQ_RCVBUF, value: &value, length: strideof(Int32))
} }
public func setReceiveHighWaterMark(var value: Int32) throws { public func setReceiveHighWaterMark(value: Int32) throws {
var value = value
try setOption(ZMQ_RCVHWM, value: &value, length: strideof(Int32)) try setOption(ZMQ_RCVHWM, value: &value, length: strideof(Int32))
} }
public func setReceiveTimeout(var value: Int32) throws { public func setReceiveTimeout(value: Int32) throws {
var value = value
try setOption(ZMQ_RCVTIMEO, value: &value, length: strideof(Int32)) try setOption(ZMQ_RCVTIMEO, value: &value, length: strideof(Int32))
} }
public func setReconnectInterval(var value: Int32) throws { public func setReconnectInterval(value: Int32) throws {
var value = value
try setOption(ZMQ_RECONNECT_IVL, value: &value, length: strideof(Int32)) try setOption(ZMQ_RECONNECT_IVL, value: &value, length: strideof(Int32))
} }
public func setReconnectIntervalMax(var value: Int32) throws { public func setReconnectIntervalMax(value: Int32) throws {
var value = value
try setOption(ZMQ_RECONNECT_IVL_MAX, value: &value, length: strideof(Int32)) try setOption(ZMQ_RECONNECT_IVL_MAX, value: &value, length: strideof(Int32))
} }
public func setRecoveryInterval(var value: Int32) throws { public func setRecoveryInterval(value: Int32) throws {
var value = value
try setOption(ZMQ_RECOVERY_IVL, value: &value, length: strideof(Int32)) try setOption(ZMQ_RECOVERY_IVL, value: &value, length: strideof(Int32))
} }
public func setReqCorrelate(value: Bool) throws { public func setReqCorrelate(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_REQ_CORRELATE, value: &v, length: strideof(Int32)) try setOption(ZMQ_REQ_CORRELATE, value: &value, length: strideof(Int32))
} }
public func setReqRelaxed(value: Bool) throws { public func setReqRelaxed(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_REQ_RELAXED, value: &v, length: strideof(Int32)) try setOption(ZMQ_REQ_RELAXED, value: &value, length: strideof(Int32))
} }
public func setRouterHandover(value: Bool) throws { public func setRouterHandover(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_ROUTER_HANDOVER, value: &v, length: strideof(Int32)) try setOption(ZMQ_ROUTER_HANDOVER, value: &value, length: strideof(Int32))
} }
public func setRouterMandatory(value: Bool) throws { public func setRouterMandatory(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_ROUTER_MANDATORY, value: &v, length: strideof(Int32)) try setOption(ZMQ_ROUTER_MANDATORY, value: &value, length: strideof(Int32))
} }
public func setRouterRaw(value: Bool) throws { public func setRouterRaw(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_ROUTER_RAW, value: &v, length: strideof(Int32)) try setOption(ZMQ_ROUTER_RAW, value: &value, length: strideof(Int32))
} }
public func setSendBuffer(var value: Int32) throws { public func setSendBuffer(value: Int32) throws {
var value = value
try setOption(ZMQ_SNDBUF, value: &value, length: strideof(Int32)) try setOption(ZMQ_SNDBUF, value: &value, length: strideof(Int32))
} }
public func setSendHighWaterMark(var value: Int32) throws { public func setSendHighWaterMark(value: Int32) throws {
var value = value
try setOption(ZMQ_SNDHWM, value: &value, length: strideof(Int32)) try setOption(ZMQ_SNDHWM, value: &value, length: strideof(Int32))
} }
public func setSendTimeout(var value: Int32) throws { public func setSendTimeout(value: Int32) throws {
var value = value
try setOption(ZMQ_SNDTIMEO, value: &value, length: strideof(Int32)) try setOption(ZMQ_SNDTIMEO, value: &value, length: strideof(Int32))
} }
public func setStreamNotify(value: Bool) throws { public func setStreamNotify(value: Bool) throws {
var v = value ? 1 : 0 var value = value ? 1 : 0
try setOption(ZMQ_STREAM_NOTIFY, value: &v, length: strideof(Int32)) try setOption(ZMQ_STREAM_NOTIFY, value: &value, length: strideof(Int32))
} }
public func setSubscribe(value: String) throws { public func setSubscribe(value: String) throws {
@ -423,19 +443,23 @@ extension Socket {
} }
} }
public func setTCPKeepAlive(var value: Int32) throws { public func setTCPKeepAlive(value: Int32) throws {
var value = value
try setOption(ZMQ_TCP_KEEPALIVE, value: &value, length: strideof(Int32)) try setOption(ZMQ_TCP_KEEPALIVE, value: &value, length: strideof(Int32))
} }
public func setTCPKeepAliveCount(var value: Int32) throws { public func setTCPKeepAliveCount(value: Int32) throws {
var value = value
try setOption(ZMQ_TCP_KEEPALIVE_CNT, value: &value, length: strideof(Int32)) try setOption(ZMQ_TCP_KEEPALIVE_CNT, value: &value, length: strideof(Int32))
} }
public func setTCPKeepAliveIdle(var value: Int32) throws { public func setTCPKeepAliveIdle(value: Int32) throws {
var value = value
try setOption(ZMQ_TCP_KEEPALIVE_IDLE, value: &value, length: strideof(Int32)) try setOption(ZMQ_TCP_KEEPALIVE_IDLE, value: &value, length: strideof(Int32))
} }
public func setTCPKeepAliveInterval(var value: Int32) throws { public func setTCPKeepAliveInterval(value: Int32) throws {
var value = value
try setOption(ZMQ_TCP_KEEPALIVE_INTVL, value: &value, length: strideof(Int32)) try setOption(ZMQ_TCP_KEEPALIVE_INTVL, value: &value, length: strideof(Int32))
} }
@ -443,7 +467,8 @@ extension Socket {
// try setOption(ZMQ_TCP_RETRANSMIT_TIMEOUT, value: &value, length: strideof(Int32)) // try setOption(ZMQ_TCP_RETRANSMIT_TIMEOUT, value: &value, length: strideof(Int32))
// } // }
public func setTypeOfService(var value: Int32) throws { public func setTypeOfService(value: Int32) throws {
var value = value
try setOption(ZMQ_TOS, value: &value, length: strideof(Int32)) try setOption(ZMQ_TOS, value: &value, length: strideof(Int32))
} }
@ -832,7 +857,8 @@ extension SecurityMechanism {
} }
extension Socket { extension Socket {
public func send(var buffer: [Int8], mode: SendMode = []) throws -> Bool { public func send(buffer: [Int8], mode: SendMode = []) throws -> Bool {
var buffer = buffer
return try send(&buffer, length: buffer.count, mode: mode) return try send(&buffer, length: buffer.count, mode: mode)
} }

View File

@ -115,8 +115,8 @@
children = ( children = (
53C76A2F1C4EE1FE00F0357B /* libc++.tbd */, 53C76A2F1C4EE1FE00F0357B /* libc++.tbd */,
B00ED9FA1BD8A2D900BBBBAE /* Dependencies */, B00ED9FA1BD8A2D900BBBBAE /* Dependencies */,
B00EDA351BDDD1FA00BBBBAE /* SwiftZMQ */, B00EDA351BDDD1FA00BBBBAE /* Sources */,
B00EDA3F1BDDD1FB00BBBBAE /* SwiftZMQTests */, B00EDA3F1BDDD1FB00BBBBAE /* Tests */,
B00ED9E11BD8A2CD00BBBBAE /* Products */, B00ED9E11BD8A2CD00BBBBAE /* Products */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
@ -150,7 +150,7 @@
path = Dependencies/zeromq; path = Dependencies/zeromq;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
B00EDA351BDDD1FA00BBBBAE /* SwiftZMQ */ = { B00EDA351BDDD1FA00BBBBAE /* Sources */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
B00EDA361BDDD1FB00BBBBAE /* Context.swift */, B00EDA361BDDD1FB00BBBBAE /* Context.swift */,
@ -162,16 +162,16 @@
B00EDA371BDDD1FB00BBBBAE /* CURVE.swift */, B00EDA371BDDD1FB00BBBBAE /* CURVE.swift */,
B00EDA391BDDD1FB00BBBBAE /* Info.plist */, B00EDA391BDDD1FB00BBBBAE /* Info.plist */,
); );
path = SwiftZMQ; path = Sources;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
B00EDA3F1BDDD1FB00BBBBAE /* SwiftZMQTests */ = { B00EDA3F1BDDD1FB00BBBBAE /* Tests */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
B00EDA401BDDD1FB00BBBBAE /* Info.plist */, B00EDA401BDDD1FB00BBBBAE /* Info.plist */,
B00EDA411BDDD1FB00BBBBAE /* ZMQTests.swift */, B00EDA411BDDD1FB00BBBBAE /* ZMQTests.swift */,
); );
path = SwiftZMQTests; path = Tests;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
/* End PBXGroup section */ /* End PBXGroup section */
@ -407,7 +407,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_VERSION = A; FRAMEWORK_VERSION = A;
INFOPLIST_FILE = SwiftZMQ/Info.plist; INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
@ -442,7 +442,7 @@
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = NO; ENABLE_BITCODE = NO;
FRAMEWORK_VERSION = A; FRAMEWORK_VERSION = A;
INFOPLIST_FILE = SwiftZMQ/Info.plist; INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 8.0; IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
@ -563,7 +563,7 @@
DYLIB_CURRENT_VERSION = 1; DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_VERSION = A; FRAMEWORK_VERSION = A;
INFOPLIST_FILE = SwiftZMQ/Info.plist; INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = ( LIBRARY_SEARCH_PATHS = (
@ -596,7 +596,7 @@
DYLIB_CURRENT_VERSION = 1; DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_VERSION = A; FRAMEWORK_VERSION = A;
INFOPLIST_FILE = SwiftZMQ/Info.plist; INFOPLIST_FILE = Sources/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = ( LIBRARY_SEARCH_PATHS = (
@ -621,7 +621,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = SwiftZMQ/Info.plist; INFOPLIST_FILE = Sources/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.zewo.SwiftZMQTests; PRODUCT_BUNDLE_IDENTIFIER = com.zewo.SwiftZMQTests;
@ -633,7 +633,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
INFOPLIST_FILE = SwiftZMQ/Info.plist; INFOPLIST_FILE = Sources/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_BUNDLE_IDENTIFIER = com.zewo.SwiftZMQTests; PRODUCT_BUNDLE_IDENTIFIER = com.zewo.SwiftZMQTests;