Skip to content
tiffany edited this page Aug 28, 2014 · 25 revisions

A fair warning

You will need fairly up to date drivers in order to run IntenseLogic, as it uses OpenGL 3.1 (3.2 on OS X). You need a Sandybridge or newer CPU if you plan to run on Intel integrated graphics, but any fairly recent AMD/NVidia GPU should do (OpenGL 3.1 is several years old, after all). Note that if your drivers are provided through your OEM (HP does this), they will be extremely out of date and you will not be able to run IL at all on Intel cards.

OpenGL 3.2 is required on OS X as 3.1 support is not available. IntenseLogic does not use any features of 3.2.

IntenseLogic should build on anything with a half-decent POSIX.1-2008 implementation, but there is probably quite a lot of platform-dependent behaviour, so if you find any please be sure to report it.

The Tup build system accepts a few environment variables while building.

  • CXX: C++11 compiler, defaults to clang++
  • CC: C99 compiler, defaults to clang
  • LD: Shared/executable linker, defaults to CXX
  • AR: Static archiver, defaults to ar
  • CCFLAGS: Flags passed to both C and C++ compilers
  • CXXFLAGS: Flags passed to C++ compiler
  • CFLAGS: Flags passed to C compiler
  • LDFLAGS: Flags passed during linking

It is suggested that you create the desired Tup variants using the files provided in configs/ so that you don't flood the source tree with build files.

tup variant configs/*

You can run the build with just tup. This will compile both IL and the demos by default. The demos can be run by setting your current directory to the project root and executing them directly. For example.

build-release/bouncing_lights

Windows

MinGW + Msys

SDL 2.0

TODO: SDL compilation instructions

GLEW

Prerequisites: Download and unzip the GLEW source. The windows binaries will not work, as they are compiled for Visual Studio.

  1. make
  2. Copy the contents of include/ to your include directory
  3. Copy the contents of lib/ to your library directory

zlib

Zlib is needed as a dependency of libpng. Prerequisites: Download and unzip the zlib source (scroll down). The binaries will probably not work, but this has not been tested.

  1. make -f win32/Makefile.gcc
  2. Copy zlib1.dll, zlib.a, and zlib.dll.a to your library directory, and all header files to your include directory

libpng

Prerequisites: Download and unzip the Zlib source (section "Source code" under 1.5.14).

  1. ./configure --prefix=/C/MinGW
  2. make # This stalled with -j4 as well
  3. make install

IntenseLogic

TODO: Test Tup builds under Windows.

cd IntenseLogic
git submodule update --init --recursive
git pull --recurse-submodules
tup init
tup

Visual Studio

Visual studio builds have not been tested. It might be possible using Visual Studio 2013.

OSX

Homebrew is the best option for OSX.

TODO: Test this

cd IntenseLogic
brew install scons sdl2
git submodule update --init --recursive
git pull --recurse-submodules
tup init
tup

Linux

ArchLinux

pacman -S scons libpng sdl2 glew bullet
cd IntenseLogic
git submodule update --init --recursive
git pull --recurse-submodules
tup init
tup
Clone this wiki locally