Re: [cmake-developers] CMake 3.5.2 conflates OSX SDK version with target deployment
On 05/25/2016 02:50 PM, clin...@elemtech.com wrote: > I don't think we need the warning. > A different version for deployment target and SDK is common. Thanks. Dropped: OS X: Drop warning about SDK and deployment target version mismatch https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cffe0ed7 -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake 3.5.2 conflates OSX SDK version with target deployment
- On May 25, 2016, at 12:38 PM, Brad King brad.k...@kitware.com wrote: > On 05/25/2016 02:31 PM, Sean McBride wrote: >> CMake should probably default to the newest SDK (which is what Xcode does). >> I don't see a reason to default to an SDK "matching" the deployment target, >> in fact it's problematic these days since they no longer provider older SDKs. >> >> Of course, finding the "newest" SDK will be a bit fragile, since they get >> moved/renamed all the time, but I guess that's something CMake always has to >> deal with anyway. > > This is all worked out in Modules/Platform/Darwin-Initialize.cmake: > > > https://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Darwin-Initialize.cmake;hb=v3.5.2#l38 > > The logic there has evolved over the years and is pretty solid now. > It has good default behavior, and anyone that really needs a specific > combination can specify it themselves explicitly. > > The only question in this thread is whether the warning about the SDK > and deployment target version not matching exactly is ever useful: > > https://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Darwin-Initialize.cmake;hb=v3.5.2#l97 > > Note that this is separate from the version compatibility check here: > > https://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Darwin.cmake;hb=v3.5.2#l67 > > which is an error. > > -Brad I don't think we need the warning. A different version for deployment target and SDK is common. Here https://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Darwin-Initialize.cmake;hb=v3.5.2#l81 the found SDK is equal or newer to the deployment target, which is good. Clint -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake 3.5.2 conflates OSX SDK version with target deployment
On 05/25/2016 02:31 PM, Sean McBride wrote: > CMake should probably default to the newest SDK (which is what Xcode does). > I don't see a reason to default to an SDK "matching" the deployment target, > in fact it's problematic these days since they no longer provider older SDKs. > > Of course, finding the "newest" SDK will be a bit fragile, since they get > moved/renamed all the time, but I guess that's something CMake always has to > deal with anyway. This is all worked out in Modules/Platform/Darwin-Initialize.cmake: https://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Darwin-Initialize.cmake;hb=v3.5.2#l38 The logic there has evolved over the years and is pretty solid now. It has good default behavior, and anyone that really needs a specific combination can specify it themselves explicitly. The only question in this thread is whether the warning about the SDK and deployment target version not matching exactly is ever useful: https://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Darwin-Initialize.cmake;hb=v3.5.2#l97 Note that this is separate from the version compatibility check here: https://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/Platform/Darwin.cmake;hb=v3.5.2#l67 which is an error. -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake 3.5.2 conflates OSX SDK version with target deployment
On Sat, 21 May 2016 22:50:41 -0700, James Burgess said: >If your set CMAKE_OSX_DEPLOYMENT_TARGET in order to get find modules to >work on Xcode6 or above you get this message: > >$ cmake -D CMAKE_OSX_DEPLOYMENT_TARGET=10.8 . > CMAKE_OSX_DEPLOYMENT_TARGET is '10.8' but the matching SDK does not exist > at: > > "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ >Developer/SDKs/MacOSX10.8.sdk" > > Instead using SDK: > > "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/ >Developer/SDKs/MacOSX10.10.sdk". >Call Stack (most recent call first): > /Applications/CMake.app/Contents/share/cmake-3.5/Modules/ >CMakeSystemSpecificInitialize.cmake:18 (include) > CMakeLists.txt:25 (project) It seems to me that if you're going to specify a deployment target explicitly that you should specify an SDK explicitly too. That aside, if you don't, CMake should probably default to the newest SDK (which is what Xcode does). I don't see a reason to default to an SDK "matching" the deployment target, in fact it's problematic these days since they no longer provider older SDKs. Of course, finding the "newest" SDK will be a bit fragile, since they get moved/renamed all the time, but I guess that's something CMake always has to deal with anyway. Cheers, -- Sean McBride, B. Eng s...@rogue-research.com Rogue Researchwww.rogue-research.com Mac Software Developer Montréal, Québec, Canada -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake 3.5.2 conflates OSX SDK version with target deployment
I'm away from keyboard until June 8th. everything written is from the top of my head. AFAIR the warning goes away if you properly set the OSX SYSROOT. Setting it to macosx without version number should be sufficient (maybe you have to insert a xcrun --showsdk-path there). As far as I see the warning originates from times where Xcode bundled two SDKs and CMake was not sure which one to pick if there was no direct match between of the deployment target version. I would keep the warning but document the mechanics between SYSROOT and Deployment Target. The warning then could refer to the docs. In the long term CMake should provide a tool chain file for OSX and iOS. Thanks, Gregor -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] CMake 3.5.2 conflates OSX SDK version with target deployment
On 05/22/2016 01:50 AM, James Burgess wrote: > $ cmake -D CMAKE_OSX_DEPLOYMENT_TARGET=10.8 . > CMAKE_OSX_DEPLOYMENT_TARGET is '10.8' but the matching SDK does not exist > at: > > > "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk" > > Instead using SDK: > > > "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk". For reference, this warning was added here: OS X: Do not default to non-existent deployment target SDK https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=335a1278 Prior to that change this case would not work at all by default. I may have misunderstood the requirements at the time. > 10.10sdk can target 10.8 Gregor, Clinton, should we just drop this warning? It is just diagnosing that the SDK and deployment versions do not match exactly, but would it ever matter? Thanks, -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[cmake-developers] CMake 3.5.2 conflates OSX SDK version with target deployment
If your set CMAKE_OSX_DEPLOYMENT_TARGET in order to get find modules to work on Xcode6 or above you get this message: $ cmake -D CMAKE_OSX_DEPLOYMENT_TARGET=10.8 . CMAKE_OSX_DEPLOYMENT_TARGET is '10.8' but the matching SDK does not exist at: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk" Instead using SDK: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk". Call Stack (most recent call first): /Applications/CMake.app/Contents/share/cmake-3.5/Modules/CMakeSystemSpecificInitialize.cmake:18 (include) CMakeLists.txt:25 (project) CMake is setting the value of --mmacosx-version-min= to this value. Which SDK you have does not need to be the same as the target deployment (which can be less than the SDK). That is to say the 10.10sdk can target 10.8, meaning code compiled with 10.8 set as the target will run on 10.8, 10.9 and 10.10 machines. - James-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers