Skip to content

Commit

Permalink
Spilit OG logic to OpenGraph
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyle-Ye committed Dec 21, 2023
1 parent cb8da29 commit cdf077b
Show file tree
Hide file tree
Showing 48 changed files with 18 additions and 2,695 deletions.
15 changes: 12 additions & 3 deletions Package.resolved
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,19 @@
{
"identity" : "openfoundation",
"kind" : "remoteSourceControl",
"location" : "https://github.com/Kyle-Ye/OpenFoundation",
"location" : "https://github.com/OpenSwiftUIProject/OpenFoundation",
"state" : {
"revision" : "72404a9e51d314af915b13430cf9b928a1654714",
"version" : "0.0.1"
"revision" : "cd2cdb300d53e3e68fda8b690a703a7c5096d9d0",
"version" : "0.0.2"
}
},
{
"identity" : "opengraph",
"kind" : "remoteSourceControl",
"location" : "https://github.com/OpenSwiftUIProject/OpenGraph",
"state" : {
"branch" : "main",
"revision" : "52266b713cf60eb23f4d7113fade9a79f4f47ff9"
}
},
{
Expand Down
77 changes: 6 additions & 71 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ let package = Package(
.library(name: "OpenSwiftUI", targets: ["OpenSwiftUI"]),
],
dependencies: [
.package(url: "https://github.com/Kyle-Ye/OpenFoundation", from: "0.0.1"),
.package(url: "https://github.com/OpenSwiftUIProject/OpenFoundation", from: "0.0.1"),
.package(url: "https://github.com/OpenSwiftUIProject/OpenGraph", branch: "main"),
],
targets: [
// TODO: Add SwiftGTK as an backend alternative for UIKit/AppKit on Linux and macOS
Expand All @@ -80,84 +81,18 @@ let package = Package(
]
)

// FIXME: The binary of AG for macOS is copied from dyld shared cache and it will cause a link error when running. Use iOS Simulator to run this target as a temporary workaround
let graphCompatibilityTest = ProcessInfo.processInfo.environment["OPENGRAPH_COMPATIBILITY_TEST"] != nil
let openGraphCompatibilityTestTarget = Target.testTarget(
name: "OpenGraphCompatibilityTests",
dependencies: [
graphCompatibilityTest ? "AttributeGraph" : "OpenGraph",
],
exclude: ["README.md"],
swiftSettings: graphCompatibilityTest ? [
.define("OPENGRAPH_COMPATIBILITY_TEST")
] : []
)
package.targets.append(openGraphCompatibilityTestTarget)

let useAG = ProcessInfo.processInfo.environment["OPENSWIFTUI_USE_AG"] != nil
//let useAG = ProcessInfo.processInfo.environment["OPENSWIFTUI_USE_AG"] != nil
let useAG = true
if useAG {
if !graphCompatibilityTest {
let targets: [Target] = [
// FIXME: Merge into one target
// OpenGraph is a C++ & Swift mix target.
// The SwiftPM support for such usage is still in progress.
.target(
name: "_OpenGraph",
dependencies: [.product(name: "OpenFoundation", package: "OpenFoundation")],
cSettings: [clangEnumFixSetting]
),
.target(
name: "OpenGraph",
dependencies: ["_OpenGraph"],
cSettings: [clangEnumFixSetting]
),
]
package.targets.append(contentsOf: targets)
}
let targets: [Target] = [
.binaryTarget(name: "AttributeGraph", path: "Sources/AttributeGraph.xcframework"),
]
package.targets.append(contentsOf: targets)
openSwiftUITarget.dependencies.append(
"AttributeGraph"
.product(name: "AttributeGraph", package: "OpenGraph")
)
var swiftSettings: [SwiftSetting] = (openSwiftUITarget.swiftSettings ?? [])
swiftSettings.append(.define("OPENSWIFTUI_USE_AG"))
openSwiftUITarget.swiftSettings = swiftSettings
} else {
if graphCompatibilityTest {
let targets: [Target] = [
.binaryTarget(name: "AttributeGraph", path: "Sources/AttributeGraph.xcframework"),
]
package.targets.append(contentsOf: targets)
}
package.products.append(
.library(name: "OpenGraph", targets: ["OpenGraph", "_OpenGraph"])
)
let targets: [Target] = [
// FIXME: Merge into one target
// OpenGraph is a C++ & Swift mix target.
// The SwiftPM support for such usage is still in progress.
.target(
name: "_OpenGraph",
dependencies: [.product(name: "OpenFoundation", package: "OpenFoundation")],
cSettings: [clangEnumFixSetting]
),
.target(
name: "OpenGraph",
dependencies: ["_OpenGraph"],
cSettings: [clangEnumFixSetting]
),
.testTarget(
name: "OpenGraphTests",
dependencies: [
"OpenGraph",
]
),
]
package.targets.append(contentsOf: targets)
openSwiftUITarget.dependencies.append(
"OpenGraph"
.product(name: "OpenGraph", package: "OpenGraph")
)
}

Expand Down
52 changes: 0 additions & 52 deletions Sources/AttributeGraph.xcframework/Info.plist

This file was deleted.

Binary file not shown.
Binary file not shown.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading

0 comments on commit cdf077b

Please sign in to comment.