diff --git a/Sources/SwiftSDKGenerator/SwiftSDKRecipes/WebAssemblyRecipe.swift b/Sources/SwiftSDKGenerator/SwiftSDKRecipes/WebAssemblyRecipe.swift index 84996a6..5525aea 100644 --- a/Sources/SwiftSDKGenerator/SwiftSDKRecipes/WebAssemblyRecipe.swift +++ b/Sources/SwiftSDKGenerator/SwiftSDKRecipes/WebAssemblyRecipe.swift @@ -125,13 +125,7 @@ package struct WebAssemblyRecipe: SwiftSDKRecipe { ? relativeToolchainDir.appending("usr/lib/swift").string : tripleProperties.swiftStaticResourcesPath - var finalTriple = targetTriple - if isForEmbeddedSwift { - metadata.targetTriples.removeValue(forKey: targetTriple.triple) - finalTriple = Triple("wasm32-unknown-wasip1") - } - - metadata.targetTriples[finalTriple.triple] = tripleProperties + metadata.targetTriples[targetTriple.triple] = tripleProperties } package func makeSwiftSDK( diff --git a/Tests/SwiftSDKGeneratorTests/SwiftSDKRecipes/WebAssemblyRecipe.swift b/Tests/SwiftSDKGeneratorTests/SwiftSDKRecipes/WebAssemblyRecipe.swift index 934745e..3c2c0a8 100644 --- a/Tests/SwiftSDKGeneratorTests/SwiftSDKRecipes/WebAssemblyRecipe.swift +++ b/Tests/SwiftSDKGeneratorTests/SwiftSDKRecipes/WebAssemblyRecipe.swift @@ -99,4 +99,31 @@ final class WebAssemblyRecipeTests: XCTestCase { ] ) } + + func testMetadataWithEmbedded() { + testMetadataWithEmbedded(targetTriple: Triple("wasm32-unknown-wasip1")) + testMetadataWithEmbedded(targetTriple: Triple("wasm32-unknown-wasip1-threads")) + } + + func testMetadataWithEmbedded(targetTriple: Triple) { + let recipe = self.createRecipe() + var metadata = SwiftSDKMetadataV4( + targetTriples: [ + targetTriple.triple: .init(sdkRootPath: "./WASI.sdk") + ] + ) + let paths = PathsConfiguration( + sourceRoot: "./", + artifactID: "any-sdk-id", + targetTriple: targetTriple + ) + recipe.applyPlatformOptions( + metadata: &metadata, + paths: paths, + targetTriple: targetTriple, + isForEmbeddedSwift: true + ) + // Should include the target we started with. + XCTAssertNotNil(metadata.targetTriples[targetTriple.triple]) + } }