[CMake] How to check the operating system is MacOSX?

Doug douglas.linder at gmail.com
Tue Sep 18 09:52:30 EDT 2012


As far as I'm aware the only real way to detect OSX itself is by something like:

#if __APPLE__
  #include "TargetConditionals.h"
  #if TARGET_OS_IPHONE
    ...
  #elif TARGET_IPHONE_SIMULATOR
    ...
  #elif TARGET_OS_MAC
    ...
  #endif
#endif

__APPLE__ is the only constant attached to compiler itself.

~
Doug.

On Mon, Sep 17, 2012 at 6:08 AM, Eric Wing <ewmailing at gmail.com> wrote:
> On 9/16/12, Michael Jackson <mike.jackson at bluequartz.net> wrote:
>> On Sep 15, 2012, at 1:32 PM, Andreas Pakulat wrote:
>>
>>> Hi,
>>>
>>> On Sat, Sep 15, 2012 at 12:46 PM, Loaden <loaden at gmail.com> wrote:
>>>> http://www.cmake.org/Wiki/CMake_Useful_Variables
>>>>
>>>>> UNIX  is TRUE on all UNIX-like OS's, including Apple OS X and CygWin
>>>>> WIN32
>>>>> is TRUE on Windows, including CygWin APPLE  is TRUE on Apple systems.
>>>>> Note
>>>>> this does not imply the system is Mac OS X, only that __APPLE__ is
>>>>> #defined
>>>>> in C/C++ header files. Obtain more specific system information via
>>>>> CMAKE_SYSTEM_VERSION, i.e. IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin"),
>>>>> then
>>>>> it's Mac OS X.
>>>
>>> I think that mostly refers to MacOS 9 and older which are also apple
>>> systems. So doing a if(UNIX && APPLE) should put you on the safe side
>>> since MacOS 9 and older are not unix systems.
>>>
>>> Andreas
>>
>> Does CMake even run on OS 9? I don't think so. IMO, I think what the CMake
>> devs mean is that one can cross-compile OS X apps on Linux. In this case the
>> __APPLE__ would be defined in the headers but the "host" system would be
>> Linux (or something else).
>>   And "technically" if the system is Darwin it is NOT OS X. Darwin is the
>> Unix underpinnings of OS X and it is Open Source. I could run a Darwin
>> system and have it NOT be OS X.
>
>
> Being able to distinguish between Mac OS X and iOS would be useful.
> Both technically fall under APPLE and Darwin.
>
>
> -Eric
> --
> Beginning iPhone Games Development
> http://playcontrol.net/iphonegamebook/
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake


More information about the CMake mailing list