BuildingOnLinux.wiki
author almikes@aol.com
Mon, 15 Dec 2014 04:48:08 +0000
changeset 497 d7688dc8cb9f
parent 495 729c2ff600fa
child 509 283791011d7c
permissions -rw-r--r--
Link to VideoRecorder.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
494
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
     1
#summary Instructions for building the development version of Hedgewars on GNU/Linux (slight Debian focus)
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
     2
#labels Phase-Implementation,Phase-Deploy,Phase-Support
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
     3
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
     4
= Building on GNU/Linux =
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
     5
== Introduction ==
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
     6
494
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
     7
This page contains both generic and copy-and-paste instructions for a Hedgewars development build.
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
     8
494
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
     9
It has a partial focus on Debian, but this guide attempts to include generic information as well.
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
    10
494
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    11
Also, see http://hedgewars.org/download.html if you are just looking to play latest stable—there’s a good chance it exists for your distribution.
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
    12
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
    13
== Prerequisites ==
494
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    14
The first section contains dependency lists, the second section contain copy-and-paste instructions for Debian and derivates (Ubuntu, Linux Mint, etc.).
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    15
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    16
=== Required packages ===
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    17
This section contains lists of required packages to build Hedgewars. In most Linux distributions, you should find readily available packages.
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    18
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    19
Please note that for libraries, you need to have the *entire* library installed, including the headers. Some distributions (most notably Debian and Debian derivates) provide seperate packages for the headers.
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    20
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    21
==== Build dependencies ===
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    22
You need these packages to build Hedgewars, but not afterwards:
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    23
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    24
|| *Name* || *Version* || *Homepage* ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    25
|| Mercurial || || [http://mercurial.selenic.com/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    26
|| CMake || || [http://www.cmake.org/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    27
|| QMake || || [http://www.qt.io/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    28
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    29
==== Core dependencies ===
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    30
You need these softwares no matter what:
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    31
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    32
|| *Name* || *Version* || *Homepage* ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    33
|| Qt || 4 || [http://www.qt.io/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    34
|| SDL || 1.2 || [http://libsdl.org/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    35
|| SDL_net || 1.2 || [http://libsdl.org/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    36
|| SDL_mixer || 1.2 || [http://libsdl.org/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    37
|| SDL_image || 1.2 || [http://libsdl.org/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    38
|| SDL_TTF || 2.0 || [http://libsdl.org/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    39
|| Lua || 5.1 || [http://www.lua.org/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    40
|| FPC || ??? || [http://freepascal.org/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    41
|| PhysFS || ??? || [https://icculus.org/physfs/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    42
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    43
You also need the following fonts:
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    44
|| *Name* || *Homepage* || *Comment* ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    45
|| !DejaVu Sans Bold || [http://dejavu-fonts.org/] || — ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    46
|| Zen Hei || [http://wenq.org/] || From the !WenQuanYi project. Font is internally known as “wgy-zenhei” ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    47
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    48
==== Optional packages ====
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    49
You don’t need to install these packages to build Hedgewars, but if you don’t, some features will be missing.
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    50
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    51
For PNG screenshots:
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    52
|| *Name* || *Version* || *Homepage* ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    53
|| libpng || 1.2 || [http://www.libpng.org/pub/png/libpng.html] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    54
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    55
For video recording:
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    56
|| *Name* || *Version* || *Homepage* ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    57
|| libavcodec || ??? || [http://ffmpeg.org/libavcodec.html] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    58
|| libavformat || ??? || [http://ffmpeg.org/libavformat.html] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    59
|| FreeGLUT || 3.0 || [http://freeglut.sourceforge.net/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    60
497
d7688dc8cb9f Link to VideoRecorder.
almikes@aol.com
parents: 495
diff changeset
    61
*Note*: See also VideoRecorder for detailed instructions to build the video recorder.
d7688dc8cb9f Link to VideoRecorder.
almikes@aol.com
parents: 495
diff changeset
    62
494
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    63
If you want to build the server you need a couple of Haskell-related packages. First you need GHC:
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    64
|| *Name* || *Version* || *Homepage* ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    65
|| GHC || || [https://www.haskell.org/ghc/] ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    66
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    67
Then you need a couple of Haskell software. Note that package names for Haskell software varies wildly between Linux distributions. When in doubt, check your distribution’s documentation about any naming conventions they may have about Haskell packages.
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    68
|| *Haskell library name* || *Version* || *Hackage link* ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    69
|| bytestring || || http://hackage.haskell.org/package/bytestring ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    70
|| bytestring-show || || http://hackage.haskell.org/package/bytestring-show ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    71
|| dataenc || || http://hackage.haskell.org/package/dataenc ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    72
|| deepseq || || http://hackage.haskell.org/package/deepseq ||
495
729c2ff600fa Fix hslogger link.
almikes@aol.com
parents: 494
diff changeset
    73
|| hslogger || || http://hackage.haskell.org/package/hslogger ||
494
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    74
|| mtl || || http://hackage.haskell.org/package/mtl ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    75
|| network || || http://hackage.haskell.org/package/network ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    76
|| parsec3 || || http://hackage.haskell.org/package/parsec3 ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    77
|| utf8-string || || http://hackage.haskell.org/package/utf8-string ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    78
|| vector || || http://hackage.haskell.org/package/vector ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    79
|| random || || http://hackage.haskell.org/package/random ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    80
|| zlib || || http://hackage.haskell.org/package/zlib ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    81
|| SHA || || http://hackage.haskell.org/package/SHA ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    82
|| entropy || || http://hackage.haskell.org/package/entropy ||
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    83
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    84
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    85
=== Resolving dependencies under Debian and Debian-like systems ===
37952cd70b0d Add generic dependency list for non-Debian users.
almikes@aol.com
parents: 493
diff changeset
    86
These line contain `apt-get` lines you can simply paste into your shell and execute. Please remember to copy the _entire_ `apt-get` lines!
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
    87
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
    88
{{{
396
d5cb883a1875 g++ wasn't pulled in by the other deps
kyberneticist@gmail.com
parents: 395
diff changeset
    89
sudo apt-get install mercurial cmake g++ qt4-qmake libqt4-dev libsdl1.2-dev libsdl-net1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev liblua5.1-dev fpc libphysfs-dev fonts-dejavu-core ttf-wqy-zenhei
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
    90
}}}
247
kyberneticist@gmail.com
parents: 241
diff changeset
    91
If you want PNG screenshots, add:
kyberneticist@gmail.com
parents: 241
diff changeset
    92
{{{
kyberneticist@gmail.com
parents: 241
diff changeset
    93
sudo apt-get install libpng12-dev
kyberneticist@gmail.com
parents: 241
diff changeset
    94
}}}
kyberneticist@gmail.com
parents: 241
diff changeset
    95
If you want video recording, add:
kyberneticist@gmail.com
parents: 241
diff changeset
    96
{{{
265
b0f68d7fe64e dev version of glut
kyberneticist@gmail.com
parents: 263
diff changeset
    97
sudo apt-get install libavcodec-dev libavformat-dev freeglut3-dev
247
kyberneticist@gmail.com
parents: 241
diff changeset
    98
}}}
kyberneticist@gmail.com
parents: 241
diff changeset
    99
If you want to try building the server as well (requires at least libghc base 4.3 now) try these too:
154
030bb9b4470b Added server build deps
kyberneticist@gmail.com
parents: 131
diff changeset
   100
{{{
387
1fc2f41b3f88 new server dependencies
kyberneticist@gmail.com
parents: 386
diff changeset
   101
sudo apt-get install ghc libghc-binary-dev libghc-bytestring-show-dev libghc-dataenc-dev libghc-deepseq-dev libghc-hslogger-dev libghc-mtl-dev libghc-network-dev libghc-parsec3-dev libghc-utf8-string-dev libghc-vector-dev libghc-random-dev libghc-zlib-dev libghc-sha-dev libghc-entropy-dev
154
030bb9b4470b Added server build deps
kyberneticist@gmail.com
parents: 131
diff changeset
   102
}}}
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   103
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   104
== Fetching the source code ==
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   105
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   106
Below you find instructions for downloading the Hedgewars source code from the development repository.
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   107
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   108
If you have already downloaded and unpacked the source code version of your choice (e.g. the source tarball from the  [http://hedgewars.org/download.html download page]), just {{{cd}}} to your copy of the Hedgewars source in a terminal and go straight to the building section further below.
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   109
----
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   110
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   111
{{{
263
afcb38bfd761 Revert use of build dir. Nice idea, but breaks pas2c and confused people. Esp people who had done this before. For most people, a purge is adequate if they need to clean up. Heck, that's what unc0rr and I apparently do, or we would have noticed the pas2c thing earlier
kyberneticist@gmail.com
parents: 253
diff changeset
   112
mkdir -p ~/games ~/hg/hedgewars/
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   113
cd ~/hg/hedgewars
250
9c711f1b4638 -v and size tweak.
kyberneticist@gmail.com
parents: 249
diff changeset
   114
hg clone -v https://hedgewars.googlecode.com/hg/ trunk
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   115
}}}
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   116
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   117
The initial clone of the repository will take a while, is about 628 MiB or so, due to all the multimedia revisions.
333
5b70b52c17c4 Edited wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 332
diff changeset
   118
After that switch to the trunk folder:
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   119
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   120
{{{
263
afcb38bfd761 Revert use of build dir. Nice idea, but breaks pas2c and confused people. Esp people who had done this before. For most people, a purge is adequate if they need to clean up. Heck, that's what unc0rr and I apparently do, or we would have noticed the pas2c thing earlier
kyberneticist@gmail.com
parents: 253
diff changeset
   121
cd trunk
333
5b70b52c17c4 Edited wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 332
diff changeset
   122
}}}
5b70b52c17c4 Edited wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 332
diff changeset
   123
5b70b52c17c4 Edited wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 332
diff changeset
   124
If you want to build the latest release version (so that you can play with other people online) use this command:
5b70b52c17c4 Edited wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 332
diff changeset
   125
{{{
364
22870076a7bd Edited wiki page BuildingOnLinux through web user interface.
kyberneticist@gmail.com
parents: 338
diff changeset
   126
hg update 0.9.20
333
5b70b52c17c4 Edited wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 332
diff changeset
   127
}}}
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   128
Note. Do *not* run the command above if you want to play the latest development code (currently 0.9.21-dev).
333
5b70b52c17c4 Edited wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 332
diff changeset
   129
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   130
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   131
== Building process ==
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   132
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   133
Now let’s configure and build!
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   134
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   135
If you want to install Hedgewars *just for your user account* run
333
5b70b52c17c4 Edited wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 332
diff changeset
   136
{{{
263
afcb38bfd761 Revert use of build dir. Nice idea, but breaks pas2c and confused people. Esp people who had done this before. For most people, a purge is adequate if they need to clean up. Heck, that's what unc0rr and I apparently do, or we would have noticed the pas2c thing earlier
kyberneticist@gmail.com
parents: 253
diff changeset
   137
cmake -DCMAKE_BUILD_TYPE="DEBUG" -DCMAKE_INSTALL_PREFIX="$HOME/games" -DDATA_INSTALL_DIR="$HOME/games" -DNOSERVER=1
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   138
make install
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   139
}}}
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   140
If you want to install Hedgewars *system-wide* (not recommended for development builds) then run
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   141
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   142
{{{
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   143
cmake -DCMAKE_BUILD_TYPE="RELEASE" -DNOSERVER=1
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   144
sudo make install
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   145
}}}
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   146
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   147
*Important*: If you decided against png-screenshots or video-recording support, please append `-DNOPNG=1` and/or `-DNOVIDEOREC=1` to the cmake command line respectively!
327
16e3a600d6af me VS. wiki syntax
sheepyluva@gmail.com
parents: 326
diff changeset
   148
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   149
If you want to build the server as well, change `-DNOSERVER=1` to `-DNOSERVER=0`
327
16e3a600d6af me VS. wiki syntax
sheepyluva@gmail.com
parents: 326
diff changeset
   150
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   151
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   152
then wait for the build to complete, then run …
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   153
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   154
{{{
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   155
~/games/bin/hedgewars
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   156
}}}
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   157
or just {{{hedgewars}}} if you did a system-wide install.
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   158
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   159
You can also create a launcher for it on your desktop or on applications menu if you wish, using the `$HOME/games/bin/hedgewars` path
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   160
493
300f6d2615ce Copy-editing.
almikes@aol.com
parents: 396
diff changeset
   161
== Build latest development code repository updates ==
395
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   162
2ea04ea4594d Violated wiki page BuildingOnLinux through web user interface.
sheepyluva@gmail.com
parents: 389
diff changeset
   163
If you have built from your repository clone before and now you want to download more recent updates and rebuild Hedgewars with them, then run
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   164
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   165
{{{
263
afcb38bfd761 Revert use of build dir. Nice idea, but breaks pas2c and confused people. Esp people who had done this before. For most people, a purge is adequate if they need to clean up. Heck, that's what unc0rr and I apparently do, or we would have noticed the pas2c thing earlier
kyberneticist@gmail.com
parents: 253
diff changeset
   166
cd ~/hg/hedgewars/trunk
afcb38bfd761 Revert use of build dir. Nice idea, but breaks pas2c and confused people. Esp people who had done this before. For most people, a purge is adequate if they need to clean up. Heck, that's what unc0rr and I apparently do, or we would have noticed the pas2c thing earlier
kyberneticist@gmail.com
parents: 253
diff changeset
   167
hg pull -u
afcb38bfd761 Revert use of build dir. Nice idea, but breaks pas2c and confused people. Esp people who had done this before. For most people, a purge is adequate if they need to clean up. Heck, that's what unc0rr and I apparently do, or we would have noticed the pas2c thing earlier
kyberneticist@gmail.com
parents: 253
diff changeset
   168
cmake .
129
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   169
make install
751dee35e4f1 Created wiki page with build instruction for ubuntu
vittorio.giovara@gmail.com
parents:
diff changeset
   170
}}}