Skip to content

Commit f2ca861

Browse files
author
Mischa Spiegelmock
authored
More helpful ubuntu build instructions (#383)
* testing bionic on travis * table cleanup * Test building on travis without libsdl1 * test * Try to parse version for travis script * disable addons/apt * gl1-mesa-dev * bleh * revert * hopefully more portable hack * Don't require user to provide libglm * dist vendor
1 parent e49720e commit f2ca861

File tree

2 files changed

+34
-12
lines changed

2 files changed

+34
-12
lines changed

.travis.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ addons:
1919

2020
script:
2121
- ./configure $PM_OPTS --prefix=$PWD/local && make -j6 && make install # build from checkout
22-
- make dist && tar -zxf projectM-*.tar.gz && cd projectM-* && ./configure $PM_OPTS --prefix=$PWD/dist_install && make -j6 && make install # build from dist
22+
- export PMVER=$(./configure --version | cut -d ' ' -f 3 | grep -m 1 .) # get pM version
23+
- make dist && tar -zxf projectM-${PMVER}.tar.gz && cd projectM-${PMVER} && ./configure $PM_OPTS --prefix=$PWD/dist_install && make -j6 && make install # build from dist
2324
- echo "PWD=$PWD"
2425
- ls .
2526
- test -e src/projectM-sdl/projectMSDL
@@ -35,8 +36,9 @@ script:
3536
# test on GCC and Clang
3637
matrix:
3738
include:
38-
# pulseaudio/qt/jack
39+
# qt/pulseaudio/jack/sdl
3940
- os: linux
41+
dist: bionic
4042
addons:
4143
apt:
4244
packages:
@@ -46,8 +48,21 @@ matrix:
4648
- libjack-dev
4749
- libpulse-dev
4850
- libc++-dev
49-
- libsdl-dev # for jack
50-
- libsdl2-dev # for tests
51+
- libsdl2-dev
52+
env:
53+
- MATRIX_EVAL="PM_OPTS=\"--enable-qt --enable-jack --enable-pulseaudio --enable-sdl\""
54+
- os: linux
55+
dist: xenial
56+
addons:
57+
apt:
58+
packages:
59+
- qt5-default
60+
- qtdeclarative5-dev
61+
- libqt5opengl5-dev
62+
- libjack-dev
63+
- libpulse-dev
64+
- libc++-dev
65+
- libsdl2-dev
5166
env:
5267
- MATRIX_EVAL="PM_OPTS=\"--enable-qt --enable-jack --enable-pulseaudio --enable-sdl\""
5368

BUILDING.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ Relevant for Linux distributions, FreeBSD, macOS:
99

1010
Main build options & their requirements:
1111

12-
| Configure flag | Required dependency | Produced binary |
13-
|-----------------|-------------------------------------------------------------------- |----------------------- |
14-
| `--enable-sdl` | `libsdl2-dev` | `projectMSDL` |
15-
| `--enable-qt` | `qt5-default` `qtdeclarative5-dev` `libpulse-dev` `libqt5opengl5` | `projectM-pulseaudio` |
16-
| `--enable-jack` | `libjack2-dev`OR`libjack1-dev`; `qt5-default` `qtdeclarative5-dev` `libqt5opengl5`| `projectM-jack` |
12+
| Configure flag | Required dependency | Produced binary |
13+
|-----------------------|----------------------------------------------------------------------------------------|-----------------------|
14+
| `--enable-sdl` | `libsdl2-dev` | `projectMSDL` |
15+
| `--enable-pulseaudio` | `qt5-default` `qtdeclarative5-dev` `libpulse-dev` `libqt5opengl5-dev` | `projectM-pulseaudio` |
16+
| `--enable-jack` | `libjack2-dev`OR`libjack1-dev`; `qt5-default` `qtdeclarative5-dev` `libqt5opengl5-dev` | `projectM-jack` |
1717

1818
#### Additional information on dependencies
1919
* `libglm` (headers only) for matrix math is required. lives in `vendor/glm`.
@@ -25,15 +25,19 @@ If extra information needed - you can refere to `configure.ac` and the assorted
2525

2626
### Building process under *nix systems
2727
```sh
28-
autoreconf --install # only needed if this is a git clone
29-
# For macOS automation there is ./autogen.sh provided for autoreconf
30-
28+
./autogen.sh
3129
./configure --enable-sdl # supply additional options here, info in Dependencies
3230

3331
make
3432
sudo make install
3533
```
3634

35+
### Debian/Ubuntu/Mint
36+
```sh
37+
sudo apt install clang libsdl2-dev libgl1-mesa-dev qt5-default qtdeclarative5-dev libqt5opengl5-dev libjack-dev libpulse-dev
38+
./configure && make -j4 && sudo make install
39+
```
40+
3741
### OpenGL ES
3842
projectM supports OpenGL ES 3 for embedded systems. Be sure to configure with the `--enable--gles` flag.
3943

@@ -58,6 +62,9 @@ make && make install-strip
5862
Now you should be able to copy ./src/libprojectM/.libs/libprojectM.so
5963
and appropriate headers to projectm-android, and build it using Android Studio
6064

65+
### LLVM JIT
66+
There are some optmizations for parsing preset equations that leverage the LLVM JIT. You can try `./compile --enable--llvm` to enable them. They may not work with newer version of LLVM (https://github.com/projectM-visualizer/projectm/pull/360)
67+
6168

6269
## libprojectM
6370

0 commit comments

Comments
 (0)