<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 1, 2018 at 10:53 PM James Turner via CMake <<a href="mailto:cmake@cmake.org">cmake@cmake.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
The docs here:<br>
<br>
        <a href="https://cmake.org/cmake/help/v3.12/variable/CMAKE_OSX_SYSROOT.html" rel="noreferrer" target="_blank">https://cmake.org/cmake/help/v3.12/variable/CMAKE_OSX_SYSROOT.html</a><br>
<br>
state that CMAKE_OSX_SYSROOT is computed from CMAKE_OSX_DEPLOYMENT_TARGET if not explicitly set. Can anyone comment on how this works, because in my setup it seems to be failing. This showed up as -isysroot not being passed to the compiler, which then causes weird compile failures building on High Sierra with Xcode 10 and the 10.14 SDK.<br>
<br>
If explicitly set SDKROOT or CMAKE_OSX_SYSROOT to the 10.14 SDK, everything compiles fine. (Without passing -isysroot, some header is /usr/include are used, and apparently these don’t work for building the 10.14 frameworks)<br>
<br>
Deployment target is set to:<br>
<br>
        set(CMAKE_OSX_DEPLOYMENT_TARGET "10.7”)<br>
<br>
Note that I do this *after* calling project() because contrary to its docs, I find that when I call it before project(), it has no effect. (eg, passing -mmacosx-version-min=10.7 to the compiler).<br>
<br>
Full CMakeList.txt is here:<br>
<br>
        <a href="https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/CMakeLists.txt" rel="noreferrer" target="_blank">https://sourceforge.net/p/flightgear/flightgear/ci/next/tree/CMakeLists.txt</a><br>
<br>
Any comments on what is going on, would be appreciated.<br></blockquote><div><br></div><div><br></div><div>You need to set CMAKE_OSX_DEPLOYMENT_TARGET as a <b>cache</b> variable before calling the project() command. If you set it as a normal (i.e. non-cache) variable, the compiler detection logic triggered by the project() call creates a cache variable if one doesn't exist, which would discard the non-cache variable. It's a bit unfortunate, but that's what happens when you set a cache variable for the first time. The relevant code related to your observations is in Modules/Platform/Darwin-Initialize.cmake.</div><div><br></div><div> </div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr">Craig Scott<br><div>Melbourne, Australia</div><div><a href="https://crascit.com" target="_blank">https://crascit.com</a><br></div><div><br></div><div>New book released: <a href="https://crascit.com/professional-cmake/" target="_blank">Professional CMake: A Practical Guide</a><br></div></div></div></div></div></div></div></div>