Help/variable/CMAKE_OSX_SYSROOT.rst
Specify the location or name of the macOS platform SDK to be used.
If not set explicitly, the value is initialized by the SDKROOT
environment variable, if set. Otherwise, the value defaults to empty,
and the compiler is expected to choose a default macOS SDK on its own.
.. versionchanged:: 4.0
The default is now empty. Previously a default was computed based on
the :variable:CMAKE_OSX_DEPLOYMENT_TARGET or the host platform.
In order to pass an explicit macOS SDK via the compiler's -isysroot flag,
users may configure their build tree with -DCMAKE_OSX_SYSROOT=macosx,
or export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)" in their
environment.
Notes:
macOS compilers in /usr/bin, when not invoked with -isysroot,
search for headers in /usr/local/include before system SDK paths,
matching the convention on many platforms. Users on macOS-x86_64 hosts
with Homebrew installed in /usr/local should pass an explicit SDK,
as described above, when not building with Homebrew tools.
Some Clang compilers have no default macOS SDK selection. For these,
if :variable:CMAKE_OSX_SYSROOT is empty, CMake will automatically pass
-isysroot with the macOS SDK printed by xcrun --show-sdk-path.
.. include:: include/CMAKE_OSX_VARIABLE.rst