summaryrefslogtreecommitdiff
path: root/README.md
blob: a5ef43aef81fa3adb43e6b4a98e88dea574e01e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Building

## Prerequisites

You will need to have the following libraries installed on your system
somewhere where CMake can find them:

- [jansson](http://www.digip.org/jansson/)
- [Boost](https://www.boost.org/)

Version requirements may vary somewhat, but usually you should be
aiming for having at least a **recent** version of the above libraries.

## Using the CMake build system

There are basically two options for ToME runs once built and the step
used to configure the build needs to incorporate the choice.

### **Option 1:** Run ToME from the build directory

**This is currently the recommended option**, but it means that you
cannot "install" ToME as such, you just run it from the build
directory.

To configure for your system, run

    $ cmake .
    $ make

You should now be able to run

    $ ./src/tome

to start ToME.

**Important:** The current working directory must be at the root of
the source tree for the above command to run -- if it isn't, then
you'll get mysterious errors about ToME not being able to find files
(at best).


### **Option 2:** Run ToME from a system install location

To configure for your system, run

    $ cmake -DSYSTEM_INSTALL:BOOL=true .
    $ make
    $ sudo make install

You can now run ToME from anywhere and it will always use the files
installed in the system-specific location.


## Compiling on Ubuntu

To compile on an Ubuntu install, you'll need at least the 

- `cmake`
- `build-essential`
- `libjansson-dev`
- `libboost-all-dev`

packages.

Each frontend requires the additional packages listed below:

- X11: `libx11-dev`
- SDL: `libsdl-image1.2-dev` `libsdl-ttf2.0-dev`
- ncurses: `libncurses5-dev`


## Compiling on OpenBSD

As of February 2010, the OpenBSD package cmake-2.4.8p2 is too old for
building ToME. You may need to compile a newer version of CMake.

If you have X11, then a bug in CMake may cause a linker error when
linking the executable. As a workaround, set the environment variable
`LDFLAGS` when running CMake. Example:

    $ env LDFLAGS=-L/usr/X11R6/lib cmake .
    $ make

The SDL frontend also requires these packages:

- `sdl-image`
- `sdl-ttf`


## Compiling on Windows using MinGW

The source **MUST** be unpacked in a directory without spaces in the
name.

To configure and compile on Windows using MinGW, use the commands

    $ cmake -G "MinGW Makefiles"
    $ mingw32-make