Logo


step 1. Install Haxe

Install the latest stable Haxe release, 3.2.1

luxe requires Haxe 3.2.0+.
Haxe 3.3.x and 3.4.x are not stable releases yet.

You can download and install it here


step 2. Install git


To use the luxe alpha, you must have git installed. luxe is hosted on Github.
If you aren't familiar with git, try the Github Desktop client.
The desktop client can install the command line tools if you need them.


step 3. Install luxe


Installing luxe is currently done via a simple automated tool called snowfall.
You install snowfall by running the following commands in a command line.
These two commands will install luxe and all it's dependencies.

haxelib install snowfall
haxelib run snowfall update luxe

Once that completes, you can test the setup with:

haxelib run snowfall test luxe

For convenience you can install command shortcuts:

haxelib run snowfall shortcuts

Now you can use snowfall and flow as a command without haxelib run in front.


Where to next?


If you need just the web platform target, you are done!
Native platform targets require c++, and some require configuration. See below.


Step 4. Native platform targets

All native platform targets use hxcpp, the c++ backend for Haxe.
The known stable version of hxcpp is 3.2.205.
hxcpp 3.3.x is currently not working well for users, Haxe 3.3.x is not a stable release.

haxelib install hxcpp 3.2.205


Pick a platform target

MaciOSAndroidLinuxWindows


I want to build for Mac

  • You can only build for Mac from a Mac.
  • Install Xcode
    • Xcode includes the command line tools, SDK's, and more

I want to build for iOS

  • You can only build for iOS from a Mac.
  • Install Xcode
    • Xcode includes the simulators, SDK's and so on
  • To build for iOS, Xcode is used.
    • in your project folder, run flow build ios
    • an Xcode project is generated in ios.project/
    • open this project in Xcode and use it
    • default is debug scheme (slower!), use release for testing
    • once generated, the project is yours
      • it will not be overwritten unless forced
      • it will not be updated by flow in any way
      • This allows you to use the Xcode tools and features in full
      • Set your project icons, splash etc directly in their UI

I want to build for Android

  • You can only build for Android from Windows, Mac or Linux.
  • Install Android Studio
  • Install all the necessary SDK's via their tools, note the NDK is required.
  • Tell hxcpp where to find the NDK
    • open <user directory>/.hxcpp_config.xml
    • inside the vars node, add or edit this node
    • <set name="ANDROID_NDK_ROOT" value="/path/to/android-ndk-r10e"/>
    • The ndk versions r10~ are known to be compatible but latest should work
  • To build for Android, an Android Studio project is used.
    • in your project folder, run flow build android
    • an Android Studio project is generated in android.project/
    • open this project in Android Studio, and use it!
    • Android Studio runs flow for you, via gradle (flow.gradle)
    • once generated, the project is yours
      • it will not be overwritten unless forced
      • it will not be updated by flow in any way
      • This allows you to use the Android Studio tools and features in full
      • Set your project and builds and releases in their tools

I want to build for Linux

  • You can only build for Linux from Linux.
  • The following dev packages are required to be installed
    • libgl1-mesa-dev
    • libglu1-mesa-dev
    • libopenal-dev
    • for ubuntu or similar, this should suffice:
      • sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libopenal-dev

I want to build for Windows

  • You can only build for Windows from Windows.
  • OpenAL currently needs to be installed: https://www.openal.org/downloads/
  • Install Visual C++
    • 2015 is fine, 2013 should work but
    • VS can get confused by multiple installs and mess itself up
    • If you run into errors, try get help in the community

Where to find help

If you get stuck with setup or something isn't listed, please feel free to ask for help.