<div dir="ltr">I'm not sure if this is a bug, but in my top level CMakeLists.txt file I try to do something like this:<div><br></div><div><div>cmake_minimum_required ( VERSION 2.8.11 FATAL_ERROR )</div><div>include ( checkOutOfSource.cmake )</div>

<div>include ( configureBuilds.cmake )</div><div>include ( configurePlatform.cmake )</div><div>enable_language ( C )</div><div>enable_language ( Fortran )</div></div><div><br></div><div>project ( ...</div><div>...</div><div>

<br></div><div><br></div><div>Then in configurePlatform.cmake I have the following code:</div><div><br></div><div>if (APPLE)</div><div><div>    set ( CMAKE_OSX_DEPLOYMENT_TARGET "10.6" </div><div>      CACHE STRING "Oldest OS X version to compile and link for." )</div>

<div>    set_property ( CACHE CMAKE_OSX_DEPLOYMENT_TARGET PROPERTY STRINGS</div><div>      "10.6" "10.7" "10.8" "10.9" )</div></div><div>...</div><div>endif (APPLE)</div><div><br></div>

<div>I'm using the Makefile generator, not Xcode, etc.</div><div><br></div><div>The odd thing is that if I move the `include ( configurePlatform.cmake )` line after the calls to `enable_language` then CMAKE_OSX_DEPLOYMENT_TARGET *AND* CMAKE_OSX_SYSROOT become undefined even though I don't explicitly set or unset OSX_SYSROOT anywhere in my project. If I then set OSX_DEPLOYMENT_TARGET to a value, say 10.6, then the configure and generate steps fail with an error about how DEPLOYMENT_TARGET is set but not SYSROOT and it can't find the proper SDK.</div>

<div><br></div><div>I thought this might be related to this bug report: <a href="http://cmake.3232098.n2.nabble.com/OSX-deployment-target-confusion-for-2-8-10-td7582284.html">http://cmake.3232098.n2.nabble.com/OSX-deployment-target-confusion-for-2-8-10-td7582284.html</a> so I upgraded to the latest CMake (2.8.12) to see if it's fixed. The unset value of SYSROOT persists if DEPLOYMENT_TARGET is set after enable_language, but gets set by CMake if I set before these calls. Furthermore, a new warning is now issued:</div>

<div><br></div>CMAKE_OSX_DEPLOYMENT_TARGET is '10.6' but the matching SDK does not exist<div><br></div><div>However, according to the Xcode documentation this is a common, desired situation: DEPLOYMENT_TARGET specifies the oldest compatible OS X the code will work for, and the Apple developer docs urge developers to use the latest SDK with weak  linking etc.</div>

<div><br></div><div>Does anyone have any insight as to what is going on here?</div><div><br></div><div><div>Izaak Beekman<br>===================================<br>(301)244-9367<br>Princeton University Doctoral Candidate<br>

Mechanical and Aerospace Engineering<br><a href="mailto:ibeekman@princeton.edu" target="_blank">ibeekman@princeton.edu</a><br><br>UMD-CP Visiting Graduate Student<br>Aerospace Engineering<br><a href="mailto:ibeekman@umiacs.umd.edu" target="_blank">ibeekman@umiacs.umd.edu</a><br>

<a href="mailto:ibeekman@umd.edu" target="_blank">ibeekman@umd.edu</a></div>
</div></div>