mirror of
https://github.com/google/GoogleDataTransport
synced 2026-11-10 22:35:53 +05:45
* Fix Xcode13b4 Catalyst build * Add explicit * Style * Update CHANGELOG for 'Unreleased' release
113 lines
3.2 KiB
Swift
113 lines
3.2 KiB
Swift
// swift-tools-version:5.3
|
|
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
|
|
|
// Copyright 2021 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
import PackageDescription
|
|
|
|
let package = Package(
|
|
name: "GoogleDataTransport",
|
|
platforms: [.iOS(.v10), .macOS(.v10_12), .tvOS(.v10), .watchOS(.v6)],
|
|
products: [
|
|
.library(
|
|
name: "GoogleDataTransport",
|
|
targets: ["GoogleDataTransport"]
|
|
),
|
|
],
|
|
dependencies: [
|
|
.package(
|
|
name: "nanopb",
|
|
url: "https://github.com/firebase/nanopb.git",
|
|
"2.30908.0" ..< "2.30909.0"
|
|
),
|
|
.package(
|
|
name: "Promises",
|
|
url: "https://github.com/google/promises.git",
|
|
"1.2.8" ..< "3.0.0"
|
|
),
|
|
.package(
|
|
name: "GoogleUtilities",
|
|
url: "https://github.com/google/GoogleUtilities.git",
|
|
"7.2.1" ..< "8.0.0"
|
|
),
|
|
],
|
|
// TODO: Restructure directory structure to simplify the excludes here.
|
|
targets: [
|
|
.target(
|
|
name: "GoogleDataTransport",
|
|
dependencies: [
|
|
.product(name: "nanopb", package: "nanopb"),
|
|
.product(name: "FBLPromises", package: "Promises"),
|
|
.product(name: "GULEnvironment", package: "GoogleUtilities"),
|
|
],
|
|
path: "GoogleDataTransport",
|
|
exclude: [
|
|
"generate_project.sh",
|
|
"GDTCCTWatchOSTestApp/",
|
|
"GDTWatchOSTestApp/",
|
|
"GDTCCTTestApp/",
|
|
"GDTTestApp/",
|
|
"GDTCCTTests/",
|
|
"GDTCORTests/",
|
|
"ProtoSupport/",
|
|
],
|
|
sources: [
|
|
"GDTCORLibrary",
|
|
"GDTCCTLibrary",
|
|
],
|
|
publicHeadersPath: "GDTCORLibrary/Public",
|
|
cSettings: [
|
|
.headerSearchPath("../"),
|
|
.define("GDTCOR_VERSION", to: "0.0.1"),
|
|
.define("PB_FIELD_32BIT", to: "1"),
|
|
.define("PB_NO_PACKED_STRUCTS", to: "1"),
|
|
.define("PB_ENABLE_MALLOC", to: "1"),
|
|
],
|
|
linkerSettings: [
|
|
.linkedFramework("SystemConfiguration", .when(platforms: [.iOS, .macOS, .tvOS, .catalyst])),
|
|
.linkedFramework("CoreTelephony", .when(platforms: [.macOS, .iOS, .catalyst])),
|
|
]
|
|
),
|
|
.testTarget(
|
|
name: "swift-test",
|
|
dependencies: [
|
|
"GoogleDataTransport",
|
|
],
|
|
path: "SwiftPMTests/swift-test"
|
|
),
|
|
.testTarget(
|
|
name: "objc-import-test",
|
|
dependencies: [
|
|
"GoogleDataTransport",
|
|
],
|
|
path: "SwiftPMTests/objc-import-test"
|
|
),
|
|
// TODO: - need to port Network/third_party/GTMHTTPServer.m to ARC.
|
|
// TODO: - Setup unit tests in SPM.
|
|
],
|
|
cLanguageStandard: .c99,
|
|
cxxLanguageStandard: CXXLanguageStandard.gnucxx14
|
|
)
|
|
|
|
extension Platform {
|
|
static var catalyst: Self {
|
|
#if swift(>=5.5)
|
|
return Self.macCatalyst
|
|
#else
|
|
return Self.macOS
|
|
#endif // swift(>=5.5)
|
|
}
|
|
}
|