Difference between revisions of "Mac OS X"

From uGFX Wiki
Jump to: navigation, search
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
µGFX can be run natively on a Mac OS X system. This simplifies the process of developing your embedded GUI application a lot. <br/>
+
µGFX can be run natively on a MacOS system. This simplifies the process of developing your embedded GUI application a lot.
The following steps are required to run µGFX on Mac OS X system:
+
  
# Make sure you got [http://clang.llvm.org/ clang] installed
+
The MacOS port has been tested successfully on MacOS 10.10, 10.11, 10.12 and 11.1.
# Make sure you got [http://xquartz.macosforge.org/landing/ XQuartz] installed
+
 
# Compile using the Makefile that can be found in ''/boards/base/OSX/example/''
+
== Dependencies ==
 +
Make sure you got the following things installed:
 +
* [http://clang.llvm.org/ clang] (by installing [https://developer.apple.com/xcode/ Xcode])
 +
* [https://www.libsdl.org/ SDL2] (by installing via: <code>brew install sdl2</code>)
 +
 
 +
== Makefile ==
 +
Copy the makefile that can be found in <code>/boards/base/OSX/example/</code> to your project directory.
 +
You need to set the <code>OSX_SDK</code> and <code>OSX_ARCH</code> variables.
 +
 
 +
=== OSX_SDK ===
 +
The <code>OSX_SDK</code> variable needs to contain the path to the OS X SDK. The path can be found by executing <code>xcodebuild -sdk -version</code> in the terminal:
 +
<source lang="bash" highlight="4">
 +
TecMac:osx joel.bodenmann$ xcodebuild -sdk -version
 +
MacOSX10.11.sdk - OS X 10.11 (macosx10.11)
 +
SDKVersion: 10.11
 +
Path: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
 +
PlatformVersion: 1.1
 +
PlatformPath: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform
 +
ProductBuildVersion: 15E60
 +
ProductCopyright: 1983-2016 Apple Inc.
 +
ProductName: Mac OS X
 +
ProductUserVisibleVersion: 10.11.4
 +
ProductVersion: 10.11.4
 +
</source>
 +
 
 +
In our case we set the <code>OSX_SDK</code> variable as follows:
 +
<source lang="make">
 +
OSX_SDK = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
 +
</source>
 +
 
 +
=== OSX_ARCH ===
 +
The <code>OSX_ARCH</code> variable is used to specify on which earliest/oldest version of MacOS X the executable will be able to run on. Usually it's enough to just set it to the version of OS X that you are running which you can find my executing <code>sw_vers</code> in a terminal:
 +
<source lang="bash" highlight="3">
 +
TecMac:osx joel.bodenmann$ sw_vers
 +
ProductName: Mac OS X
 +
ProductVersion: 10.11.4
 +
BuildVersion: 15E65
 +
</source>
 +
In our case we are running OS X version 10.11:
 +
<source lang="make">
 +
OSX_ARCH = -mmacosx-version-min=10.11
 +
</source>
 +
For more information about the <code>macosx-version-min</code> option, please refer to the corresponding compiler documentation.

Latest revision as of 11:33, 26 July 2021

µGFX can be run natively on a MacOS system. This simplifies the process of developing your embedded GUI application a lot.

The MacOS port has been tested successfully on MacOS 10.10, 10.11, 10.12 and 11.1.

Dependencies

Make sure you got the following things installed:

  • clang (by installing Xcode)
  • SDL2 (by installing via: brew install sdl2)

Makefile

Copy the makefile that can be found in /boards/base/OSX/example/ to your project directory. You need to set the OSX_SDK and OSX_ARCH variables.

OSX_SDK

The OSX_SDK variable needs to contain the path to the OS X SDK. The path can be found by executing xcodebuild -sdk -version in the terminal:

TecMac:osx joel.bodenmann$ xcodebuild -sdk -version
MacOSX10.11.sdk - OS X 10.11 (macosx10.11)
SDKVersion: 10.11
Path: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdkPlatformVersion: 1.1
PlatformPath: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform
ProductBuildVersion: 15E60
ProductCopyright: 1983-2016 Apple Inc.
ProductName: Mac OS X
ProductUserVisibleVersion: 10.11.4
ProductVersion: 10.11.4

In our case we set the OSX_SDK variable as follows:

OSX_SDK = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk

OSX_ARCH

The OSX_ARCH variable is used to specify on which earliest/oldest version of MacOS X the executable will be able to run on. Usually it's enough to just set it to the version of OS X that you are running which you can find my executing sw_vers in a terminal:

TecMac:osx joel.bodenmann$ sw_vers 
ProductName:	Mac OS X
ProductVersion:	10.11.4BuildVersion:	15E65

In our case we are running OS X version 10.11:

OSX_ARCH = -mmacosx-version-min=10.11

For more information about the macosx-version-min option, please refer to the corresponding compiler documentation.