Are locally linked Swift packages built in DEBUG or RELEASE

When we add a local swift package to a host application (via Xcode), is the package being built in debug or release? is there a way to control this based on the scheme used by the host application?

Packages try to match your scheme settings as best as possible by applying the heuristics in swift-build/Sources/SWBCore/BuildParameters.swift at main · swiftlang/swift-build · GitHub

so if I named a configuration something other than debug or development it will default to release?

I wonder why this relies on a string-matching heuristic instead of using a more explicit, dedicated setting.

1 Like

It's just what I came up with in 2019 when we needed something in order to support custom configuration names from Xcode projects and it was never revisited since then.

1 Like