Skip to content

Commit

Permalink
Remove Swift module name overrides on ABI CMake targets (#467)
Browse files Browse the repository at this point in the history
  • Loading branch information
tristanlabelle authored Jan 5, 2025
1 parent 2d603ec commit 9cfb305
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 53 deletions.
21 changes: 21 additions & 0 deletions Generator/Sources/SwiftWinRT/CMakeOptions.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
struct CMakeOptions {
public var dynamicLibraries: Bool
public var moduleTargetNameOverrides: [String: String]

public func getTargetName(moduleName: String) -> String {
moduleTargetNameOverrides[moduleName] ?? moduleName
}

public init?(commandLineArguments: CommandLineArguments, projectionConfig: ProjectionConfig) {
guard commandLineArguments.generateCMakeLists else { return nil }

self.dynamicLibraries = commandLineArguments.dynamicLibraries

self.moduleTargetNameOverrides = .init()
for (moduleName, moduleConfig) in projectionConfig.modules {
if let targetName = moduleConfig.cmakeTargetName {
self.moduleTargetNameOverrides[moduleName] = targetName
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,47 +1,25 @@
struct SPMOptions {
public var supportPackageReference: String
public var dynamicLibraries: Bool
public var excludeCMakeLists: Bool
public var moduleLibraryNameOverrides: [String: String]

public func getLibraryName(moduleName: String) -> String {
moduleLibraryNameOverrides[moduleName] ?? moduleName
}

public init?(commandLineArguments: CommandLineArguments, projectionConfig: ProjectionConfig) {
guard commandLineArguments.generatePackageDotSwift else { return nil }

self.supportPackageReference = commandLineArguments.spmSupportPackageReference
self.dynamicLibraries = commandLineArguments.dynamicLibraries
self.excludeCMakeLists = !commandLineArguments.generateCMakeLists

self.moduleLibraryNameOverrides = .init()
for (moduleName, moduleConfig) in projectionConfig.modules {
if let libraryName = moduleConfig.spmLibraryName {
self.moduleLibraryNameOverrides[moduleName] = libraryName
}
}
}
}

struct CMakeOptions {
public var dynamicLibraries: Bool
public var moduleTargetNameOverrides: [String: String]

public func getTargetName(moduleName: String) -> String {
moduleTargetNameOverrides[moduleName] ?? moduleName
}

public init?(commandLineArguments: CommandLineArguments, projectionConfig: ProjectionConfig) {
guard commandLineArguments.generateCMakeLists else { return nil }

self.dynamicLibraries = commandLineArguments.dynamicLibraries

self.moduleTargetNameOverrides = .init()
for (moduleName, moduleConfig) in projectionConfig.modules {
if let targetName = moduleConfig.cmakeTargetName {
self.moduleTargetNameOverrides[moduleName] = targetName
}
}
}
}
struct SPMOptions {
public var supportPackageReference: String
public var dynamicLibraries: Bool
public var excludeCMakeLists: Bool
public var moduleLibraryNameOverrides: [String: String]

public func getLibraryName(moduleName: String) -> String {
moduleLibraryNameOverrides[moduleName] ?? moduleName
}

public init?(commandLineArguments: CommandLineArguments, projectionConfig: ProjectionConfig) {
guard commandLineArguments.generatePackageDotSwift else { return nil }

self.supportPackageReference = commandLineArguments.spmSupportPackageReference
self.dynamicLibraries = commandLineArguments.dynamicLibraries
self.excludeCMakeLists = !commandLineArguments.generateCMakeLists

self.moduleLibraryNameOverrides = .init()
for (moduleName, moduleConfig) in projectionConfig.modules {
if let libraryName = moduleConfig.spmLibraryName {
self.moduleLibraryNameOverrides[moduleName] = libraryName
}
}
}
}
6 changes: 0 additions & 6 deletions Generator/Sources/SwiftWinRT/Writing/ABIModule.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,6 @@ internal func writeABIModule(_ module: Module, cmakeOptions: CMakeOptions?, dire
cmakeListsWriter.writeAddLibrary(targetName, .interface)
cmakeListsWriter.writeTargetIncludeDirectories(targetName, .interface, ["include"])

if targetName != module.abiModuleName {
cmakeListsWriter.writeSingleLineCommand(
"set_target_properties", .autoquote(targetName),
"PROPERTIES", "Swift_MODULE_NAME", .autoquote(module.abiModuleName))
}

var linkLibraries = [ SupportModules.WinRT.abiModuleName ]
for reference in module.references {
guard !reference.isEmpty else { continue }
Expand Down

0 comments on commit 9cfb305

Please sign in to comment.