Skip to content

Commit 86b3167

Browse files
committed
Merge branch 'handle-swiftdeps-clangmodule' of https://github.com/aciidb0mb3r/swift-package-manager
2 parents 1836298 + f460e5c commit 86b3167

File tree

6 files changed

+12
-1
lines changed

6 files changed

+12
-1
lines changed

Fixtures/DependencyResolution/External/CUsingCDep2/Foo/Sources/swiftExe/main.swift

Whitespace-only changes.

Sources/Build/Command.compile(ClangModule).swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ struct ClangModuleBuildMetadata {
6565
return product.targetName
6666
case let module as CModule:
6767
return module.targetName
68+
case let module as SwiftModule:
69+
return module.targetName
6870
default:
6971
fatalError("ClangModule \(self.module) can't have \(module) as a dependency.")
7072
}

Tests/BuildTests/DescribeTests.swift

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import XCTest
1212

1313
import Basic
14-
import Build
14+
@testable import Build
1515
import PackageDescription
1616
import PackageGraph
1717
import PackageModel
@@ -55,8 +55,17 @@ final class DescribeTests: XCTestCase {
5555
}
5656
}
5757

58+
func testClangModuleCanHaveSwiftDep() throws {
59+
let clangModule = try ClangModule(name: "ClangModule", sources: Sources(paths: [], root: .root))
60+
let swiftModule = try SwiftModule(name: "SwiftModule", sources: Sources(paths: [], root: .root))
61+
clangModule.dependencies = [swiftModule]
62+
let buildMeta = ClangModuleBuildMetadata(module: clangModule, prefix: .root, otherArgs: [])
63+
XCTAssertEqual(buildMeta.inputs, ["<SwiftModule.module>"])
64+
}
65+
5866
static var allTests = [
5967
("testDescribingNoModulesThrows", testDescribingNoModulesThrows),
6068
("testDescribingCModuleThrows", testDescribingCModuleThrows),
69+
("testClangModuleCanHaveSwiftDep", testClangModuleCanHaveSwiftDep),
6170
]
6271
}

0 commit comments

Comments
 (0)