Skip to content

Commit

Permalink
Swift 6 language mode on GRDB targets
Browse files Browse the repository at this point in the history
  • Loading branch information
groue committed Sep 28, 2024
1 parent e86fa18 commit 4c6f6c2
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 11 deletions.
14 changes: 7 additions & 7 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,10 @@ import PackageDescription

var swiftSettings: [SwiftSetting] = [
.define("SQLITE_ENABLE_FTS5"),
.enableUpcomingFeature("InferSendableFromCaptures"),
.enableUpcomingFeature("GlobalActorIsolatedTypesUsability"),
]
var cSettings: [CSetting] = []
var dependencies: [PackageDescription.Package.Dependency] = []

// For Swift 5.8+
//swiftSettings.append(.enableUpcomingFeature("ExistentialAny"))

// Don't rely on those environment variables. They are ONLY testing conveniences:
// $ SQLITE_ENABLE_PREUPDATE_HOOK=1 make test_SPM
if ProcessInfo.processInfo.environment["SQLITE_ENABLE_PREUPDATE_HOOK"] == "1" {
Expand Down Expand Up @@ -81,7 +76,12 @@ let package = Package(
.copy("GRDBTests/Issue1383.sqlite"),
],
cSettings: cSettings,
swiftSettings: swiftSettings)
swiftSettings: swiftSettings + [
// Tests still use the Swift 5 language mode.
.swiftLanguageMode(.v5),
.enableUpcomingFeature("InferSendableFromCaptures"),
.enableUpcomingFeature("GlobalActorIsolatedTypesUsability"),
])
],
swiftLanguageModes: [.v5]
swiftLanguageModes: [.v6]
)
1 change: 1 addition & 0 deletions SQLiteCustom/GRDB.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ OTHER_CFLAGS = -DUSING_BUILTIN_SQLITE -DGRDBCUSTOMSQLITE $(CUSTOM_SQLLIBRARY_CFL
GCC_PREPROCESSOR_DEFINITIONS = "GRDBCUSTOMSQLITE=1"
OTHER_SWIFT_FLAGS = -D USING_BUILTIN_SQLITE -D GRDBCUSTOMSQLITE $(CUSTOM_OTHER_SWIFT_FLAGS)
HEADER_SEARCH_PATHS = $(SRCROOT)/SQLiteCustom/src
SWIFT_VERSION = 6.0
4 changes: 4 additions & 0 deletions SQLiteCustom/GRDBCustomSQLite-Testing.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@ CUSTOM_OTHER_SWIFT_FLAGS= // do not modify

OTHER_CFLAGS = -DUSING_BUILTIN_SQLITE -DGRDBCUSTOMSQLITE $(CUSTOM_SQLLIBRARY_CFLAGS) // Do not modify.
OTHER_SWIFT_FLAGS = -D USING_BUILTIN_SQLITE -D GRDBCUSTOMSQLITE $(CUSTOM_OTHER_SWIFT_FLAGS) // Do not modify.

// Tests still use the Swift 5 language mode.
SWIFT_UPCOMING_FEATURE_INFER_SENDABLE_FROM_CAPTURES = YES
OTHER_SWIFT_FLAGS = $(inherited) -enable-upcoming-feature GlobalActorIsolatedTypesUsability
2 changes: 0 additions & 2 deletions SQLiteCustom/GRDBDeploymentTarget.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,3 @@ IPHONEOS_DEPLOYMENT_TARGET = 13.0
MACOSX_DEPLOYMENT_TARGET = 10.15
TVOS_DEPLOYMENT_TARGET = 13.0
WATCHOS_DEPLOYMENT_TARGET = 7.0
SWIFT_UPCOMING_FEATURE_INFER_SENDABLE_FROM_CAPTURES = YES
OTHER_SWIFT_FLAGS = $(inherited) -enable-upcoming-feature GlobalActorIsolatedTypesUsability
1 change: 1 addition & 0 deletions Support/GRDB.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ INFOPLIST_FILE = Support/Info.plist
PRODUCT_NAME = GRDB
PRODUCT_BUNDLE_IDENTIFIER = com.github.groue.$(PRODUCT_NAME:rfc1034identifier)
MODULEMAP_FILE = $(SRCROOT)/Support/module.modulemap
SWIFT_VERSION = 6.0

// Slow compilation hunt:
// OTHER_SWIFT_FLAGS = $(inherited) -Xfrontend -warn-long-expression-type-checking=100 -Xfrontend -warn-long-function-bodies=100
Expand Down
2 changes: 0 additions & 2 deletions Support/GRDBDeploymentTarget.xcconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ MACOSX_DEPLOYMENT_TARGET = 10.15
TVOS_DEPLOYMENT_TARGET = 13.0
WATCHOS_DEPLOYMENT_TARGET = 7.0
OTHER_SWIFT_FLAGS = $(inherited) -D SQLITE_ENABLE_FTS5
SWIFT_UPCOMING_FEATURE_INFER_SENDABLE_FROM_CAPTURES = YES
OTHER_SWIFT_FLAGS = $(inherited) -enable-upcoming-feature GlobalActorIsolatedTypesUsability

//// Compile with all opt-in APIs
//GCC_PREPROCESSOR_DEFINITIONS = $(inherited) GRDB_SQLITE_ENABLE_PREUPDATE_HOOK=1
Expand Down
4 changes: 4 additions & 0 deletions Support/GRDBTests.xcconfig
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
#include "GRDBDeploymentTarget.xcconfig"

// Tests still use the Swift 5 language mode.
SWIFT_UPCOMING_FEATURE_INFER_SENDABLE_FROM_CAPTURES = YES
OTHER_SWIFT_FLAGS = $(inherited) -enable-upcoming-feature GlobalActorIsolatedTypesUsability

0 comments on commit 4c6f6c2

Please sign in to comment.