Skip to content
Joshua Granick edited this page Jan 1, 2014 · 4 revisions

In order to target Mac, you may use either C++ or Neko. Native C++ should result in the best performance, and is recommended when distributing to users. Neko can be valuable, because it leverages the same native layer for Lime, but the application code is compiled instantly for the Neko VM. This should mean almost instant compile-times, and being a VM, sometimes a logical error in your project can be more easily found when testing there.

You can use "mac" as the target when using "lime" commands:

lime test mac

This will use C++ by default. You can target Neko using the "-neko" flag:

lime test mac -neko

Theoretically, cross-desktop builds (such as Mac from Windows) could be supported using Neko, but currently there are a few small issues that prevent this from fully working.

Lime supports both 32- and 64-bit builds for Mac, and will use the host architecture of your system by default. Practically, this usually means that Lime will be using 64-bit, which is all that current Mac OS X versions support. Since backwards compatibility is more difficult to support for Mac, Lime is tested for OS X 10.7 and greater, but may work for 10.6 as well.

You should have a current version of Xcode installed in order to target OS X. Applications should be portable, so you can ZIP, DMG or distribute how you want (such as an installer using Package Maker). Applications should also be compatible with the Mac App Store, but doing so requires an additional signing step which is not currently supported by the Lime tools.

You should not have to install the Xcode command-line tools to use Lime to build Mac applications, but should work with a vanilla Xcode install.

The windowing is handled by SDL 2, so issues (or improvements) in access to the platform, in event input or unique elements of the platform may flow from there. As this was not available for SDL 2.0.0, retina displays are not officially supported in Lime yet, but as this was added in SDL 2.0.1, there are plans to update our support for this in the future.

Clone this wiki locally