Re: [cmake-developers] CMake 3.5.2 conflates OSX SDK version with target deployment

2016-05-26 Thread Brad King
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

2016-05-25 Thread clinton


- 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

2016-05-25 Thread Brad King
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

2016-05-25 Thread Sean McBride
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

2016-05-23 Thread Gregor Jasny via cmake-developers
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

2016-05-23 Thread Brad King
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

2016-05-21 Thread James Burgess
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