A small heaps.io project which can act as a template for other heaps projects, and as a tutorial.
Go to file
Cassowary 5d10f82f53 Fix build-web 2025-02-23 11:18:29 -08:00
linux-libs Initial checkin with 3d part complete 2025-02-21 17:28:34 -08:00
linux-manifest Initial checkin with 3d part complete 2025-02-21 17:28:34 -08:00
res Add basic 2d stuff, and also update TODO 2025-02-23 11:08:15 -08:00
src Add basic 2d stuff, and also update TODO 2025-02-23 11:08:15 -08:00
web-manifest Initial checkin with 3d part complete 2025-02-21 17:28:34 -08:00
windows-libs Initial checkin with 3d part complete 2025-02-21 17:28:34 -08:00
windows-manifest Initial checkin with 3d part complete 2025-02-21 17:28:34 -08:00
.gitignore Initial checkin with 3d part complete 2025-02-21 17:28:34 -08:00
Makefile Fix build-web 2025-02-23 11:18:29 -08:00
README.md Enhance documentation somewhat. Start working a bit on Windows builds. 2025-02-23 10:22:06 -08:00
TODO Add basic 2d stuff, and also update TODO 2025-02-23 11:08:15 -08:00
WINDOWS-CMD-ENVIRONMENT-x64.sh Enhance documentation somewhat. Start working a bit on Windows builds. 2025-02-23 10:22:06 -08:00
build-windows.sh Enhance documentation somewhat. Start working a bit on Windows builds. 2025-02-23 10:22:06 -08:00

README.md

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.