Expansive is available as a source code distribution. Several build environments are supported:
- Linux — Linux 2.6 with GNU C/C++
- Windows — Microsoft Windows 7 with Visual Studio 2010 or later
- Mac OS X — Mac OS X 10.8 (Mountain Lion) or later
The source code has been designed to run on FreeBSD, Linux, Mac OS X and other operating systems. It has been tested under Fedora and Ubuntu Linux based on the Linux 2.6 Kernel, Microsoft Windows 7, 8 (32 and 64-bit), and MAC OS X 10.8.
Accessing the Source Code
With each Expansive release, a complete source code snapshot is provided. You can download a source package from the Expansive web site or you can retrieve it from the Expansive GitHub repository. If you download from the repository, please use the master branch for the most recent stable snapshot. For less stable daily builds, use the dev branch.Download Source GitHub Repository
Expansive can be extended via third-party packages that are published in the online Pak Catalog. There are many packages including:
These can be installed via simple Pak commands. For example:
pak install exp-markdown
Building Expansive from Source
The Expansive source distribution contains all the required source files, headers, and test framework to reconfigure, build, and verify Expansive. The software supports three methods for building from source.
Building via make is the simplest way to build. Use make if you want a default build or if you need to integrate Expansive with an existing make-based build system. Build with MakeMe if you want to customize or configure the software for your system, or if you need to cross-compile for another operating system or architecture. Use the Visual Studio or Xcode if you are most comfortable with these tools and want a default build.
We use the MakeMe tool internally to generate the Expansive Makefiles, MakeMe and IDE projects. This cool tool generates clean, efficient makefiles and projects. The MakeMe project documents how to use these generated Makefiles and projects as they are the same for all projects that use MakeMe. For full details, read on, courtesy of MakeMe: