[Bf-committers] Cmake OS X Broken?

Campbell Barton ideasman42 at gmail.com
Thu Mar 10 08:16:16 CET 2016


Committed change to CMake behavior on OSX [0].

Use 'xcodebuild' instead of guessing from the SDK version from OS version.

There are a bunch of other checks below this for specific OSX versions
[1] which I think could be removed and replaced with the paths CMake
detects automatically for us.
For now just change the version detection.

[0]: https://developer.blender.org/rB751874d6bf61cab4e017ec9b83277472c40fcb54
[1]: https://developer.blender.org/diffusion/B/browse/master/CMakeLists.txt;751874d6bf61cab4e017ec9b83277472c40fcb54$523-586

On Wed, Mar 9, 2016 at 5:04 PM, Levon <levonh at gmail.com> wrote:
> This came up last Sept.
>
> This is the original thread.
>
> http://lists.blender.org/pipermail/bf-committers/2015-September/045905.html
>
> This patch posted above wasn't ever committed, it was only ever fixed for
> version 15, not 14.5
>
> You can also simlink the sdk directory to version 10 and it will work fine
> (for now)
>
> Osx also deletes the old SDK when you update, so compiling old versions of
> the SDK requires downloading again.
> In my case xcode updated automatically and removed the old SDK.
>
> However, compiling with osx10.6 compatability means it will work fine on
> older systems.
>
>> ------------------------------
>>
>> Message: 4
>> Date: Tue, 8 Mar 2016 10:48:06 +0100
>> From: Martijn Berger <martijn.berger at gmail.com>
>> Subject: Re: [Bf-committers] Cmake OS X Broken?
>> To: bf-blender developers <bf-committers at blender.org>
>> Message-ID:
>>         <CANsubsQ5aQFticy0=
> L-jsAScjtoVGDaAhAd3bVO+MJm05PVXuA at mail.gmail.com>
>> Content-Type: text/plain; charset=UTF-8
>>
>> Yes this can happen,
>>
>> Newer Xcode on 10.10 ships only a 10.11 sysroot for example.
>>
>> On Tue, Mar 8, 2016 at 5:21 AM, Campbell Barton <ideasman42 at gmail.com>
>> wrote:
>>
>> > After some further investigation (details below), it seems the error
>> > is caused by a mismatch between the OSX version and the SDK version.
>> >
>> > Is this something that's normally used/supported on OSX?
>> >
>> > ----
>> >
>> > The error was that `uname -r` outputs, (15.2.0). which causes the SDK
>> > to be set to 10.11, where Jonathan has 10.10 of the SDK. See [0].
>> >
>> > Would be good if we could avoid having this list of hard-coded OSX
>> > versions.
>> > I think its come up before, this makes OSX unusable for bisecting
>> > since you won't be able to build older versions.
>> >
>> > LLVM's compiler-rt for example, uses:
>> >
>> >   xcodebuild -version -sdk macosx Path
>> >
>> > see source [1].
>> >
>> > [0]:
>> >
> https://developer.blender.org/diffusion/B/browse/master/CMakeLists.txt;02cabdac5a9097a70587211565768e8990f36798$519
>> > [1]:
>> >
> https://github.com/llvm-mirror/compiler-rt/blob/master/cmake/config-ix.cmake#L253
>> >
>> > On Tue, Mar 8, 2016 at 2:44 PM, Jonathan Williamson
>> > <jonathan at cgcookie.com> wrote:
>> > > Hey OS X devs,
>> > >
>> > > It would seem configuring and generating CMake build files is
> currently
>> > broken? It seems to be having trouble detecting the correct SDK version,
>> > forcing the `CMAKE_OSX_SYSROOT` always to 10.11, even if 10.10 is the
>> > highest installed.
>> > >
>> > > I spent a while on IRC with Campbell and jaggzt to no avail. It was
> also
>> > mentioned that OS X Build bot has not successfully built since March
> 5th,
>> > at 05:03:58.
>> > >
>> > > Even manually setting the SDK versions and deploy targets in the
>> > CMakeCache.txt fails.
>> > >
>> > > Is anyone else having trouble building with CMake on OS X?
>> > > _______________________________________________
>> > > Bf-committers mailing list
>> > > Bf-committers at blender.org
>> > > http://lists.blender.org/mailman/listinfo/bf-committers
>> >
>> >
>> >
>> > --
>> > - Campbell
>> >
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers



-- 
- Campbell


More information about the Bf-committers mailing list