I am using Xcode to build an old code and specify SDKROOT=/Developer/SDKs/MacOSX\"${HOST_VERSION}\".sdk/
I want to specify SDKROOT for latest SDK that comes
CommandLineTools was outdated, reinstalling Command Line Tools fixed the issue:
xcode-select --install
Newer Xcode versions have the SDKs inside the Xcode.app bundle, e.g.
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
You get the list of installed SDKs together with their path by running
xcodebuild -sdk -version
from the command line.
If you have installed the "Command Line Tools" (Xcode Preferences -> Downloads -> Components) then compiling without "-syslibroot" should be equivalent to compiling against the latest SDK.
See the help to the "Command Line Tools" package:
Downloading this package will install copies of the core command line tools and system headers into system folders, including the LLVM compiler, linker, and build tools.
As stated in another stackoverflow question:
xcrun --sdk macosx --show-sdk-path
With xcodebuild -version -sdk macosx10.7 Path
you can get the Path to the OS X 10.7 SDK.
You may replace 10.7 by ${SDK_VERSION}
or ${HOST_VERSION}
depending on your needs.
I know of no command to obtain the version of OS X, which could be used to obtain the Path to the SDK matching the version of OS X currently running.
Note: for xcodebuild
to work, the user must have configured xcode-select
properly, for example xcode-select -switch /Application/Xcode.app
.