[CMake] CMAKE_OSX_DEPLOYMENT_TARGET vs CMAKE_OSX_SYSROOT

Gregor Jasny gjasny at googlemail.com
Sun Sep 25 05:54:30 EDT 2016


On 23/09/2016 22:35, Gregor Jasny wrote:
> On 21/09/2016 10:54, James Turner wrote:
>>
>>> On 20 Sep 2016, at 16:00, Braden McDaniel <braden at endoframe.com> wrote:
>>>
>>> When setting CMAKE_OSX_SYSROOT to the unversioned directory name (using Xcode 8, as it happens) and setting CMAKE_OSX_DEPLOYMENT_TARGET, I get this error:
>>>
>>>
>>> -- The CXX compiler identification is AppleClang 8.0.0.8000038
>>> CMake Error at /Applications/CMake.app/Contents/share/cmake-3.6/Modules/Platform/Darwin.cmake:76 (message):
>>> CMAKE_OSX_DEPLOYMENT_TARGET is '10.10' but CMAKE_OSX_SYSROOT:
>>>
>>> "/Applications/Xcode-8.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
>>>
>>> is not set to a MacOSX SDK with a recognized version. Either set
>>> CMAKE_OSX_SYSROOT to a valid SDK or set CMAKE_OSX_DEPLOYMENT_TARGET to
>>> empty.
>>> Call Stack (most recent call first):
>>> /Applications/CMake.app/Contents/share/cmake-3.6/Modules/CMakeSystemSpecificInformation.cmake:36 (include)
>>> CMakeLists.txt:37 (project)
>>>
>>>
>>> I'm able to suppress the error by using the versioned (symlink) directory; but isn't the premise of this error message invalid? As I understand it, since Xcode 7 (or perhaps earlier?), there is no requirement that the deployment target match the SDK version.

The deployment target gives you backwards compatibility back to the
specified version. In your example the binary should be runnable on
macOS 10.10 and later even that you used a newer SDK. That way you have
access to the latest SDK features which you could use after a thorough
check at runtime.

>> I’m seeing a similar error when setting CMAKE_OSX_DEPLOYMENT_TARGET to 10.7 with XCode 8, and leaving CMAKE_OSX_SYSROOT unset. I’m couldn’t identify where (from  Modules/Platform/Darwin.cmake) the detected value of _CMAKE_OSX_SYSROOT is computed. (I don’t wish to explicitly set it)

Will be fixed, too.

> Could you please file a bug report and CC me? I'll try to submit a patch
> next week but would appreciate a reminder :)

I filed https://gitlab.kitware.com/cmake/cmake/issues/16323 and will
push a fix soon.



More information about the CMake mailing list