fn xcrun_show_sdk_path(
sdk_name: &'static str,
verbose: bool,
) -> Result<(PathBuf, String), XcrunError>
Expand description
Invoke xcrun --sdk $sdk_name --show-sdk-path
to get the SDK path.
The exact logic that xcrun
uses is unspecified (see man xcrun
for a few details), and may
change between macOS and Xcode versions, but it roughly boils down to finding the active
developer directory, and then invoking xcodebuild -sdk $sdk_name -version
to get the SDK
details.
Finding the developer directory is roughly done by looking at, in order:
- The
DEVELOPER_DIR
environment variable. - The
/var/db/xcode_select_link
symlink (set byxcode-select --switch
). /Applications/Xcode.app
(hardcoded fallback path)./Library/Developer/CommandLineTools
(hardcoded fallback path).
Note that xcrun
caches its result, but with a cold cache this whole operation can be quite
slow, especially so the first time it’s run after a reboot.