Files
CMake/Help/variable/CMAKE_OSX_SYSROOT.rst
Brad King 67f86c7db8 Merge topic 'clang-macos-sdk'
bf1bb62e74 macOS: Restore support for LLVM/Clang without explicit CMAKE_OSX_SYSROOT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10734
2025-05-03 10:02:18 -04:00

32 lines
1.3 KiB
ReStructuredText

CMAKE_OSX_SYSROOT
-----------------
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