# Hello Heaps!

This is a little template project which is similar to what we use when
bootstrapping a Heaps project.

It contains the bulid framework and some useful build utility
stuff. It is a little opinionated, but hopefully useful!

Soon it will have a lot of the common functionality we use to build
our projects.

If you have any questions feel free to contact us on Fedi
@aldercone@mastodon.art

Note: this is very much setup for development on Linux; there's some
tools for buliding Windows binaries, see *Windows* section below.

## About how it all works

You'll need haxe and hashlink installed to use this. It uses make to
do various things.

## Useful targets

* `make run` - build and run the app using hashlink
* `make build-native` - build the app as a native binary for Linux
* `make build-web` - build that app as a javascript file for the web
  targe

The *-manifest directories are things meant to be copied into the
distribution packages (like icons, install scripts, READMEs, etc).

## Windows

Windows build support is currently broken. It's missing some files
(resources, icons) that are needed.

Our windows build setup is somewhat idiosyncratic. We build the
Windows binaries on a Windows VM with Cygwin (which is used for
scripting, but not for building), Haxe for Windows, and Visual Studio
(and Visual C++).

There is a make target `make build-windows` that sets up the
build. Then our script `build-windows.sh` is meant to be run from the
VM. This requires a shared volume mounted as `H:` (we use ssh-fs on
the Windows side); it then copies the source code over, converts it to
C, and compiles an exe, and copies it back to a build directory. This
script also uses a script called `WINDOWS-CMD-ENVIRONMENT.sh` that
sets up the environment in Cygwin to use the Visual C compiler.


