diff --git a/.travis.yml b/.travis.yml index 89acf77971..2d6cead42b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,8 @@ addons: script: - ./configure $PM_OPTS --prefix=$PWD/local && make -j6 && make install # build from checkout - - make dist && tar -zxf projectM-*.tar.gz && cd projectM-* && ./configure $PM_OPTS --prefix=$PWD/dist_install && make -j6 && make install # build from dist + - export PMVER=$(./configure --version | cut -d ' ' -f 3 | grep -m 1 .) # get pM version + - 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 - echo "PWD=$PWD" - ls . - test -e src/projectM-sdl/projectMSDL @@ -35,8 +36,9 @@ script: # test on GCC and Clang matrix: include: - # pulseaudio/qt/jack + # qt/pulseaudio/jack/sdl - os: linux + dist: bionic addons: apt: packages: @@ -46,8 +48,21 @@ matrix: - libjack-dev - libpulse-dev - libc++-dev - - libsdl-dev # for jack - - libsdl2-dev # for tests + - libsdl2-dev + env: + - MATRIX_EVAL="PM_OPTS=\"--enable-qt --enable-jack --enable-pulseaudio --enable-sdl\"" + - os: linux + dist: xenial + addons: + apt: + packages: + - qt5-default + - qtdeclarative5-dev + - libqt5opengl5-dev + - libjack-dev + - libpulse-dev + - libc++-dev + - libsdl2-dev env: - MATRIX_EVAL="PM_OPTS=\"--enable-qt --enable-jack --enable-pulseaudio --enable-sdl\"" diff --git a/BUILDING.md b/BUILDING.md index 8de9b7a18e..7f3fa828ae 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -9,11 +9,11 @@ Relevant for Linux distributions, FreeBSD, macOS: Main build options & their requirements: -| Configure flag | Required dependency | Produced binary | -|-----------------|-------------------------------------------------------------------- |----------------------- | -| `--enable-sdl` | `libsdl2-dev` | `projectMSDL` | -| `--enable-qt` | `qt5-default` `qtdeclarative5-dev` `libpulse-dev` `libqt5opengl5` | `projectM-pulseaudio` | -| `--enable-jack` | `libjack2-dev`OR`libjack1-dev`; `qt5-default` `qtdeclarative5-dev` `libqt5opengl5`| `projectM-jack` | +| Configure flag | Required dependency | Produced binary | +|-----------------------|----------------------------------------------------------------------------------------|-----------------------| +| `--enable-sdl` | `libsdl2-dev` | `projectMSDL` | +| `--enable-pulseaudio` | `qt5-default` `qtdeclarative5-dev` `libpulse-dev` `libqt5opengl5-dev` | `projectM-pulseaudio` | +| `--enable-jack` | `libjack2-dev`OR`libjack1-dev`; `qt5-default` `qtdeclarative5-dev` `libqt5opengl5-dev` | `projectM-jack` | #### Additional information on dependencies * `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 ### Building process under *nix systems ```sh -autoreconf --install # only needed if this is a git clone -# For macOS automation there is ./autogen.sh provided for autoreconf - +./autogen.sh ./configure --enable-sdl # supply additional options here, info in Dependencies make sudo make install ``` +### Debian/Ubuntu/Mint +```sh +sudo apt install clang libsdl2-dev libgl1-mesa-dev qt5-default qtdeclarative5-dev libqt5opengl5-dev libjack-dev libpulse-dev +./configure && make -j4 && sudo make install +``` + ### OpenGL ES projectM supports OpenGL ES 3 for embedded systems. Be sure to configure with the `--enable--gles` flag. @@ -58,6 +62,9 @@ make && make install-strip Now you should be able to copy ./src/libprojectM/.libs/libprojectM.so and appropriate headers to projectm-android, and build it using Android Studio +### LLVM JIT +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) + ## libprojectM