Files
GoogleDataTransport/Package.swift
Nick Cooke 5119ccfc20 Fix Xcode13b4 Catalyst build (#36)
* Fix Xcode13b4 Catalyst build

* Add explicit

* Style

* Update CHANGELOG for 'Unreleased' release
2021-07-30 17:10:52 -04:00

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)
}
}