Skip to content

Commit 94e97fd

Browse files
committed
Add library evolution support
1 parent 1b22a21 commit 94e97fd

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

Package.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,30 @@ let isXcodeEnv = Context.environment["__CFBundleIdentifier"] == "com.apple.dt.Xc
3131

3232
let development = envEnable("OPENGRAPHICS_DEVELOPMENT")
3333

34+
// MARK: - [env] OPENGRAPHICS_COREGRAPHICS
35+
3436
let coreGraphicsCondition = envEnable("OPENGRAPHICS_COREGRAPHICS", default: buildForDarwinPlatform)
3537
if coreGraphicsCondition {
3638
sharedSwiftSettings.append(.define("OPENGRAPHICS_COREGRAPHICS"))
3739
}
3840

41+
// MARK: - [env] OPENGRAPHICS_WERROR
42+
3943
let warningsAsErrorsCondition = envEnable("OPENGRAPHICS_WERROR", default: isXcodeEnv && development)
4044
if warningsAsErrorsCondition {
4145
sharedSwiftSettings.append(.unsafeFlags(["-warnings-as-errors"]))
4246
}
4347

48+
// MARK: - [env] OPENGRAPHICS_LIBRARY_EVOLUTION
49+
50+
let libraryEvolutionCondition = envEnable("OPENGRAPHICS_LIBRARY_EVOLUTION", default: buildForDarwinPlatform)
51+
52+
if libraryEvolutionCondition {
53+
// NOTE: -enable-library-evolution will cause module verify failure for `swift build`.
54+
// Either set OPENGRAPHICS_LIBRARY_EVOLUTION=0 or add `-Xswiftc -no-verify-emitted-module-interface` after `swift build`
55+
sharedSwiftSettings.append(.unsafeFlags(["-enable-library-evolution", "-no-verify-emitted-module-interface"]))
56+
}
57+
4458
let package = Package(
4559
name: "OpenGraphics",
4660
products: [

Sources/OpenQuartzCore/CATransform3D.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
// Modified from https://github.com/flowkey/UIKit-cross-platform/blob/7e28dc4c62d20afe03e55bbba660076ec06fd79a/Sources/CATransform3D.swift
77

88
public import Foundation
9-
public import struct OpenGraphics.CGAffineTransform
9+
public import OpenGraphics
10+
import struct OpenGraphics.CGAffineTransform
1011

1112
public struct CATransform3D: Sendable {
1213
public init(

0 commit comments

Comments
 (0)