diff --git a/README.md b/README.md index 51be4759..3c88df19 100644 --- a/README.md +++ b/README.md @@ -9,17 +9,6 @@ A pure [Swift][1.1] framework wrapping [SQLite3][1.2]. [1.3]: https://github.com/stephencelis/SQLite.swift -## Features - - - A lightweight, uncomplicated query and parameter binding interface - - A flexible, chainable query builder - - Safe, automatically-typed data access - - Transactions with implicit commit/rollback - - Developer-friendly error handling and debugging - - Well-documented - - Extensively tested - - ## Usage Explore interactively from the Xcode project’s playground. @@ -57,38 +46,22 @@ for row in db.prepare("SELECT id, email FROM users") { db.scalar("SELECT count(*) FROM users") // {Some 2} -let jr = db.prepare("INSERT INTO users (email, manager_id) VALUES (?, ?)") +let jr = db.prepare("INSERT INTO users (email, manager_id) VALUES (? ?)") db.transaction( stmt.run("dolly@example.com"), jr.run("emery@example.com", db.lastID) ) ``` -SQLite.swift also exposes a powerful query building interface. -``` swift -let products = db["products"] - -let available = products.filter("quantity > ?", 0).order("name").limit(5) -for product in available { - println(product["name"]) -} -// SELECT * FROM products WHERE quantity > 0 ORDER BY name LIMIT 5 - -products.count // SELECT count(*) FROM products -products.average("price") // SELECT avg(price) FROM products - -if let id = products.insert(["name": "Sprocket", "price": 19.99]) { - println("inserted \(id)") -} -// INSERT INTO products (name, price) VALUES ('Sprocket', 19.99) - -let updates: Int = products.filter(["id": id]).update(["quantity": 20]) -// UPDATE products SET quantity = 20 WHERE id = 42 +## Features -let deletes: Int = products.filter(["quantity": 0]).delete() -// DELETE FROM products WHERE quantity = 0 -``` + - Uncomplicated query and parameter binding interface + - Safe, automatically-typed data access + - Implicit commit/rollback interface + - Developer-friendly error handling and debugging + - Well-documented + - Extensively tested ## Installation diff --git a/SQLite Common/Query.swift b/SQLite Common/Query.swift index 41998bd4..5692e9da 100644 --- a/SQLite Common/Query.swift +++ b/SQLite Common/Query.swift @@ -21,11 +21,8 @@ // THE SOFTWARE. // -/// A dictionary mapping column names to values. -public typealias Values = [String: Datatype?] - -/// A query object. Used to build SQL statements with a collection of chainable -/// helper functions. +/// A query object. Used to build SQL statements using a collection of +/// chainable helper functions. public struct Query { private var database: Database @@ -319,7 +316,7 @@ public struct Query { return database.prepare(Swift.join(" ", parts), bindings) } - private func insertStatement(values: Values) -> Statement { + private func insertStatement(values: [String: Datatype?]) -> Statement { var (parts, bindings) = (["INSERT INTO \(tableName)"], self.bindings) let valuesClause = Swift.join(", ", map(values) { columnName, value in bindings.append(value) @@ -330,7 +327,7 @@ public struct Query { return database.prepare(Swift.join(" ", parts), bindings) } - private func updateStatement(values: Values) -> Statement { + private func updateStatement(values: [String: Datatype?]) -> Statement { var (parts, bindings) = (["UPDATE \(tableName)"], [Datatype?]()) let valuesClause = Swift.join(", ", map(values) { columnName, value in bindings.append(value) @@ -388,11 +385,13 @@ public struct Query { // MARK: - Array + public typealias Element = [String: Datatype?] + /// The first result (or nil if the query has no results). - public var first: Values? { return limit(1).generate().next() } + public var first: Element? { return limit(1).generate().next() } /// The last result (or nil if the query has no results). - public var last: Values? { return reverse(self).first } + public var last: Element? { return reverse(self).first } /// Returns true if the query has no results. public var isEmpty: Bool { return first == nil } @@ -404,21 +403,25 @@ public struct Query { /// :param: values A dictionary of column names to values. /// /// :returns: The statement. - public func insert(values: Values) -> Statement { return insert(values).statement } + public func insert(values: [String: Datatype?]) -> Statement { + return insert(values).statement + } /// Runs an INSERT statement with the given row of values. /// /// :param: values A dictionary of column names to values. /// /// :returns: The row ID. - public func insert(values: Values) -> Int? { return insert(values).ID } + public func insert(values: [String: Datatype?]) -> Int? { + return insert(values).ID + } /// Runs an INSERT statement with the given row of values. /// /// :param: values A dictionary of column names to values. /// /// :returns: The row ID and statement. - public func insert(values: Values) -> (ID: Int?, statement: Statement) { + public func insert(values: [String: Datatype?]) -> (ID: Int?, statement: Statement) { let statement = insertStatement(values).run() return (statement.failed ? nil : database.lastID, statement) } @@ -428,21 +431,25 @@ public struct Query { /// :param: values A dictionary of column names to values. /// /// :returns: The statement. - public func update(values: Values) -> Statement { return update(values).statement } + public func update(values: [String: Datatype?]) -> Statement { + return update(values).statement + } /// Runs an UPDATE statement against the query with the given values. /// /// :param: values A dictionary of column names to values. /// /// :returns: The number of updated rows. - public func update(values: Values) -> Int { return update(values).changes } + public func update(values: [String: Datatype?]) -> Int { + return update(values).changes + } /// Runs an UPDATE statement against the query with the given values. /// /// :param: values A dictionary of column names to values. /// /// :returns: The number of updated rows and statement. - public func update(values: Values) -> (changes: Int, statement: Statement) { + public func update(values: [String: Datatype?]) -> (changes: Int, statement: Statement) { let statement = updateStatement(values).run() return (statement.failed ? 0 : database.lastChanges ?? 0, statement) } @@ -450,12 +457,16 @@ public struct Query { /// Runs an DELETE statement against the query. /// /// :returns: The statement. - public func delete() -> Statement { return delete().statement } + public func delete() -> Statement { + return delete().statement + } /// Runs an DELETE statement against the query. /// /// :returns: The number of deleted rows. - public func delete() -> Int { return delete().changes } + public func delete() -> Int { + return delete().changes + } /// Runs an DELETE statement against the query. /// @@ -541,11 +552,13 @@ extension Query: SequenceType { // MARK: - GeneratorType public struct QueryGenerator: GeneratorType { + public typealias Element = [String: Datatype?] + private var statement: Statement private init(_ statement: Statement) { self.statement = statement } - public func next() -> Values? { + public func next() -> Element? { statement.next() return statement.values } diff --git a/SQLite Common/SQLite Common.xcconfig b/SQLite Common/SQLite Common.xcconfig index 59ecb556..d0612097 100644 --- a/SQLite Common/SQLite Common.xcconfig +++ b/SQLite Common/SQLite Common.xcconfig @@ -1,3 +1,2 @@ PRODUCT_NAME = SQLite -PRODUCT_VERSION = 0.1 -SWIFT_OBJC_BRIDGING_HEADER = SQLite Common/SQLite-Bridging-Header.h +PRODUCT_VERSION = 0.1 \ No newline at end of file diff --git a/SQLite Mac/SQLite Mac.h b/SQLite Mac/SQLite Mac.h deleted file mode 100644 index 644566b7..00000000 --- a/SQLite Mac/SQLite Mac.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// SQLite Mac.h -// Copyright (c) 2014 Stephen Celis. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import - -//! Project version number for SQLite Mac. -FOUNDATION_EXPORT double SQLite_MacVersionNumber; - -//! Project version string for SQLite Mac. -FOUNDATION_EXPORT const unsigned char SQLite_MacVersionString[]; diff --git a/SQLite iOS Tests/Info.plist b/SQLite iOS Tests/Info.plist deleted file mode 100644 index 00b831da..00000000 --- a/SQLite iOS Tests/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - com.stephencelis.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/SQLite iOS/Info.plist b/SQLite iOS/Info.plist deleted file mode 100644 index 90847597..00000000 --- a/SQLite iOS/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - com.stephencelis.$(PRODUCT_NAME:rfc1034identifier) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - $(PRODUCT_VERSION) - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2014 Stephen Celis. - NSPrincipalClass - - - diff --git a/SQLite iOS/SQLite iOS.h b/SQLite iOS/SQLite iOS.h deleted file mode 100644 index c295dddf..00000000 --- a/SQLite iOS/SQLite iOS.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// SQLite iOS.h -// Copyright (c) 2014 Stephen Celis. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. -// - -#import - -//! Project version number for SQLite iOS. -FOUNDATION_EXPORT double SQLite_iOSVersionNumber; - -//! Project version string for SQLite iOS. -FOUNDATION_EXPORT const unsigned char SQLite_iOSVersionString[]; diff --git a/SQLite.xcodeproj/project.pbxproj b/SQLite.xcodeproj/project.pbxproj index d75fa8eb..d08579a5 100644 --- a/SQLite.xcodeproj/project.pbxproj +++ b/SQLite.xcodeproj/project.pbxproj @@ -7,73 +7,45 @@ objects = { /* Begin PBXBuildFile section */ - DC0FA83219D87CA3009F3A35 /* SQLite-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = DC0FA83119D87CA3009F3A35 /* SQLite-Bridging-Header.h */; settings = {ATTRIBUTES = (Private, ); }; }; - DC0FA83319D87CA3009F3A35 /* SQLite-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = DC0FA83119D87CA3009F3A35 /* SQLite-Bridging-Header.h */; settings = {ATTRIBUTES = (Private, ); }; }; - DC0FA83719D87E0C009F3A35 /* SQLite-Bridging.c in Sources */ = {isa = PBXBuildFile; fileRef = DC0FA83519D87E0C009F3A35 /* SQLite-Bridging.c */; }; - DC0FA83819D87E0C009F3A35 /* SQLite-Bridging.c in Sources */ = {isa = PBXBuildFile; fileRef = DC0FA83519D87E0C009F3A35 /* SQLite-Bridging.c */; }; - DC0FA83919D87E0C009F3A35 /* SQLite-Bridging.h in Headers */ = {isa = PBXBuildFile; fileRef = DC0FA83619D87E0C009F3A35 /* SQLite-Bridging.h */; settings = {ATTRIBUTES = (Private, ); }; }; - DC0FA83A19D87E0C009F3A35 /* SQLite-Bridging.h in Headers */ = {isa = PBXBuildFile; fileRef = DC0FA83619D87E0C009F3A35 /* SQLite-Bridging.h */; settings = {ATTRIBUTES = (Private, ); }; }; - DC3773F919C8CBB3004FCF85 /* SQLite iOS.h in Headers */ = {isa = PBXBuildFile; fileRef = DC3773F819C8CBB3004FCF85 /* SQLite iOS.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DC3773FF19C8CBB3004FCF85 /* SQLite.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC3773F319C8CBB3004FCF85 /* SQLite.framework */; }; - DC37741919C8CC2F004FCF85 /* SQLite Mac.h in Headers */ = {isa = PBXBuildFile; fileRef = DC37741819C8CC2F004FCF85 /* SQLite Mac.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DC37741F19C8CC2F004FCF85 /* SQLite.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC37741419C8CC2F004FCF85 /* SQLite.framework */; }; - DC37743519C8D626004FCF85 /* Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743419C8D626004FCF85 /* Database.swift */; }; - DC37743619C8D626004FCF85 /* Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743419C8D626004FCF85 /* Database.swift */; }; - DC37743819C8D693004FCF85 /* Datatype.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743719C8D693004FCF85 /* Datatype.swift */; }; - DC37743919C8D693004FCF85 /* Datatype.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743719C8D693004FCF85 /* Datatype.swift */; }; - DC37743B19C8D6C0004FCF85 /* Statement.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743A19C8D6C0004FCF85 /* Statement.swift */; }; - DC37743C19C8D6C0004FCF85 /* Statement.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743A19C8D6C0004FCF85 /* Statement.swift */; }; - DC37744319C8DC91004FCF85 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DC37744219C8DC91004FCF85 /* libsqlite3.dylib */; }; - DC37744519C8DCA1004FCF85 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = DC37744419C8DCA1004FCF85 /* libsqlite3.dylib */; }; - DCAD429719E2E0F1004A51DF /* Query.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCAD429619E2E0F1004A51DF /* Query.swift */; }; - DCAD429819E2E0F1004A51DF /* Query.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCAD429619E2E0F1004A51DF /* Query.swift */; }; - DCAD429A19E2EE50004A51DF /* QueryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCAD429919E2EE50004A51DF /* QueryTests.swift */; }; - DCAD429B19E2EE50004A51DF /* QueryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCAD429919E2EE50004A51DF /* QueryTests.swift */; }; - DCF37F8219DDAC2D001534AA /* DatabaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8119DDAC2D001534AA /* DatabaseTests.swift */; }; - DCF37F8319DDAC2D001534AA /* DatabaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8119DDAC2D001534AA /* DatabaseTests.swift */; }; - DCF37F8519DDAF3F001534AA /* StatementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8419DDAF3F001534AA /* StatementTests.swift */; }; - DCF37F8619DDAF3F001534AA /* StatementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8419DDAF3F001534AA /* StatementTests.swift */; }; - DCF37F8819DDAF79001534AA /* TestHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8719DDAF79001534AA /* TestHelper.swift */; }; - DCF37F8919DDAF79001534AA /* TestHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8719DDAF79001534AA /* TestHelper.swift */; }; + 7E37A81419ECD0B800AE251A /* SQLite.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E37A80919ECD0B800AE251A /* SQLite.framework */; }; + 7E37A82219ECD0FE00AE251A /* TestHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8719DDAF79001534AA /* TestHelper.swift */; }; + 7E37A82319ECD0FE00AE251A /* DatabaseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8119DDAC2D001534AA /* DatabaseTests.swift */; }; + 7E37A82419ECD0FE00AE251A /* StatementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCF37F8419DDAF3F001534AA /* StatementTests.swift */; }; + 7E37A82519ECD0FE00AE251A /* QueryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCAD429919E2EE50004A51DF /* QueryTests.swift */; }; + 7E37A82619ECD10400AE251A /* SQLite-Bridging-Header.h in Headers */ = {isa = PBXBuildFile; fileRef = DC0FA83119D87CA3009F3A35 /* SQLite-Bridging-Header.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 7E37A82719ECD10400AE251A /* SQLite-Bridging.h in Headers */ = {isa = PBXBuildFile; fileRef = DC0FA83619D87E0C009F3A35 /* SQLite-Bridging.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 7E37A82819ECD10400AE251A /* SQLite-Bridging.c in Sources */ = {isa = PBXBuildFile; fileRef = DC0FA83519D87E0C009F3A35 /* SQLite-Bridging.c */; }; + 7E37A82919ECD11000AE251A /* Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743419C8D626004FCF85 /* Database.swift */; }; + 7E37A82A19ECD11000AE251A /* Datatype.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743719C8D693004FCF85 /* Datatype.swift */; }; + 7E37A82B19ECD11000AE251A /* Query.swift in Sources */ = {isa = PBXBuildFile; fileRef = DCAD429619E2E0F1004A51DF /* Query.swift */; }; + 7E37A82C19ECD11000AE251A /* Statement.swift in Sources */ = {isa = PBXBuildFile; fileRef = DC37743A19C8D6C0004FCF85 /* Statement.swift */; }; + 7EB9507319ECD4A80083967A /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EB9507219ECD4A80083967A /* libsqlite3.dylib */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - DC37740019C8CBB3004FCF85 /* PBXContainerItemProxy */ = { + 7E37A81519ECD0B800AE251A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = DC3773EA19C8CBB3004FCF85 /* Project object */; proxyType = 1; - remoteGlobalIDString = DC3773F219C8CBB3004FCF85; - remoteInfo = "SQLite iOS"; - }; - DC37742019C8CC2F004FCF85 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = DC3773EA19C8CBB3004FCF85 /* Project object */; - proxyType = 1; - remoteGlobalIDString = DC37741319C8CC2F004FCF85; - remoteInfo = "SQLite Mac"; + remoteGlobalIDString = 7E37A80819ECD0B800AE251A; + remoteInfo = SQLite; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 7E37A80919ECD0B800AE251A /* SQLite.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SQLite.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7E37A80C19ECD0B800AE251A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7E37A80D19ECD0B800AE251A /* SQLite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SQLite.h; sourceTree = ""; }; + 7E37A81319ECD0B800AE251A /* SQLiteTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SQLiteTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 7E37A81919ECD0B800AE251A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7EB9507219ECD4A80083967A /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; DC0FA83119D87CA3009F3A35 /* SQLite-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SQLite-Bridging-Header.h"; sourceTree = ""; }; DC0FA83519D87E0C009F3A35 /* SQLite-Bridging.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "SQLite-Bridging.c"; sourceTree = ""; }; DC0FA83619D87E0C009F3A35 /* SQLite-Bridging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "SQLite-Bridging.h"; sourceTree = ""; }; - DC3773F319C8CBB3004FCF85 /* SQLite.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SQLite.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DC3773F719C8CBB3004FCF85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DC3773F819C8CBB3004FCF85 /* SQLite iOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SQLite iOS.h"; sourceTree = ""; }; - DC3773FE19C8CBB3004FCF85 /* SQLite iOS Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SQLite iOS Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - DC37740419C8CBB3004FCF85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DC37741419C8CC2F004FCF85 /* SQLite.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SQLite.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DC37741719C8CC2F004FCF85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DC37741819C8CC2F004FCF85 /* SQLite Mac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SQLite Mac.h"; sourceTree = ""; }; - DC37741E19C8CC2F004FCF85 /* SQLite Mac Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "SQLite Mac Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - DC37742419C8CC2F004FCF85 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "SQLite Common.xcconfig"; sourceTree = ""; }; DC37743419C8D626004FCF85 /* Database.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Database.swift; sourceTree = ""; }; DC37743719C8D693004FCF85 /* Datatype.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Datatype.swift; sourceTree = ""; }; DC37743A19C8D6C0004FCF85 /* Statement.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Statement.swift; sourceTree = ""; }; - DC37744219C8DC91004FCF85 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; }; - DC37744419C8DCA1004FCF85 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/lib/libsqlite3.dylib; sourceTree = DEVELOPER_DIR; }; DC37744719C8F50B004FCF85 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; DCAAE66D19D8A71B00158FEF /* SQLite.playground */ = {isa = PBXFileReference; lastKnownFileType = file.playground; path = SQLite.playground; sourceTree = ""; }; DCAD429619E2E0F1004A51DF /* Query.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Query.swift; sourceTree = ""; }; @@ -84,41 +56,59 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - DC3773EF19C8CBB3004FCF85 /* Frameworks */ = { + 7E37A80519ECD0B800AE251A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DC37744319C8DC91004FCF85 /* libsqlite3.dylib in Frameworks */, + 7EB9507319ECD4A80083967A /* libsqlite3.dylib in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DC3773FB19C8CBB3004FCF85 /* Frameworks */ = { + 7E37A81019ECD0B800AE251A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - DC3773FF19C8CBB3004FCF85 /* SQLite.framework in Frameworks */, + 7E37A81419ECD0B800AE251A /* SQLite.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - DC37741019C8CC2F004FCF85 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - DC37744519C8DCA1004FCF85 /* libsqlite3.dylib in Frameworks */, +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 7E37A80A19ECD0B800AE251A /* SQLite */ = { + isa = PBXGroup; + children = ( + 7E37A80D19ECD0B800AE251A /* SQLite.h */, + 7E37A80B19ECD0B800AE251A /* Supporting Files */, + 7E37A81719ECD0B800AE251A /* SQLiteTests */, ); - runOnlyForDeploymentPostprocessing = 0; + path = SQLite; + sourceTree = ""; }; - DC37741B19C8CC2F004FCF85 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - DC37741F19C8CC2F004FCF85 /* SQLite.framework in Frameworks */, + 7E37A80B19ECD0B800AE251A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 7E37A80C19ECD0B800AE251A /* Info.plist */, ); - runOnlyForDeploymentPostprocessing = 0; + name = "Supporting Files"; + sourceTree = ""; + }; + 7E37A81719ECD0B800AE251A /* SQLiteTests */ = { + isa = PBXGroup; + children = ( + 7E37A81819ECD0B800AE251A /* Supporting Files */, + ); + path = SQLiteTests; + sourceTree = SOURCE_ROOT; + }; + 7E37A81819ECD0B800AE251A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 7E37A81919ECD0B800AE251A /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ DC0FA83419D87DE3009F3A35 /* Bridging */ = { isa = PBXGroup; children = ( @@ -144,8 +134,7 @@ DC10501319C906AD00D8CA30 /* Targets */ = { isa = PBXGroup; children = ( - DC3773F519C8CBB3004FCF85 /* SQLite iOS */, - DC37741519C8CC2F004FCF85 /* SQLite Mac */, + 7E37A80A19ECD0B800AE251A /* SQLite */, ); name = Targets; sourceTree = ""; @@ -159,90 +148,19 @@ DC10500F19C904DD00D8CA30 /* SQLite Tests */, DC10501319C906AD00D8CA30 /* Targets */, DC3773F419C8CBB3004FCF85 /* Products */, + 7EB9507219ECD4A80083967A /* libsqlite3.dylib */, ); sourceTree = ""; }; DC3773F419C8CBB3004FCF85 /* Products */ = { isa = PBXGroup; children = ( - DC3773F319C8CBB3004FCF85 /* SQLite.framework */, - DC3773FE19C8CBB3004FCF85 /* SQLite iOS Tests.xctest */, - DC37741419C8CC2F004FCF85 /* SQLite.framework */, - DC37741E19C8CC2F004FCF85 /* SQLite Mac Tests.xctest */, + 7E37A80919ECD0B800AE251A /* SQLite.framework */, + 7E37A81319ECD0B800AE251A /* SQLiteTests.xctest */, ); name = Products; sourceTree = ""; }; - DC3773F519C8CBB3004FCF85 /* SQLite iOS */ = { - isa = PBXGroup; - children = ( - DC3773F819C8CBB3004FCF85 /* SQLite iOS.h */, - DC3773F619C8CBB3004FCF85 /* Supporting Files */, - DC37744219C8DC91004FCF85 /* libsqlite3.dylib */, - DC37740219C8CBB3004FCF85 /* SQLite iOS Tests */, - ); - path = "SQLite iOS"; - sourceTree = ""; - }; - DC3773F619C8CBB3004FCF85 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - DC3773F719C8CBB3004FCF85 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - DC37740219C8CBB3004FCF85 /* SQLite iOS Tests */ = { - isa = PBXGroup; - children = ( - DC37740319C8CBB3004FCF85 /* Supporting Files */, - ); - path = "SQLite iOS Tests"; - sourceTree = SOURCE_ROOT; - }; - DC37740319C8CBB3004FCF85 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - DC37740419C8CBB3004FCF85 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - DC37741519C8CC2F004FCF85 /* SQLite Mac */ = { - isa = PBXGroup; - children = ( - DC37741819C8CC2F004FCF85 /* SQLite Mac.h */, - DC37741619C8CC2F004FCF85 /* Supporting Files */, - DC37744419C8DCA1004FCF85 /* libsqlite3.dylib */, - DC37742219C8CC2F004FCF85 /* SQLite Mac Tests */, - ); - path = "SQLite Mac"; - sourceTree = ""; - }; - DC37741619C8CC2F004FCF85 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - DC37741719C8CC2F004FCF85 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - DC37742219C8CC2F004FCF85 /* SQLite Mac Tests */ = { - isa = PBXGroup; - children = ( - DC37742319C8CC2F004FCF85 /* Supporting Files */, - ); - path = "SQLite Mac Tests"; - sourceTree = SOURCE_ROOT; - }; - DC37742319C8CC2F004FCF85 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - DC37742419C8CC2F004FCF85 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; DC37742D19C8CC90004FCF85 /* SQLite */ = { isa = PBXGroup; children = ( @@ -268,99 +186,52 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - DC3773F019C8CBB3004FCF85 /* Headers */ = { + 7E37A80619ECD0B800AE251A /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DC3773F919C8CBB3004FCF85 /* SQLite iOS.h in Headers */, - DC0FA83219D87CA3009F3A35 /* SQLite-Bridging-Header.h in Headers */, - DC0FA83919D87E0C009F3A35 /* SQLite-Bridging.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DC37741119C8CC2F004FCF85 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - DC37741919C8CC2F004FCF85 /* SQLite Mac.h in Headers */, - DC0FA83319D87CA3009F3A35 /* SQLite-Bridging-Header.h in Headers */, - DC0FA83A19D87E0C009F3A35 /* SQLite-Bridging.h in Headers */, + 7E37A82619ECD10400AE251A /* SQLite-Bridging-Header.h in Headers */, + 7E37A82719ECD10400AE251A /* SQLite-Bridging.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - DC3773F219C8CBB3004FCF85 /* SQLite iOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = DC37740919C8CBB3004FCF85 /* Build configuration list for PBXNativeTarget "SQLite iOS" */; - buildPhases = ( - DC3773EE19C8CBB3004FCF85 /* Sources */, - DC3773EF19C8CBB3004FCF85 /* Frameworks */, - DC3773F019C8CBB3004FCF85 /* Headers */, - DC3773F119C8CBB3004FCF85 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "SQLite iOS"; - productName = "SQLite iOS"; - productReference = DC3773F319C8CBB3004FCF85 /* SQLite.framework */; - productType = "com.apple.product-type.framework"; - }; - DC3773FD19C8CBB3004FCF85 /* SQLite iOS Tests */ = { - isa = PBXNativeTarget; - buildConfigurationList = DC37740C19C8CBB3004FCF85 /* Build configuration list for PBXNativeTarget "SQLite iOS Tests" */; - buildPhases = ( - DC3773FA19C8CBB3004FCF85 /* Sources */, - DC3773FB19C8CBB3004FCF85 /* Frameworks */, - DC3773FC19C8CBB3004FCF85 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - DC37740119C8CBB3004FCF85 /* PBXTargetDependency */, - ); - name = "SQLite iOS Tests"; - productName = "SQLite iOSTests"; - productReference = DC3773FE19C8CBB3004FCF85 /* SQLite iOS Tests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - DC37741319C8CC2F004FCF85 /* SQLite Mac */ = { + 7E37A80819ECD0B800AE251A /* SQLite */ = { isa = PBXNativeTarget; - buildConfigurationList = DC37742719C8CC2F004FCF85 /* Build configuration list for PBXNativeTarget "SQLite Mac" */; + buildConfigurationList = 7E37A82019ECD0B800AE251A /* Build configuration list for PBXNativeTarget "SQLite" */; buildPhases = ( - DC37740F19C8CC2F004FCF85 /* Sources */, - DC37741019C8CC2F004FCF85 /* Frameworks */, - DC37741119C8CC2F004FCF85 /* Headers */, - DC37741219C8CC2F004FCF85 /* Resources */, + 7E37A80419ECD0B800AE251A /* Sources */, + 7E37A80519ECD0B800AE251A /* Frameworks */, + 7E37A80619ECD0B800AE251A /* Headers */, + 7E37A80719ECD0B800AE251A /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = "SQLite Mac"; - productName = "SQLite Mac"; - productReference = DC37741419C8CC2F004FCF85 /* SQLite.framework */; + name = SQLite; + productName = SQLite; + productReference = 7E37A80919ECD0B800AE251A /* SQLite.framework */; productType = "com.apple.product-type.framework"; }; - DC37741D19C8CC2F004FCF85 /* SQLite Mac Tests */ = { + 7E37A81219ECD0B800AE251A /* SQLiteTests */ = { isa = PBXNativeTarget; - buildConfigurationList = DC37742A19C8CC2F004FCF85 /* Build configuration list for PBXNativeTarget "SQLite Mac Tests" */; + buildConfigurationList = 7E37A82119ECD0B800AE251A /* Build configuration list for PBXNativeTarget "SQLiteTests" */; buildPhases = ( - DC37741A19C8CC2F004FCF85 /* Sources */, - DC37741B19C8CC2F004FCF85 /* Frameworks */, - DC37741C19C8CC2F004FCF85 /* Resources */, + 7E37A80F19ECD0B800AE251A /* Sources */, + 7E37A81019ECD0B800AE251A /* Frameworks */, + 7E37A81119ECD0B800AE251A /* Resources */, ); buildRules = ( ); dependencies = ( - DC37742119C8CC2F004FCF85 /* PBXTargetDependency */, + 7E37A81619ECD0B800AE251A /* PBXTargetDependency */, ); - name = "SQLite Mac Tests"; - productName = "SQLite MacTests"; - productReference = DC37741E19C8CC2F004FCF85 /* SQLite Mac Tests.xctest */; + name = SQLiteTests; + productName = SQLiteTests; + productReference = 7E37A81319ECD0B800AE251A /* SQLiteTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -372,16 +243,10 @@ LastUpgradeCheck = 0610; ORGANIZATIONNAME = "Stephen Celis"; TargetAttributes = { - DC3773F219C8CBB3004FCF85 = { - CreatedOnToolsVersion = 6.1; - }; - DC3773FD19C8CBB3004FCF85 = { - CreatedOnToolsVersion = 6.1; - }; - DC37741319C8CC2F004FCF85 = { + 7E37A80819ECD0B800AE251A = { CreatedOnToolsVersion = 6.1; }; - DC37741D19C8CC2F004FCF85 = { + 7E37A81219ECD0B800AE251A = { CreatedOnToolsVersion = 6.1; }; }; @@ -398,37 +263,21 @@ projectDirPath = ""; projectRoot = ""; targets = ( - DC3773F219C8CBB3004FCF85 /* SQLite iOS */, - DC3773FD19C8CBB3004FCF85 /* SQLite iOS Tests */, - DC37741319C8CC2F004FCF85 /* SQLite Mac */, - DC37741D19C8CC2F004FCF85 /* SQLite Mac Tests */, + 7E37A80819ECD0B800AE251A /* SQLite */, + 7E37A81219ECD0B800AE251A /* SQLiteTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - DC3773F119C8CBB3004FCF85 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DC3773FC19C8CBB3004FCF85 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DC37741219C8CC2F004FCF85 /* Resources */ = { + 7E37A80719ECD0B800AE251A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - DC37741C19C8CC2F004FCF85 /* Resources */ = { + 7E37A81119ECD0B800AE251A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -438,68 +287,120 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - DC3773EE19C8CBB3004FCF85 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DCAD429719E2E0F1004A51DF /* Query.swift in Sources */, - DC37743B19C8D6C0004FCF85 /* Statement.swift in Sources */, - DC37743519C8D626004FCF85 /* Database.swift in Sources */, - DC37743819C8D693004FCF85 /* Datatype.swift in Sources */, - DC0FA83719D87E0C009F3A35 /* SQLite-Bridging.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DC3773FA19C8CBB3004FCF85 /* Sources */ = { + 7E37A80419ECD0B800AE251A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DCAD429A19E2EE50004A51DF /* QueryTests.swift in Sources */, - DCF37F8219DDAC2D001534AA /* DatabaseTests.swift in Sources */, - DCF37F8519DDAF3F001534AA /* StatementTests.swift in Sources */, - DCF37F8819DDAF79001534AA /* TestHelper.swift in Sources */, + 7E37A82B19ECD11000AE251A /* Query.swift in Sources */, + 7E37A82A19ECD11000AE251A /* Datatype.swift in Sources */, + 7E37A82919ECD11000AE251A /* Database.swift in Sources */, + 7E37A82819ECD10400AE251A /* SQLite-Bridging.c in Sources */, + 7E37A82C19ECD11000AE251A /* Statement.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - DC37740F19C8CC2F004FCF85 /* Sources */ = { + 7E37A80F19ECD0B800AE251A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - DCAD429819E2E0F1004A51DF /* Query.swift in Sources */, - DC37743C19C8D6C0004FCF85 /* Statement.swift in Sources */, - DC37743619C8D626004FCF85 /* Database.swift in Sources */, - DC37743919C8D693004FCF85 /* Datatype.swift in Sources */, - DC0FA83819D87E0C009F3A35 /* SQLite-Bridging.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DC37741A19C8CC2F004FCF85 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DCAD429B19E2EE50004A51DF /* QueryTests.swift in Sources */, - DCF37F8319DDAC2D001534AA /* DatabaseTests.swift in Sources */, - DCF37F8619DDAF3F001534AA /* StatementTests.swift in Sources */, - DCF37F8919DDAF79001534AA /* TestHelper.swift in Sources */, + 7E37A82319ECD0FE00AE251A /* DatabaseTests.swift in Sources */, + 7E37A82519ECD0FE00AE251A /* QueryTests.swift in Sources */, + 7E37A82219ECD0FE00AE251A /* TestHelper.swift in Sources */, + 7E37A82419ECD0FE00AE251A /* StatementTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - DC37740119C8CBB3004FCF85 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = DC3773F219C8CBB3004FCF85 /* SQLite iOS */; - targetProxy = DC37740019C8CBB3004FCF85 /* PBXContainerItemProxy */; - }; - DC37742119C8CC2F004FCF85 /* PBXTargetDependency */ = { + 7E37A81619ECD0B800AE251A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = DC37741319C8CC2F004FCF85 /* SQLite Mac */; - targetProxy = DC37742019C8CC2F004FCF85 /* PBXContainerItemProxy */; + target = 7E37A80819ECD0B800AE251A /* SQLite */; + targetProxy = 7E37A81519ECD0B800AE251A /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 7E37A81C19ECD0B800AE251A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = SQLite/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_OBJC_BRIDGING_HEADER = "SQLite Common/SQLite-Bridging-Header.h"; + }; + name = Debug; + }; + 7E37A81D19ECD0B800AE251A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + FRAMEWORK_VERSION = A; + INFOPLIST_FILE = SQLite/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.9; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + SWIFT_OBJC_BRIDGING_HEADER = "SQLite Common/SQLite-Bridging-Header.h"; + }; + name = Release; + }; + 7E37A81E19ECD0B800AE251A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + FRAMEWORK_SEARCH_PATHS = ( + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = SQLiteTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks @executable_path/Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Debug; + }; + 7E37A81F19ECD0B800AE251A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + COMBINE_HIDPI_IMAGES = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ( + "$(DEVELOPER_FRAMEWORKS_DIR)", + "$(inherited)", + ); + INFOPLIST_FILE = SQLiteTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks @executable_path/Frameworks @loader_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.10; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + }; + name = Release; + }; DC37740719C8CBB3004FCF85 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -538,7 +439,7 @@ MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_NAME = ""; - SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; @@ -577,7 +478,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = ""; - SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "iphonesimulator iphoneos macosx"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -585,204 +486,32 @@ }; name = Release; }; - DC37740A19C8CBB3004FCF85 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "SQLite iOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(PRODUCT_NAME)"; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - DC37740B19C8CBB3004FCF85 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "SQLite iOS/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "$(PRODUCT_NAME)"; - SKIP_INSTALL = YES; - }; - name = Release; - }; - DC37740D19C8CBB3004FCF85 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "SQLite iOS Tests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "SQLite iOS Tests"; - }; - name = Debug; - }; - DC37740E19C8CBB3004FCF85 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SDKROOT)/Developer/Library/Frameworks", - "$(inherited)", - ); - INFOPLIST_FILE = "SQLite iOS Tests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_NAME = "SQLite iOS Tests"; - }; - name = Release; - }; - DC37742819C8CC2F004FCF85 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - COMBINE_HIDPI_IMAGES = YES; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "SQLite Mac/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - PRODUCT_NAME = "$(PRODUCT_NAME)"; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - DC37742919C8CC2F004FCF85 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "SQLite Mac/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - PRODUCT_NAME = "$(PRODUCT_NAME)"; - SDKROOT = macosx; - SKIP_INSTALL = YES; - }; - name = Release; - }; - DC37742B19C8CC2F004FCF85 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "SQLite Mac Tests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - PRODUCT_NAME = "SQLite Mac Tests"; - SDKROOT = macosx; - }; - name = Debug; - }; - DC37742C19C8CC2F004FCF85 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = DC37742E19C8CE67004FCF85 /* SQLite Common.xcconfig */; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - FRAMEWORK_SEARCH_PATHS = ( - "$(DEVELOPER_FRAMEWORKS_DIR)", - "$(inherited)", - ); - INFOPLIST_FILE = "SQLite Mac Tests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.9; - PRODUCT_NAME = "SQLite Mac Tests"; - SDKROOT = macosx; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - DC3773ED19C8CBB3004FCF85 /* Build configuration list for PBXProject "SQLite" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DC37740719C8CBB3004FCF85 /* Debug */, - DC37740819C8CBB3004FCF85 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DC37740919C8CBB3004FCF85 /* Build configuration list for PBXNativeTarget "SQLite iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DC37740A19C8CBB3004FCF85 /* Debug */, - DC37740B19C8CBB3004FCF85 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - DC37740C19C8CBB3004FCF85 /* Build configuration list for PBXNativeTarget "SQLite iOS Tests" */ = { + 7E37A82019ECD0B800AE251A /* Build configuration list for PBXNativeTarget "SQLite" */ = { isa = XCConfigurationList; buildConfigurations = ( - DC37740D19C8CBB3004FCF85 /* Debug */, - DC37740E19C8CBB3004FCF85 /* Release */, + 7E37A81C19ECD0B800AE251A /* Debug */, + 7E37A81D19ECD0B800AE251A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DC37742719C8CC2F004FCF85 /* Build configuration list for PBXNativeTarget "SQLite Mac" */ = { + 7E37A82119ECD0B800AE251A /* Build configuration list for PBXNativeTarget "SQLiteTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - DC37742819C8CC2F004FCF85 /* Debug */, - DC37742919C8CC2F004FCF85 /* Release */, + 7E37A81E19ECD0B800AE251A /* Debug */, + 7E37A81F19ECD0B800AE251A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DC37742A19C8CC2F004FCF85 /* Build configuration list for PBXNativeTarget "SQLite Mac Tests" */ = { + DC3773ED19C8CBB3004FCF85 /* Build configuration list for PBXProject "SQLite" */ = { isa = XCConfigurationList; buildConfigurations = ( - DC37742B19C8CC2F004FCF85 /* Debug */, - DC37742C19C8CC2F004FCF85 /* Release */, + DC37740719C8CBB3004FCF85 /* Debug */, + DC37740819C8CBB3004FCF85 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/SQLite Mac/Info.plist b/SQLite/Info.plist similarity index 83% rename from SQLite Mac/Info.plist rename to SQLite/Info.plist index 90847597..3671bf35 100644 --- a/SQLite Mac/Info.plist +++ b/SQLite/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.stephencelis.$(PRODUCT_NAME:rfc1034identifier) + litesql.$(PRODUCT_NAME:rfc1034identifier) CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -15,13 +15,13 @@ CFBundlePackageType FMWK CFBundleShortVersionString - $(PRODUCT_VERSION) + 1.0 CFBundleSignature ???? CFBundleVersion $(CURRENT_PROJECT_VERSION) NSHumanReadableCopyright - Copyright © 2014 Stephen Celis. + Copyright © 2014 Stephen Celis. All rights reserved. NSPrincipalClass diff --git a/SQLite/SQLite.h b/SQLite/SQLite.h new file mode 100644 index 00000000..ba356254 --- /dev/null +++ b/SQLite/SQLite.h @@ -0,0 +1,19 @@ +// +// SQLite.h +// SQLite +// +// Created by Marc Prud'hommeaux on 10/13/14. +// Copyright (c) 2014 Stephen Celis. All rights reserved. +// + +#import + +//! Project version number for SQLite. +FOUNDATION_EXPORT double SQLiteVersionNumber; + +//! Project version string for SQLite. +FOUNDATION_EXPORT const unsigned char SQLiteVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/SQLite Mac Tests/Info.plist b/SQLiteTests/Info.plist similarity index 90% rename from SQLite Mac Tests/Info.plist rename to SQLiteTests/Info.plist index 00b831da..de6dc71b 100644 --- a/SQLite Mac Tests/Info.plist +++ b/SQLiteTests/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.stephencelis.$(PRODUCT_NAME:rfc1034identifier) + litesql.$(PRODUCT_NAME:rfc1034identifier) CFBundleInfoDictionaryVersion 6.0 CFBundleName